summaryrefslogtreecommitdiff
path: root/src/saveload
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2009-05-06 15:06:57 +0000
committerrubidium <rubidium@openttd.org>2009-05-06 15:06:57 +0000
commit2664f2a2d95dbc2122ff1f9b96e8569ae401892f (patch)
treefb2112ce7a51edd259190186790bf00319a53510 /src/saveload
parentbb121a1510fbd3faea71b794b1f6bdaba1641665 (diff)
downloadopenttd-2664f2a2d95dbc2122ff1f9b96e8569ae401892f.tar.xz
(svn r16242) -Codechange: rework pausing
-Fix [FS#2864]: autopause and manual pausing conflict with eachother -Fix: new game + pause on new game + autopause make the game not unpause on the first join
Diffstat (limited to 'src/saveload')
-rw-r--r--src/saveload/afterload.cpp6
-rw-r--r--src/saveload/misc_sl.cpp2
-rw-r--r--src/saveload/oldloader.cpp2
-rw-r--r--src/saveload/saveload.cpp2
4 files changed, 8 insertions, 4 deletions
diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp
index 7dca7a53a..87a5c9910 100644
--- a/src/saveload/afterload.cpp
+++ b/src/saveload/afterload.cpp
@@ -336,6 +336,10 @@ bool AfterLoadGame()
if (CheckSavegameVersion(98)) GamelogGRFAddList(_grfconfig);
+ if (CheckSavegameVersion(119)) {
+ _pause_mode = (_pause_mode == 2) ? PM_PAUSED_NORMAL : PM_UNPAUSED;
+ }
+
/* in very old versions, size of train stations was stored differently */
if (CheckSavegameVersion(2)) {
Station *st;
@@ -440,7 +444,7 @@ bool AfterLoadGame()
switch (gcf_res) {
case GLC_COMPATIBLE: _switch_mode_errorstr = STR_NEWGRF_COMPATIBLE_LOAD_WARNING; break;
- case GLC_NOT_FOUND: _switch_mode_errorstr = STR_NEWGRF_DISABLED_WARNING; _pause_game = -1; break;
+ case GLC_NOT_FOUND: _switch_mode_errorstr = STR_NEWGRF_DISABLED_WARNING; _pause_mode = PM_PAUSED_ERROR; break;
default: break;
}
diff --git a/src/saveload/misc_sl.cpp b/src/saveload/misc_sl.cpp
index 318f65f9d..499dec754 100644
--- a/src/saveload/misc_sl.cpp
+++ b/src/saveload/misc_sl.cpp
@@ -74,7 +74,7 @@ static const SaveLoadGlobVarList _date_desc[] = {
SLEG_CONDVAR(_next_competitor_start, SLE_FILE_U16 | SLE_VAR_U32, 0, 108),
SLEG_CONDVAR(_next_competitor_start, SLE_UINT32, 109, SL_MAX_VERSION),
SLEG_VAR(_trees_tick_ctr, SLE_UINT8),
- SLEG_CONDVAR(_pause_game, SLE_UINT8, 4, SL_MAX_VERSION),
+ SLEG_CONDVAR(_pause_mode, SLE_UINT8, 4, SL_MAX_VERSION),
SLEG_CONDVAR(_cur_town_iter, SLE_UINT32, 11, SL_MAX_VERSION),
SLEG_END()
};
diff --git a/src/saveload/oldloader.cpp b/src/saveload/oldloader.cpp
index 6912ca9b5..1feb3e4fa 100644
--- a/src/saveload/oldloader.cpp
+++ b/src/saveload/oldloader.cpp
@@ -302,7 +302,7 @@ bool LoadOldSaveGame(const char *file)
return false;
}
- _pause_game = 2;
+ _pause_mode = 2;
return true;
}
diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp
index f0eb90bb1..3ac544a60 100644
--- a/src/saveload/saveload.cpp
+++ b/src/saveload/saveload.cpp
@@ -40,7 +40,7 @@
#include "saveload_internal.h"
-extern const uint16 SAVEGAME_VERSION = 118;
+extern const uint16 SAVEGAME_VERSION = 119;
SavegameType _savegame_type; ///< type of savegame we are loading