diff options
Diffstat (limited to 'src/road_map.h')
-rw-r--r-- | src/road_map.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/road_map.h b/src/road_map.h index 5d5d5dd5d..705961b95 100644 --- a/src/road_map.h +++ b/src/road_map.h @@ -191,23 +191,26 @@ static inline TrackBits GetCrossingRailBits(TileIndex tile) return AxisToTrackBits(OtherAxis(GetCrossingRoadAxis(tile))); } - -static inline void UnbarCrossing(TileIndex t) +static inline bool IsCrossingBarred(TileIndex t) { assert(GetRoadTileType(t) == ROAD_TILE_CROSSING); - ClrBit(_m[t].m4, 5); + return HasBit(_m[t].m4, 5); } -static inline void BarCrossing(TileIndex t) +static inline void SetCrossingBarred(TileIndex t, bool barred) { assert(GetRoadTileType(t) == ROAD_TILE_CROSSING); - SetBit(_m[t].m4, 5); + SB(_m[t].m4, 5, 1, barred); } -static inline bool IsCrossingBarred(TileIndex t) +static inline void UnbarCrossing(TileIndex t) { - assert(GetRoadTileType(t) == ROAD_TILE_CROSSING); - return HasBit(_m[t].m4, 5); + SetCrossingBarred(t, false); +} + +static inline void BarCrossing(TileIndex t) +{ + SetCrossingBarred(t, true); } #define IsOnDesert IsOnSnow |