From 3fde2cb5b1c205ba8598899410938b730399a6de Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 4 Mar 2017 13:20:21 +0000 Subject: [PATCH 1/4] Remove unused constant from newgrf_config.cpp --- src/newgrf_config.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/newgrf_config.cpp b/src/newgrf_config.cpp index cf7311622a..894c346fb5 100644 --- a/src/newgrf_config.cpp +++ b/src/newgrf_config.cpp @@ -915,9 +915,6 @@ char *GRFBuildParamList(char *dst, const GRFConfig *c, const char *last) return dst; } -/** Base GRF ID for OpenTTD's base graphics GRFs. */ -static const uint32 OPENTTD_GRAPHICS_BASE_GRF_ID = BSWAP32(0xFF4F5400); - /** * Search a textfile file next to this NewGRF. * @param type The type of the textfile to search for. From 79439925c821735e9ac4b6330729de039cc85e8c Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 4 Mar 2017 20:09:42 +0000 Subject: [PATCH 2/4] Clear discardable chunk IDs in SlXvResetState. --- src/saveload/extended_ver_sl.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/saveload/extended_ver_sl.cpp b/src/saveload/extended_ver_sl.cpp index 7b083a7f21..7a3e0ced88 100644 --- a/src/saveload/extended_ver_sl.cpp +++ b/src/saveload/extended_ver_sl.cpp @@ -107,6 +107,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)); } From 702404dc6aca8e0904a60168fbf5f4994bb319ea Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sat, 4 Mar 2017 20:28:07 +0000 Subject: [PATCH 3/4] Fix issues with uncleared variables when loading old save games. --- src/saveload/station_sl.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/saveload/station_sl.cpp b/src/saveload/station_sl.cpp index dee5be33a2..4f23576d0d 100644 --- a/src/saveload/station_sl.cpp +++ b/src/saveload/station_sl.cpp @@ -327,6 +327,10 @@ static void SwapPackets(GoodsEntry *ge) static void Load_STNS() { + _cargo_source_xy = 0; + _cargo_days = 0; + _cargo_feeder_share = 0; + int index; while ((index = SlIterateArray()) != -1) { Station *st = new (index) Station(); @@ -519,8 +523,9 @@ static void Save_STNN() static void Load_STNN() { - int index; + _num_flows = 0; + int index; while ((index = SlIterateArray()) != -1) { bool waypoint = (SlReadByte() & FACIL_WAYPOINT) != 0; From 1f148322fb1d0f2f07af080e204e94e58cb3df0f Mon Sep 17 00:00:00 2001 From: Jonathan G Rennison Date: Sun, 5 Mar 2017 15:25:34 +0000 Subject: [PATCH 4/4] Reset day length factor to 1 when loading pre day length savegame --- src/saveload/afterload.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index de3f7ccff9..a70e12b79d 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -694,6 +694,11 @@ 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; + /* Set day length factor to 1 if loading a pre day length savegame */ + if (SlXvIsFeatureMissing(XSLFI_VARIABLE_DAY_LENGTH)) { + _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);