diff --git a/builtin/modmgr.lua b/builtin/modmgr.lua index a8ae4f1d8..b42492882 100644 --- a/builtin/modmgr.lua +++ b/builtin/modmgr.lua @@ -459,10 +459,8 @@ function modmgr.dialog_configure_world() "checkbox[0,0.8;cb_mod_enabled;enabled;" if modmgr.worldconfig.global_mods[shortname] then - print("checkbox " .. shortname .. " enabled") retval = retval .. "true" else - print("checkbox " .. shortname .. " disabled") retval = retval .. "false" end @@ -516,7 +514,7 @@ function modmgr.get_dependencys(modfolder) end dependencyfile:close() else - print(filename .. " not found") + print("Modmgr:" .. filename .. " not found") end return toadd @@ -546,10 +544,8 @@ function modmgr.get_worldconfig(worldpath) else local key = parts[1]:trim():sub(10) if parts[2]:trim() == "true" then - print("found enabled mod: >" .. key .. "<") worldconfig.global_mods[key] = true else - print("found disabled mod: >" .. key .. "<") worldconfig.global_mods[key] = false end end @@ -557,13 +553,12 @@ function modmgr.get_worldconfig(worldpath) end worldfile:close() else - print(filename .. " not found") + print("Modmgr: " .. filename .. " not found") end --read gamemods local gamemodpath = engine.get_gamepath() .. DIR_DELIM .. worldconfig.id .. DIR_DELIM .. "mods" - print("reading game mods from: " .. dump(gamemodpath)) get_mods(gamemodpath,worldconfig.game_mods) return worldconfig @@ -642,7 +637,9 @@ function modmgr.installmod(modfilename,basename) if clean_path ~= nil then local targetpath = engine.get_modpath() .. DIR_DELIM .. clean_path - engine.copy_dir(basefolder.path,targetpath) + if not engine.copy_dir(basefolder.path,targetpath) then + gamedata.errormessage = "Failed to install " .. basename .. " to " .. targetpath + end else gamedata.errormessage = "Install Mod: unable to find suitable foldername for modpack " .. modfilename diff --git a/src/guiFormSpecMenu.cpp b/src/guiFormSpecMenu.cpp index 1a99d696b..a67768deb 100644 --- a/src/guiFormSpecMenu.cpp +++ b/src/guiFormSpecMenu.cpp @@ -1010,7 +1010,7 @@ void GUIFormSpecMenu::parseTextArea(parserData* data,std::vector& p } void GUIFormSpecMenu::parseField(parserData* data,std::string element,std::string type) { - std::vector parts = split(element,';'); + std::vector parts = split(element,';',true); if (parts.size() == 3) { parseSimpleField(data,parts); diff --git a/src/guiLuaApi.cpp b/src/guiLuaApi.cpp index b4effbdd3..4ed5cb24c 100644 --- a/src/guiLuaApi.cpp +++ b/src/guiLuaApi.cpp @@ -807,9 +807,8 @@ int guiLuaApi::l_set_topleft_text(lua_State *L) /******************************************************************************/ int guiLuaApi::l_get_modpath(lua_State *L) { - //TODO this path may be controversial! std::string modpath - = fs::RemoveRelativePathComponents(porting::path_share + DIR_DELIM + "mods" + DIR_DELIM); + = fs::RemoveRelativePathComponents(porting::path_user + DIR_DELIM + "mods" + DIR_DELIM); lua_pushstring(L, modpath.c_str()); return 1; } @@ -818,7 +817,7 @@ int guiLuaApi::l_get_modpath(lua_State *L) int guiLuaApi::l_get_gamepath(lua_State *L) { std::string gamepath - = fs::RemoveRelativePathComponents(porting::path_share + DIR_DELIM + "games" + DIR_DELIM); + = fs::RemoveRelativePathComponents(porting::path_share + DIR_DELIM + "games" + DIR_DELIM); lua_pushstring(L, gamepath.c_str()); return 1; } @@ -1009,7 +1008,7 @@ bool guiLuaApi::isMinetestPath(std::string path) { return true; /* mods */ - if (fs::PathStartsWith(path,fs::RemoveRelativePathComponents(porting::path_share + DIR_DELIM + "mods"))) + if (fs::PathStartsWith(path,fs::RemoveRelativePathComponents(porting::path_user + DIR_DELIM + "mods"))) return true; /* worlds */