diff options
author | rubidium <rubidium@openttd.org> | 2010-04-09 16:01:48 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2010-04-09 16:01:48 +0000 |
commit | 12e75643af3610ccb6b4cb8666f8810e63a98eaf (patch) | |
tree | 3bfa5291a81722f5f583081f553a58a5091d629b /src | |
parent | a7e31778b3d75f73b740534c6a9d8830104f1a9c (diff) | |
download | openttd-12e75643af3610ccb6b4cb8666f8810e63a98eaf.tar.xz |
(svn r19592) -Fix: don't do the desync debug savegames mid-StateGameLoop; they're increadibly useless (or hard to load correctly) in that case
Diffstat (limited to 'src')
-rw-r--r-- | src/date.cpp | 6 | ||||
-rw-r--r-- | src/openttd.cpp | 7 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/date.cpp b/src/date.cpp index 9122b21c8..944e40bc4 100644 --- a/src/date.cpp +++ b/src/date.cpp @@ -218,12 +218,6 @@ static void OnNewYear() */ static void OnNewMonth() { - if (_debug_desync_level > 2) { - char name[MAX_PATH]; - snprintf(name, lengthof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date); - SaveOrLoad(name, SL_SAVE, AUTOSAVE_DIR); - } - if (_settings_client.gui.autosave != 0 && (_cur_month % _autosave_months[_settings_client.gui.autosave]) == 0) { _do_autosave = true; RedrawAutosave(); diff --git a/src/openttd.cpp b/src/openttd.cpp index 77677dd33..86d239819 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1206,6 +1206,13 @@ void StateGameLoop() } else { CheckCaches(); + if (_debug_desync_level > 2 && _date_fract == 0 && (_date & 0x1F) == 0) { + /* Save the desync savegame if needed. */ + char name[MAX_PATH]; + snprintf(name, lengthof(name), "dmp_cmds_%08x_%08x.sav", _settings_game.game_creation.generation_seed, _date); + SaveOrLoad(name, SL_SAVE, AUTOSAVE_DIR); + } + /* All these actions has to be done from OWNER_NONE * for multiplayer compatibility */ CompanyID old_company = _current_company; |