Functions

tunnel_map.cpp File Reference

Map accessors for tunnels. More...

#include "stdafx.h"
#include "tunnelbridge_map.h"
#include "station_map.h"

Go to the source code of this file.

Functions

TileIndex GetOtherTunnelEnd (TileIndex tile)
 Gets the other end of the tunnel.
bool IsWaterCrossingTunnel (TileIndex tile, DiagDirection dir)
 Helper function for under_water tunnel finding.
bool IsTunnelInWayDir (TileIndex tile, uint z, DiagDirection dir)
 Is there a tunnel in the way in the given direction?
bool IsTunnelInWay (TileIndex tile, uint z)
 Is there a tunnel in the way in any direction?
bool IsTunnelBelow (TileIndex tile)

Detailed Description

Map accessors for tunnels.

Definition in file tunnel_map.cpp.


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:
tile the tile to search from.
Returns:
the tile of the other end of the tunnel.

Definition at line 23 of file tunnel_map.cpp.

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

Referenced by DoClearTunnel(), and GetOtherTunnelBridgeEnd().

bool IsTunnelInWay ( TileIndex  tile,
uint  z 
)

Is there a tunnel in the way in any direction?

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

Definition at line 106 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,
uint  z,
DiagDirection  dir 
)

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

Parameters:
tile the tile to search from.
z the 'z' to search on.
dir the direction to start searching to.
Returns:
true if and only if there is a tunnel.

Definition at line 73 of file tunnel_map.cpp.

References GetInclinedSlopeDirection(), GetTileMaxZ(), GetTileSlope(), GetTileZ(), GetTunnelBridgeDirection(), IsBuoyTile(), IsTileType(), IsTunnelTile(), IsValidTile(), IsWaterCrossingTunnel(), MP_WATER, ReverseDiagDir(), and TileOffsByDiagDir().

Referenced by CmdBuildTunnel(), and IsTunnelInWay().

bool IsWaterCrossingTunnel ( TileIndex  tile,
DiagDirection  dir 
)

Helper function for under_water tunnel finding.

Only one strech of water is allowed to be passed.

Parameters:
tile Tile to be validated.
Returns:
true if first srtech of water is being crossed else false.

Definition at line 48 of file tunnel_map.cpp.

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

Referenced by IsTunnelInWayDir().