Files @ r4844:dcf812ad20ab
Branch filter:

Location: cpp/openttd-patchpack/source/bridge_map.c

Darkvater
(svn r6770) -Codechange: Make the airport checking a bit stricter...fix unnoticed errors:
Commuter (20): invalid use of terminal group designator; since all other options
goto position 2 and no additional blocks are checked, simplify state
Intercontinental (23, 30): no extra states are needed since all options go to
position 70 and 31 unconditionally
Intercontinental (31): invalid use of more-options-to-follow (255)
/* $Id$ */

#include "stdafx.h"
#include "openttd.h"
#include "bridge_map.h"


TileIndex GetBridgeEnd(TileIndex tile, DiagDirection dir)
{
	TileIndexDiff delta = TileOffsByDiagDir(dir);

	assert(DiagDirToAxis(dir) == GetBridgeAxis(tile));

	do {
		tile += delta;
	} while (!IsBridgeRamp(tile));

	return tile;
}


TileIndex GetSouthernBridgeEnd(TileIndex t)
{
	return GetBridgeEnd(t, AxisToDiagDir(GetBridgeAxis(t)));
}


TileIndex GetOtherBridgeEnd(TileIndex tile)
{
	TileIndexDiff delta = TileOffsByDiagDir(GetBridgeRampDirection(tile));

	do {
		tile += delta;
	} while (!IsBridgeRamp(tile));

	return tile;
}