1
0
Fork 0

(svn r10739) [0.5] -Fix [FS#1096]: trains going over bridges would get the "going down hill" accelerate bonus, which causes trains to go faster on bridges than they would be going on level land.

release/0.5
rubidium 2007-07-31 17:35:35 +00:00
parent 13259028b1
commit 9f333a98bc
1 changed files with 2 additions and 1 deletions

View File

@ -2769,10 +2769,11 @@ static byte AfterSetTrainPos(Vehicle *v, bool new_tile)
static const int INV_TILE_SIZE_MASK = ~(TILE_SIZE - 1);
byte middle_z = GetSlopeZ((v->x_pos & INV_TILE_SIZE_MASK) | HALF_TILE_SIZE, (v->y_pos & INV_TILE_SIZE_MASK) | HALF_TILE_SIZE);
TileIndex tile = TileVirtXY(v->x_pos, v->y_pos);
/* For some reason tunnel tiles are always given as sloped :(
* But they are not sloped... */
if (middle_z != v->z_pos && !IsTunnelTile(TileVirtXY(v->x_pos, v->y_pos))) {
if (middle_z != v->z_pos && !IsTunnelTile(tile) && !(IsBridgeTile(tile) && IsBridgeMiddle(tile))) {
SETBIT(v->u.rail.flags, (middle_z > old_z) ? VRF_GOINGUP : VRF_GOINGDOWN);
}
}