diff --git a/bridge_map.h b/bridge_map.h new file mode 100644 --- /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