diff options
author | peter1138 <peter1138@openttd.org> | 2006-12-07 14:44:26 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2006-12-07 14:44:26 +0000 |
commit | 1878d1453ddb3ed1321eb85d5a5de70aafc47811 (patch) | |
tree | b05377836d3105a71ee56524c341801b1504c77a | |
parent | 1bf18df18047ab583fcd495530aa5910e9b4405e (diff) | |
download | openttd-1878d1453ddb3ed1321eb85d5a5de70aafc47811.tar.xz |
(svn r7421) -Fix (r2475): Changed "kick off" acceleration resulted in only a small amount of power being applied whilst moving off and then double the power at 1 mph. This resulted in a perceived delay before trains moved. Fix this by applying the full power of the engine (or the kick off, whichever is greater). Essay over.
-rw-r--r-- | train_cmd.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/train_cmd.c b/train_cmd.c index 6d56e6166..6f719a2a1 100644 --- a/train_cmd.c +++ b/train_cmd.c @@ -400,7 +400,9 @@ static int GetTrainAcceleration(Vehicle *v, bool mode) resistance += incl; resistance *= 4; //[N] - if (speed > 0) { + /* Due to the mph to m/s conversion below, at speeds below 3 mph the force is + * actually double the train's power */ + if (speed > 2) { switch (v->u.rail.railtype) { case RAILTYPE_RAIL: case RAILTYPE_ELECTRIC: @@ -416,7 +418,7 @@ static int GetTrainAcceleration(Vehicle *v, bool mode) } } else { //"kickoff" acceleration - force = (mass * 8) + resistance; + force = max(power, (mass * 8) + resistance); } if (force <= 0) force = 10000; |