src/elrail.cpp
changeset 8088 92fca5b09665
parent 8083 ad22eade501f
child 8103 cf92483a0abf
equal deleted inserted replaced
8087:25e5cc4a5344 8088:92fca5b09665
    91 					return TRACK_BIT_NONE;
    91 					return TRACK_BIT_NONE;
    92 			}
    92 			}
    93 			break;
    93 			break;
    94 
    94 
    95 		case MP_TUNNELBRIDGE:
    95 		case MP_TUNNELBRIDGE:
    96 			if (IsTunnel(t)) {
    96 			if (GetRailType(t) != RAILTYPE_ELECTRIC) return TRACK_BIT_NONE;
    97 				if (GetRailType(t) != RAILTYPE_ELECTRIC) return TRACK_BIT_NONE;
    97 			if (override != NULL && (IsTunnel(t) || DistanceMax(t, GetOtherBridgeEnd(t)) > 1)) {
    98 				if (override != NULL) *override = 1 << GetTunnelBridgeDirection(t);
    98 				*override = 1 << GetTunnelBridgeDirection(t);
    99 				return AxisToTrackBits(DiagDirToAxis(GetTunnelBridgeDirection(t)));
    99 			}
   100 			} else {
   100 			return AxisToTrackBits(DiagDirToAxis(GetTunnelBridgeDirection(t)));
   101 				if (GetRailType(t) != RAILTYPE_ELECTRIC) return TRACK_BIT_NONE;
       
   102 				if (override != NULL && DistanceMax(t, GetOtherBridgeEnd(t)) > 1) {
       
   103 					*override = 1 << GetTunnelBridgeDirection(t);
       
   104 				}
       
   105 				return AxisToTrackBits(DiagDirToAxis(GetTunnelBridgeDirection(t)));
       
   106 			}
       
   107 
   101 
   108 		case MP_ROAD:
   102 		case MP_ROAD:
   109 			if (GetRoadTileType(t) != ROAD_TILE_CROSSING) return TRACK_BIT_NONE;
   103 			if (GetRoadTileType(t) != ROAD_TILE_CROSSING) return TRACK_BIT_NONE;
   110 			if (GetRailType(t) != RAILTYPE_ELECTRIC) return TRACK_BIT_NONE;
   104 			if (GetRailType(t) != RAILTYPE_ELECTRIC) return TRACK_BIT_NONE;
   111 			return GetCrossingRailBits(t);
   105 			return GetCrossingRailBits(t);