|
|
|
@ -1641,20 +1641,6 @@ CommandCost CmdBuildRailStation(TileIndex tile_org, DoCommandFlag flags, uint32
|
|
|
|
|
SetStationTileRandomBits(tile, GB(Random(), 0, 4));
|
|
|
|
|
SetAnimationFrame(tile, 0);
|
|
|
|
|
|
|
|
|
|
/* Should be the same as layout but axis component could be wrong... */
|
|
|
|
|
StationGfx gfx = GetStationGfx(tile);
|
|
|
|
|
bool blocked = statspec != nullptr && HasBit(statspec->blocked, gfx);
|
|
|
|
|
/* Default stations do not draw pylons under roofs (gfx >= 4) */
|
|
|
|
|
bool pylons = statspec != nullptr ? HasBit(statspec->pylons, gfx) : gfx < 4;
|
|
|
|
|
bool wires = statspec == nullptr || !HasBit(statspec->wires, gfx);
|
|
|
|
|
|
|
|
|
|
SetStationTileBlocked(tile, blocked);
|
|
|
|
|
SetStationTileHavePylons(tile, pylons);
|
|
|
|
|
SetStationTileHaveWires(tile, wires);
|
|
|
|
|
|
|
|
|
|
if (!blocked) c->infrastructure.rail[rt]++;
|
|
|
|
|
c->infrastructure.station++;
|
|
|
|
|
|
|
|
|
|
if (statspec != nullptr) {
|
|
|
|
|
/* Use a fixed axis for GetPlatformInfo as our platforms / numtracks are always the right way around */
|
|
|
|
|
uint32 platinfo = GetPlatformInfo(AXIS_X, GetStationGfx(tile), plat_len, numtracks_orig, plat_len - w, numtracks_orig - numtracks, false);
|
|
|
|
@ -1673,6 +1659,20 @@ CommandCost CmdBuildRailStation(TileIndex tile_org, DoCommandFlag flags, uint32
|
|
|
|
|
TriggerStationAnimation(st, tile, SAT_BUILT);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/* Should be the same as layout but axis component could be wrong... */
|
|
|
|
|
StationGfx gfx = GetStationGfx(tile);
|
|
|
|
|
bool blocked = statspec != nullptr && HasBit(statspec->blocked, gfx);
|
|
|
|
|
/* Default stations do not draw pylons under roofs (gfx >= 4) */
|
|
|
|
|
bool pylons = statspec != nullptr ? HasBit(statspec->pylons, gfx) : gfx < 4;
|
|
|
|
|
bool wires = statspec == nullptr || !HasBit(statspec->wires, gfx);
|
|
|
|
|
|
|
|
|
|
SetStationTileBlocked(tile, blocked);
|
|
|
|
|
SetStationTileHavePylons(tile, pylons);
|
|
|
|
|
SetStationTileHaveWires(tile, wires);
|
|
|
|
|
|
|
|
|
|
if (!blocked) c->infrastructure.rail[rt]++;
|
|
|
|
|
c->infrastructure.station++;
|
|
|
|
|
|
|
|
|
|
tile += tile_delta;
|
|
|
|
|
} while (--w);
|
|
|
|
|
AddTrackToSignalBuffer(tile_track, track, _current_company);
|
|
|
|
|