summaryrefslogtreecommitdiff
path: root/rail.h
diff options
context:
space:
mode:
Diffstat (limited to 'rail.h')
-rw-r--r--rail.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/rail.h b/rail.h
index d8611787e..65d25a850 100644
--- a/rail.h
+++ b/rail.h
@@ -505,7 +505,13 @@ static inline TransportType GetCrossingTransportType(TileIndex tile, Track track
*/
static inline bool IsCompatibleRail(RailType enginetype, RailType tiletype)
{
- return enginetype == tiletype;
+ static const bool EquivRailTypes[RAILTYPE_END][RAILTYPE_END] = {
+ { true, false, false },
+ { false, true, false },
+ { false, false, true },
+ };
+
+ return EquivRailTypes[enginetype][tiletype];
}
#endif // RAIL_H