Skip to content

Commit 5a8a936

Browse files
authored
Merge pull request #730 from openrails/release/1.5
Merge pull request #728 from Csantucci/cosine-fix
2 parents 41442f9 + a84cab0 commit 5a8a936

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

Source/Orts.Simulation/Simulation/RollingStocks/SubSystems/Brakes/MSTS/AirSinglePipe.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,10 +329,10 @@ public override void Initialize(bool handbrakeOn, float maxPressurePSI, float fu
329329
ControlResPressurePSI = maxPressurePSI;
330330
FullServPressurePSI = fullServPressurePSI;
331331
AutoCylPressurePSI = immediateRelease ? 0 : Math.Min((maxPressurePSI - BrakeLine1PressurePSI) * AuxCylVolumeRatio, MaxCylPressurePSI);
332-
AuxResPressurePSI = TwoPipes ? maxPressurePSI : Math.Max(maxPressurePSI - AutoCylPressurePSI / AuxCylVolumeRatio, BrakeLine1PressurePSI);
332+
AuxResPressurePSI = Math.Max(TwoPipes ? maxPressurePSI : maxPressurePSI - AutoCylPressurePSI / AuxCylVolumeRatio, BrakeLine1PressurePSI);
333333
if ((Car as MSTSWagon).EmergencyReservoirPresent)
334334
EmergResPressurePSI = Math.Max(AuxResPressurePSI, maxPressurePSI);
335-
TripleValveState = ValveState.Lap;
335+
TripleValveState = AutoCylPressurePSI < 1 ? ValveState.Release : ValveState.Lap;
336336
HoldingValve = ValveState.Release;
337337
HandbrakePercent = handbrakeOn & (Car as MSTSWagon).HandBrakePresent ? 100 : 0;
338338
SetRetainer(RetainerSetting.Exhaust);

Source/RunActivity/Viewer3D/Common/SunMoonPos.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,10 @@ public static Vector3 SolarAngle(double latitude, double longitude, float clockT
8686
+Math.Cos(latitude)
8787
* Math.Sin(Math.Acos(solarZenithCosine)));
8888

89+
// Running at 64 bit solarAzimuthCosine can be slightly below -1, generating NaN results
90+
if (solarAzimuthCosine > 1.0d) solarAzimuthCosine = 1.0d;
91+
if (solarAzimuthCosine < -1.0d) solarAzimuthCosine = -1.0d;
92+
8993
// Solar azimuth angle, radians. Currently not used.
9094
// double solarAzimuthAngle = Math.Acos(solarAzimuthCosine);
9195
// if (clockTime > 0.5)

0 commit comments

Comments
 (0)