# HG changeset patch
# User KUDr
# Date 1167498394 0
# Node ID 729d54e97b9462659ce4666632e69a3ffe6ae767
# Parent f3aa14b91b0af249dbc00ce3e767d3ef9e006922
(svn r7649) [cbh] - Fix: [YAPF] assert on cbh
diff -r f3aa14b91b0a -r 729d54e97b94 openttd_vs80.vcproj
--- a/openttd_vs80.vcproj Sat Dec 30 13:15:15 2006 +0000
+++ b/openttd_vs80.vcproj Sat Dec 30 17:06:34 2006 +0000
@@ -16,7 +16,7 @@
@@ -729,6 +729,10 @@
>
+
+
@@ -749,10 +753,6 @@
>
-
-
@@ -821,6 +821,10 @@
>
+
+
@@ -1124,6 +1128,10 @@
>
+
+
@@ -1136,10 +1144,6 @@
>
-
-
@@ -1396,6 +1400,10 @@
>
+
+
@@ -1452,10 +1460,6 @@
>
-
-
diff -r f3aa14b91b0a -r 729d54e97b94 yapf/follow_track.hpp
--- a/yapf/follow_track.hpp Sat Dec 30 13:15:15 2006 +0000
+++ b/yapf/follow_track.hpp Sat Dec 30 17:06:34 2006 +0000
@@ -49,11 +49,12 @@
if (!CanExitOldTile()) return false;
FollowTileExit();
if (!QueryNewTileTrackStatus()) return TryReverse();
- if (!CanEnterNewTile()) return false;
m_new_td_bits &= DiagdirReachesTrackdirs(m_exitdir);
if (!Allow90degTurns())
m_new_td_bits &= (TrackdirBits)~(int)TrackdirCrossesTrackdirs(m_old_td);
- return (m_new_td_bits != TRACKDIR_BIT_NONE);
+ if (m_new_td_bits == TRACKDIR_BIT_NONE) return false;
+ if (!CanEnterNewTile()) return false;
+ return true;
}
protected:
@@ -77,18 +78,17 @@
assert(ReverseDiagDir(tunnel_enterdir) == m_exitdir);
}
- // extra handling for bridge ramp in our direction
+ // extra handling when leaving bridge ramp and entering the bridge
if (IsBridgeTile(m_old_tile)) {
DiagDirection bridge_enterdir = GetBridgeRampDirection(m_old_tile);
if (bridge_enterdir == m_exitdir) {
- // we are entering the bridge ramp
+ // we are entering the bridge
m_new_tile = GetOtherBridgeEnd(m_old_tile);
uint32 bridge_length = GetBridgeLength(m_old_tile, m_new_tile);
m_tiles_skipped = bridge_length;
m_is_bridge = true;
return;
}
- assert(ReverseDiagDir(bridge_enterdir) == m_exitdir);
}
// normal or station tile, do one step