Codechange: Use std::vector for NewGRF station platform layouts.

This avoids the need to custom memory management and additional members.

This also resolves use-after-free if modifying copied layouts, so presumably nobody has ever done that.
This commit is contained in:
Peter Nelson
2021-05-01 18:07:47 +01:00
committed by PeterN
parent 1f159f79de
commit bd1a20f6ee
4 changed files with 42 additions and 75 deletions

View File

@@ -153,7 +153,7 @@ static CommandCost IsValidTileForWaypoint(TileIndex tile, Axis axis, StationID *
return CommandCost();
}
extern void GetStationLayout(byte *layout, int numtracks, int plat_len, const StationSpec *statspec);
extern void GetStationLayout(byte *layout, uint numtracks, uint plat_len, const StationSpec *statspec);
extern CommandCost FindJoiningWaypoint(StationID existing_station, StationID station_to_join, bool adjacent, TileArea ta, Waypoint **wp);
extern CommandCost CanExpandRailStation(const BaseStation *st, TileArea &new_ta, Axis axis);