@@ -76,7 +76,7 @@ public class Viewer
7676 /// Monotonically increasing time value (in seconds) for the game/viewer. Starts at 0 and only ever increases, at real-time.
7777 /// </summary>
7878 public double RealTime { get ; private set ; }
79- public double LastSave = - 1 ;
79+ public double AutoSaveDueAt { get ; set ; } = - 1 ; // RealTime when next AutoSave is due
8080 InfoDisplay InfoDisplay ;
8181 public WindowManager WindowManager { get ; private set ; }
8282 public MessagesWindow MessagesWindow { get ; private set ; } // Game message window (special, always visible)
@@ -297,7 +297,7 @@ public Viewer(Simulator simulator, Orts.Viewer3D.Processes.Game game)
297297 Settings = simulator . Settings ;
298298 Use3DCabProperty = Settings . GetSavingProperty < bool > ( "Use3DCab" ) ;
299299
300- LastSave = Simulator . Settings . AutoSaveInterval * 60 ;
300+ AutoSaveDueAt = Simulator . Settings . AutoSaveInterval * 60 ;
301301
302302 RenderProcess = game . RenderProcess ;
303303 UpdaterProcess = game . UpdaterProcess ;
@@ -740,10 +740,10 @@ public void Update(RenderFrame frame, float elapsedRealTime)
740740 var elapsedTime = new ElapsedTime ( Simulator . GetElapsedClockSeconds ( elapsedRealTime ) , elapsedRealTime ) ;
741741
742742 // auto save
743- if ( Simulator . Settings . AutoSaveActive && RealTime > LastSave && ! Simulator . Paused )
743+ if ( Simulator . Settings . AutoSaveActive && RealTime > AutoSaveDueAt && ! Simulator . Paused )
744744 {
745745 GameStateRunActivity . Save ( ) ;
746- LastSave = RealTime + Simulator . Settings . AutoSaveInterval * 60 ;
746+ AutoSaveDueAt = RealTime + Simulator . Settings . AutoSaveInterval * 60 ;
747747 }
748748
749749 // show message
@@ -944,7 +944,7 @@ void HandleUserInput(ElapsedTime elapsedTime)
944944 if ( UserInput . IsPressed ( UserCommand . GameSave ) )
945945 {
946946 GameStateRunActivity . Save ( ) ;
947- LastSave = RealTime + 60 * Simulator . Settings . AutoSaveInterval ;
947+ AutoSaveDueAt = RealTime + 60 * Simulator . Settings . AutoSaveInterval ;
948948 }
949949 if ( UserInput . IsPressed ( UserCommand . DisplayHelpWindow ) ) if ( UserInput . IsDown ( UserCommand . DisplayNextWindowTab ) ) HelpWindow . TabAction ( ) ; else HelpWindow . Visible = ! HelpWindow . Visible ;
950950 if ( UserInput . IsPressed ( UserCommand . DisplayTrackMonitorWindow ) ) if ( UserInput . IsDown ( UserCommand . DisplayNextWindowTab ) ) TrackMonitorWindow . TabAction ( ) ; else TrackMonitorWindow . Visible = ! TrackMonitorWindow . Visible ;
0 commit comments