@@ -310,25 +310,6 @@ public override void Restore(BinaryReader inf)
310310
311311 public override void Initialize ( bool handbrakeOn , float maxPressurePSI , float fullServPressurePSI , bool immediateRelease )
312312 {
313- // reducing size of Emergency Reservoir for short (fake) cars
314- if ( Car . Simulator . Settings . CorrectQuestionableBrakingParams && Car . CarLengthM <= 1 )
315- EmergResVolumeM3 = Math . Min ( 0.02f , EmergResVolumeM3 ) ;
316-
317- // Install a plain triple valve if no brake valve defined
318- // Do not install it for tenders if not defined, to allow tenders with straight brake only
319- if ( Car . Simulator . Settings . CorrectQuestionableBrakingParams && ( Car as MSTSWagon ) . BrakeValve == MSTSWagon . BrakeValveType . None && ( Car as MSTSWagon ) . WagonType != TrainCar . WagonTypes . Tender )
320- {
321- ( Car as MSTSWagon ) . BrakeValve = MSTSWagon . BrakeValveType . TripleValve ;
322- Trace . TraceWarning ( "{0} does not define a brake valve, defaulting to a plain triple valve" , ( Car as MSTSWagon ) . WagFilePath ) ;
323- }
324-
325- // In simple brake mode set emergency reservoir volume, override high volume values to allow faster brake release.
326- if ( Car . Simulator . Settings . SimpleControlPhysics && EmergResVolumeM3 > 2.0 )
327- EmergResVolumeM3 = 0.7f ;
328-
329- if ( MaxTripleValveCylPressurePSI == 0 ) MaxTripleValveCylPressurePSI = MaxCylPressurePSI / RelayValveRatio ;
330- if ( EngineRelayValveRatio == 0 ) EngineRelayValveRatio = RelayValveRatio ;
331-
332313 BrakeLine1PressurePSI = Car . Train . EqualReservoirPressurePSIorInHg ;
333314 BrakeLine2PressurePSI = Car . Train . BrakeLine2PressurePSI ;
334315 BrakeLine3PressurePSI = 0 ;
@@ -344,11 +325,32 @@ public override void Initialize(bool handbrakeOn, float maxPressurePSI, float fu
344325 HoldingValve = ValveState . Release ;
345326 HandbrakePercent = handbrakeOn & ( Car as MSTSWagon ) . HandBrakePresent ? 100 : 0 ;
346327 SetRetainer ( RetainerSetting . Exhaust ) ;
347- MSTSLocomotive loco = Car as MSTSLocomotive ;
348- if ( loco != null )
328+ if ( Car is MSTSLocomotive loco )
349329 {
350330 loco . MainResPressurePSI = loco . MaxMainResPressurePSI ;
351331 }
332+ }
333+
334+ public override void Initialize ( )
335+ {
336+ // reducing size of Emergency Reservoir for short (fake) cars
337+ if ( Car . Simulator . Settings . CorrectQuestionableBrakingParams && Car . CarLengthM <= 1 )
338+ EmergResVolumeM3 = Math . Min ( 0.02f , EmergResVolumeM3 ) ;
339+
340+ // Install a plain triple valve if no brake valve defined
341+ // Do not install it for tenders if not defined, to allow tenders with straight brake only
342+ if ( Car . Simulator . Settings . CorrectQuestionableBrakingParams && ( Car as MSTSWagon ) . BrakeValve == MSTSWagon . BrakeValveType . None && ( Car as MSTSWagon ) . WagonType != TrainCar . WagonTypes . Tender )
343+ {
344+ ( Car as MSTSWagon ) . BrakeValve = MSTSWagon . BrakeValveType . TripleValve ;
345+ Trace . TraceWarning ( "{0} does not define a brake valve, defaulting to a plain triple valve" , ( Car as MSTSWagon ) . WagFilePath ) ;
346+ }
347+
348+ // In simple brake mode set emergency reservoir volume, override high volume values to allow faster brake release.
349+ if ( Car . Simulator . Settings . SimpleControlPhysics && EmergResVolumeM3 > 2.0 )
350+ EmergResVolumeM3 = 0.7f ;
351+
352+ if ( MaxTripleValveCylPressurePSI == 0 ) MaxTripleValveCylPressurePSI = MaxCylPressurePSI / RelayValveRatio ;
353+ if ( EngineRelayValveRatio == 0 ) EngineRelayValveRatio = RelayValveRatio ;
352354
353355 if ( EmergResVolumeM3 > 0 && EmergAuxVolumeRatio > 0 && BrakePipeVolumeM3 > 0 )
354356 AuxBrakeLineVolumeRatio = EmergResVolumeM3 / EmergAuxVolumeRatio / BrakePipeVolumeM3 ;
@@ -357,7 +359,7 @@ public override void Initialize(bool handbrakeOn, float maxPressurePSI, float fu
357359
358360 if ( CylVolumeM3 == 0 ) CylVolumeM3 = EmergResVolumeM3 / EmergAuxVolumeRatio / AuxCylVolumeRatio ;
359361
360- RelayValveFitted |= ( loco != null && ( loco . DynamicBrakeAutoBailOff || loco . DynamicBrakePartialBailOff ) ) || ( Car as MSTSWagon ) . BrakeValve == MSTSWagon . BrakeValveType . DistributingValve ;
362+ RelayValveFitted |= ( Car is MSTSLocomotive loco && ( loco . DynamicBrakeAutoBailOff || loco . DynamicBrakePartialBailOff ) ) || ( Car as MSTSWagon ) . BrakeValve == MSTSWagon . BrakeValveType . DistributingValve ;
361363 }
362364
363365 /// <summary>
0 commit comments