|
|
@ -1357,10 +1357,7 @@ static uint32 VehicleEnter_TunnelBridge(Vehicle *v, TileIndex tile, int x, int y
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (IsBridge(tile)) { // XXX is this necessary?
|
|
|
|
} else if (IsBridge(tile)) { // XXX is this necessary?
|
|
|
|
if (v->type == VEH_Road || (v->type == VEH_Train && IsFrontEngine(v))) {
|
|
|
|
if (v->type == VEH_Road || (v->type == VEH_Train && IsFrontEngine(v))) {
|
|
|
|
uint h = GetTileMaxZ(tile);
|
|
|
|
if (IsBridgeRamp(tile) || v->z_pos > GetTileMaxZ(tile)) {
|
|
|
|
|
|
|
|
|
|
|
|
if (IsBridgeRamp(tile) ||
|
|
|
|
|
|
|
|
myabs(h - v->z_pos) > 2) { // high above the ground -> on the bridge
|
|
|
|
|
|
|
|
/* modify speed of vehicle */
|
|
|
|
/* modify speed of vehicle */
|
|
|
|
uint16 spd = _bridge[GetBridgeType(tile)].speed;
|
|
|
|
uint16 spd = _bridge[GetBridgeType(tile)].speed;
|
|
|
|
if (v->type == VEH_Road) spd *= 2;
|
|
|
|
if (v->type == VEH_Road) spd *= 2;
|
|
|
|