From 699ae8e1fb5939c8b7c8afe1614d73ba70d6317d Mon Sep 17 00:00:00 2001 From: Ottermandias Date: Mon, 3 Jun 2024 17:47:11 +0200 Subject: [PATCH] Fix issue with collection settings being set to negative value for some reason. --- Penumbra/Mods/Settings/Setting.cs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/Penumbra/Mods/Settings/Setting.cs b/Penumbra/Mods/Settings/Setting.cs index 059cbf51..e8ad103c 100644 --- a/Penumbra/Mods/Settings/Setting.cs +++ b/Penumbra/Mods/Settings/Setting.cs @@ -85,6 +85,24 @@ public readonly record struct Setting(ulong Value) public override Setting ReadJson(JsonReader reader, Type objectType, Setting existingValue, bool hasExistingValue, JsonSerializer serializer) - => new(serializer.Deserialize(reader)); + { + try + { + return new Setting(serializer.Deserialize(reader)); + } + catch (Exception e) + { + Penumbra.Log.Warning($"Could not deserialize setting {reader.Value} to unsigned long:\n{e}"); + try + { + return new Setting((ulong)serializer.Deserialize(reader)); + } + catch + { + Penumbra.Log.Warning($"Could not deserialize setting {reader.Value} to long:\n{e}"); + return Zero; + } + } + } } }