Codechange: Unify where rail station tile flags are set. (#12531)
This avoids repeating the logic in three places.
This commit is contained in:
@@ -276,16 +276,7 @@ CommandCost CmdBuildRailWaypoint(DoCommandFlag flags, TileIndex start_tile, Axis
|
||||
MakeRailWaypoint(tile, wp->owner, wp->index, axis, layout[i], GetRailType(tile));
|
||||
SetCustomStationSpecIndex(tile, map_spec_index);
|
||||
|
||||
/* Should be the same as layout but axis component could be wrong... */
|
||||
StationGfx gfx = GetStationGfx(tile);
|
||||
bool blocked = spec != nullptr && HasBit(spec->blocked, gfx);
|
||||
/* Default stations do not draw pylons under roofs (gfx >= 4) */
|
||||
bool pylons = spec != nullptr ? HasBit(spec->pylons, gfx) : gfx < 4;
|
||||
bool wires = spec == nullptr || !HasBit(spec->wires, gfx);
|
||||
|
||||
SetStationTileBlocked(tile, blocked);
|
||||
SetStationTileHavePylons(tile, pylons);
|
||||
SetStationTileHaveWires(tile, wires);
|
||||
SetRailStationTileFlags(tile, spec);
|
||||
|
||||
SetRailStationReservation(tile, reserved);
|
||||
MarkTileDirtyByTile(tile);
|
||||
|
Reference in New Issue
Block a user