(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.
This commit is contained in:
		| @@ -400,7 +400,9 @@ static int GetTrainAcceleration(Vehicle *v, bool mode) | |||||||
| 	resistance += incl; | 	resistance += incl; | ||||||
| 	resistance *= 4; //[N] | 	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) { | 		switch (v->u.rail.railtype) { | ||||||
| 			case RAILTYPE_RAIL: | 			case RAILTYPE_RAIL: | ||||||
| 			case RAILTYPE_ELECTRIC: | 			case RAILTYPE_ELECTRIC: | ||||||
| @@ -416,7 +418,7 @@ static int GetTrainAcceleration(Vehicle *v, bool mode) | |||||||
| 		} | 		} | ||||||
| 	} else { | 	} else { | ||||||
| 		//"kickoff" acceleration | 		//"kickoff" acceleration | ||||||
| 		force = (mass * 8) + resistance; | 		force = max(power, (mass * 8) + resistance); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if (force <= 0) force = 10000; | 	if (force <= 0) force = 10000; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 peter1138
					peter1138