OpenTTD
Functions
tunnel_map.h File Reference

Map accessors for tunnels. More...

#include "road_map.h"

Go to the source code of this file.

Functions

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

Detailed Description

Map accessors for tunnels.

Definition in file tunnel_map.h.

Function Documentation

TileIndex GetOtherTunnelEnd ( TileIndex  tile)

Gets the other end of the tunnel.

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

Parameters
tilethe tile to search from.
Returns
the tile of the other end of the tunnel.

Definition at line 24 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().

static bool IsTunnel ( TileIndex  t)
inlinestatic
bool IsTunnelInWay ( TileIndex  tile,
int  z 
)

Is there a tunnel in the way in any direction?

Parameters
tilethe tile to search from.
zthe 'z' to search on.
Returns
true if and only if there is a tunnel.

Definition at line 70 of file tunnel_map.cpp.

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

Referenced by CmdTerraformLand().

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

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

Parameters
tilethe tile to search from.
zthe 'z' to search on.
dirthe direction to start searching to.
Returns
true if and only if there is a tunnel.

Definition at line 50 of file tunnel_map.cpp.

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

Referenced by CmdBuildTunnel(), and IsTunnelInWay().

static bool IsTunnelTile ( TileIndex  t)
inlinestatic

Is this a tunnel (entrance)?

Parameters
tthe tile that might be a tunnel
Returns
true if and only if this tile is a tunnel (entrance)

Definition at line 35 of file tunnel_map.h.

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

Referenced by AfterLoadGame(), CmdBuildTunnel(), DrawRailCatenaryRailway(), GetOtherTunnelEnd(), IsTunnelInWayDir(), Vehicle::ShowVisualEffect(), and CYapfCostBase::stSlopeCost().

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

Makes a rail tunnel entrance.

Parameters
tthe entrance of the tunnel
othe owner of the entrance
dthe direction facing out of the tunnel
rthe rail type used in the tunnel

Definition at line 73 of file tunnel_map.h.

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

Referenced by CmdBuildTunnel().

static void MakeRoadTunnel ( TileIndex  t,
Owner  o,
DiagDirection  d,
RoadTypes  r 
)
inlinestatic

Makes a road tunnel entrance.

Parameters
tthe entrance of the tunnel
othe owner of the entrance
dthe direction facing out of the tunnel
rthe road type used in the tunnel

Definition at line 51 of file tunnel_map.h.

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

Referenced by CmdBuildTunnel().