From: Perttu Ahola Date: Mon, 26 Mar 2012 20:02:12 +0000 (+0300) Subject: Add game.conf check in subgame.cpp X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=53f7eef05247378e02bfde328f7b5e2dbac4be44;p=zefram%2Fminetest%2Fminetest_engine.git Add game.conf check in subgame.cpp --- diff --git a/src/subgame.cpp b/src/subgame.cpp index d7668b0e..9a8ebe69 100644 --- a/src/subgame.cpp +++ b/src/subgame.cpp @@ -23,6 +23,18 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "settings.h" #include "log.h" +std::string getGameName(const std::string &game_path) +{ + std::string conf_path = game_path + DIR_DELIM + "game.conf"; + Settings conf; + bool succeeded = conf.readConfigFile(conf_path.c_str()); + if(!succeeded) + return ""; + if(!conf.exists("name")) + return ""; + return conf.get("name"); +} + SubgameSpec findSubgame(const std::string &id) { if(id == "") @@ -46,7 +58,9 @@ SubgameSpec findSubgame(const std::string &id) if(user != share || user_game) mods_paths.insert(user + DIR_DELIM + "mods" + DIR_DELIM + id); // TODO: Read proper name from game_path/game.conf - std::string game_name = id; + std::string game_name = getGameName(game_path); + if(game_name == "") + game_name = id; return SubgameSpec(id, game_path, mods_paths, game_name); }