OpenTTD Source: src/tunnel_map.h File Reference

OpenTTD Source 1.11.0-RC1

Functions
tunnel_map.h File Reference
`#include "rail_map.h"`
`#include "road_map.h"`

Go to the source code of this file.

## Functions
static bool | IsTunnel (TileIndex t)
| Is this a tunnel (entrance)? More...
static bool | IsTunnelTile (TileIndex t)
| Is this a tunnel (entrance)? More...
TileIndex | GetOtherTunnelEnd (TileIndex)
| Gets the other end of the tunnel. More...
bool | IsTunnelInWay (TileIndex, int z)
| Is there a tunnel in the way in any direction? More...
bool | IsTunnelInWayDir (TileIndex tile, int z, DiagDirection dir)
| Is there a tunnel in the way in the given direction? More...
static void | MakeRoadTunnel (TileIndex t, Owner o, DiagDirection d, RoadType road_rt, RoadType tram_rt)
| Makes a road tunnel entrance. More...
static void | MakeRailTunnel (TileIndex t, Owner o, DiagDirection d, RailType r)
| Makes a rail tunnel entrance. More...

## Detailed Description

Map accessors for tunnels.

Definition in file tunnel_map.h.

## Function Documentation

## ◆ GetOtherTunnelEnd()

TileIndex GetOtherTunnelEnd | ( | TileIndex | tile | ) |

Gets the other end of the tunnel.

Where a vehicle would reappear when it enters at the given tile.

Parameters

  tile | the tile to search from.

Returns
  the tile of the other end of the tunnel.

Definition at line 22 of file tunnel_map.cpp.

References GetTileZ(), GetTunnelBridgeDirection(), IsTunnelTile(), ReverseDiagDir(), and TileOffsByDiagDir().

Referenced by DoClearTunnel(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::FollowTileExit(), and GetOtherTunnelBridgeEnd().

## ◆ IsTunnel()

static bool IsTunnel | ( | TileIndex | t | ) |
| inlinestatic

Is this a tunnel (entrance)?

Parameters

  t | the tile that might be a tunnel

Precondition
  IsTileType(t, MP_TUNNELBRIDGE)

Returns
  true if and only if this tile is a tunnel (entrance)

Definition at line 23 of file tunnel_map.h.

References _m, HasBit(), IsTileType(), and MP_TUNNELBRIDGE.

Referenced by AdjustTileh(), ClearTile_TunnelBridge(), DrawTile_TunnelBridge(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::FollowTileExit(), GetOtherTunnelBridgeEnd(), GetRailTrackBitsUniversal(), and IsTunnelTile().

## ◆ IsTunnelInWay()

bool IsTunnelInWay | ( | TileIndex | tile,
|  | int | z
| ) |  |

Is there a tunnel in the way in any direction?

Parameters

  tile | the tile to search from.
  z | the 'z' to search on.

Returns
  true if and only if there is a tunnel.

Definition at line 68 of file tunnel_map.cpp.

References DIAGDIR_NE, DIAGDIR_NW, DIAGDIR_SE, DIAGDIR_SW, IsTunnelInWayDir(), MapMaxX(), MapMaxY(), TileX(), and TileY().

Referenced by CmdTerraformLand().

## ◆ IsTunnelInWayDir()

bool IsTunnelInWayDir | ( | TileIndex | tile,
|  | int | z,
|  | DiagDirection | dir
| ) |  |

Is there a tunnel in the way in the given direction?

Parameters

  tile | the tile to search from.
  z | the 'z' to search on.
  dir | the direction to start searching to.

Returns
  true if and only if there is a tunnel.

Definition at line 48 of file tunnel_map.cpp.

References GetTileZ(), GetTunnelBridgeDirection(), IsTunnelTile(), IsValidTile(), and TileOffsByDiagDir().

Referenced by IsTunnelInWay().

## ◆ IsTunnelTile()

static bool IsTunnelTile | ( | TileIndex | t | ) |
| inlinestatic

Is this a tunnel (entrance)?

Parameters

  t | the tile that might be a tunnel

Returns
  true if and only if this tile is a tunnel (entrance)

Definition at line 34 of file tunnel_map.h.

References IsTileType(), IsTunnel(), and MP_TUNNELBRIDGE.

Referenced by GetOtherTunnelEnd(), IsTunnelInWayDir(), and CYapfCostBase::stSlopeCost().

## ◆ MakeRailTunnel()

static void MakeRailTunnel | ( | TileIndex | t,
|  | Owner | o,
|  | DiagDirection | d,
|  | RailType | r
| ) |  |
| inlinestatic

Makes a rail tunnel entrance.

Parameters

  t | the entrance of the tunnel
  o | the owner of the entrance
  d | the direction facing out of the tunnel
  r | the rail type used in the tunnel

Definition at line 73 of file tunnel_map.h.

References _m, _me, INVALID_ROADTYPE, Tile::m2, Tile::m3, Tile::m4, Tile::m5, TileExtended::m7, TileExtended::m8, MP_TUNNELBRIDGE, SB(), SetRailType(), SetRoadTypes(), SetTileOwner(), SetTileType(), and TRANSPORT_RAIL.

## ◆ MakeRoadTunnel()

static void MakeRoadTunnel | ( | TileIndex | t,
|  | Owner | o,
|  | DiagDirection | d,
|  | RoadType | road_rt,
|  | RoadType | tram_rt
| ) |  |
| inlinestatic

Makes a road tunnel entrance.

Parameters

  t | the entrance of the tunnel
  o | the owner of the entrance
  d | the direction facing out of the tunnel
  r | the road type used in the tunnel

Definition at line 50 of file tunnel_map.h.

References _m, _me, Tile::m2, Tile::m3, Tile::m4, Tile::m5, TileExtended::m7, TileExtended::m8, MP_TUNNELBRIDGE, SB(), SetRoadOwner(), SetTileOwner(), SetTileType(), and TRANSPORT_ROAD.