Do not allow RV curves/reversing to override lower max speed

pull/283/head
Jonathan G Rennison 3 years ago
parent ec40677fdc
commit 65bd6eee11

@ -494,13 +494,12 @@ inline int RoadVehicle::GetCurrentMaxSpeed() const
for (const RoadVehicle *u = this; u != nullptr; u = u->Next()) {
if (_settings_game.vehicle.roadveh_acceleration_model == AM_REALISTIC) {
if (this->state <= RVSB_TRACKDIR_MASK && IsReversingRoadTrackdir((Trackdir)this->state)) {
max_speed = this->gcache.cached_max_track_speed / 2;
break;
}
// Are we in a curve and should slow down?
if (((u->direction & 1) == 0) && _settings_game.vehicle.slow_road_vehicles_in_curves) {
max_speed = this->gcache.cached_max_track_speed * 3 / 4;
max_speed = std::min(max_speed, this->gcache.cached_max_track_speed / 2);
} else if ((u->direction & 1) == 0) {
// Are we in a curve and should slow down?
if (_settings_game.vehicle.slow_road_vehicles_in_curves) {
max_speed = std::min(max_speed, this->gcache.cached_max_track_speed * 3 / 4);
}
}
}

Loading…
Cancel
Save