51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef SUBGAME_HEADER
-#define SUBGAME_HEADER
+#pragma once
#include <string>
#include <set>
class Settings;
-#define WORLDNAME_BLACKLISTED_CHARS "/\\"
-
struct SubgameSpec
{
std::string id; // "" = game does not exist
std::string gamemods_path; //path to mods of the game
std::set<std::string> addon_mods_paths; //paths to addon mods for this game
std::string name;
- std::string menubackground_path;
- std::string menuoverlay_path;
std::string menuicon_path;
- SubgameSpec(const std::string &id_="",
- const std::string &path_="",
- const std::string &gamemods_path_="",
- const std::set<std::string> &addon_mods_paths_=std::set<std::string>(),
- const std::string &name_="",
- const std::string &menubackground_path_="",
- const std::string &menuoverlay_path_="",
- const std::string &menuicon_path_=""):
+ SubgameSpec(const std::string &id_ = "",
+ const std::string &path_ = "",
+ const std::string &gamemods_path_ = "",
+ const std::set<std::string> &addon_mods_paths_ = std::set<std::string>(),
+ const std::string &name_ = "",
+ const std::string &menuicon_path_ = ""):
id(id_),
path(path_),
- gamemods_path(gamemods_path_),
+ gamemods_path(gamemods_path_),
addon_mods_paths(addon_mods_paths_),
name(name_),
- menubackground_path(menubackground_path_),
- menuoverlay_path(menuoverlay_path_),
menuicon_path(menuicon_path_)
{}
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
-
+// 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);