mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2025-03-09 07:29:44 +00:00
Fix #8020: Add missing docking tiles around industry neutral stations
This commit is contained in:
parent
4d4005d8b7
commit
57553cd809
@ -3116,13 +3116,11 @@ bool AfterLoadGame()
|
|||||||
if (IsDock(t) || IsOilRig(t)) Station::GetByTile(t)->ship_station.Add(t);
|
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. */
|
/* Compute station catchment areas. This is needed here in case UpdateStationAcceptance is called below. */
|
||||||
Station::RecomputeCatchmentForAll();
|
Station::RecomputeCatchmentForAll();
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ void AfterLoadVehicles(bool part_of_load);
|
|||||||
void FixupTrainLengths();
|
void FixupTrainLengths();
|
||||||
void AfterLoadStations();
|
void AfterLoadStations();
|
||||||
void AfterLoadRoadStops();
|
void AfterLoadRoadStops();
|
||||||
|
void AfterLoadScanDockingTiles();
|
||||||
void ResetLabelMaps();
|
void ResetLabelMaps();
|
||||||
void AfterLoadLabelMaps();
|
void AfterLoadLabelMaps();
|
||||||
void AfterLoadStoryBook();
|
void AfterLoadStoryBook();
|
||||||
|
@ -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[] = {
|
static const SaveLoad _roadstop_desc[] = {
|
||||||
SLE_VAR(RoadStop, xy, SLE_UINT32),
|
SLE_VAR(RoadStop, xy, SLE_UINT32),
|
||||||
SLE_CONDNULL(1, SL_MIN_VERSION, SLV_45),
|
SLE_CONDNULL(1, SL_MIN_VERSION, SLV_45),
|
||||||
|
@ -613,6 +613,7 @@ bool IsShipDestinationTile(TileIndex tile, StationID station)
|
|||||||
const Industry *i = Industry::GetByTile(t);
|
const Industry *i = Industry::GetByTile(t);
|
||||||
if (i->neutral_station != nullptr && i->neutral_station->index == station) return true;
|
if (i->neutral_station != nullptr && i->neutral_station->index == station) return true;
|
||||||
}
|
}
|
||||||
|
if (IsTileType(t, MP_STATION) && IsOilRig(t) && GetStationIndex(t) == station) return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -196,6 +196,10 @@ void CheckForDockingTile(TileIndex t)
|
|||||||
SetDockingTile(t, true);
|
SetDockingTile(t, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (IsTileType(tile, MP_STATION) && IsOilRig(tile)) {
|
||||||
|
Station::GetByTile(tile)->docking_station.Add(t);
|
||||||
|
SetDockingTile(t, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user