changeset 4383:c9177e4cdbda draft

(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
author truelight <truelight@openttd.org>
date Sat, 26 Aug 2006 11:06:54 +0000
parents 2cf5172ee043
children c0add09dd64a
files misc.c openttd.c
diffstat 2 files changed, 3 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/misc.c
+++ b/misc.c
@@ -268,8 +268,8 @@
 }
 
 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),
--- a/openttd.c
+++ b/openttd.c
@@ -1454,6 +1454,7 @@
 		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;