equal
deleted
inserted
replaced
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 } |