diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index f91ed3989e..5c2b72b527 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -759,6 +759,11 @@ bool AfterLoadGame() assert(_tick_skip_counter < _settings_game.economy.day_length_factor); } + /* Set day length factor to 1 if loading a pre day length savegame */ + if (SlXvIsFeatureMissing(XSLFI_VARIABLE_DAY_LENGTH) && SlXvIsFeatureMissing(XSLFI_SPRINGPP)) { + _settings_game.economy.day_length_factor = 1; + } + /* Update current year * must be done before loading sprites as some newgrfs check it */ SetDate(_date, _date_fract); diff --git a/src/saveload/extended_ver_sl.cpp b/src/saveload/extended_ver_sl.cpp index 3480e15c5e..df7437a4e0 100644 --- a/src/saveload/extended_ver_sl.cpp +++ b/src/saveload/extended_ver_sl.cpp @@ -136,6 +136,7 @@ void SlXvResetState() { _sl_is_ext_version = false; _sl_is_faked_ext = false; + _sl_xv_discardable_chunk_ids.clear(); memset(_sl_xv_feature_versions, 0, sizeof(_sl_xv_feature_versions)); }