summaryrefslogtreecommitdiff
path: root/src/road_map.h
diff options
context:
space:
mode:
authorsmatz <smatz@openttd.org>2008-01-17 20:41:33 +0000
committersmatz <smatz@openttd.org>2008-01-17 20:41:33 +0000
commit8dbf03e3223bc7c4ed575712ee171251678a4fb4 (patch)
tree37fe41422eb623a05d7c933ea9ba8f121e35cd01 /src/road_map.h
parent8794c5bc3c0b6b2b96c2cd3bd0fd301a1dbc0506 (diff)
downloadopenttd-8dbf03e3223bc7c4ed575712ee171251678a4fb4.tar.xz
(svn r11910) -Fix: play 'ding-ding' crossing sound in more cases (except gameload and crossing construction)
-Fix: crossing sound is bound to tile, not to vehicle
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