# road_map.cpp File Reference

Complex road accessors. More...

`#include "stdafx.h"`
`#include "station_map.h"`
`#include "tunnelbridge_map.h"`

Go to the source code of this file.

## Functions

RoadBits | GetAnyRoadBits (TileIndex tile, RoadType rt, bool straight_tunnel_bridge_entrance)

Returns the RoadBits on an arbitrary tile Special behaviour:

- road depots: entrance is treated as road piece
- road tunnels: entrance is treated as road piece
- bridge ramps: start of the ramp is treated as road piece
- bridge middle parts: bridge itself is ignored.

## Detailed Description

Complex road accessors.

Definition in file road_map.cpp.

## Function Documentation

RoadBits GetAnyRoadBits | ( | TileIndex | tile,
|  | RoadType | rt,
|  | bool | straight_tunnel_bridge_entrance = `false` |
| ) |  |  |

Returns the RoadBits on an arbitrary tile Special behaviour:

- road depots: entrance is treated as road piece
- road tunnels: entrance is treated as road piece
- bridge ramps: start of the ramp is treated as road piece
- bridge middle parts: bridge itself is ignored.

If straight_tunnel_bridge_entrance is set a ROAD_X or ROAD_Y for bridge ramps and tunnel entrances is returned depending on the orientation of the tunnel or bridge.

Parameters:

  | tile | the tile to get the road bits for
  | rt | the road type to get the road bits form
  | stbe | whether to return straight road bits for tunnels/bridges.

Returns:
  the road bits of the given tile

Definition at line 10 of file road_map.cpp.

References AxisToRoadBits(), DIAGDIR_NE, DiagDirToAxis(), DiagDirToRoadBits(), GetRoadStopDir(), GetTileType(), GetTunnelBridgeDirection(), GetTunnelBridgeTransportType(), MP_ROAD, MP_STATION, MP_TUNNELBRIDGE, ReverseDiagDir(), ROAD_NONE, ROAD_X, ROAD_Y, and TRANSPORT_ROAD.

Referenced by AIRoad::AreRoadTilesConnected(), AIRoad::CanBuildConnectedRoadPartsHere(), CanRemoveRoadWithStop(), CheckAllowRemoveRoad(), CleanUpRoadBits(), GetTownRoadBits(), AIRoad::HasRoadType(), and RoadFindPathToDest().