diff --git a/Glamourer/Designs/DesignConverter.cs b/Glamourer/Designs/DesignConverter.cs index cd6db7e..6ab6901 100644 --- a/Glamourer/Designs/DesignConverter.cs +++ b/Glamourer/Designs/DesignConverter.cs @@ -111,16 +111,7 @@ public class DesignConverter(ItemManager _items, DesignManager _designs, Customi : DesignBase.LoadDesignBase(_customize, _items, jObj2); break; } - case Version: - { - version = bytes.DecompressToString(out var decompressed); - var jObj2 = JObject.Parse(decompressed); - Debug.Assert(version == Version); - ret = jObj2["Identifier"] != null - ? Design.LoadDesign(_customize, _items, jObj2) - : DesignBase.LoadDesignBase(_customize, _items, jObj2); - break; - } + default: throw new Exception($"Unknown Version {bytes[0]}."); } } diff --git a/Glamourer/Gui/Tabs/DebugTab.cs b/Glamourer/Gui/Tabs/DebugTab.cs index 52385b8..ad1d46f 100644 --- a/Glamourer/Gui/Tabs/DebugTab.cs +++ b/Glamourer/Gui/Tabs/DebugTab.cs @@ -4,6 +4,7 @@ using System.Globalization; using System.IO; using System.Linq; using System.Numerics; +using System.Runtime.CompilerServices; using System.Text; using Dalamud.Game.ClientState.Objects.Types; using Dalamud.Interface; @@ -483,21 +484,28 @@ public unsafe class DebugTab : ITab private void DrawCrests(Actor actor, Model model) { - using var id = ImRaii.PushId("Crests"); + using var id = ImRaii.PushId("Crests"); + CrestFlag whichToggle = 0; + CrestFlag totalModelFlags = 0; foreach (var crestFlag in CrestExtensions.AllRelevantSet) { id.Push((int)crestFlag); var modelCrest = CrestService.GetModelCrest(actor, crestFlag); + if (modelCrest) + totalModelFlags |= crestFlag; ImGuiUtil.DrawTableColumn($"{crestFlag.ToLabel()} Crest"); ImGuiUtil.DrawTableColumn(actor.IsCharacter ? actor.GetCrest(crestFlag).ToString() : "No Character"); ImGuiUtil.DrawTableColumn(modelCrest.ToString()); ImGui.TableNextColumn(); if (model.IsHuman && ImGui.SmallButton("Toggle")) - _crestService.UpdateCrest(actor, crestFlag, !modelCrest); + whichToggle = crestFlag; id.Pop(); } + + if (whichToggle != 0) + _crestService.UpdateCrests(actor, totalModelFlags ^ whichToggle); } #endregion