OpenTTD Source: src/tunnelbridge_map.h File Reference

OpenTTD Source 13.2.1

Functions
tunnelbridge_map.h File Reference
`#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. More...
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. More...
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? More...
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. More...
static TileIndex | GetOtherTunnelBridgeEnd (TileIndex t)
| Determines type of the wormhole and returns its other end. More...
static bool | HasTunnelBridgeReservation (TileIndex t)
| Get the reservation state of the rail tunnel/bridge. More...
static void | SetTunnelBridgeReservation (TileIndex t, bool b)
| Set the reservation state of the rail tunnel/bridge. More...
static TrackBits | GetTunnelBridgeReservationTrackBits (TileIndex t)
| Get the reserved track bits for a rail tunnel/bridge. More...

## Detailed Description

Functions that have tunnels and bridges in common

Definition in file tunnelbridge_map.h.

## Function Documentation

## ◆ GetOtherTunnelBridgeEnd()

static TileIndex GetOtherTunnelBridgeEnd | ( | TileIndex | t | ) |
| inlinestatic

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 78 of file tunnelbridge_map.h.

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

Referenced by CheckTrainCollision(), ClearPathReservation(), CmdConvertRail(), Train::Crash(), FollowTrainReservation(), GetTrainForReservation(), MarkBridgeDirty(), PlaceRail_Bridge(), PlaceRoad_Bridge(), TestTownOwnsBridge(), UpdateSignalsInBuffer(), and YapfTrainCheckReverse().

## ◆ GetTunnelBridgeDirection()

static DiagDirection GetTunnelBridgeDirection | ( | TileIndex | t | ) |
| inlinestatic

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 mentioned direction

Definition at line 26 of file tunnelbridge_map.h.

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

Referenced by AdjustTileh(), CanEnterTile(), ClearPathReservation(), CmdBuildLongRoad(), CmdConvertRail(), CollectTrackbitsFromCrashedVehiclesEnum(), DeleteLastWagon(), DoClearBridge(), DrawRailCatenaryOnTunnel(), DrawTile_TunnelBridge(), CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::FollowTileExit(), GetAnyRoadBits(), GetBridgeEnd(), GetBridgeHeight(), GetOtherBridgeEnd(), GetOtherTunnelEnd(), GetRailTrackBitsUniversal(), GetTunnelBridgeReservationTrackBits(), IsTunnelInWayDir(), MarkBridgeDirty(), Train::ReserveTrackUnderConsist(), CYapfCostBase::stSlopeCost(), TestTownOwnsBridge(), TrainCanLeaveTile(), UpdateSignalsInBuffer(), and YapfTrainCheckReverse().

## ◆ GetTunnelBridgeReservationTrackBits()

static TrackBits GetTunnelBridgeReservationTrackBits | ( | TileIndex | t | ) |
| inlinestatic

Get the reserved track bits for a rail tunnel/bridge.

Precondition
  IsTileType(t, MP_TUNNELBRIDGE) && GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL

Parameters

  t | the tile

Returns
  reserved track bits

Definition at line 117 of file tunnelbridge_map.h.

References DiagDirToDiagTrackBits(), GetTunnelBridgeDirection(), HasTunnelBridgeReservation(), and TRACK_BIT_NONE.

Referenced by GetReservedTrackbits(), and TryReserveRailTrack().

## ◆ GetTunnelBridgeTransportType()

static TransportType GetTunnelBridgeTransportType | ( | TileIndex | t | ) |
| inlinestatic

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 39 of file tunnelbridge_map.h.

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

Referenced by CanEnterTileOwnerCheck(), CanFollowRoad(), CmdConvertRail(), DrawBridgeMiddle(), DrawTile_TunnelBridge(), GetAnyRoadBits(), GetEffectiveWaterClass(), GetRailTrackBitsUniversal(), GetReservedTrackbits(), SmallMapWindow::GetTileColours(), GetTileRailType(), HasTunnelBridgeReservation(), RedundantBridgeExistsNearby(), SetTunnelBridgeReservation(), TryReserveRailTrack(), UnreserveRailTrack(), and UpdateSignalsInBuffer().

## ◆ HasTunnelBridgeReservation()

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

Get the reservation state of the rail tunnel/bridge.

Precondition
  IsTileType(t, MP_TUNNELBRIDGE) && GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL

Parameters

  t | the tile

Returns
  reservation state

Definition at line 91 of file tunnelbridge_map.h.

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

Referenced by CmdConvertRail(), and GetTunnelBridgeReservationTrackBits().

## ◆ HasTunnelBridgeSnowOrDesert()

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

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 52 of file tunnelbridge_map.h.

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

## ◆ SetTunnelBridgeReservation()

static void SetTunnelBridgeReservation | ( | TileIndex | t,
|  | bool | b
| ) |  |
| inlinestatic

Set the reservation state of the rail tunnel/bridge.

Precondition
  IsTileType(t, MP_TUNNELBRIDGE) && GetTunnelBridgeTransportType(t) == TRANSPORT_RAIL

Parameters

  t | the tile
  b | the reservation state

Definition at line 104 of file tunnelbridge_map.h.

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

Referenced by ClearPathReservation(), Train::Crash(), TryReserveRailTrack(), and UnreserveRailTrack().

## ◆ SetTunnelBridgeSnowOrDesert()

static void SetTunnelBridgeSnowOrDesert | ( | TileIndex | t,
|  | bool | snow_or_desert
| ) |  |
| inlinestatic

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 66 of file tunnelbridge_map.h.

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