src/pathfind.cpp
changeset 9178 e0b883561546
parent 9149 cd335504407b
child 9294 5cd9e0da420f
--- a/src/pathfind.cpp	Thu Mar 06 14:21:10 2008 +0000
+++ b/src/pathfind.cpp	Fri Mar 07 00:47:42 2008 +0000
@@ -611,37 +611,22 @@
 		/* If the tile is the entry tile of a tunnel, and we're not going out of the tunnel,
 		 *   need to find the exit of the tunnel. */
 		if (IsTileType(tile, MP_TUNNELBRIDGE)) {
-			if (IsTunnel(tile)) {
-				if (GetTunnelBridgeDirection(tile) != ReverseDiagDir(direction)) {
-					/* We are not just driving out of the tunnel */
-					if (GetTunnelBridgeDirection(tile) != direction ||
-							GetTunnelBridgeTransportType(tile) != tpf->tracktype) {
-						/* We are not driving into the tunnel, or it is an invalid tunnel */
-						continue;
-					}
-					if (!HasBit(tpf->railtypes, GetRailType(tile))) {
-						bits = TRACK_BIT_NONE;
-						break;
-					}
+			if (GetTunnelBridgeDirection(tile) != ReverseDiagDir(direction)) {
+				/* We are not just driving out of the tunnel/bridge */
+				if (GetTunnelBridgeDirection(tile) != direction ||
+						GetTunnelBridgeTransportType(tile) != tpf->tracktype) {
+					/* We are not driving into the tunnel/bridge, or it is an invalid tunnel/bridge */
+					continue;
+				}
+				if (!HasBit(tpf->railtypes, GetRailType(tile))) {
+					bits = TRACK_BIT_NONE;
+					break;
+				}
 
-					TileIndex endtile = GetOtherTunnelEnd(tile);
-					si.cur_length += DIAG_FACTOR * (GetTunnelBridgeLength(tile, endtile) + 1);
-					tile = endtile;
-					/* tile now points to the exit tile of the tunnel */
-				}
-			} else { // IsBridge(tile)
-				TileIndex tile_end;
-				if (GetTunnelBridgeDirection(tile) != ReverseDiagDir(direction)) {
-					/* We are not just leaving the bridge */
-					if (GetTunnelBridgeDirection(tile) != direction ||
-							GetTunnelBridgeTransportType(tile) != tpf->tracktype) {
-						/* Not entering the bridge or not compatible */
-						continue;
-					}
-				}
-				tile_end = GetOtherBridgeEnd(tile);
-				si.cur_length += DIAG_FACTOR * (GetTunnelBridgeLength(tile, tile_end) + 1);
-				tile = tile_end;
+				TileIndex endtile = GetOtherTunnelBridgeEnd(tile);
+				si.cur_length += DIAG_FACTOR * (GetTunnelBridgeLength(tile, endtile) + 1);
+				tile = endtile;
+				/* tile now points to the exit tile of the tunnel/bridge */
 			}
 		}