Skip to content

Commit 1cee94c

Browse files
committed
Minor adjustments to number of wheels checking
1 parent 418a87c commit 1cee94c

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/MSTSWagon.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -436,8 +436,8 @@ public virtual void LoadFromWagFile(string wagFilePath)
436436
}
437437
}
438438

439-
// Ensure Drive Axles is set to a default if no OR value added to WAG file
440-
if (WagonNumAxles == 0)
439+
// Ensure Drive Axles is set to a default if no OR value added to WAG file, assumes that WagonNumAxles only needs to be set on non locomotive cars
440+
if (WagonNumAxles == 0 && WagonType != WagonTypes.Engine)
441441
{
442442
if (MSTSWagonNumWheels != 0 && MSTSWagonNumWheels < 6)
443443
{
@@ -2296,11 +2296,16 @@ private void UpdateTrainBaseResistance_DavisLowSpeed()
22962296
// Determine Axle loading of Car
22972297
if (WagonType == WagonTypes.Engine && IsPlayerTrain && Simulator.PlayerLocomotive is MSTSLocomotive locoParameters)
22982298
{
2299+
// This only takes into account the driven axles for 100% accuracy the non driven axles should also be considered
22992300
AxleLoadKg = locoParameters.DrvWheelWeightKg / locoParameters.LocoNumDrvAxles;
23002301
}
23012302
else
23022303
{
2303-
AxleLoadKg = MassKG / WagonNumAxles;
2304+
// Typically this loop should only be processed when it is a car of some descritption, and therefore it will use the wagon axles as it reference.
2305+
if (WagonNumAxles > 0)
2306+
{
2307+
AxleLoadKg = MassKG / WagonNumAxles;
2308+
}
23042309
}
23052310

23062311
// Calculate the track gradient based on wagon axle loading

0 commit comments

Comments
 (0)