changeset 5277:80f1a8ec645c draft

(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.
author peter1138 <peter1138@openttd.org>
date Thu, 07 Dec 2006 14:44:26 +0000 (2006-12-07)
parents cc4af41906c2
children 74ebd4c3b218
files train_cmd.c
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/train_cmd.c
+++ b/train_cmd.c
@@ -400,7 +400,9 @@
 	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 @@
 		}
 	} else {
 		//"kickoff" acceleration
-		force = (mass * 8) + resistance;
+		force = max(power, (mass * 8) + resistance);
 	}
 
 	if (force <= 0) force = 10000;