private static void BackupSettings(string file, string viewer_exe) { string config_file = Path.Combine(Path.GetDirectoryName(viewer_exe), "config.json"); string config_file_bak = Path.Combine(Path.GetDirectoryName(viewer_exe), "config.bak.json"); if (File.Exists(config_file_bak)) { File.Delete(config_file_bak); } File.Copy(config_file, config_file_bak); string setting_file = Path.Combine(Management.ProgramPaths.Sonic3AIRAppDataFolder, "settings.json"); string setting_file_bak = Path.Combine(Management.ProgramPaths.Sonic3AIRAppDataFolder, "settings.bak.json"); if (File.Exists(setting_file_bak)) { File.Delete(setting_file_bak); } File.Copy(setting_file, setting_file_bak); GameRecordingCurrentGameConfig = new AIR_API.GameConfig(new FileInfo(config_file)); GameRecordingSettings = new AIR_API.Settings(new FileInfo(setting_file)); Management.RecordingManagement.CopyRecordingToDestination(file, Path.GetDirectoryName(viewer_exe)); Instance.Dispatcher.BeginInvoke((Action)(() => { GameRecordingSettings.FullscreenMode = (int)AIR_API.Settings.FullscreenType.Windowed; GameRecordingCurrentGameConfig.StartPhase = 3; GameRecordingCurrentGameConfig.GameRecording = 2; GameRecordingSettings.Save(); GameRecordingCurrentGameConfig.Save(); })); }
private Version GetLatestVersion(FileInfo settingsFile) { var SettingsFile = new AIR_API.Settings(settingsFile); Management.VersionManagement.RefreshVersionsList(); var LatestVersionStored = Management.VersionManagement.InstalledVersions.Select(s => s.Version).Max(); if (LatestVersionStored != null && LatestVersionStored.CompareTo(SettingsFile.Version) > 0) { return(LatestVersionStored); } else { return(SettingsFile.Version); } }