diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-08-20 13:30:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-20 13:30:50 +0200 |
commit | 1c1c97cbd1d7913ac12bf550ec02c97f843a0fd3 (patch) | |
tree | 03dd0c39e323c7f0b1f06014ff30e74f429bfa01 /src/subgame.cpp | |
parent | 50669cd2822a11570ae462972194eeb2d585a8c1 (diff) | |
download | minetest-1c1c97cbd1d7913ac12bf550ec02c97f843a0fd3.tar.gz minetest-1c1c97cbd1d7913ac12bf550ec02c97f843a0fd3.tar.bz2 minetest-1c1c97cbd1d7913ac12bf550ec02c97f843a0fd3.zip |
Modernize source code: last part (#6285)
* Modernize source code: last par
* Use empty when needed
* Use emplace_back instead of push_back when needed
* For range-based loops
* Initializers fixes
* constructors, destructors default
* c++ C stl includes
Diffstat (limited to 'src/subgame.cpp')
-rw-r--r-- | src/subgame.cpp | 74 |
1 files changed, 33 insertions, 41 deletions
diff --git a/src/subgame.cpp b/src/subgame.cpp index cd2aa752b..eb2ea01c1 100644 --- a/src/subgame.cpp +++ b/src/subgame.cpp @@ -71,7 +71,7 @@ std::string getSubgamePathEnv() SubgameSpec findSubgame(const std::string &id) { - if(id == "") + if (id.empty()) return SubgameSpec(); std::string share = porting::path_share; std::string user = porting::path_user; @@ -81,32 +81,27 @@ SubgameSpec findSubgame(const std::string &id) while (!search_paths.at_end()) { std::string path = search_paths.next(PATH_DELIM); - find_paths.push_back(GameFindPath( - path + DIR_DELIM + id, false)); - find_paths.push_back(GameFindPath( - path + DIR_DELIM + id + "_game", false)); + find_paths.emplace_back(path + DIR_DELIM + id, false); + find_paths.emplace_back(path + DIR_DELIM + id + "_game", false); } - find_paths.push_back(GameFindPath( - user + DIR_DELIM + "games" + DIR_DELIM + id + "_game", true)); - find_paths.push_back(GameFindPath( - user + DIR_DELIM + "games" + DIR_DELIM + id, true)); - find_paths.push_back(GameFindPath( - share + DIR_DELIM + "games" + DIR_DELIM + id + "_game", false)); - find_paths.push_back(GameFindPath( - share + DIR_DELIM + "games" + DIR_DELIM + id, false)); + find_paths.emplace_back(user + DIR_DELIM + "games" + DIR_DELIM + id + "_game", true); + find_paths.emplace_back(user + DIR_DELIM + "games" + DIR_DELIM + id, true); + find_paths.emplace_back(share + DIR_DELIM + "games" + DIR_DELIM + id + "_game", + false); + find_paths.emplace_back(share + DIR_DELIM + "games" + DIR_DELIM + id, false); // Find game directory std::string game_path; bool user_game = true; // Game is in user's directory - for(u32 i=0; i<find_paths.size(); i++){ - const std::string &try_path = find_paths[i].path; - if(fs::PathExists(try_path)){ + for (const GameFindPath &find_path : find_paths) { + const std::string &try_path = find_path.path; + if (fs::PathExists(try_path)) { game_path = try_path; - user_game = find_paths[i].user_specific; + user_game = find_path.user_specific; break; } } - if(game_path == "") + if (game_path.empty()) return SubgameSpec(); std::string gamemod_path = game_path + DIR_DELIM + "mods"; // Find mod directories @@ -116,7 +111,7 @@ SubgameSpec findSubgame(const std::string &id) if(user != share || user_game) mods_paths.insert(user + DIR_DELIM + "mods"); std::string game_name = getGameName(game_path); - if(game_name == "") + if (game_name.empty()) game_name = id; std::string menuicon_path; #ifndef SERVER @@ -137,7 +132,7 @@ SubgameSpec findWorldSubgame(const std::string &world_path) gamespec.path = world_gamepath; gamespec.gamemods_path= world_gamepath + DIR_DELIM + "mods"; gamespec.name = getGameName(world_gamepath); - if(gamespec.name == "") + if (gamespec.name.empty()) gamespec.name = "unknown"; return gamespec; } @@ -156,23 +151,22 @@ std::set<std::string> getAvailableGameIds() while (!search_paths.at_end()) gamespaths.insert(search_paths.next(PATH_DELIM)); - for (std::set<std::string>::const_iterator i = gamespaths.begin(); - i != gamespaths.end(); ++i){ - std::vector<fs::DirListNode> dirlist = fs::GetDirListing(*i); - for(u32 j=0; j<dirlist.size(); j++){ - if(!dirlist[j].dir) + for (const std::string &gamespath : gamespaths) { + std::vector<fs::DirListNode> dirlist = fs::GetDirListing(gamespath); + for (const fs::DirListNode &dln : dirlist) { + if(!dln.dir) continue; // If configuration file is not found or broken, ignore game Settings conf; - if(!getGameConfig(*i + DIR_DELIM + dirlist[j].name, conf)) + if(!getGameConfig(gamespath + DIR_DELIM + dln.name, conf)) continue; // Add it to result const char *ends[] = {"_game", NULL}; - std::string shorter = removeStringEnd(dirlist[j].name, ends); - if(shorter != "") + std::string shorter = removeStringEnd(dln.name, ends); + if (!shorter.empty()) gameids.insert(shorter); else - gameids.insert(dirlist[j].name); + gameids.insert(dln.name); } } return gameids; @@ -182,9 +176,8 @@ std::vector<SubgameSpec> getAvailableGames() { std::vector<SubgameSpec> specs; std::set<std::string> gameids = getAvailableGameIds(); - for(std::set<std::string>::const_iterator i = gameids.begin(); - i != gameids.end(); ++i) - specs.push_back(findSubgame(*i)); + for (const auto &gameid : gameids) + specs.push_back(findSubgame(gameid)); return specs; } @@ -235,15 +228,14 @@ std::vector<WorldSpec> getAvailableWorlds() worldspaths.insert(porting::path_user + DIR_DELIM + "worlds"); infostream << "Searching worlds..." << std::endl; - for (std::set<std::string>::const_iterator i = worldspaths.begin(); - i != worldspaths.end(); ++i) { - infostream << " In " << (*i) << ": " <<std::endl; - std::vector<fs::DirListNode> dirvector = fs::GetDirListing(*i); - for(u32 j=0; j<dirvector.size(); j++){ - if(!dirvector[j].dir) + for (const std::string &worldspath : worldspaths) { + infostream << " In " << worldspath << ": " <<std::endl; + std::vector<fs::DirListNode> dirvector = fs::GetDirListing(worldspath); + for (const fs::DirListNode &dln : dirvector) { + if(!dln.dir) continue; - std::string fullpath = *i + DIR_DELIM + dirvector[j].name; - std::string name = dirvector[j].name; + std::string fullpath = worldspath + DIR_DELIM + dln.name; + std::string name = dln.name; // Just allow filling in the gameid always for now bool can_be_legacy = true; std::string gameid = getWorldGameId(fullpath, can_be_legacy); @@ -267,7 +259,7 @@ std::vector<WorldSpec> getAvailableWorlds() WorldSpec spec(fullpath, name, gameid); infostream<<"Old world found."<<std::endl; worlds.push_back(spec); - }while(0); + }while(false); infostream<<worlds.size()<<" found."<<std::endl; return worlds; } |