src/road_map.cpp
changeset 7370 41adc721b1fa
parent 6683 b88ae30866ce
child 7928 63e18de69e50
equal deleted inserted replaced
7369:2bfadb828304 7370:41adc721b1fa
    17 RoadBits GetAnyRoadBits(TileIndex tile, RoadType rt)
    17 RoadBits GetAnyRoadBits(TileIndex tile, RoadType rt)
    18 {
    18 {
    19 	if (!HASBIT(GetRoadTypes(tile), rt)) return ROAD_NONE;
    19 	if (!HASBIT(GetRoadTypes(tile), rt)) return ROAD_NONE;
    20 
    20 
    21 	switch (GetTileType(tile)) {
    21 	switch (GetTileType(tile)) {
    22 		case MP_STREET:
    22 		case MP_ROAD:
    23 			switch (GetRoadTileType(tile)) {
    23 			switch (GetRoadTileType(tile)) {
    24 				default:
    24 				default:
    25 				case ROAD_TILE_NORMAL:   return GetRoadBits(tile, rt);
    25 				case ROAD_TILE_NORMAL:   return GetRoadBits(tile, rt);
    26 				case ROAD_TILE_CROSSING: return GetCrossingRoadBits(tile);
    26 				case ROAD_TILE_CROSSING: return GetCrossingRoadBits(tile);
    27 				case ROAD_TILE_DEPOT:    return DiagDirToRoadBits(GetRoadDepotDirection(tile));
    27 				case ROAD_TILE_DEPOT:    return DiagDirToRoadBits(GetRoadDepotDirection(tile));
    49 TrackBits GetAnyRoadTrackBits(TileIndex tile, RoadType rt)
    49 TrackBits GetAnyRoadTrackBits(TileIndex tile, RoadType rt)
    50 {
    50 {
    51 	uint32 r;
    51 	uint32 r;
    52 
    52 
    53 	/* Don't allow local authorities to build roads through road depots or road stops. */
    53 	/* Don't allow local authorities to build roads through road depots or road stops. */
    54 	if ((IsTileType(tile, MP_STREET) && IsTileDepotType(tile, TRANSPORT_ROAD)) || (IsTileType(tile, MP_STATION) && !IsDriveThroughStopTile(tile)) || !HASBIT(GetRoadTypes(tile), rt)) {
    54 	if ((IsTileType(tile, MP_ROAD) && IsTileDepotType(tile, TRANSPORT_ROAD)) || (IsTileType(tile, MP_STATION) && !IsDriveThroughStopTile(tile)) || !HASBIT(GetRoadTypes(tile), rt)) {
    55 		return TRACK_BIT_NONE;
    55 		return TRACK_BIT_NONE;
    56 	}
    56 	}
    57 
    57 
    58 	r = GetTileTrackStatus(tile, TRANSPORT_ROAD, RoadTypeToRoadTypes(rt));
    58 	r = GetTileTrackStatus(tile, TRANSPORT_ROAD, RoadTypeToRoadTypes(rt));
    59 
    59