Files
@ r4603:3b159d0db197
Branch filter:
Location: cpp/openttd-patchpack/source/tunnel_map.c - annotation
r4603:3b159d0db197
954 B
text/x-c
(svn r6455) - Feature: Add 2cc (two company colours) livery schemes. This replaces the original colour selection window and bumps the saveload version. Liveries are supported for all vehicles, not just those with 2cc support. Thanks to lakie for GUI inspiration.
r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r4559:2222e3ea9700 r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3184:028654b02189 r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3154:4ad5fba6d52a r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r4559:2222e3ea9700 r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3184:028654b02189 r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c r3156:c9d8084e145c | /* $Id$ */
#include "stdafx.h"
#include "openttd.h"
#include "tile.h"
#include "tunnel_map.h"
TileIndex GetOtherTunnelEnd(TileIndex tile)
{
DiagDirection dir = GetTunnelDirection(tile);
TileIndexDiff delta = TileOffsByDiagDir(dir);
uint z = GetTileZ(tile);
dir = ReverseDiagDir(dir);
do {
tile += delta;
} while (
!IsTunnelTile(tile) ||
GetTunnelDirection(tile) != dir ||
GetTileZ(tile) != z
);
return tile;
}
static bool IsTunnelInWayDir(TileIndex tile, uint z, DiagDirection dir)
{
TileIndexDiff delta = TileOffsByDiagDir(dir);
uint height;
do {
tile -= delta;
height = GetTileZ(tile);
} while (z < height);
return
z == height &&
IsTunnelTile(tile) &&
GetTunnelDirection(tile) == dir;
}
bool IsTunnelInWay(TileIndex tile, uint z)
{
return
IsTunnelInWayDir(tile, z, DIAGDIR_NE) ||
IsTunnelInWayDir(tile, z, DIAGDIR_SE) ||
IsTunnelInWayDir(tile, z, DIAGDIR_SW) ||
IsTunnelInWayDir(tile, z, DIAGDIR_NW);
}
|