summaryrefslogtreecommitdiff
path: root/src/road_map.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/road_map.h')
-rw-r--r--src/road_map.h19
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