(svn r18921) -Codechange: make the preconditions for Get/Set CustomStationSpecIndex a bit more strict

This commit is contained in:
yexo 2010-01-26 23:03:47 +00:00
parent 0bc1b736d7
commit 7f998ce80d
3 changed files with 4 additions and 4 deletions

View File

@ -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);

View File

@ -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;
}

View File

@ -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);