changeset 15908:434567b681a8 draft

(svn r20592) -Fix (r2041): no (proper) savegame conversion was done when _date_fract got a new value range
author rubidium <rubidium@openttd.org>
date Sun, 22 Aug 2010 09:21:56 +0000
parents 33fed3e36d65
children 5502a60796ad
files src/date.cpp src/saveload/afterload.cpp
diffstat 2 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- 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;
--- 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);