summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortruelight <truelight@openttd.org>2006-08-26 11:06:54 +0000
committertruelight <truelight@openttd.org>2006-08-26 11:06:54 +0000
commitbe737b80d35aebf98a7fb571b1124cd51b371953 (patch)
tree41adb3e3e7587a0807fb23b15b07928a3c27989a
parentde56b3c57dc0a40bea52e8499de6cf7efbdb09e6 (diff)
downloadopenttd-be737b80d35aebf98a7fb571b1124cd51b371953.tar.xz
(svn r6136) -Fix: _cur_year wasn't converting when reading pre-31 savegames, causing nasty desyncs
-Fix: _date, which is a Date, which is int32, was saved as uint32
-rw-r--r--misc.c4
-rw-r--r--openttd.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/misc.c b/misc.c
index a17dd7b01..7801a2140 100644
--- a/misc.c
+++ b/misc.c
@@ -268,8 +268,8 @@ static void Load_NAME(void)
}
static const SaveLoadGlobVarList _date_desc[] = {
- SLEG_CONDVAR(_date, SLE_FILE_U16 | SLE_VAR_U32, 0, 30),
- SLEG_CONDVAR(_date, SLE_UINT32, 31, SL_MAX_VERSION),
+ SLEG_CONDVAR(_date, SLE_FILE_U16 | SLE_VAR_I32, 0, 30),
+ SLEG_CONDVAR(_date, SLE_INT32, 31, SL_MAX_VERSION),
SLEG_VAR(_date_fract, SLE_UINT16),
SLEG_VAR(_tick_counter, SLE_UINT16),
SLEG_VAR(_vehicle_id_ctr_day, SLE_UINT16),
diff --git a/openttd.c b/openttd.c
index 12552f152..21965f4c9 100644
--- a/openttd.c
+++ b/openttd.c
@@ -1454,6 +1454,7 @@ bool AfterLoadGame(void)
Vehicle *v;
_date += DAYS_TILL_ORIGINAL_BASE_YEAR;
+ _cur_year += ORIGINAL_BASE_YEAR;
FOR_ALL_STATIONS(st) st->build_date += DAYS_TILL_ORIGINAL_BASE_YEAR;
FOR_ALL_WAYPOINTS(wp) wp->build_date += DAYS_TILL_ORIGINAL_BASE_YEAR;