From 339a697c8aa9ef4e900c4258692c73b73dea7862 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Thu, 7 Dec 2006 14:44:26 +0000 Subject: (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 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; -- cgit v1.2.3-70-g09d2