src/road_map.cpp
branchNewGRF_ports
changeset 6878 7d1ff2f621c7
parent 6872 1c4a4a609f85
child 10184 fcf5fb2548eb
equal deleted inserted replaced
6877:889301acc299 6878:7d1ff2f621c7
    14 #include "tunnelbridge_map.h"
    14 #include "tunnelbridge_map.h"
    15 
    15 
    16 
    16 
    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 (!HasTileRoadType(tile, rt)) return ROAD_NONE;
    20 
    20 
    21 	switch (GetTileType(tile)) {
    21 	switch (GetTileType(tile)) {
    22 		case MP_ROAD:
    22 		case MP_ROAD:
    23 			switch (GetRoadTileType(tile)) {
    23 			switch (GetRoadTileType(tile)) {
    24 				default:
    24 				default:
    41 }
    41 }
    42 
    42 
    43 
    43 
    44 TrackBits GetAnyRoadTrackBits(TileIndex tile, RoadType rt)
    44 TrackBits GetAnyRoadTrackBits(TileIndex tile, RoadType rt)
    45 {
    45 {
    46 	uint32 r;
       
    47 
       
    48 	/* Don't allow local authorities to build roads through road depots or road stops. */
    46 	/* Don't allow local authorities to build roads through road depots or road stops. */
    49 	if ((IsTileType(tile, MP_ROAD) && IsTileDepotType(tile, TRANSPORT_ROAD)) || (IsTileType(tile, MP_STATION) && !IsDriveThroughStopTile(tile)) || !HasBit(GetRoadTypes(tile), rt)) {
    47 	if (IsRoadDepotTile(tile) || (IsTileType(tile, MP_STATION) && !IsDriveThroughStopTile(tile)) || !HasTileRoadType(tile, rt)) {
    50 		return TRACK_BIT_NONE;
    48 		return TRACK_BIT_NONE;
    51 	}
    49 	}
    52 
    50 
    53 	r = GetTileTrackStatus(tile, TRANSPORT_ROAD, RoadTypeToRoadTypes(rt));
    51 	return TrackStatusToTrackBits(GetTileTrackStatus(tile, TRANSPORT_ROAD, RoadTypeToRoadTypes(rt)));
    54 
       
    55 	return (TrackBits)(byte)(r | (r >> 8));
       
    56 }
    52 }