- more bugfixes for headless server mode, attempt to fix crash when switching info fast and avoid render on battle end on server.
This commit is contained in:
parent
26d0b71bd5
commit
f5c7eff49c
|
@ -86,6 +86,9 @@ void BattleEnd::update() {
|
|||
}
|
||||
|
||||
void BattleEnd::render() {
|
||||
if(this->stats.getIsMasterserverMode() == true) {
|
||||
return;
|
||||
}
|
||||
Renderer &renderer= Renderer::getInstance();
|
||||
//CoreData &coreData= CoreData::getInstance();
|
||||
|
||||
|
|
|
@ -2343,12 +2343,15 @@ void MenuStateCustomGame::simpleTask(BaseThread *callingThread) {
|
|||
}
|
||||
ServerInterface *serverInterface= NetworkManager::getInstance().getServerInterface(false);
|
||||
if(serverInterface != NULL) {
|
||||
serverInterface->setGameSettings(&gameSettings,false);
|
||||
}
|
||||
|
||||
if(hasClientConnection == true && serverInterface != NULL) {
|
||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
serverInterface->broadcastGameSetup(&gameSettings);
|
||||
if(this->masterserverMode == false || (serverInterface->getGameSettingsUpdateCount() <= lastMasterServerSettingsUpdateCount)) {
|
||||
serverInterface->setGameSettings(&gameSettings,false);
|
||||
|
||||
if(hasClientConnection == true) {
|
||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugSystem).enabled) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line %d]\n",__FILE__,__FUNCTION__,__LINE__);
|
||||
serverInterface->broadcastGameSetup(&gameSettings);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1639,6 +1639,15 @@ int ServerInterface::getOpenSlotCount() {
|
|||
return openSlotCount;
|
||||
}
|
||||
|
||||
int ServerInterface::getGameSettingsUpdateCount() {
|
||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s] START gameSettingsUpdateCount = %d\n",__FILE__,__FUNCTION__,gameSettingsUpdateCount);
|
||||
MutexSafeWrapper safeMutex(&serverSynchAccessor,string(__FILE__) + "_" + intToStr(__LINE__));
|
||||
|
||||
int result = gameSettingsUpdateCount;
|
||||
safeMutex.ReleaseLock();
|
||||
return result;
|
||||
}
|
||||
|
||||
void ServerInterface::setGameSettings(GameSettings *serverGameSettings, bool waitForClientAck) {
|
||||
if(SystemFlags::getSystemSettingType(SystemFlags::debugNetwork).enabled) SystemFlags::OutputDebug(SystemFlags::debugNetwork,"In [%s::%s] START gameSettingsUpdateCount = %d, waitForClientAck = %d\n",__FILE__,__FUNCTION__,gameSettingsUpdateCount,waitForClientAck);
|
||||
MutexSafeWrapper safeMutex(&serverSynchAccessor,string(__FILE__) + "_" + intToStr(__LINE__));
|
||||
|
|
|
@ -121,7 +121,7 @@ public:
|
|||
void setGameSettings(GameSettings *serverGameSettings, bool waitForClientAck);
|
||||
void broadcastGameSetup(const GameSettings *gameSettings);
|
||||
|
||||
int getGameSettingsUpdateCount() const { return gameSettingsUpdateCount; }
|
||||
int getGameSettingsUpdateCount();
|
||||
|
||||
bool getMasterserverAdminRequestLaunch() const { return masterserverAdminRequestLaunch; }
|
||||
void setMasterserverAdminRequestLaunch(bool value) { masterserverAdminRequestLaunch = value; }
|
||||
|
|
Loading…
Reference in New Issue
Block a user