From ce75471e5129068ba765cbff8cdad5626866c31d Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Wed, 20 Nov 2024 18:08:24 +0100 Subject: [PATCH] Fix issue with resetting GEQP parameters on reload (again?) --- Penumbra.GameData | 2 +- Penumbra.String | 2 +- Penumbra/Meta/Manipulations/MetaDictionary.cs | 11 +++++++++++ Penumbra/Mods/Editor/ModMetaEditor.cs | 3 ++- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/Penumbra.GameData b/Penumbra.GameData index 1c82c086..c855c17c 160000 --- a/Penumbra.GameData +++ b/Penumbra.GameData @@ -1 +1 @@ -Subproject commit 1c82c086704e2f1b3608644a9b1d70628fbe0ca9 +Subproject commit c855c17cffd7d270c3f013e01767cd052c24c462 diff --git a/Penumbra.String b/Penumbra.String index bd52d080..dd83f972 160000 --- a/Penumbra.String +++ b/Penumbra.String @@ -1 +1 @@ -Subproject commit bd52d080b72d67263dc47068e461f17c93bdc779 +Subproject commit dd83f97299ac33cfacb1064bde4f4d1f6a260936 diff --git a/Penumbra/Meta/Manipulations/MetaDictionary.cs b/Penumbra/Meta/Manipulations/MetaDictionary.cs index 70d4fd47..da061bec 100644 --- a/Penumbra/Meta/Manipulations/MetaDictionary.cs +++ b/Penumbra/Meta/Manipulations/MetaDictionary.cs @@ -79,6 +79,17 @@ public class MetaDictionary _globalEqp.Clear(); } + public void ClearForDefault() + { + Count = _globalEqp.Count; + _imc.Clear(); + _eqp.Clear(); + _eqdp.Clear(); + _est.Clear(); + _rsp.Clear(); + _gmp.Clear(); + } + public bool Equals(MetaDictionary other) => Count == other.Count && _imc.SetEquals(other._imc) diff --git a/Penumbra/Mods/Editor/ModMetaEditor.cs b/Penumbra/Mods/Editor/ModMetaEditor.cs index 64c585ea..217ba93d 100644 --- a/Penumbra/Mods/Editor/ModMetaEditor.cs +++ b/Penumbra/Mods/Editor/ModMetaEditor.cs @@ -69,7 +69,8 @@ public class ModMetaEditor( public static bool DeleteDefaultValues(MetaFileManager metaFileManager, MetaDictionary dict) { var clone = dict.Clone(); - dict.Clear(); + dict.ClearForDefault(); + var count = 0; foreach (var (key, value) in clone.Imc) {