summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-04-09 16:01:48 +0000
committerrubidium <rubidium@openttd.org>2010-04-09 16:01:48 +0000
commit12e75643af3610ccb6b4cb8666f8810e63a98eaf (patch)
tree3bfa5291a81722f5f583081f553a58a5091d629b
parenta7e31778b3d75f73b740534c6a9d8830104f1a9c (diff)
downloadopenttd-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
-rw-r--r--src/date.cpp6
-rw-r--r--src/openttd.cpp7
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;