diff --git a/Dalamud/Configuration/Internal/DalamudConfiguration.cs b/Dalamud/Configuration/Internal/DalamudConfiguration.cs index 1a3b047b8..8e966ca66 100644 --- a/Dalamud/Configuration/Internal/DalamudConfiguration.cs +++ b/Dalamud/Configuration/Internal/DalamudConfiguration.cs @@ -16,6 +16,13 @@ namespace Dalamud.Configuration.Internal [Serializable] internal sealed class DalamudConfiguration { + private static readonly JsonSerializerSettings SerializerSettings = new() + { + TypeNameHandling = TypeNameHandling.All, + TypeNameAssemblyFormatHandling = TypeNameAssemblyFormatHandling.Full, + Formatting = Formatting.Indented, + }; + [JsonIgnore] private string configPath; @@ -238,7 +245,7 @@ namespace Dalamud.Configuration.Internal DalamudConfiguration deserialized; try { - deserialized = JsonConvert.DeserializeObject(File.ReadAllText(path)); + deserialized = JsonConvert.DeserializeObject(File.ReadAllText(path), SerializerSettings); } catch (Exception ex) { @@ -256,7 +263,7 @@ namespace Dalamud.Configuration.Internal /// public void Save() { - File.WriteAllText(this.configPath, JsonConvert.SerializeObject(this, Formatting.Indented)); + File.WriteAllText(this.configPath, JsonConvert.SerializeObject(this, SerializerSettings)); this.DalamudConfigurationSaved?.Invoke(this); } }