From 1878d1453ddb3ed1321eb85d5a5de70aafc47811 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Thu, 7 Dec 2006 14:44:26 +0000 Subject: [PATCH] (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. --- train_cmd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/train_cmd.c b/train_cmd.c index 6d56e6166b..6f719a2a1f 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;