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