std::string CreateDefaultSetup(const std::string& map, const std::string& mod, const std::string& script, const std::string& playername) { TdfParser::TdfSection setup; TdfParser::TdfSection* game = setup.construct_subsection("GAME"); game->add_name_value("Mapname", map); game->add_name_value("Gametype", mod); TdfParser::TdfSection* modopts = game->construct_subsection("MODOPTIONS"); modopts->AddPair("MaxSpeed", 20); game->AddPair("IsHost", 1); game->AddPair("OnlyLocal", 1); game->add_name_value("MyPlayerName", playername); game->AddPair("NoHelperAIs", configHandler->Get("NoHelperAIs", 0)); TdfParser::TdfSection* player0 = game->construct_subsection("PLAYER0"); player0->add_name_value("Name", playername); player0->AddPair("Team", 0); const bool isSkirmishAITestScript = CScriptHandler::Instance().IsSkirmishAITestScript(script); if (isSkirmishAITestScript) { SkirmishAIData aiData = CScriptHandler::Instance().GetSkirmishAIData(script); TdfParser::TdfSection* ai = game->construct_subsection("AI0"); ai->add_name_value("Name", "Enemy"); ai->add_name_value("ShortName", aiData.shortName); ai->add_name_value("Version", aiData.version); ai->AddPair("Host", 0); ai->AddPair("Team", 1); } else { TdfParser::TdfSection* player1 = game->construct_subsection("PLAYER1"); player1->add_name_value("Name", "Enemy"); player1->AddPair("Team", 1); } TdfParser::TdfSection* team0 = game->construct_subsection("TEAM0"); team0->AddPair("TeamLeader", 0); team0->AddPair("AllyTeam", 0); TdfParser::TdfSection* team1 = game->construct_subsection("TEAM1"); if (isSkirmishAITestScript) { team1->AddPair("TeamLeader", 0); } else { team1->AddPair("TeamLeader", 1); } team1->AddPair("AllyTeam", 1); TdfParser::TdfSection* ally0 = game->construct_subsection("ALLYTEAM0"); ally0->AddPair("NumAllies", 0); TdfParser::TdfSection* ally1 = game->construct_subsection("ALLYTEAM1"); ally1->AddPair("NumAllies", 0); std::ostringstream str; setup.print(str); return str.str(); }
std::string CreateDefaultSetup(const std::string& map, const std::string& mod, const std::string& script, const std::string& playername) { TdfParser::TdfSection setup; TdfParser::TdfSection* game = setup.construct_subsection("GAME"); game->add_name_value("Mapname", map); game->add_name_value("Gametype", mod); game->add_name_value("Scriptname", script); game->AddPair("IsHost", 1); game->add_name_value("MyPlayerName", playername); game->AddPair("NoHelperAIs", configHandler.Get("NoHelperAIs", 0)); TdfParser::TdfSection* player0 = game->construct_subsection("PLAYER0"); player0->add_name_value("Name", playername); player0->AddPair("Team", 0); TdfParser::TdfSection* player1 = game->construct_subsection("PLAYER1"); player1->add_name_value("Name", "Enemy"); player1->AddPair("Team", 1); TdfParser::TdfSection* team0 = game->construct_subsection("TEAM0"); team0->AddPair("Leader", 0); team0->AddPair("AllyTeam", 0); TdfParser::TdfSection* team1 = game->construct_subsection("TEAM1"); team1->AddPair("AllyTeam", 1); TdfParser::TdfSection* ally0 = game->construct_subsection("ALLYTEAM0"); ally0->AddPair("NumAllies", 0); TdfParser::TdfSection* ally1 = game->construct_subsection("ALLYTEAM1"); ally1->AddPair("NumAllies", 0); std::ostringstream str; setup.print(str); return str.str(); }