# tunnelbridge_map.h File Reference

Functions that have tunnels and bridges in common. More...

`#include "direction_func.h"`
`#include "core/bitmath_func.hpp"`
`#include "tile_map.h"`
`#include "bridge_map.h"`
`#include "tunnel_map.h"`

Go to the source code of this file.

## Functions
static DiagDirection | GetTunnelBridgeDirection (TileIndex t)
| Get the direction pointing to the other end.
static TransportType | GetTunnelBridgeTransportType (TileIndex t)
| Tunnel: Get the transport type of the tunnel (road or rail) Bridge: Get the transport type of the bridge's ramp.
static bool | HasTunnelBridgeSnowOrDesert (TileIndex t)
| Tunnel: Is this tunnel entrance in a snowy or desert area? Bridge: Does the bridge ramp lie in a snow or desert area?
static void | SetTunnelBridgeSnowOrDesert (TileIndex t, bool snow_or_desert)
| Tunnel: Places this tunnel entrance in a snowy or desert area, or takes it out of there.
static TileIndex | GetOtherTunnelBridgeEnd (TileIndex t)
| Determines type of the wormhole and returns its other end.

## Detailed Description

Functions that have tunnels and bridges in common.

Definition in file tunnelbridge_map.h.

## Function Documentation

static TileIndex GetOtherTunnelBridgeEnd | ( | TileIndex | t | ) | `[inline, static]`

Determines type of the wormhole and returns its other end.

Parameters:

  | t | one end

Precondition:
  IsTileType(t, MP_TUNNELBRIDGE)

Returns:
  other end

Definition at line 76 of file tunnelbridge_map.h.

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

Referenced by CheckTrainCollision(), CmdBuildRoad(), CmdConvertRail(), ExploreSegment(), GrowTownInTile(), RemoveRoad(), UpdateSignalsInBuffer(), and YapfCheckReverseTrain().

static DiagDirection GetTunnelBridgeDirection | ( | TileIndex | t | ) | `[inline, static]`

Get the direction pointing to the other end.

Tunnel: Get the direction facing into the tunnel Bridge: Get the direction pointing onto the bridge

Parameters:

  | t | The tile to analyze

Precondition:
  IsTileType(t, MP_TUNNELBRIDGE)

Returns:
  the above mentionned direction

Definition at line 24 of file tunnelbridge_map.h.

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

Referenced by AdjustTileh(), CFollowTrackT< Ttr_type_, T90deg_turns_allowed_ >::CanEnterNewTile(), CanEnterTile(), CmdBuildBridge(), CmdBuildLongRoad(), CmdBuildRoad(), CmdConvertRail(), CmdTurnRoadVeh(), DrawCatenaryOnTunnel(), DrawCatenaryRailway(), DrawTile_TunnelBridge(), ExploreSegment(), CFollowTrackT< Ttr_type_, T90deg_turns_allowed_ >::FollowTileExit(), GetAnyRoadBits(), GetBridgeEnd(), GetBridgeHeight(), GetOtherBridgeEnd(), GetOtherTunnelEnd(), GetRailTrackBitsUniversal(), IsTunnelInWayDir(), RemoveRoad(), TrainCanLeaveTile(), UpdateSignalsInBuffer(), and YapfCheckReverseTrain().

static TransportType GetTunnelBridgeTransportType | ( | TileIndex | t | ) | `[inline, static]`

Tunnel: Get the transport type of the tunnel (road or rail) Bridge: Get the transport type of the bridge's ramp.

Parameters:

  | t | The tile to analyze

Precondition:
  IsTileType(t, MP_TUNNELBRIDGE)

Returns:
  the transport type in the tunnel/bridge

Definition at line 37 of file tunnelbridge_map.h.

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

Referenced by CanEnterTileOwnerCheck(), CmdBuildBridge(), CmdBuildRoad(), CmdConvertRail(), DrawCatenary(), DrawTile_TunnelBridge(), ExploreSegment(), GetAnyRoadBits(), GetTileRailType(), GrowTownInTile(), RemoveRoad(), and UpdateSignalsInBuffer().

static bool HasTunnelBridgeSnowOrDesert | ( | TileIndex | t | ) | `[inline, static]`

Tunnel: Is this tunnel entrance in a snowy or desert area? Bridge: Does the bridge ramp lie in a snow or desert area?

Parameters:

  | t | The tile to analyze

Precondition:
  IsTileType(t, MP_TUNNELBRIDGE)

Returns:
  true if and only if the tile is in a snowy/desert area

Definition at line 50 of file tunnelbridge_map.h.

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

Referenced by DrawTile_TunnelBridge().

static void SetTunnelBridgeSnowOrDesert | ( | TileIndex | t,
|  | bool | snow_or_desert |
| ) |  |  | `[inline, static]`

Tunnel: Places this tunnel entrance in a snowy or desert area, or takes it out of there.

Bridge: Sets whether the bridge ramp lies in a snow or desert area.

Parameters:

  | t | the tunnel entrance / bridge ramp tile
  | snow_or_desert | is the entrance/ramp in snow or desert (true), when not in snow and not in desert false

Precondition:
  IsTileType(t, MP_TUNNELBRIDGE)

Definition at line 64 of file tunnelbridge_map.h.

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