author | Darkvater |
Fri, 17 Mar 2006 08:06:56 +0000 | |
changeset 3241 | ffde1325bab8 |
parent 3225 | 655763f3861c |
child 3933 | a5f08e17f4a0 |
permissions | -rw-r--r-- |
3214
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
1 |
/* $Id$ */ |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
2 |
|
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
3 |
#include "stdafx.h" |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
4 |
#include "openttd.h" |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
5 |
#include "bridge_map.h" |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
6 |
|
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
7 |
|
3225
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
8 |
TileIndex GetBridgeEnd(TileIndex tile, DiagDirection dir) |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
9 |
{ |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
10 |
TileIndexDiff delta = TileOffsByDir(dir); |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
11 |
|
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
12 |
assert(DiagDirToAxis(dir) == GetBridgeAxis(tile)); |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
13 |
|
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
14 |
do { |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
15 |
tile += delta; |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
16 |
} while (!IsBridgeRamp(tile)); |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
17 |
|
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
18 |
return tile; |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
19 |
} |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
20 |
|
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
21 |
|
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
22 |
TileIndex GetSouthernBridgeEnd(TileIndex t) |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
23 |
{ |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
24 |
return GetBridgeEnd(t, AxisToDiagDir(GetBridgeAxis(t))); |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
25 |
} |
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
26 |
|
655763f3861c
(svn r3898) Add functions to find a bridge end starting at a middle tile
tron
parents:
3214
diff
changeset
|
27 |
|
3214
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
28 |
TileIndex GetOtherBridgeEnd(TileIndex tile) |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
29 |
{ |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
30 |
TileIndexDiff delta = TileOffsByDir(GetBridgeRampDirection(tile)); |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
31 |
|
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
32 |
do { |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
33 |
tile += delta; |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
34 |
} while (!IsBridgeRamp(tile)); |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
35 |
|
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
36 |
return tile; |
172b409bf612
(svn r3887) Add a function to get the other bridge end when you're at a bridge ramp
tron
parents:
diff
changeset
|
37 |
} |