From 0563c0e3088228f33a5a85effc21ebbdadd8372a Mon Sep 17 00:00:00 2001 From: SamuXarick <43006711+SamuXarick@users.noreply.github.com> Date: Sun, 3 Oct 2021 11:54:19 +0100 Subject: [PATCH] Fix #9591: Update station docking tiles upon placing a water object on a docking tile (#9594) (cherry picked from commit e404d16929991d1eddd9d37b859d3813be7e18ed) --- src/saveload/afterload.cpp | 3 ++- src/saveload/extended_ver_sl.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/saveload/afterload.cpp b/src/saveload/afterload.cpp index 202a3620d3..cb4cf05568 100644 --- a/src/saveload/afterload.cpp +++ b/src/saveload/afterload.cpp @@ -3746,10 +3746,11 @@ bool AfterLoadGame() } } - if (IsSavegameVersionUntil(SLV_ENDING_YEAR) || !SlXvIsFeaturePresent(XSLFI_MULTIPLE_DOCKS, 2) || !SlXvIsFeaturePresent(XSLFI_DOCKING_CACHE_VER, 2)) { + if (IsSavegameVersionUntil(SLV_ENDING_YEAR) || !SlXvIsFeaturePresent(XSLFI_MULTIPLE_DOCKS, 2) || !SlXvIsFeaturePresent(XSLFI_DOCKING_CACHE_VER, 3)) { /* Update station docking tiles. Was only needed for pre-SLV_MULTITLE_DOCKS * savegames, but a bug in docking tiles touched all savegames between * SLV_MULTITILE_DOCKS and SLV_ENDING_YEAR. */ + /* Placing objects on docking tiles was not updating adjacent station's docking tiles. */ for (Station *st : Station::Iterate()) { if (st->ship_station.tile != INVALID_TILE) UpdateStationDockingTiles(st); } diff --git a/src/saveload/extended_ver_sl.cpp b/src/saveload/extended_ver_sl.cpp index ee45b2e08a..f69717de10 100644 --- a/src/saveload/extended_ver_sl.cpp +++ b/src/saveload/extended_ver_sl.cpp @@ -131,7 +131,7 @@ const SlxiSubChunkInfo _sl_xv_sub_chunk_infos[] = { { XSLFI_FLOW_STAT_FLAGS, XSCF_NULL, 1, 1, "flow_stat_flags", nullptr, nullptr, nullptr }, { XSLFI_SPEED_RESTRICTION, XSCF_NULL, 1, 1, "speed_restriction", nullptr, nullptr, "VESR" }, { XSLFI_STATION_GOODS_EXTRA, XSCF_NULL, 1, 1, "station_goods_extra", nullptr, nullptr, nullptr }, - { XSLFI_DOCKING_CACHE_VER, XSCF_IGNORABLE_ALL, 2, 2, "docking_cache_ver", nullptr, nullptr, nullptr }, + { XSLFI_DOCKING_CACHE_VER, XSCF_IGNORABLE_ALL, 3, 3, "docking_cache_ver", nullptr, nullptr, nullptr }, { XSLFI_EXTRA_CHEATS, XSCF_NULL, 1, 1, "extra_cheats", nullptr, nullptr, "CHTX" }, { XSLFI_TOWN_MULTI_BUILDING, XSCF_NULL, 1, 1, "town_multi_building", nullptr, nullptr, nullptr }, { XSLFI_SHIP_LOST_COUNTER, XSCF_NULL, 1, 1, "ship_lost_counter", nullptr, nullptr, nullptr },