public void Load() { FileOperations.LoadConfiguration(this, FILE_NAME); }
public void LateUpdate() { string pngName; if (doSave || (AS.configuration.autoSave && ((Time.realtimeSinceStartup - lastBackup) > AS.configuration.minBetweenSaves * 60))) { lastBackup = Time.realtimeSinceStartup; SaveFilesHandlers sfh = new SaveFilesHandlers(); sfh.startBackup(this); doSave = false; } if (doSnapshots) { Log.Info("In LateUpdate, doSnapshots"); if (screenshotTaken && configuration.noGUIOnScreenshot == true && System.IO.File.Exists(screenshotFile) && wasUIVisible) { GameEvents.onShowUI.Fire(); } // If there is a png file waiting to be converted, then don't do another screenshot if (pngToConvert != "") { //Log.Info ("pngToConvert: " + pngToConvert); if (System.IO.File.Exists(pngToConvert)) { Log.Info("Converting screenshot to JPG. New name: " + jpgName); ConvertToJPG(pngToConvert, jpgName, configuration.JPGQuality); System.IO.FileInfo file = new System.IO.FileInfo(pngToConvert); if (!configuration.keepOrginalPNG) { Log.Info("AutomatedScreenshots: Delete PNG file"); file.Delete(); } pngToConvert = ""; } } else { if (AS.configuration.precrashSnapshots) { if (FlightGlobals.ActiveVessel != null) { Vessel vessel = FlightGlobals.ActiveVessel; if ((-vessel.verticalSpeed > AS.configuration.hsMinVerticalSpeed) && ((FlightGlobals.ship_altitude / -vessel.verticalSpeed < AS.configuration.secondsUntilImpact) || (FlightGlobals.ship_altitude < AS.configuration.hsAltitudeLimit) )) { if (Time.realtimeSinceStartup - lastPrecrashUpdate > configuration.hsScreenshotInterval) { this.precrash = true; lastPrecrashUpdate = Time.realtimeSinceStartup; Log.Info("vessel.verticalSpeed: " + vessel.verticalSpeed.ToString()); Log.Info("FlightGlobals.ship_altitude: " + FlightGlobals.ship_altitude.ToString()); Log.Info("FlightGlobals.ship_altitude / -vessel.verticalSpeed: " + (FlightGlobals.ship_altitude / -vessel.verticalSpeed).ToString()); } } } } if (this.specialScene || this.precrash || dualScreenshots == 1 || ( /*AS.configuration.screenshotAtIntervals && */ ((this.newScene && this.sceneReady && Time.realtimeSinceStartup - lastSceneUpdate > 1) || ((Time.realtimeSinceStartup - lastUpdate) > configuration.screenshotInterval) ) )) { Log.Info("Taking screenshot"); newScene = false; this.specialScene = false; lastUpdate = Time.realtimeSinceStartup; //check if directory doesn't exist if (!System.IO.Directory.Exists(FileOperations.ScreenshotFolder())) { //if it doesn't, try to create it try { System.IO.Directory.CreateDirectory(FileOperations.ScreenshotFolder()); } catch (Exception e) { Log.Error("Exception trying to create directory: " + e); return; } } do { cnt++; string s = AddInfo(configuration.filename, cnt, sceneReady, specialScene, precrash); pngName = configuration.screenshotPath + s + ".png"; jpgName = configuration.screenshotPath + s + ".jpg"; } while (System.IO.File.Exists(pngName) || System.IO.File.Exists(jpgName)); this.precrash = false; // // I make the assumption that if the player wants the gui during the screenshot, then // it will be left visible. // wasUIVisible = uiVisiblity.isVisible() | configuration.guiOnScreenshot; //Log.Info ("Update: Screenshotfolder:" + pngName); if (configuration.noGUIOnScreenshot == true) { GameEvents.onHideUI.Fire(); } if (configuration.noGUIOnScreenshot && configuration.guiOnScreenshot) { if (dualScreenshots == 0) { dualScreenshots = 1; } else if (dualScreenshots == 1) { dualScreenshots = 0; GameEvents.onShowUI.Fire(); } } screenshotTaken = true; screenshotFile = pngName; // // If Historian is available, then tell it to activate // Version.set_m_Active(); Application.CaptureScreenshot(pngName); if (configuration.convertToJPG) { pngToConvert = pngName; } } } } }
public void Save() { FileOperations.SaveConfiguration(this, FILE_NAME); //CI.changeCallbacks = true; }