road_map.c
changeset 3977 edb5b94e2094
parent 3933 a5f08e17f4a0
child 4233 572e339d3ceb
equal deleted inserted replaced
3976:b52d2c1acc5c 3977:edb5b94e2094
    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 (IsTunnel(tile)) {
    30 			if (IsBridge(tile)) {
       
    31 				if (IsBridgeMiddle(tile)) {
       
    32 					if (!IsTransportUnderBridge(tile) ||
       
    33 							GetBridgeTransportType(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
    31 				if (GetTunnelTransportType(tile) != TRANSPORT_ROAD) return 0;
    44 				if (GetTunnelTransportType(tile) != TRANSPORT_ROAD) return 0;
    32 				return DiagDirToRoadBits(ReverseDiagDir(GetTunnelDirection(tile)));
    45 				return DiagDirToRoadBits(ReverseDiagDir(GetTunnelDirection(tile)));
    33 			} else {
       
    34 				if (GetBridgeTransportType(tile) != TRANSPORT_ROAD) return 0;
       
    35 				return DiagDirToRoadBits(ReverseDiagDir(GetBridgeRampDirection(tile)));
       
    36 			}
    46 			}
    37 
    47 
    38 		default: return 0;
    48 		default: return 0;
    39 	}
    49 	}
    40 }
    50 }