summaryrefslogtreecommitdiff
path: root/station.h
diff options
context:
space:
mode:
Diffstat (limited to 'station.h')
-rw-r--r--station.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/station.h b/station.h
index f76eda227..2ac2e5403 100644
--- a/station.h
+++ b/station.h
@@ -276,6 +276,15 @@ static inline bool IsTrainStationTile(uint tile) {
return IsTileType(tile, MP_STATION) && IS_BYTE_INSIDE(_map5[tile], 0, 8);
}
+static inline bool IsCompatibleTrainStationTile(TileIndex tile, TileIndex ref)
+{
+ assert(IsTrainStationTile(ref));
+ return
+ IsTrainStationTile(tile) &&
+ (_map3_lo[tile] & 0x0F) == (_map3_lo[ref] & 0x0F) && // same rail type?
+ (_map5[tile] & 0x01) == (_map5[ref] & 0x01); // same direction?
+}
+
static inline bool IsRoadStationTile(uint tile) {
return IsTileType(tile, MP_STATION) && IS_BYTE_INSIDE(_map5[tile], 0x43, 0x4B);
}