summaryrefslogtreecommitdiff
path: root/rail.c
diff options
context:
space:
mode:
Diffstat (limited to 'rail.c')
-rw-r--r--rail.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/rail.c b/rail.c
index 43ce2e812..6975b5f93 100644
--- a/rail.c
+++ b/rail.c
@@ -4,6 +4,7 @@
#include "openttd.h"
#include "rail.h"
#include "station.h"
+#include "tunnel_map.h"
/* XXX: Below 3 tables store duplicate data. Maybe remove some? */
/* Maps a trackdir to the bit that stores its status in the map arrays, in the
@@ -123,8 +124,9 @@ RailType GetTileRailType(TileIndex tile, Trackdir trackdir)
type = _m[tile].m3 & RAILTYPE_MASK;
break;
case MP_TUNNELBRIDGE:
- /* railway tunnel */
- if ((_m[tile].m5 & 0xFC) == 0) type = _m[tile].m3 & RAILTYPE_MASK;
+ if (IsTunnel(tile) && GetTunnelTransportType(tile) == TRANSPORT_RAIL) {
+ return _m[tile].m3 & RAILTYPE_MASK;
+ }
/* railway bridge ending */
if ((_m[tile].m5 & 0xC6) == 0x80) type = _m[tile].m3 & RAILTYPE_MASK;
/* on railway bridge */