mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r18921) -Codechange: make the preconditions for Get/Set CustomStationSpecIndex a bit more strict
This commit is contained in:
parent
0bc1b736d7
commit
7f998ce80d
|
@ -1121,7 +1121,7 @@ CommandCost CmdBuildRailStation(TileIndex tile_org, DoCommandFlag flags, uint32
|
|||
|
||||
/* Remove animation if overbuilding */
|
||||
DeleteAnimatedTile(tile);
|
||||
byte old_specindex = IsTileType(tile, MP_STATION) ? GetCustomStationSpecIndex(tile) : 0;
|
||||
byte old_specindex = HasStationTileRail(tile) ? GetCustomStationSpecIndex(tile) : 0;
|
||||
MakeRailStation(tile, st->owner, st->index, axis, layout & ~1, rt);
|
||||
/* Free the spec if we overbuild something */
|
||||
DeallocateSpecFromStation(st, old_specindex);
|
||||
|
|
|
@ -407,13 +407,13 @@ static inline bool IsCustomStationSpecIndex(TileIndex t)
|
|||
|
||||
static inline void SetCustomStationSpecIndex(TileIndex t, byte specindex)
|
||||
{
|
||||
assert(IsTileType(t, MP_STATION));
|
||||
assert(HasStationTileRail(t));
|
||||
_m[t].m4 = specindex;
|
||||
}
|
||||
|
||||
static inline uint GetCustomStationSpecIndex(TileIndex t)
|
||||
{
|
||||
assert(IsTileType(t, MP_STATION));
|
||||
assert(HasStationTileRail(t));
|
||||
return _m[t].m4;
|
||||
}
|
||||
|
||||
|
|
|
@ -306,7 +306,7 @@ CommandCost CmdBuildRailWaypoint(TileIndex start_tile, DoCommandFlag flags, uint
|
|||
|
||||
for (int i = 0; i < count; i++) {
|
||||
TileIndex tile = start_tile + i * offset;
|
||||
byte old_specindex = IsTileType(tile, MP_STATION) ? GetCustomStationSpecIndex(tile) : 0;
|
||||
byte old_specindex = HasStationTileRail(tile) ? GetCustomStationSpecIndex(tile) : 0;
|
||||
bool reserved = IsTileType(tile, MP_RAILWAY) ?
|
||||
HasBit(GetRailReservationTrackBits(tile), AxisToTrack(axis)) :
|
||||
HasStationReservation(tile);
|
||||
|
|
Loading…
Reference in New Issue