From 24c3a52f6aec0e91cc36dd535c868ef11d57dc0d Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Fri, 29 Dec 2023 18:37:46 +0100 Subject: [PATCH] Fix design coloring and Apply All Customization display. --- Glamourer/Designs/DesignBase.cs | 5 ++++- Glamourer/Designs/DesignColors.cs | 2 +- Glamourer/Gui/Tabs/DesignTab/DesignPanel.cs | 6 +++--- 3 files changed, 8 insertions(+), 5 deletions(-) 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;