X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fsubgame.h;h=f3633ce2f2695c7e36e6148bfb40b5f0e40aac52;hb=65c09a96f41705bb8e75fc5ff4276342be91ed11;hp=8561c1a52ce322effffba0130557baf266257169;hpb=22e186b4aa88b585e71500c4e9a03bf69b0b6191;p=minetest.git diff --git a/src/subgame.h b/src/subgame.h index 8561c1a52..f3633ce2f 100644 --- a/src/subgame.h +++ b/src/subgame.h @@ -24,6 +24,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include #include +class Settings; + #define WORLDNAME_BLACKLISTED_CHARS "/\\" struct SubgameSpec @@ -33,17 +35,20 @@ struct SubgameSpec std::string gamemods_path; //path to mods of the game std::set addon_mods_paths; //paths to addon mods for this game std::string name; + std::string menuicon_path; SubgameSpec(const std::string &id_="", const std::string &path_="", const std::string &gamemods_path_="", const std::set &addon_mods_paths_=std::set(), - const std::string &name_=""): + const std::string &name_="", + const std::string &menuicon_path_=""): id(id_), path(path_), gamemods_path(gamemods_path_), addon_mods_paths(addon_mods_paths_), - name(name_) + name(name_), + menuicon_path(menuicon_path_) {} bool isValid() const @@ -52,6 +57,11 @@ struct SubgameSpec } }; +// minetest.conf +bool getGameMinetestConfig(const std::string &game_path, Settings &conf); +// game.conf +bool getGameConfig(const std::string &game_path, Settings &conf); + std::string getGameName(const std::string &game_path); SubgameSpec findSubgame(const std::string &id); @@ -88,8 +98,9 @@ struct WorldSpec std::vector getAvailableWorlds(); -// Create world directory and world.mt if they don't exist -bool initializeWorld(const std::string &path, const std::string &gameid); +// loads the subgame's config and creates world directory +// and world.mt if they don't exist +bool loadGameConfAndInitWorld(const std::string &path, const SubgameSpec &gamespec); #endif