diff --git a/DSFBX.Core/DSFBXImporter.cs b/DSFBX.Core/DSFBXImporter.cs index 8e955e7..b129897 100644 --- a/DSFBX.Core/DSFBXImporter.cs +++ b/DSFBX.Core/DSFBXImporter.cs @@ -44,8 +44,7 @@ public string ModelIDStr public double ImportedSkeletonScalePercent = 100.0; public Vector3 SceneRotation = Vector3.Zero; - - public bool ArmorCopyHumanToHollow = true; + public string ArmorExtension = ""; public bool ArmorCopyMaleLegsToFemale = true; public bool ArmorFixBodyNormals = true; @@ -1561,18 +1560,6 @@ private string GetArmorModelName(DSFBXArmorSlot slot) case DSFBXArmorSlot.LG_A: return $"LG_A_{ModelIDStr}"; case DSFBXArmorSlot.LG_M: return $"LG_M_{ModelIDStr}"; case DSFBXArmorSlot.LG_F: return $"LG_F_{ModelIDStr}"; - case DSFBXArmorSlot.HD_A_Hollow: return $"HD_A_{ModelIDStr}_M"; - case DSFBXArmorSlot.HD_M_Hollow: return $"HD_M_{ModelIDStr}_M"; - case DSFBXArmorSlot.HD_F_Hollow: return $"HD_F_{ModelIDStr}_M"; - case DSFBXArmorSlot.BD_A_Hollow: return $"BD_A_{ModelIDStr}_M"; - case DSFBXArmorSlot.BD_M_Hollow: return $"BD_M_{ModelIDStr}_M"; - case DSFBXArmorSlot.BD_F_Hollow: return $"BD_F_{ModelIDStr}_M"; - case DSFBXArmorSlot.AM_A_Hollow: return $"AM_A_{ModelIDStr}_M"; - case DSFBXArmorSlot.AM_M_Hollow: return $"AM_M_{ModelIDStr}_M"; - case DSFBXArmorSlot.AM_F_Hollow: return $"AM_F_{ModelIDStr}_M"; - case DSFBXArmorSlot.LG_A_Hollow: return $"LG_A_{ModelIDStr}_M"; - case DSFBXArmorSlot.LG_M_Hollow: return $"LG_M_{ModelIDStr}_M"; - case DSFBXArmorSlot.LG_F_Hollow: return $"LG_F_{ModelIDStr}_M"; } return null; } @@ -1673,7 +1660,7 @@ public bool Import() foreach (var kvp in armorSubmeshes) { - var outputBnd = GetModelPath(GetArmorModelName(kvp.Key)); + var outputBnd = GetModelPath(GetArmorModelName(kvp.Key) + ArmorExtension); entityBnd.FilePath = outputBnd; if (GenerateBackup && (File.Exists(outputBnd) && !File.Exists(outputBnd + ".bak"))) { @@ -1701,25 +1688,9 @@ public bool Import() Print($"Saved armor slot {kvp.Key.ToString()} model to armor model \"{outputBnd}\"."); - if (ArmorCopyHumanToHollow && !GetArmorModelName(kvp.Key).EndsWith("_M")) - { - entityBnd.FilePath = outputBnd = GetModelPath(GetArmorModelName(kvp.Key) + "_M"); - if (IsRemaster) - { - DataFile.SaveToDcxFile(entityBnd, outputBnd); - } - else - { - DataFile.SaveToFile(entityBnd, outputBnd); - } - OutputtedFiles.Add(outputBnd); - - Print($"[Copy Human -> Hollow]\nSaved armor slot {kvp.Key.ToString()} model to armor model \"{outputBnd}\"."); - } - if (ArmorCopyMaleLegsToFemale && kvp.Key == DSFBXArmorSlot.LG_M) { - entityBnd.FilePath = outputBnd = GetModelPath(GetArmorModelName(DSFBXArmorSlot.LG_F)); + entityBnd.FilePath = outputBnd = GetModelPath(GetArmorModelName(DSFBXArmorSlot.LG_F) + ArmorExtension); if (IsRemaster) { DataFile.SaveToDcxFile(entityBnd, outputBnd); @@ -1732,21 +1703,6 @@ public bool Import() Print($"[Copy Male Legs -> Female Legs]\nSaved armor slot {kvp.Key.ToString()} model to armor model \"{outputBnd}\"."); - if (ArmorCopyHumanToHollow) - { - entityBnd.FilePath = outputBnd = GetModelPath(GetArmorModelName(DSFBXArmorSlot.LG_F_Hollow)); - if (IsRemaster) - { - DataFile.SaveToDcxFile(entityBnd, outputBnd); - } - else - { - DataFile.SaveToFile(entityBnd, outputBnd); - } - OutputtedFiles.Add(outputBnd); - - Print($"[Copy Male Legs -> Female Legs & Copy Human -> Hollow]\nSaved armor slot {kvp.Key.ToString()} model to armor model \"{outputBnd}\"."); - } } diff --git a/DSFBX.Core/DSFBX_Enums.cs b/DSFBX.Core/DSFBX_Enums.cs index 3577cec..cc1d0b1 100644 --- a/DSFBX.Core/DSFBX_Enums.cs +++ b/DSFBX.Core/DSFBX_Enums.cs @@ -28,18 +28,5 @@ public enum DSFBXArmorSlot LG_A, LG_M, LG_F, - - HD_A_Hollow, - HD_M_Hollow, - HD_F_Hollow, - BD_A_Hollow, - BD_M_Hollow, - BD_F_Hollow, - AM_A_Hollow, - AM_M_Hollow, - AM_F_Hollow, - LG_A_Hollow, - LG_M_Hollow, - LG_F_Hollow, } } diff --git a/DSFBX.ImporterGUI/ArmorExtension.cs b/DSFBX.ImporterGUI/ArmorExtension.cs new file mode 100644 index 0000000..9277f82 --- /dev/null +++ b/DSFBX.ImporterGUI/ArmorExtension.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; + +namespace DSFBX_GUI +{ + class ArmorExtension + { + public static readonly Dictionary Dict = new Dictionary() + { + { "System.Windows.Controls.ListBoxItem: Human", "" }, + { "System.Windows.Controls.ListBoxItem: Hollow", "_M" }, + { "System.Windows.Controls.ListBoxItem: Lowpoly", "_L" } + }; + } +} diff --git a/DSFBX.ImporterGUI/DSFBX.ImporterGUI.csproj b/DSFBX.ImporterGUI/DSFBX.ImporterGUI.csproj index 7b8a3d2..50fff63 100644 --- a/DSFBX.ImporterGUI/DSFBX.ImporterGUI.csproj +++ b/DSFBX.ImporterGUI/DSFBX.ImporterGUI.csproj @@ -13,6 +13,7 @@ {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 4 true + x86 @@ -77,6 +78,7 @@ App.xaml Code + @@ -133,7 +135,6 @@ ModelReloaderDS1R - del "$(TargetDir)*.xml" /q /f diff --git a/DSFBX.ImporterGUI/DSFBXConfig.cs b/DSFBX.ImporterGUI/DSFBXConfig.cs index 21ca174..a0a48df 100644 --- a/DSFBX.ImporterGUI/DSFBXConfig.cs +++ b/DSFBX.ImporterGUI/DSFBXConfig.cs @@ -13,6 +13,7 @@ public class DSFBXConfig : INotifyPropertyChanged { public string Manual_LastModelTypeDropdownOption = "Weapon"; + public string Manual_LastArmorExtensionTypeDropdownOption = "Human"; private bool _forceReloadCHR = true; public bool ForceReloadCHR @@ -59,17 +60,6 @@ public bool ConvertNormalsAxis } } - private bool _armorCopyHumanToHollow = true; - public bool ArmorCopyHumanToHollow - { - get => _armorCopyHumanToHollow; - set - { - _armorCopyHumanToHollow = value; - RaisePropertyChanged(); - } - } - private bool _armorCopyMaleLegsToFemale = true; public bool ArmorCopyMaleLegsToFemale { diff --git a/DSFBX.ImporterGUI/MainWindow.xaml b/DSFBX.ImporterGUI/MainWindow.xaml index f467306..effa8be 100644 --- a/DSFBX.ImporterGUI/MainWindow.xaml +++ b/DSFBX.ImporterGUI/MainWindow.xaml @@ -5,7 +5,7 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:local="clr-namespace:DSFBX_GUI" mc:Ignorable="d" - Title="DSFBX Beta v1.1" + Title="DSFBX Beta v1.2" Width="773" Height="640" MinWidth="960" @@ -247,19 +247,6 @@ Import Mesh Double-Sided - - Copy Human -> Hollow - - + + + + + +