Skip to content
Permalink
Browse files

Remove support for common mods

  • Loading branch information
PilzAdam committed Jul 15, 2013
1 parent 112dbba commit 4e5a45952a4f40511029de8f9340f59ad6d97c44
Showing with 0 additions and 50 deletions.
  1. +0 −50 src/mods.cpp
@@ -114,26 +114,6 @@ std::map<std::string, ModSpec> getModsInPath(std::string path, bool part_of_modp
return result;
}

ModSpec findCommonMod(const std::string &modname)
{
// Try to find in {$user,$share}/games/common/$modname
std::vector<std::string> find_paths;
find_paths.push_back(porting::path_user + DIR_DELIM + "games" +
DIR_DELIM + "common" + DIR_DELIM + "mods" + DIR_DELIM + modname);
find_paths.push_back(porting::path_share + DIR_DELIM + "games" +
DIR_DELIM + "common" + DIR_DELIM + "mods" + DIR_DELIM + modname);
for(u32 i=0; i<find_paths.size(); i++){
const std::string &try_path = find_paths[i];
if(fs::PathExists(try_path)){
ModSpec spec(modname, try_path);
parseModContents(spec);
return spec;
}
}
// Failed to find mod
return ModSpec();
}

std::map<std::string, ModSpec> flattenModTree(std::map<std::string, ModSpec> mods)
{
std::map<std::string, ModSpec> result;
@@ -182,36 +162,6 @@ ModConfiguration::ModConfiguration(std::string worldpath)
{
SubgameSpec gamespec = findWorldSubgame(worldpath);

// Add common mods
std::map<std::string, ModSpec> common_mods;
std::vector<std::string> inexistent_common_mods;
Settings gameconf;
if(getGameConfig(gamespec.path, gameconf)){
if(gameconf.exists("common_mods")){
Strfnd f(gameconf.get("common_mods"));
while(!f.atend()){
std::string modname = trim(f.next(","));
if(modname.empty())
continue;
ModSpec spec = findCommonMod(modname);
if(spec.name.empty())
inexistent_common_mods.push_back(modname);
else
common_mods.insert(std::make_pair(modname, spec));
}
}
}
if(!inexistent_common_mods.empty()){
std::string s = "Required common mods ";
for(u32 i=0; i<inexistent_common_mods.size(); i++){
if(i != 0) s += ", ";
s += std::string("\"") + inexistent_common_mods[i] + "\"";
}
s += " could not be found.";
throw ModError(s);
}
addMods(flattenMods(common_mods));

// Add all game mods and all world mods
addModsInPath(gamespec.gamemods_path);
addModsInPath(worldpath + DIR_DELIM + "worldmods");

0 comments on commit 4e5a459

Please sign in to comment.