(svn r11946) -Fix: slope detection of bridge ramps.
YAPF failed for steep slopes. Trolly failed for a lot.
This commit is contained in:
@@ -13,11 +13,9 @@ struct CYapfCostBase {
|
||||
// it is bridge ramp, check if we are entering the bridge
|
||||
if (GetTunnelBridgeDirection(tile) != TrackdirToExitdir(td)) return false; // no, we are living it, no penalty
|
||||
// we are entering the bridge
|
||||
// if the tile slope is downwards, then bridge ramp has not upward slope
|
||||
uint tile_slope = GetTileSlope(tile, NULL) & 0x0F;
|
||||
if ((c_upwards_slopes[tile_slope] & TrackdirToTrackdirBits(ReverseTrackdir(td))) != 0) return false; // tile under ramp goes down, no penalty
|
||||
// tile under ramp isn't going down, so ramp must go up
|
||||
return true;
|
||||
Slope tile_slope = GetTileSlope(tile, NULL);
|
||||
Axis axis = DiagDirToAxis(GetTunnelBridgeDirection(tile));
|
||||
return !HasBridgeFlatRamp(tile_slope, axis);
|
||||
} else {
|
||||
// not bridge ramp
|
||||
if (IsTunnelTile(tile)) return false; // tunnel entry/exit doesn't slope
|
||||
|
Reference in New Issue
Block a user