From 53f7eef05247378e02bfde328f7b5e2dbac4be44 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Mon, 26 Mar 2012 23:02:12 +0300 Subject: Add game.conf check in subgame.cpp --- src/subgame.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/subgame.cpp b/src/subgame.cpp index d7668b0e5..9a8ebe69f 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); } -- cgit v1.2.3