diff --git a/FFXIV_TexTools/FFXIV_TexTools.csproj b/FFXIV_TexTools/FFXIV_TexTools.csproj index 056cf820..dd2b036a 100644 --- a/FFXIV_TexTools/FFXIV_TexTools.csproj +++ b/FFXIV_TexTools/FFXIV_TexTools.csproj @@ -23,9 +23,9 @@ FFXIV_TexTools Copyright © 2024 - 3.0.6.7 - 3.0.6.7 - 3.0.6.7 + 3.0.6.8 + 3.0.6.8 + 3.0.6.8 9.0 true diff --git a/FFXIV_TexTools/ViewModels/ImportModelEditViewModel.cs b/FFXIV_TexTools/ViewModels/ImportModelEditViewModel.cs index 47d4ee9b..7cb2cb47 100644 --- a/FFXIV_TexTools/ViewModels/ImportModelEditViewModel.cs +++ b/FFXIV_TexTools/ViewModels/ImportModelEditViewModel.cs @@ -38,11 +38,17 @@ public class ImportModelEditViewModel private readonly Regex ImcAttributeRegex = new Regex("^atr_([a-z]{2})_([a-j])$"); private readonly Regex DefaultSkinRegex = new Regex("\\/mt_c[0-9]{4}b0001_a\\.mtrl"); + private readonly Regex SkinBRegex = new Regex("\\/mt_c[0-9]{4}b0001_b\\.mtrl"); + private readonly Regex SkinBiboRegex = new Regex("\\/mt_c[0-9]{4}b0001_bibo\\.mtrl"); private readonly Regex ItemMaterialRegex = new Regex("\\/mt_c([0-9]{4})[e|a][0-9]{4}_[a-z0-9]{3}_([a-z])+\\.mtrl"); private const string SkinMaterial = "/mt_c0101b0001_a.mtrl"; + private const string SkinBMaterial = "/mt_c0101b0001_b.mtrl"; + private const string SkinBiboMaterial = "/mt_c0101b0001_bibo.mtrl"; private readonly KeyValuePair DefaultTag = new KeyValuePair("_!ADDNEW!_", "Add Attributes...".L()); private readonly KeyValuePair CustomTag = new KeyValuePair("_!CUSTOM!_", "Custom".L()); - private readonly KeyValuePair SkinTag = new KeyValuePair(SkinMaterial, "Skin".L()); + private readonly KeyValuePair SkinTag = new KeyValuePair(SkinMaterial, "Skin A (Gen2/Vanilla)".L()); + private readonly KeyValuePair SkinBTag = new KeyValuePair(SkinBMaterial, "Skin B (Gen3/TBSE)".L()); + private readonly KeyValuePair SkinBiboTag = new KeyValuePair(SkinBiboMaterial, "Skin Bibo (Bibo+)".L()); private readonly string UnknownText = "Unknown".L(); private float OldModelSize; @@ -101,6 +107,14 @@ public async Task SetupUi() { m.Material = SkinMaterial; } + if(SkinBRegex.IsMatch(m.Material)) + { + m.Material = SkinBMaterial; + } + if (SkinBiboRegex.IsMatch(m.Material)) + { + m.Material = SkinBiboMaterial; + } } if(_newModel.MeshGroups.Count <= 1) @@ -317,9 +331,11 @@ private void UpdateMaterialsList() if (!_view.MaterialsSource.Contains(SkinTag)) { _view.MaterialsSource.Add(SkinTag); + _view.MaterialsSource.Add(SkinBTag); + _view.MaterialsSource.Add(SkinBiboTag); // Get our root materials, if we have any - foreach(var m in RootMaterials) + foreach (var m in RootMaterials) { AddMaterial(m); } diff --git a/lib/xivModdingFramework b/lib/xivModdingFramework index 4875c1aa..2f18b40b 160000 --- a/lib/xivModdingFramework +++ b/lib/xivModdingFramework @@ -1 +1 @@ -Subproject commit 4875c1aa1ac452932cbede32285e8bc3d71e1ec3 +Subproject commit 2f18b40b34fb965d40ce0411c6978bf0a50457f8