From 8ffb93c358c80fc24e349ad232648087508deec6 Mon Sep 17 00:00:00 2001 From: frosch Date: Fri, 15 May 2009 16:07:36 +0000 Subject: (svn r16311) -Fix: (Get|Set)TrackBits() is only valid for RAIL_TILE_NORMAL and _SIGNALS. --- src/yapf/yapf_costrail.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/yapf') diff --git a/src/yapf/yapf_costrail.hpp b/src/yapf/yapf_costrail.hpp index 81ef6a82a..a622d2671 100644 --- a/src/yapf/yapf_costrail.hpp +++ b/src/yapf/yapf_costrail.hpp @@ -111,7 +111,7 @@ public: FORCEINLINE int SwitchCost(TileIndex tile1, TileIndex tile2, DiagDirection exitdir) { - if (IsTileType(tile1, MP_RAILWAY) && IsTileType(tile2, MP_RAILWAY)) { + if (IsTileType(tile1, MP_RAILWAY) && IsTileType(tile2, MP_RAILWAY) && IsPlainRailTile(tile1) && IsPlainRailTile(tile2)) { bool t1 = KillFirstBit(GetTrackBits(tile1) & DiagdirReachesTracks(ReverseDiagDir(exitdir))) != TRACK_BIT_NONE; bool t2 = KillFirstBit(GetTrackBits(tile2) & DiagdirReachesTracks(exitdir)) != TRACK_BIT_NONE; if (t1 && t2) return Yapf().PfGetSettings().rail_doubleslip_penalty; -- cgit v1.2.3-54-g00ecf