From 2edfccd1875aa0d5800844894ec2ae0c9b06c4db Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Mon, 31 Aug 2015 19:42:34 +0100 Subject: [PATCH] SpringPP load: Fix loading when day-length > 1 Adjust value of _date_fract. --- src/saveload/afterload.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 99ba5694a2..fc1b03de78 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -707,6 +707,14 @@ bool AfterLoadGame() /* The value of _date_fract got divided, so make sure that old games are converted correctly. */ if (IsSavegameVersionBefore(11, 1) || (IsSavegameVersionBefore(147) && _date_fract > DAY_TICKS)) _date_fract /= 885; + if (SlXvIsFeaturePresent(XSLFI_SPRINGPP)) { + assert(_settings_game.economy.day_length_factor >= 1); + _tick_skip_counter = _date_fract % _settings_game.economy.day_length_factor; + _date_fract /= _settings_game.economy.day_length_factor; + assert(_date_fract < DAY_TICKS); + assert(_tick_skip_counter < _settings_game.economy.day_length_factor); + } + /* Update current year * must be done before loading sprites as some newgrfs check it */ SetDate(_date, _date_fract);