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