"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
end
dependencyfile:close()
else
- print(filename .. " not found")
+ print("Modmgr:" .. filename .. " not found")
end
return toadd
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
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
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
}
void GUIFormSpecMenu::parseField(parserData* data,std::string element,std::string type) {
- std::vector<std::string> parts = split(element,';');
+ std::vector<std::string> parts = split(element,';',true);
if (parts.size() == 3) {
parseSimpleField(data,parts);
/******************************************************************************/
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;
}
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;
}
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 */