diff options
-rw-r--r-- | src/train_cmd.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp index ca09c07ac..a073c7e33 100644 --- a/src/train_cmd.cpp +++ b/src/train_cmd.cpp @@ -2799,7 +2799,9 @@ int Train::UpdateSpeed() if (this->cur_speed > max_speed) { tempmax = this->cur_speed - (this->cur_speed / 10) - 1; } - this->cur_speed = spd = Clamp(this->cur_speed + ((int)spd >> 8), 0, tempmax); + /* Force a minimum speed of 1 km/h when realistic acceleration is on. */ + int min_speed = (_settings_game.vehicle.train_acceleration_model == AM_ORIGINAL) ? 0 : 2; + this->cur_speed = spd = Clamp(this->cur_speed + ((int)spd >> 8), min_speed, tempmax); } int scaled_spd = this->GetAdvanceSpeed(spd); |