From 9f333a98bcbfddd59ce3ad4bf4260f35e03fd5da Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 31 Jul 2007 17:35:35 +0000 Subject: [PATCH] (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. --- train_cmd.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/train_cmd.c b/train_cmd.c index c615c48ffb..527d628763 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -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); } }