road_map.c
changeset 5385 3868f2e6db9b
parent 4777 bab9aa91c186
equal deleted inserted replaced
5384:10b6d955e1ac 5385:3868f2e6db9b
    25 		case MP_STATION:
    25 		case MP_STATION:
    26 			if (!IsRoadStopTile(tile)) return 0;
    26 			if (!IsRoadStopTile(tile)) return 0;
    27 			return DiagDirToRoadBits(GetRoadStopDir(tile));
    27 			return DiagDirToRoadBits(GetRoadStopDir(tile));
    28 
    28 
    29 		case MP_TUNNELBRIDGE:
    29 		case MP_TUNNELBRIDGE:
    30 			if (IsBridge(tile)) {
    30 			if (IsTunnel(tile)) {
    31 				if (IsBridgeMiddle(tile)) {
       
    32 					if (!IsTransportUnderBridge(tile) ||
       
    33 							GetTransportTypeUnderBridge(tile) != TRANSPORT_ROAD) {
       
    34 						return 0;
       
    35 					}
       
    36 					return GetRoadBitsUnderBridge(tile);
       
    37 				} else {
       
    38 					// ending
       
    39 					if (GetBridgeTransportType(tile) != TRANSPORT_ROAD) return 0;
       
    40 					return DiagDirToRoadBits(ReverseDiagDir(GetBridgeRampDirection(tile)));
       
    41 				}
       
    42 			} else {
       
    43 				// tunnel
       
    44 				if (GetTunnelTransportType(tile) != TRANSPORT_ROAD) return 0;
    31 				if (GetTunnelTransportType(tile) != TRANSPORT_ROAD) return 0;
    45 				return DiagDirToRoadBits(ReverseDiagDir(GetTunnelDirection(tile)));
    32 				return DiagDirToRoadBits(ReverseDiagDir(GetTunnelDirection(tile)));
       
    33 			} else {
       
    34 				if (GetBridgeTransportType(tile) != TRANSPORT_ROAD) return 0;
       
    35 				return DiagDirToRoadBits(ReverseDiagDir(GetBridgeRampDirection(tile)));
    46 			}
    36 			}
    47 
    37 
    48 		default: return 0;
    38 		default: return 0;
    49 	}
    39 	}
    50 }
    40 }