# HG changeset patch # User rubidium # Date 1282468916 0 # Node ID 434567b681a8420fee47a70bcb5a207d1274881c # Parent 33fed3e36d65cae526ef42390728b670f216a67e (svn r20592) -Fix (r2041): no (proper) savegame conversion was done when _date_fract got a new value range diff --git a/src/date.cpp b/src/date.cpp --- a/src/date.cpp +++ b/src/date.cpp @@ -34,6 +34,8 @@ */ void SetDate(Date date, DateFract fract) { + assert(fract < DAY_TICKS); + YearMonthDay ymd; _date = date; diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -569,6 +569,9 @@ default: break; } + /* The value of _date_fract got divided, so make sure that old games are converted correctly. */ + if (CheckSavegameVersionOldStyle(11, 1)) _date_fract /= 885; + /* Update current year * must be done before loading sprites as some newgrfs check it */ SetDate(_date, _date_fract);