rubidium@9724: /* $Id$ */ rubidium@9724: rubidium@9724: /** @file tunnelbridge.h Header file for things common for tunnels and bridges */ rubidium@9724: rubidium@9724: #ifndef TUNNELBRIDGE_H rubidium@9724: #define TUNNELBRIDGE_H rubidium@9724: rubidium@9724: #include "tile_type.h" rubidium@9724: rubidium@9724: /** rubidium@9724: * Calculates the length of a tunnel or a bridge (without end tiles) rubidium@9724: * @return length of bridge/tunnel middle rubidium@9724: */ rubidium@9724: static inline uint GetTunnelBridgeLength(TileIndex begin, TileIndex end) rubidium@9724: { rubidium@9724: int x1 = TileX(begin); rubidium@9724: int y1 = TileY(begin); rubidium@9724: int x2 = TileX(end); rubidium@9724: int y2 = TileY(end); rubidium@9724: rubidium@9724: return abs(x2 + y2 - x1 - y1) - 1; rubidium@9724: } rubidium@9724: rubidium@10249: extern TileIndex _build_tunnel_endtile; rubidium@10249: rubidium@9724: #endif /* TUNNELBRIDGE_H */