summaryrefslogtreecommitdiff
path: root/road_map.h
diff options
context:
space:
mode:
authortron <tron@openttd.org>2006-03-19 17:15:33 +0000
committertron <tron@openttd.org>2006-03-19 17:15:33 +0000
commita751a796e13606d8ebd1a8fe720ff72e0b4c1b11 (patch)
treec0004e9fad3662ad459f4f0543ef414afdb47304 /road_map.h
parent7b21893adb7e2368a2402f2640164f3a4482cf5d (diff)
downloadopenttd-a751a796e13606d8ebd1a8fe720ff72e0b4c1b11.tar.xz
(svn r3984) Add a function to get the road axis of a level crossing
Diffstat (limited to 'road_map.h')
-rw-r--r--road_map.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/road_map.h b/road_map.h
index d40ddc92c..3e506bf72 100644
--- a/road_map.h
+++ b/road_map.h
@@ -39,14 +39,19 @@ static inline void SetRoadBits(TileIndex tile, RoadBits r)
}
+static inline Axis GetCrossingRoadAxis(TileIndex tile)
+{
+ return (Axis)GB(_m[tile].m5, 3, 1);
+}
+
static inline RoadBits GetCrossingRoadBits(TileIndex tile)
{
- return _m[tile].m5 & 8 ? ROAD_Y : ROAD_X;
+ return GetCrossingRoadAxis(tile) == AXIS_X ? ROAD_X : ROAD_Y;
}
static inline TrackBits GetCrossingRailBits(TileIndex tile)
{
- return _m[tile].m5 & 8 ? TRACK_BIT_X : TRACK_BIT_Y;
+ return GetCrossingRoadAxis(tile) == AXIS_X ? TRACK_BIT_Y : TRACK_BIT_X;
}