Fix #8020: Add missing docking tiles around industry neutral stations

This commit is contained in:
SamuXarick
2020-02-24 22:49:11 +00:00
committed by Niels Martin Hansen
parent 4d4005d8b7
commit 57553cd809
5 changed files with 20 additions and 5 deletions

View File

@@ -3116,13 +3116,11 @@ bool AfterLoadGame()
if (IsDock(t) || IsOilRig(t)) Station::GetByTile(t)->ship_station.Add(t);
}
}
/* Scan for docking tiles */
for (Station *st : Station::Iterate()) {
if (st->ship_station.tile != INVALID_TILE) UpdateStationDockingTiles(st);
}
}
/* Update station docking tiles. */
AfterLoadScanDockingTiles();
/* Compute station catchment areas. This is needed here in case UpdateStationAcceptance is called below. */
Station::RecomputeCatchmentForAll();

View File

@@ -29,6 +29,7 @@ void AfterLoadVehicles(bool part_of_load);
void FixupTrainLengths();
void AfterLoadStations();
void AfterLoadRoadStops();
void AfterLoadScanDockingTiles();
void ResetLabelMaps();
void AfterLoadLabelMaps();
void AfterLoadStoryBook();

View File

@@ -141,6 +141,17 @@ void AfterLoadRoadStops()
}
}
/**
* (Re)scan for station docking tiles after loading a savegame.
*/
void AfterLoadScanDockingTiles()
{
/* Scan for docking tiles */
for (Station *st : Station::Iterate()) {
if (st->ship_station.tile != INVALID_TILE) UpdateStationDockingTiles(st);
}
}
static const SaveLoad _roadstop_desc[] = {
SLE_VAR(RoadStop, xy, SLE_UINT32),
SLE_CONDNULL(1, SL_MIN_VERSION, SLV_45),