bridge_map.c
author Darkvater
Wed, 22 Mar 2006 20:41:48 +0000
changeset 3298 f85d87c72d36
parent 3225 655763f3861c
child 3933 a5f08e17f4a0
permissions -rw-r--r--
(svn r4030) Darkvater * r4030 /trunk/ (openttd.dsp openttd.vcproj): - [win32] Change compiler settings to use the multithreaded CRT. This prevents certain crashes on multi-threaded machines. (thx DmitryKo and KUDr)
/* $Id$ */

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


TileIndex GetBridgeEnd(TileIndex tile, DiagDirection dir)
{
	TileIndexDiff delta = TileOffsByDir(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 = TileOffsByDir(GetBridgeRampDirection(tile));

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

	return tile;
}