From 0a7c6caedffd59011077b49cd6493c7a841a66f5 Mon Sep 17 00:00:00 2001 From: CJ Bok Date: Fri, 17 Apr 2020 01:18:54 +0200 Subject: System Time Offset Implementation (#1101) * System Time Offset Implementation * Addressed @Thog's comments * Addressed JD's comments * Addressed @Thog's and @AcK77's comments * formatting correction --- Ryujinx.Common/Configuration/ConfigurationState.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'Ryujinx.Common/Configuration/ConfigurationState.cs') diff --git a/Ryujinx.Common/Configuration/ConfigurationState.cs b/Ryujinx.Common/Configuration/ConfigurationState.cs index 67628aa1..d2826d36 100644 --- a/Ryujinx.Common/Configuration/ConfigurationState.cs +++ b/Ryujinx.Common/Configuration/ConfigurationState.cs @@ -158,6 +158,11 @@ namespace Ryujinx.Configuration /// public ReactiveObject TimeZone { get; private set; } + /// + /// System Time Offset in seconds + /// + public ReactiveObject SystemTimeOffset { get; private set; } + /// /// Enables or disables Docked Mode /// @@ -188,6 +193,7 @@ namespace Ryujinx.Configuration Language = new ReactiveObject(); Region = new ReactiveObject(); TimeZone = new ReactiveObject(); + SystemTimeOffset = new ReactiveObject(); EnableDockedMode = new ReactiveObject(); EnableMulticoreScheduling = new ReactiveObject(); EnableFsIntegrityChecks = new ReactiveObject(); @@ -322,6 +328,7 @@ namespace Ryujinx.Configuration SystemLanguage = System.Language, SystemRegion = System.Region, SystemTimeZone = System.TimeZone, + SystemTimeOffset = System.SystemTimeOffset, DockedMode = System.EnableDockedMode, EnableDiscordIntegration = EnableDiscordIntegration, EnableVsync = Graphics.EnableVsync, @@ -370,6 +377,7 @@ namespace Ryujinx.Configuration System.Language.Value = Language.AmericanEnglish; System.Region.Value = Region.USA; System.TimeZone.Value = "UTC"; + System.SystemTimeOffset.Value = 0; System.EnableDockedMode.Value = false; EnableDiscordIntegration.Value = true; Graphics.EnableVsync.Value = true; @@ -504,6 +512,15 @@ namespace Ryujinx.Configuration configurationFileUpdated = true; } + if (configurationFileFormat.Version < 5) + { + Common.Logging.Logger.PrintWarning(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 5."); + + configurationFileFormat.SystemTimeOffset = 0; + + configurationFileUpdated = true; + } + Graphics.MaxAnisotropy.Value = configurationFileFormat.MaxAnisotropy; Graphics.ShadersDumpPath.Value = configurationFileFormat.GraphicsShadersDumpPath; Logger.EnableDebug.Value = configurationFileFormat.LoggingEnableDebug; @@ -518,6 +535,7 @@ namespace Ryujinx.Configuration System.Language.Value = configurationFileFormat.SystemLanguage; System.Region.Value = configurationFileFormat.SystemRegion; System.TimeZone.Value = configurationFileFormat.SystemTimeZone; + System.SystemTimeOffset.Value = configurationFileFormat.SystemTimeOffset; System.EnableDockedMode.Value = configurationFileFormat.DockedMode; System.EnableDockedMode.Value = configurationFileFormat.DockedMode; EnableDiscordIntegration.Value = configurationFileFormat.EnableDiscordIntegration; -- cgit v1.2.3