(svn r17685) -Fix: autounpausing kept trying to unpause a loaded game that was paused due to an error. Just reject such savegames in dedicated servers.

pull/155/head
rubidium 15 years ago
parent a9717da0d3
commit dd01e6196a

@ -367,7 +367,7 @@ static uint NetworkCountActiveClients()
/* Check if the minimum number of active clients has been reached and pause or unpause the game as appropriate */
static void CheckMinActiveClients()
{
if (!_network_dedicated || _settings_client.network.min_active_clients == 0) return;
if (!_network_dedicated || _settings_client.network.min_active_clients == 0 || (_pause_mode & PM_PAUSED_ERROR) != 0) return;
if (NetworkCountActiveClients() < _settings_client.network.min_active_clients) {
if ((_pause_mode & PM_PAUSED_NORMAL) != 0) return;

@ -408,6 +408,12 @@ bool AfterLoadGame()
if (CheckSavegameVersion(119)) {
_pause_mode = (_pause_mode == 2) ? PM_PAUSED_NORMAL : PM_UNPAUSED;
} else if (_network_dedicated && (_pause_mode & PM_PAUSED_ERROR) != 0) {
DEBUG(net, 0, "The loading savegame was paused due to an error state.");
DEBUG(net, 0, " The savegame cannot be used for multiplayer!");
/* Restore the signals */
ResetSignalHandlers();
return false;
}
/* in very old versions, size of train stations was stored differently */

Loading…
Cancel
Save