@@ -139,6 +139,7 @@ public bool AssignFromConfigNode(ConfigNode pCN)
139139 private EventData < float > OnTimeControlHyperWarpPhysicsAccuracyChangedEvent { get ; set ; }
140140 private EventData < float > OnTimeControlSlowMoRateChangedEvent { get ; set ; }
141141 private EventData < TimeControlKeyBinding > OnTimeControlKeyBindingsChangedEvent ;
142+ private EventData < bool > OnTimeControlSlowMoDeltaLockedChangedEvent { get ; set ; }
142143
143144 private const float saveTimeDelta = 10f ;
144145 private float saveTimeDelay = 0f ;
@@ -207,6 +208,17 @@ public float SlowMoRate
207208 }
208209 }
209210
211+ private bool deltaLocked = true ;
212+ public bool DeltaLocked
213+ {
214+ get => deltaLocked ;
215+ set
216+ {
217+ deltaLocked = value ;
218+ mainNode ? . SetValue ( nameof ( DeltaLocked ) , value , true ) ;
219+ saveOnNextUpdate = true ;
220+ }
221+ }
210222 private float resetAltitudeToValue = 1000f ;
211223 public float ResetAltitudeToValue
212224 {
@@ -262,7 +274,7 @@ public int KeyRepeatInterval
262274 }
263275
264276 // This is managed in the time control parameters screen, but is applied globally by the settings
265- private LogSeverity loggingLevel ;
277+ private LogSeverity loggingLevel = LogSeverity . Warning ;
266278 public LogSeverity LoggingLevel
267279 {
268280 get => loggingLevel ;
@@ -299,6 +311,7 @@ public bool UseKerbinTime
299311 }
300312 }
301313
314+
302315 private string version = TimeControl . PluginAssemblyUtilities . VERSION ;
303316
304317 #region MonoBehavior
@@ -331,6 +344,7 @@ private void Start()
331344 mainNode . SetValue ( nameof ( HyperWarpPhysicsAccuracy ) , HyperWarpPhysicsAccuracy , true ) ;
332345 mainNode . SetValue ( nameof ( HyperWarpMaxAttemptedRate ) , HyperWarpMaxAttemptedRate , true ) ;
333346 mainNode . SetValue ( nameof ( SlowMoRate ) , SlowMoRate , true ) ;
347+ mainNode . SetValue ( nameof ( DeltaLocked ) , DeltaLocked , true ) ;
334348 mainNode . SetValue ( nameof ( ResetAltitudeToValue ) , ResetAltitudeToValue , true ) ;
335349 mainNode . SetValue ( nameof ( LoggingLevel ) , LoggingLevel . ToString ( ) , true ) ;
336350 mainNode . SetValue ( nameof ( CameraZoomFix ) , CameraZoomFix , true ) ;
@@ -382,6 +396,9 @@ private void SubscribeToEvents()
382396 OnTimeControlSlowMoRateChangedEvent = GameEvents . FindEvent < EventData < float > > ( nameof ( TimeControlEvents . OnTimeControlSlowMoRateChanged ) ) ;
383397 OnTimeControlSlowMoRateChangedEvent ? . Add ( OnTimeControlSlowMoRateChanged ) ;
384398
399+ OnTimeControlSlowMoDeltaLockedChangedEvent = GameEvents . FindEvent < EventData < bool > > ( nameof ( TimeControlEvents . OnTimeControlSlowMoDeltaLockedChanged ) ) ;
400+ OnTimeControlSlowMoDeltaLockedChangedEvent ? . Add ( OnTimeControlSlowMoDeltaLockedChanged ) ;
401+
385402 SpaceCenterWindow . OnChanged += GUIWindowsChanged ;
386403 TrackStationWindow . OnChanged += GUIWindowsChanged ;
387404 FlightWindow . OnChanged += GUIWindowsChanged ;
@@ -491,6 +508,18 @@ private void OnTimeControlSlowMoRateChanged(float data)
491508 }
492509 }
493510
511+ private void OnTimeControlSlowMoDeltaLockedChanged ( bool data )
512+ {
513+ const string logBlockName = nameof ( GlobalSettings ) + "." + nameof ( OnTimeControlSlowMoDeltaLockedChanged ) ;
514+ using ( EntryExitLogger . EntryExitLog ( logBlockName , EntryExitLoggerOptions . All ) )
515+ {
516+ if ( SlowMoController . IsReady )
517+ {
518+ DeltaLocked = SlowMoController . Instance . DeltaLocked ;
519+ }
520+ }
521+ }
522+
494523 private void OnTimeControlKeyBindingsChanged ( TimeControlKeyBinding tckb )
495524 {
496525 const string logBlockName = nameof ( GlobalSettings ) + "." + nameof ( OnTimeControlKeyBindingsChanged ) ;
@@ -662,6 +691,18 @@ private void LoadFromConfig()
662691 Log . Warning ( nameof ( SlowMoRate ) + " has error in configuration file. Using default." , logBlockName ) ;
663692 }
664693
694+ ////////////////////////////////////////////////
695+ // DeltaLocked
696+ ////////////////////////////////////////////////
697+ if ( tmpConfigMain . TryAssignFromConfigBool ( nameof ( DeltaLocked ) , out bool tmpDeltaLocked ) )
698+ {
699+ DeltaLocked = tmpDeltaLocked ;
700+ }
701+ else
702+ {
703+ Log . Warning ( nameof ( DeltaLocked ) + " has error in configuration file. Using default." , logBlockName ) ;
704+ }
705+
665706 ////////////////////////////////////////////////
666707 // ResetAltitudeToValue
667708 ////////////////////////////////////////////////
0 commit comments