diff --git a/Glamourer/Designs/DesignBase.cs b/Glamourer/Designs/DesignBase.cs index f4e7e28..aeb48e0 100644 --- a/Glamourer/Designs/DesignBase.cs +++ b/Glamourer/Designs/DesignBase.cs @@ -74,9 +74,12 @@ public class DesignBase internal CustomizeFlag ApplyCustomize { get => _applyCustomize.FixApplication(CustomizeSet); - set => _applyCustomize = value & CustomizeFlagExtensions.AllRelevant; + set => _applyCustomize = (value & CustomizeFlagExtensions.AllRelevant) | CustomizeFlag.BodyType; } + internal CustomizeFlag ApplyCustomizeExcludingBodyType + => _applyCustomize.FixApplication(CustomizeSet) & ~CustomizeFlag.BodyType; + internal CustomizeFlag ApplyCustomizeRaw => _applyCustomize; diff --git a/Glamourer/Designs/DesignColors.cs b/Glamourer/Designs/DesignColors.cs index 2a4f3f7..fa257c6 100644 --- a/Glamourer/Designs/DesignColors.cs +++ b/Glamourer/Designs/DesignColors.cs @@ -282,7 +282,7 @@ public class DesignColors : ISavable, IReadOnlyDictionary public static uint AutoColor(DesignBase design) { - var customize = design.ApplyCustomize == 0; + var customize = design.ApplyCustomizeExcludingBodyType == 0; var equip = design.ApplyEquip == 0; return (customize, equip) switch { diff --git a/Glamourer/Gui/Tabs/DesignTab/DesignPanel.cs b/Glamourer/Gui/Tabs/DesignTab/DesignPanel.cs index 5333ba5..848bb58 100644 --- a/Glamourer/Gui/Tabs/DesignTab/DesignPanel.cs +++ b/Glamourer/Gui/Tabs/DesignTab/DesignPanel.cs @@ -154,9 +154,9 @@ public class DesignPanel(DesignFileSystemSelector _selector, CustomizationDrawer private void DrawCustomizeApplication() { - var set = _selector.Selected!.CustomizeSet; - var available = set.SettingAvailable | CustomizeFlag.Clan | CustomizeFlag.Gender; - var flags = _selector.Selected!.ApplyCustomize == 0 ? 0 : (_selector.Selected!.ApplyCustomize & available) == available ? 3 : 1; + var set = _selector.Selected!.CustomizeSet; + var available = set.SettingAvailable | CustomizeFlag.Clan | CustomizeFlag.Gender | CustomizeFlag.BodyType; + var flags = _selector.Selected!.ApplyCustomizeExcludingBodyType == 0 ? 0 : (_selector.Selected!.ApplyCustomize & available) == available ? 3 : 1; if (ImGui.CheckboxFlags("Apply All Customizations", ref flags, 3)) { var newFlags = flags == 3;