(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
This commit is contained in:
truelight 2006-08-26 11:06:54 +00:00
parent de56b3c57d
commit be737b80d3
2 changed files with 3 additions and 2 deletions

4
misc.c
View File

@ -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),

View File

@ -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;