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 | ec33376fa3355a840cd6ddb31687382e5251b1fa (patch) | |
tree | a01ad9ec07f1c762111d146894944d904b92ab3c /bridge_map.c | |
parent | ca1efd3189eee42e0dd5758827c81c35fe44a10b (diff) | |
download | openttd-ec33376fa3355a840cd6ddb31687382e5251b1fa.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)); |