diff --git a/source/glest_game/game/game.cpp b/source/glest_game/game/game.cpp index d742a3eb4..66af1b4d7 100644 --- a/source/glest_game/game/game.cpp +++ b/source/glest_game/game/game.cpp @@ -1700,30 +1700,39 @@ void Game::processNetworkSynchChecksIfRequired() { bool isNetworkGame = this->gameSettings.isNetworkGame(); if (isNetworkGame == true && NetworkManager::getInstance().getGameNetworkInterface() != NULL) { GameSettings *settings = world.getGameSettingsPtr(); + if(settings != NULL) { + bool calculateNetworkCRC = false; + if(isFlagType1BitEnabled(settings->getFlagTypes1(),ft1_network_synch_checks) == true || + isFlagType1BitEnabled(settings->getFlagTypes1(),ft1_network_synch_checks_verbose) == true) { + calculateNetworkCRC = true; + } - NetworkManager &networkManager = NetworkManager::getInstance(); - NetworkRole role = networkManager.getNetworkRole(); + if(calculateNetworkCRC == true) { + NetworkManager &networkManager = NetworkManager::getInstance(); + NetworkRole role = networkManager.getNetworkRole(); - NetworkInterface *netIntf = networkManager.getGameNetworkInterface(); - for(int index = 0; index < GameConstants::maxPlayers; ++index) { - if(index < world.getFactionCount()) { - Faction *faction = world.getFaction(index); - netIntf->setNetworkPlayerFactionCRC(index,faction->getCRC().getSum()); + NetworkInterface *netIntf = networkManager.getGameNetworkInterface(); + for(int index = 0; index < GameConstants::maxPlayers; ++index) { + if(index < world.getFactionCount()) { + Faction *faction = world.getFaction(index); + netIntf->setNetworkPlayerFactionCRC(index,faction->getCRC().getSum()); - if(settings != NULL) { - if(isFlagType1BitEnabled(settings->getFlagTypes1(),ft1_network_synch_checks_verbose) == true) { - faction->addCRC_DetailsForWorldFrame(world.getFrameCount(),role == nrServer); + if(settings != NULL) { + if(isFlagType1BitEnabled(settings->getFlagTypes1(),ft1_network_synch_checks_verbose) == true) { + faction->addCRC_DetailsForWorldFrame(world.getFrameCount(),role == nrServer); + } + else if(isFlagType1BitEnabled(settings->getFlagTypes1(),ft1_network_synch_checks) == true && + world.getFrameCount() % 20 == 0) { + faction->addCRC_DetailsForWorldFrame(world.getFrameCount(),role == nrServer); + } + } } - else if(isFlagType1BitEnabled(settings->getFlagTypes1(),ft1_network_synch_checks) == true && - world.getFrameCount() % 20 == 0) { - faction->addCRC_DetailsForWorldFrame(world.getFrameCount(),role == nrServer); + else { + netIntf->setNetworkPlayerFactionCRC(index,0); } } } - else { - netIntf->setNetworkPlayerFactionCRC(index,0); - } } } } diff --git a/source/glest_game/global/core_data.cpp b/source/glest_game/global/core_data.cpp index 01a77f52c..009dfdca2 100644 --- a/source/glest_game/global/core_data.cpp +++ b/source/glest_game/global/core_data.cpp @@ -1085,7 +1085,7 @@ bool CoreData::loadGameSettingsFromFile(std::string fileName, GameSettings *game gameSettings->setFlagTypes1(valueFlags1); } - if(Config::getInstance().getBool("EnableNetworkGameSynchMonitor","true") == true) { + if(Config::getInstance().getBool("EnableNetworkGameSynchMonitor","false") == true) { //printf("*WARNING* - EnableNetworkGameSynchChecks is enabled\n"); valueFlags1 |= ft1_network_synch_checks; diff --git a/source/glest_game/menu/menu_state_custom_game.cpp b/source/glest_game/menu/menu_state_custom_game.cpp index 92ad4d7c6..de3a9e1e9 100644 --- a/source/glest_game/menu/menu_state_custom_game.cpp +++ b/source/glest_game/menu/menu_state_custom_game.cpp @@ -3202,7 +3202,7 @@ void MenuStateCustomGame::loadGameSettings(GameSettings *gameSettings,bool force gameSettings->setFlagTypes1(valueFlags1); } - if(Config::getInstance().getBool("EnableNetworkGameSynchMonitor","true") == true) { + if(Config::getInstance().getBool("EnableNetworkGameSynchMonitor","false") == true) { //printf("*WARNING* - EnableNetworkGameSynchChecks is enabled\n"); valueFlags1 |= ft1_network_synch_checks;