summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/train_cmd.cpp4
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);