Skip to content

Commit b05b85c

Browse files
committed
Correct sound variable
1 parent 4903ade commit b05b85c

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/MSTSSteamLocomotive.cs

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -790,7 +790,6 @@ public override void Parse(string lowercasetoken, STFReader stf)
790790
Cylinder2CrankAngleRad = stf.ReadFloat(STFReader.UNITS.Angle, 0.0f);
791791
Cylinder3CrankAngleRad = stf.ReadFloat(STFReader.UNITS.Angle, 0.0f);
792792
Cylinder4CrankAngleRad = stf.ReadFloat(STFReader.UNITS.Angle, 0.0f);
793-
Trace.TraceInformation("Input - CrankAngle {0} {1} {2} {3}", Cylinder1CrankAngleRad, Cylinder2CrankAngleRad, Cylinder3CrankAngleRad, Cylinder4CrankAngleRad);
794793
stf.SkipRestOfBlock();
795794
break;
796795
case "engine(cylinderstroke": CylinderStrokeM = stf.ReadFloatBlock(STFReader.UNITS.Distance, null); break;
@@ -1290,13 +1289,20 @@ public override void Initialize()
12901289
WheelCrankAngleDiffRad[0] = MathHelper.ToRadians(0.0f);
12911290
WheelCrankAngleDiffRad[1] = MathHelper.ToRadians(90.0f);
12921291
}
1292+
1293+
if (Simulator.Settings.VerboseConfigurationMessages)
1294+
Trace.TraceInformation("CrankAngle set to default values {0} rad {1} rad {2} rad {3} rad", WheelCrankAngleDiffRad[0], WheelCrankAngleDiffRad[1], WheelCrankAngleDiffRad[2], WheelCrankAngleDiffRad[3]);
12931295
}
12941296
else // set values set by user
12951297
{
12961298
WheelCrankAngleDiffRad[0] = Cylinder1CrankAngleRad;
12971299
WheelCrankAngleDiffRad[1] = Cylinder2CrankAngleRad;
12981300
WheelCrankAngleDiffRad[2] = Cylinder3CrankAngleRad;
12991301
WheelCrankAngleDiffRad[3] = Cylinder4CrankAngleRad;
1302+
1303+
if (Simulator.Settings.VerboseConfigurationMessages)
1304+
Trace.TraceInformation("CrankAngle set to user values {0} rad {1} rad {2} rad {3} rad", WheelCrankAngleDiffRad[0], WheelCrankAngleDiffRad[1], WheelCrankAngleDiffRad[2], WheelCrankAngleDiffRad[3]);
1305+
13001306
}
13011307

13021308
// ****************** Test Locomotive and Gearing type ***********************
@@ -2534,7 +2540,16 @@ private void UpdateFX(float elapsedClockSeconds)
25342540
SmokeColor.Update(elapsedClockSeconds, MathHelper.Clamp(SmokeColorUnits, 0.25f, 1));
25352541

25362542
// Variable1 is proportional to angular speed, value of 10 means 1 rotation/second.
2537-
var variable1 = Math.Abs(WheelSpeedSlipMpS / DriverWheelRadiusM / MathHelper.Pi * 5);
2543+
// If wheel is not slipping then use normal wheel speed, this reduces oscillations in variable1 which causes issues with sounds.
2544+
var variable1 = 0.0f;
2545+
if (WheelSlip)
2546+
{
2547+
variable1 = Math.Abs(WheelSpeedSlipMpS / DriverWheelRadiusM / MathHelper.Pi * 5);
2548+
}
2549+
else
2550+
{
2551+
variable1 = Math.Abs(WheelSpeedMpS / DriverWheelRadiusM / MathHelper.Pi * 5);
2552+
}
25382553
Variable1 = ThrottlePercent == 0 ? 0 : variable1;
25392554
Variable2 = MathHelper.Clamp((CylinderCocksPressureAtmPSI - OneAtmospherePSI) / BoilerPressurePSI * 100f, 0, 100);
25402555
Variable3 = FuelRateSmoothed * 100;

0 commit comments

Comments
 (0)