From 86e9326b7f9a0f74e5e8b271289685a1d5deeaf2 Mon Sep 17 00:00:00 2001 From: glx22 Date: Thu, 7 May 2020 01:14:22 +0200 Subject: [PATCH] Add: docking tiles cache check (#8120) --- src/openttd.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/openttd.cpp b/src/openttd.cpp index ffd30cf7b8..9bd3bf7d07 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1317,6 +1317,23 @@ static void CheckCaches() st->goods[c].cargo.InvalidateCache(); assert(memcmp(&st->goods[c].cargo, buff, sizeof(StationCargoList)) == 0); } + + /* Check docking tiles */ + TileArea ta; + std::map docking_tiles; + TILE_AREA_LOOP(tile, st->docking_station) { + ta.Add(tile); + docking_tiles[tile] = IsDockingTile(tile); + } + UpdateStationDockingTiles(st); + if (ta.tile != st->docking_station.tile || ta.w != st->docking_station.w || ta.h != st->docking_station.h) { + DEBUG(desync, 2, "station docking mismatch: station %i, company %i", st->index, (int)st->owner); + } + TILE_AREA_LOOP(tile, ta) { + if (docking_tiles[tile] != IsDockingTile(tile)) { + DEBUG(desync, 2, "docking tile mismatch: tile %i", (int)tile); + } + } } }