diff options
Diffstat (limited to 'builtin/mainmenu')
-rw-r--r-- | builtin/mainmenu/dlg_config_world.lua | 2 | ||||
-rw-r--r-- | builtin/mainmenu/pkgmgr.lua | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/builtin/mainmenu/dlg_config_world.lua b/builtin/mainmenu/dlg_config_world.lua index 1a1107c24..3e766aa78 100644 --- a/builtin/mainmenu/dlg_config_world.lua +++ b/builtin/mainmenu/dlg_config_world.lua @@ -138,7 +138,7 @@ local function handle_buttons(this, fields) not mod.is_game_content then if modname_valid(mod.name) then worldfile:set("load_mod_" .. mod.name, - tostring(mod.enabled)) + mod.enabled and "true" or "false") elseif mod.enabled then gamedata.errormessage = fgettext_ne("Failed to enable mo" .. "d \"$1\" as it contains disallowed characters. " .. diff --git a/builtin/mainmenu/pkgmgr.lua b/builtin/mainmenu/pkgmgr.lua index cea373c9f..171ba54ea 100644 --- a/builtin/mainmenu/pkgmgr.lua +++ b/builtin/mainmenu/pkgmgr.lua @@ -391,7 +391,10 @@ function pkgmgr.get_worldconfig(worldpath) if key == "gameid" then worldconfig.id = value elseif key:sub(0, 9) == "load_mod_" then - worldconfig.global_mods[key] = core.is_yes(value) + -- Compatibility: Check against "nil" which was erroneously used + -- as value for fresh configured worlds + worldconfig.global_mods[key] = value ~= "false" and value ~= "nil" + and value else worldconfig[key] = value end @@ -595,7 +598,7 @@ function pkgmgr.preparemodlist(data) end end if element ~= nil then - element.enabled = core.is_yes(value) + element.enabled = value ~= "false" and value ~= "nil" and value else core.log("info", "Mod: " .. key .. " " .. dump(value) .. " but not found") end |