From 6bfde97760fcde645f869c8e431bd5aca839e6db Mon Sep 17 00:00:00 2001 From: Salvador Cipolla Date: Wed, 15 Jan 2025 00:00:50 -0300 Subject: [PATCH 1/2] Fix mod settings were not saving on newely installed mods until restart --- Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs b/Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs index 9f568a29..9b068a63 100644 --- a/Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs +++ b/Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs @@ -555,6 +555,8 @@ public async Task InstallMod(Mod mod, CancellationTokenSource cancelSource mod.ClearUnusedData(); } + mod.modSettings.Load(mod.fullPath); + //We have to compress? if (compressMod) { From d17c9585144db5c02f1153086fb68dc7ad432a36 Mon Sep 17 00:00:00 2001 From: Salvador Cipolla Date: Wed, 15 Jan 2025 00:11:08 -0300 Subject: [PATCH 2/2] On second thought, do not call Mod Settings.Load() after a install --- Knossos.NET/Models/ModSettings.cs | 10 ++++++++++ Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Knossos.NET/Models/ModSettings.cs b/Knossos.NET/Models/ModSettings.cs index 8c4d9d47..3104c79c 100644 --- a/Knossos.NET/Models/ModSettings.cs +++ b/Knossos.NET/Models/ModSettings.cs @@ -69,6 +69,16 @@ public bool IsDefaultConfig() return true; } + /// + /// Sets the filepath to the mod folder for the mod settings system, if it is not already set. + /// + /// + public void SetInitialFilePath(string modFullPath) + { + if (filePath == null) + filePath = modFullPath + Path.DirectorySeparatorChar + "mod_settings.json"; + } + /// /// Load mod_settings.json data /// Any new variabled must be added here or it will not be loaded diff --git a/Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs b/Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs index 9b068a63..768eb6e9 100644 --- a/Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs +++ b/Knossos.NET/ViewModels/Templates/Tasks/InstallMod.cs @@ -555,7 +555,7 @@ public async Task InstallMod(Mod mod, CancellationTokenSource cancelSource mod.ClearUnusedData(); } - mod.modSettings.Load(mod.fullPath); + mod.modSettings.SetInitialFilePath(mod.fullPath); //We have to compress? if (compressMod)