diff options
Diffstat (limited to 'bridge_map.h')
-rw-r--r-- | bridge_map.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/bridge_map.h b/bridge_map.h new file mode 100644 index 000000000..ba8e71d50 --- /dev/null +++ b/bridge_map.h @@ -0,0 +1,37 @@ +/* $Id$ */ + +#ifndef BRIDGE_MAP_H +#define BRIDGE_MAP_H + +#include "macros.h" +#include "map.h" +#include "rail.h" +#include "tile.h" + + +static inline void SetClearUnderBridge(TileIndex t) +{ + SetTileOwner(t, OWNER_NONE); + SB(_m[t].m5, 3, 3, 0 << 2 | 0); +} + +static inline void SetWaterUnderBridge(TileIndex t) +{ + SetTileOwner(t, OWNER_WATER); + SB(_m[t].m5, 3, 3, 0 << 2 | 1); +} + +static inline void SetRailUnderBridge(TileIndex t, Owner o, RailType r) +{ + SetTileOwner(t, o); + SB(_m[t].m5, 3, 3, 1 << 2 | TRANSPORT_RAIL); + SB(_m[t].m3, 0, 4, r); +} + +static inline void SetRoadUnderBridge(TileIndex t, Owner o) +{ + SetTileOwner(t, o); + SB(_m[t].m5, 3, 3, 1 << 2 | TRANSPORT_ROAD); +} + +#endif |