@@ -587,15 +587,15 @@ public override void Update(float elapsedClockSeconds)
587
587
}
588
588
}
589
589
}
590
- if ( loco . DynamicBrakeAutoBailOff && loco . DynamicBrakePercent > 0 && Car . MaxBrakeForceN > 0 )
590
+ if ( loco . DynamicBrakePercent > 0 && Car . MaxBrakeForceN > 0 )
591
591
{
592
- var requiredBrakeForceN = Math . Min ( AutoCylPressurePSI / MaxCylPressurePSI , 1 ) * Car . MaxBrakeForceN ;
593
- var localBrakeForceN = loco . DynamicBrakeForceN + Math . Min ( CylPressurePSI / MaxCylPressurePSI , 1 ) * Car . MaxBrakeForceN ;
594
- if ( localBrakeForceN > requiredBrakeForceN - 0.15f * Car . MaxBrakeForceN )
592
+ if ( loco . DynamicBrakePartialBailOff )
595
593
{
596
- isolateAutoBrake = true ;
597
- if ( loco . DynamicBrakePartialBailOff )
594
+ var requiredBrakeForceN = Math . Min ( AutoCylPressurePSI / MaxCylPressurePSI , 1 ) * Car . MaxBrakeForceN ;
595
+ var localBrakeForceN = loco . DynamicBrakeForceN + Math . Min ( CylPressurePSI / MaxCylPressurePSI , 1 ) * Car . MaxBrakeForceN ;
596
+ if ( localBrakeForceN > requiredBrakeForceN - 0.15f * Car . MaxBrakeForceN )
598
597
{
598
+ isolateAutoBrake = true ;
599
599
var compensatedPressurePSI = Math . Min ( Math . Max ( ( requiredBrakeForceN - loco . DynamicBrakeForceN ) / Car . MaxBrakeForceN * MaxCylPressurePSI , 0 ) , MaxCylPressurePSI ) ;
600
600
if ( CylPressurePSI < BrakeLine3PressurePSI )
601
601
CylPressurePSI = BrakeLine3PressurePSI ;
@@ -614,10 +614,23 @@ public override void Update(float elapsedClockSeconds)
614
614
CylPressurePSI += dp ;
615
615
}
616
616
}
617
- else
617
+ }
618
+ else if ( loco . DynamicBrakeAutoBailOff )
619
+ {
620
+ if ( loco . DynamicBrakeForceCurves == null )
618
621
{
622
+ isolateAutoBrake = true ;
619
623
CylPressurePSI = BrakeLine3PressurePSI ;
620
624
}
625
+ else
626
+ {
627
+ var dynforce = loco . DynamicBrakeForceCurves . Get ( 1.0f , loco . AbsSpeedMpS ) ;
628
+ if ( ( loco . MaxDynamicBrakeForceN == 0 && dynforce > 0 ) || dynforce > loco . MaxDynamicBrakeForceN * 0.6 )
629
+ {
630
+ isolateAutoBrake = true ;
631
+ CylPressurePSI = BrakeLine3PressurePSI ;
632
+ }
633
+ }
621
634
}
622
635
}
623
636
}
0 commit comments