OpenTTD Source  20241120-master-g6d3adc6169
tunnelbridge_map.h File Reference

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

#include "bridge_map.h"
#include "tunnel_map.h"

Go to the source code of this file.

Functions

DiagDirection GetTunnelBridgeDirection (Tile t)
 Get the direction pointing to the other end. More...
 
TransportType GetTunnelBridgeTransportType (Tile t)
 Tunnel: Get the transport type of the tunnel (road or rail) Bridge: Get the transport type of the bridge's ramp. More...
 
bool HasTunnelBridgeSnowOrDesert (Tile 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...
 
void SetTunnelBridgeSnowOrDesert (Tile t, bool snow_or_desert)
 Tunnel: Places this tunnel entrance in a snowy or desert area, or takes it out of there. More...
 
TileIndex GetOtherTunnelBridgeEnd (Tile t)
 Determines type of the wormhole and returns its other end. More...
 
bool HasTunnelBridgeReservation (Tile t)
 Get the reservation state of the rail tunnel/bridge. More...
 
void SetTunnelBridgeReservation (Tile t, bool b)
 Set the reservation state of the rail tunnel/bridge. More...
 
TrackBits GetTunnelBridgeReservationTrackBits (Tile 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()

TileIndex GetOtherTunnelBridgeEnd ( Tile  t)
inline

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()

TrackBits GetTunnelBridgeReservationTrackBits ( Tile  t)
inline

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()

TransportType GetTunnelBridgeTransportType ( Tile  t)
inline

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 GB(), IsTileType(), Tile::m5(), and MP_TUNNELBRIDGE.

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

◆ HasTunnelBridgeReservation()

bool HasTunnelBridgeReservation ( Tile  t)
inline

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 GetTunnelBridgeTransportType(), HasBit(), IsTileType(), Tile::m5(), MP_TUNNELBRIDGE, and TRANSPORT_RAIL.

Referenced by CmdConvertRail(), and GetTunnelBridgeReservationTrackBits().

◆ HasTunnelBridgeSnowOrDesert()

bool HasTunnelBridgeSnowOrDesert ( Tile  t)
inline

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 HasBit(), IsTileType(), Tile::m7(), and MP_TUNNELBRIDGE.

◆ SetTunnelBridgeReservation()

void SetTunnelBridgeReservation ( Tile  t,
bool  b 
)
inline

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 AssignBit(), GetTunnelBridgeTransportType(), IsTileType(), Tile::m5(), MP_TUNNELBRIDGE, and TRANSPORT_RAIL.

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

◆ SetTunnelBridgeSnowOrDesert()

void SetTunnelBridgeSnowOrDesert ( Tile  t,
bool  snow_or_desert 
)
inline

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 IsTileType(), Tile::m7(), MP_TUNNELBRIDGE, and SB().