(svn r6136) -Fix: _cur_year wasn't converting when reading pre-31 savegames, causing nasty desyncs
authortruelight
Sat, 26 Aug 2006 11:06:54 +0000
changeset 4383 3dcf52b1efd9
parent 4382 0b997608d1c2
child 4384 293c0d26294c
(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
misc.c
openttd.c
--- a/misc.c	Sat Aug 26 07:45:18 2006 +0000
+++ b/misc.c	Sat Aug 26 11:06:54 2006 +0000
@@ -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	Sat Aug 26 07:45:18 2006 +0000
+++ b/openttd.c	Sat Aug 26 11:06:54 2006 +0000
@@ -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;