src/tunnelbridge.h
author richk
Wed, 16 Apr 2008 00:07:47 +0000
branchNewGRF_ports
changeset 10200 aba3af04cdbd
parent 6877 889301acc299
child 10233 c08376c16fb2
permissions -rw-r--r--
(svn r12732) [NewGRF_ports] -Sync: with trunk r12657:12672.
6877
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     1
/* $Id$ */
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     2
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     3
/** @file tunnelbridge.h Header file for things common for tunnels and bridges */
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     4
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     5
#ifndef TUNNELBRIDGE_H
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     6
#define TUNNELBRIDGE_H
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     7
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     8
#include "tile_type.h"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
     9
#include "map_func.h"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    10
#include "tunnelbridge_map.h"
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    11
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    12
/**
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    13
 * Calculates the length of a tunnel or a bridge (without end tiles)
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    14
 * @return length of bridge/tunnel middle
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    15
 */
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    16
static inline uint GetTunnelBridgeLength(TileIndex begin, TileIndex end)
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    17
{
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    18
	int x1 = TileX(begin);
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    19
	int y1 = TileY(begin);
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    20
	int x2 = TileX(end);
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    21
	int y2 = TileY(end);
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    22
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    23
	return abs(x2 + y2 - x1 - y1) - 1;
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    24
}
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    25
889301acc299 (svn r12053) [NewGRF_ports] -Sync: with trunk r11949:12050.
rubidium
parents:
diff changeset
    26
#endif /* TUNNELBRIDGE_H */