CRC was never recalculated on servers side
This commit is contained in:
parent
c0aa5cc867
commit
a1d8ea91a2
|
@ -119,9 +119,7 @@ MenuStateCustomGame::MenuStateCustomGame(Program *program, MainMenu *mainMenu,
|
|||
lastCheckedCRCTechtreeName = "";
|
||||
lastCheckedCRCMapName = "";
|
||||
|
||||
last_Forced_CheckedCRCTilesetName = "";
|
||||
last_Forced_CheckedCRCTechtreeName = "";
|
||||
last_Forced_CheckedCRCMapName = "";
|
||||
initTime= time(NULL); // now
|
||||
|
||||
lastCheckedCRCTilesetValue = 0;
|
||||
lastCheckedCRCTechtreeValue = 0;
|
||||
|
@ -3941,21 +3939,16 @@ void MenuStateCustomGame::copyToGameSettings(GameSettings *gameSettings,bool for
|
|||
gameSettings->setNetworkPauseGameForLaggedClients(((checkBoxNetworkPauseGameForLaggedClients.getValue() == true)));
|
||||
|
||||
if( gameSettings->getTileset() != "") {
|
||||
// Check if client has different data, if so force a CRC refresh
|
||||
// Check if we have calculated the crc since menu_state started
|
||||
bool forceRefresh = false;
|
||||
if(checkNetworkPlayerDataSynch(false,true, false) == false &&
|
||||
last_Forced_CheckedCRCTilesetName != gameSettings->getTileset()) {
|
||||
lastCheckedCRCTilesetName = "";
|
||||
forceRefresh = true;
|
||||
last_Forced_CheckedCRCTilesetName = gameSettings->getTileset();
|
||||
}
|
||||
time_t lastUpdateDate = getFolderTreeContentsCheckSumRecursivelyLastGenerated(config.getPathListForType(ptTilesets,""), string("/") + gameSettings->getTileset() + string("/*"), ".xml");
|
||||
if(difftime(lastUpdateDate,initTime) <0 ) {
|
||||
forceRefresh=true;
|
||||
}
|
||||
|
||||
if(lastCheckedCRCTilesetName != gameSettings->getTileset()) {
|
||||
//console.addLine("Checking tileset CRC [" + gameSettings->getTileset() + "]");
|
||||
lastCheckedCRCTilesetValue = getFolderTreeContentsCheckSumRecursively(config.getPathListForType(ptTilesets,""), string("/") + gameSettings->getTileset() + string("/*"), ".xml", NULL,forceRefresh);
|
||||
if(lastCheckedCRCTilesetValue == 0) {
|
||||
lastCheckedCRCTilesetValue = getFolderTreeContentsCheckSumRecursively(config.getPathListForType(ptTilesets,""), string("/") + gameSettings->getTileset() + string("/*"), ".xml", NULL, true);
|
||||
}
|
||||
lastCheckedCRCTilesetName = gameSettings->getTileset();
|
||||
}
|
||||
gameSettings->setTilesetCRC(lastCheckedCRCTilesetValue);
|
||||
|
@ -3963,21 +3956,15 @@ void MenuStateCustomGame::copyToGameSettings(GameSettings *gameSettings,bool for
|
|||
|
||||
if(config.getBool("DisableServerLobbyTechtreeCRCCheck","false") == false) {
|
||||
if(gameSettings->getTech() != "") {
|
||||
// Check if client has different data, if so force a CRC refresh
|
||||
// Check if we have calculated the crc since menu_state started
|
||||
bool forceRefresh = false;
|
||||
if(checkNetworkPlayerDataSynch(false,false,true) == false &&
|
||||
last_Forced_CheckedCRCTechtreeName != gameSettings->getTech()) {
|
||||
lastCheckedCRCTechtreeName = "";
|
||||
forceRefresh = true;
|
||||
last_Forced_CheckedCRCTechtreeName = gameSettings->getTech();
|
||||
}
|
||||
|
||||
time_t lastUpdateDate = getFolderTreeContentsCheckSumRecursivelyLastGenerated(config.getPathListForType(ptTechs,""), "/" + gameSettings->getTech() + "/*", ".xml");
|
||||
if(difftime(lastUpdateDate,initTime) <0 ) {
|
||||
forceRefresh=true;
|
||||
}
|
||||
if(lastCheckedCRCTechtreeName != gameSettings->getTech()) {
|
||||
//console.addLine("Checking techtree CRC [" + gameSettings->getTech() + "]");
|
||||
lastCheckedCRCTechtreeValue = getFolderTreeContentsCheckSumRecursively(config.getPathListForType(ptTechs,""), "/" + gameSettings->getTech() + "/*", ".xml", NULL,forceRefresh);
|
||||
if(lastCheckedCRCTechtreeValue == 0) {
|
||||
lastCheckedCRCTechtreeValue = getFolderTreeContentsCheckSumRecursively(config.getPathListForType(ptTechs,""), "/" + gameSettings->getTech() + "/*", ".xml", NULL, true);
|
||||
}
|
||||
|
||||
reloadFactions(true,(checkBoxScenario.getValue() == true ? scenarioFiles[listBoxScenario.getSelectedItemIndex()] : ""));
|
||||
factionCRCList.clear();
|
||||
|
@ -3986,10 +3973,7 @@ void MenuStateCustomGame::copyToGameSettings(GameSettings *gameSettings,bool for
|
|||
if(factionName != GameConstants::RANDOMFACTION_SLOTNAME &&
|
||||
factionName != GameConstants::OBSERVER_SLOTNAME) {
|
||||
//factionCRC = getFolderTreeContentsCheckSumRecursively(config.getPathListForType(ptTechs,""), "/" + gameSettings->getTech() + "/factions/" + factionName + "/*", ".xml", NULL, true);
|
||||
uint32 factionCRC = getFolderTreeContentsCheckSumRecursively(config.getPathListForType(ptTechs,""), "/" + gameSettings->getTech() + "/factions/" + factionName + "/*", ".xml", NULL);
|
||||
if(factionCRC == 0) {
|
||||
factionCRC = getFolderTreeContentsCheckSumRecursively(config.getPathListForType(ptTechs,""), "/" + gameSettings->getTech() + "/factions/" + factionName + "/*", ".xml", NULL, true);
|
||||
}
|
||||
uint32 factionCRC = getFolderTreeContentsCheckSumRecursively(config.getPathListForType(ptTechs,""), "/" + gameSettings->getTech() + "/factions/" + factionName + "/*", ".xml", NULL,forceRefresh);
|
||||
factionCRCList.push_back(make_pair(factionName,factionCRC));
|
||||
}
|
||||
}
|
||||
|
@ -4003,15 +3987,6 @@ void MenuStateCustomGame::copyToGameSettings(GameSettings *gameSettings,bool for
|
|||
}
|
||||
|
||||
if(gameSettings->getMap() != "") {
|
||||
// Check if client has different data, if so force a CRC refresh
|
||||
//bool forceRefresh = false;
|
||||
if(checkNetworkPlayerDataSynch(true,false,false) == false &&
|
||||
last_Forced_CheckedCRCMapName != gameSettings->getMap()) {
|
||||
lastCheckedCRCMapName = "";
|
||||
//forceRefresh = true;
|
||||
last_Forced_CheckedCRCMapName = gameSettings->getMap();
|
||||
}
|
||||
|
||||
if(lastCheckedCRCMapName != gameSettings->getMap()) {
|
||||
Checksum checksum;
|
||||
string file = Config::getMapPath(gameSettings->getMap(),"",false);
|
||||
|
|
|
@ -212,9 +212,7 @@ private:
|
|||
string lastCheckedCRCTechtreeName;
|
||||
string lastCheckedCRCMapName;
|
||||
|
||||
string last_Forced_CheckedCRCTilesetName;
|
||||
string last_Forced_CheckedCRCTechtreeName;
|
||||
string last_Forced_CheckedCRCMapName;
|
||||
time_t initTime;
|
||||
|
||||
uint32 lastCheckedCRCTilesetValue;
|
||||
uint32 lastCheckedCRCTechtreeValue;
|
||||
|
|
Loading…
Reference in New Issue