- when masterserver game is over go right back to custom game lobby

This commit is contained in:
Mark Vejvoda 2011-09-24 20:22:47 +00:00
parent 4df997d0ca
commit f0b795377b
3 changed files with 16 additions and 0 deletions

View File

@ -2077,6 +2077,10 @@ Stats Game::quitGame() {
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
endStats = *(world.getStats());
NetworkManager &networkManager= NetworkManager::getInstance();
if(networkManager.getNetworkRole() == nrServer && gameSettings.getMasterserver_admin() != -1) {
endStats.setIsMasterserverMode(true);
}
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);

View File

@ -78,6 +78,7 @@ private:
time_t timePlayed;
int maxConcurrentUnitCount;
int totalEndGameConcurrentUnitCount;
bool isMasterserverMode;
public:
@ -91,6 +92,7 @@ public:
framesToCalculatePlaytime = 0;
maxConcurrentUnitCount = 0;
totalEndGameConcurrentUnitCount = 0;
isMasterserverMode = false;
}
void init(int factionCount, int thisFactionIndex, const string &description);
@ -119,6 +121,9 @@ public:
string getPlayerName(int factionIndex) const {return playerStats[factionIndex].playerName;}
Vec3f getPlayerColor(int factionIndex) const { return playerStats[factionIndex].playerColor;}
bool getIsMasterserverMode() const { return isMasterserverMode; }
void setIsMasterserverMode(bool value) { isMasterserverMode = value; }
void setDescription(const string& description) {this->description = description;}
void setWorldTimeElapsed(float value) {this->worldTimeElapsed = value;}
void setFramesPlayed(int value) {this->framesPlayed = value; }

View File

@ -76,6 +76,13 @@ void BattleEnd::update() {
AutoTest::getInstance().updateBattleEnd(program);
}
mouse2d= (mouse2d+1) % Renderer::maxMouse2dAnim;
if(this->stats.getIsMasterserverMode() == true) {
SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d]\n",__FILE__,__FUNCTION__,__LINE__);
//program->setState(new MainMenu(program));
program->initServer(program->getWindow(),false,true,true);
return;
}
}
void BattleEnd::render() {