summaryrefslogtreecommitdiff
path: root/src/train_cmd.cpp
diff options
context:
space:
mode:
authorMichael Lutz <michi@icosahedron.de>2021-08-15 12:14:53 +0200
committerGitHub <noreply@github.com>2021-08-15 12:14:53 +0200
commitee333a954934fee206a65795670d15150178c0f3 (patch)
tree163cc9ccfe6b3929c72987070be7c8a2a415382e /src/train_cmd.cpp
parent2183fd4dabe72bd96b264bf8cdb3a2a8be625cf8 (diff)
downloadopenttd-ee333a954934fee206a65795670d15150178c0f3.tar.xz
Fix 2183fd4d: [NewGRF] Use divide instead of right shift for signed numbers. (#9480)
"For negative a, the value of a >> b is implementation-defined (in most implementations, this performs arithmetic right shift, so that the result remains negative)."
Diffstat (limited to 'src/train_cmd.cpp')
-rw-r--r--src/train_cmd.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/train_cmd.cpp b/src/train_cmd.cpp
index 1498a5fad..f926be637 100644
--- a/src/train_cmd.cpp
+++ b/src/train_cmd.cpp
@@ -363,7 +363,7 @@ int Train::GetCurveSpeedLimit() const
/* Apply max_speed modifier (cached value is fixed-point binary with 8 fractional bits)
* and clamp the result to an acceptable range. */
- max_speed += (max_speed * this->tcache.cached_curve_speed_mod) >> 8;
+ max_speed += (max_speed * this->tcache.cached_curve_speed_mod) / 256;
max_speed = Clamp(max_speed, 2, absolute_max_speed);
}