# tunnel_map.cpp File Reference

Map accessors for tunnels. More...

`#include "stdafx.h"`
`#include "tunnelbridge_map.h"`

Go to the source code of this file.

## Functions
TileIndex | GetOtherTunnelEnd (TileIndex tile)
| Gets the other end of the tunnel.
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?

## 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 22 of file tunnel_map.cpp.

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

Referenced by CFollowTrackT< Ttr_type_, VehicleType, T90deg_turns_allowed_, Tmask_reserved_tracks >::FollowTileExit(), GetOtherTunnelBridgeEnd(), and AITunnel::GetOtherTunnelEnd().

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 71 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 48 of file tunnel_map.cpp.

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

Referenced by CmdBuildTunnel(), and IsTunnelInWay().