From 1ac97fe0088096a265660dc5efa4478fe0db4b06 Mon Sep 17 00:00:00 2001 From: tron Date: Thu, 16 Mar 2006 05:28:15 +0000 Subject: (svn r3898) Add functions to find a bridge end starting at a middle tile --- bridge_map.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'bridge_map.c') diff --git a/bridge_map.c b/bridge_map.c index dbd6ac3f4..cbb955c37 100644 --- a/bridge_map.c +++ b/bridge_map.c @@ -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)); -- cgit v1.2.3-54-g00ecf