diff options
author | tron <tron@openttd.org> | 2006-03-16 05:28:15 +0000 |
---|---|---|
committer | tron <tron@openttd.org> | 2006-03-16 05:28:15 +0000 |
commit | 1ac97fe0088096a265660dc5efa4478fe0db4b06 (patch) | |
tree | a01ad9ec07f1c762111d146894944d904b92ab3c /bridge_map.c | |
parent | 5bf4bbaffec438f45657d279ab71debc84f2d00c (diff) | |
download | openttd-1ac97fe0088096a265660dc5efa4478fe0db4b06.tar.xz |
(svn r3898) Add functions to find a bridge end starting at a middle tile
Diffstat (limited to 'bridge_map.c')
-rw-r--r-- | bridge_map.c | 20 |
1 files changed, 20 insertions, 0 deletions
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)); |