summaryrefslogtreecommitdiff
path: root/src/newgrf_engine.cpp
diff options
context:
space:
mode:
authorterkhen <terkhen@openttd.org>2010-11-06 12:47:12 +0000
committerterkhen <terkhen@openttd.org>2010-11-06 12:47:12 +0000
commitcfac2ced69f072a3881e990837f82a884e27cd40 (patch)
tree3bd21023bbe8e4776f1625f81fabdd7baf7c248a /src/newgrf_engine.cpp
parent609e6dae3fbdace3c753456268eec6dbd0df2db2 (diff)
downloadopenttd-cfac2ced69f072a3881e990837f82a884e27cd40.tar.xz
(svn r21095) -Codechange: Use a function to convert aircraft speed to old units.
Diffstat (limited to 'src/newgrf_engine.cpp')
-rw-r--r--src/newgrf_engine.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/newgrf_engine.cpp b/src/newgrf_engine.cpp
index 33479cabd..1d683430c 100644
--- a/src/newgrf_engine.cpp
+++ b/src/newgrf_engine.cpp
@@ -715,8 +715,20 @@ static uint32 VehicleGetVariable(const ResolverObject *object, byte variable, by
case 0x17: return v->tick_counter;
case 0x18:
case 0x19: {
- uint max_speed = v->type == VEH_TRAIN ? Train::From(v)->tcache.cached_max_speed : v->max_speed;
- if (v->type == VEH_AIRCRAFT) max_speed = max_speed * 10 / 128;
+ uint max_speed;
+ switch (v->type) {
+ case VEH_TRAIN:
+ max_speed = Train::From(v)->tcache.cached_max_speed;
+ break;
+
+ case VEH_AIRCRAFT:
+ max_speed = Aircraft::From(v)->GetSpeedOldUnits(); // Convert to old units.
+ break;
+
+ default:
+ max_speed = v->max_speed;
+ break;
+ }
return (variable - 0x80) == 0x18 ? max_speed : GB(max_speed, 8, 8);
}
case 0x1A: return v->x_pos;