Fix for MSVC and move stuff around a bit in CMakeLists.txt and src/CMakeLists.txt
[oweals/minetest.git] / src / subgame.h
index 1daeb8b151e881a0687db9ebb253bc23e4327e2d..b201a740255acdaa735d0eecbea725fb1fc9cd4e 100644 (file)
@@ -29,13 +29,16 @@ struct SubgameSpec
        std::string id; // "" = game does not exist
        std::string path;
        std::set<std::string> addon_paths;
+       std::string name;
 
        SubgameSpec(const std::string &id_="",
                        const std::string &path_="",
-                       const std::set<std::string> &addon_paths_=std::set<std::string>()):
+                       const std::set<std::string> &addon_paths_=std::set<std::string>(),
+                       const std::string &name_=""):
                id(id_),
                path(path_),
-               addon_paths(addon_paths_)
+               addon_paths(addon_paths_),
+               name(name_)
        {}
 
        bool isValid() const
@@ -47,6 +50,7 @@ struct SubgameSpec
 SubgameSpec findSubgame(const std::string &id);
 
 std::set<std::string> getAvailableGameIds();
+std::vector<SubgameSpec> getAvailableGames();
 
 std::string getWorldGameId(const std::string &world_path,
                bool can_be_legacy=false);
@@ -75,5 +79,8 @@ struct WorldSpec
 
 std::vector<WorldSpec> getAvailableWorlds();
 
+// Create world directory and world.mt if they don't exist
+bool initializeWorld(const std::string &path, const std::string &gameid);
+
 #endif