From 411d7a2cce5998dc69b1ebc1c7fa89d4a5b944bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lilian=20J=C3=B3nsd=C3=B3ttir?= Date: Sat, 14 Aug 2021 14:04:26 -0700 Subject: [PATCH] reset default config if types don't match --- MWSE/mods/celediel/ASinkingFeeling/config.lua | 13 +++++++++++++ MWSE/mods/celediel/ASinkingFeeling/main.lua | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/MWSE/mods/celediel/ASinkingFeeling/config.lua b/MWSE/mods/celediel/ASinkingFeeling/config.lua index 0fe62da..5678e57 100644 --- a/MWSE/mods/celediel/ASinkingFeeling/config.lua +++ b/MWSE/mods/celediel/ASinkingFeeling/config.lua @@ -17,6 +17,19 @@ this.defaultConfig = { local currentConfig +this.resetDefaults = function(config) + local resetConfig = {} + for k, v in pairs(config) do + -- ensure types are consistent, or reset to default + if type(v) == type(this.defaultConfig[k]) then + resetConfig[k] = config[k] + else + resetConfig[k] = this.defaultConfig[k] + end + end + return resetConfig +end + this.getConfig = function() currentConfig = currentConfig or mwse.loadConfig(common.configString, this.defaultConfig) return currentConfig diff --git a/MWSE/mods/celediel/ASinkingFeeling/main.lua b/MWSE/mods/celediel/ASinkingFeeling/main.lua index 7059644..a9b4af1 100644 --- a/MWSE/mods/celediel/ASinkingFeeling/main.lua +++ b/MWSE/mods/celediel/ASinkingFeeling/main.lua @@ -1,4 +1,5 @@ -local config = require("celediel.ASinkingFeeling.config").getConfig() +local bigConf = require("celediel.ASinkingFeeling.config") +local config = bigConf.getConfig() local common = require("celediel.ASinkingFeeling.common") -- Helper Functions @@ -165,6 +166,7 @@ end local function onInitialized() event.register("calcSwimSpeed", sinkInWater) + config = bigConf.resetDefaults(config) common.log("Successfully initialized!") end