(svn r3898) Add functions to find a bridge end starting at a middle tile

This commit is contained in:
tron
2006-03-16 05:28:15 +00:00
parent ca1efd3189
commit ec33376fa3
3 changed files with 46 additions and 15 deletions

View File

@@ -5,6 +5,26 @@
#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));