OpenTTD Source  1.11.2
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
tone 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()

◆ 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
tthe 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
tThe 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(), 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
tthe 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
tThe 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
tthe tile
bthe 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
tthe tunnel entrance / bridge ramp tile
snow_or_desertis 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().