aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Common/Configuration/ConfigurationState.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Common/Configuration/ConfigurationState.cs')
-rw-r--r--Ryujinx.Common/Configuration/ConfigurationState.cs75
1 files changed, 47 insertions, 28 deletions
diff --git a/Ryujinx.Common/Configuration/ConfigurationState.cs b/Ryujinx.Common/Configuration/ConfigurationState.cs
index e257fa23..1e26b4f4 100644
--- a/Ryujinx.Common/Configuration/ConfigurationState.cs
+++ b/Ryujinx.Common/Configuration/ConfigurationState.cs
@@ -155,16 +155,17 @@ namespace Ryujinx.Configuration
public LoggerSection()
{
- EnableDebug = new ReactiveObject<bool>();
- EnableStub = new ReactiveObject<bool>();
- EnableInfo = new ReactiveObject<bool>();
- EnableWarn = new ReactiveObject<bool>();
- EnableError = new ReactiveObject<bool>();
- EnableGuest = new ReactiveObject<bool>();
- EnableFsAccessLog = new ReactiveObject<bool>();
- FilteredClasses = new ReactiveObject<LogClass[]>();
- EnableFileLog = new ReactiveObject<bool>();
- GraphicsDebugLevel = new ReactiveObject<GraphicsDebugLevel>();
+ EnableDebug = new ReactiveObject<bool>();
+ EnableStub = new ReactiveObject<bool>();
+ EnableInfo = new ReactiveObject<bool>();
+ EnableWarn = new ReactiveObject<bool>();
+ EnableError = new ReactiveObject<bool>();
+ EnableGuest = new ReactiveObject<bool>();
+ EnableFsAccessLog = new ReactiveObject<bool>();
+ FilteredClasses = new ReactiveObject<LogClass[]>();
+ EnableFileLog = new ReactiveObject<bool>();
+ EnableFileLog.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableFileLog));
+ GraphicsDebugLevel = new ReactiveObject<GraphicsDebugLevel>();
}
}
@@ -230,17 +231,24 @@ namespace Ryujinx.Configuration
public SystemSection()
{
- Language = new ReactiveObject<Language>();
- Region = new ReactiveObject<Region>();
- TimeZone = new ReactiveObject<string>();
- SystemTimeOffset = new ReactiveObject<long>();
- EnableDockedMode = new ReactiveObject<bool>();
- EnablePtc = new ReactiveObject<bool>();
- EnableFsIntegrityChecks = new ReactiveObject<bool>();
- FsGlobalAccessLogMode = new ReactiveObject<int>();
- AudioBackend = new ReactiveObject<AudioBackend>();
- ExpandRam = new ReactiveObject<bool>();
- IgnoreMissingServices = new ReactiveObject<bool>();
+ Language = new ReactiveObject<Language>();
+ Region = new ReactiveObject<Region>();
+ TimeZone = new ReactiveObject<string>();
+ SystemTimeOffset = new ReactiveObject<long>();
+ EnableDockedMode = new ReactiveObject<bool>();
+ EnableDockedMode.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableDockedMode));
+ EnablePtc = new ReactiveObject<bool>();
+ EnablePtc.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnablePtc));
+ EnableFsIntegrityChecks = new ReactiveObject<bool>();
+ EnableFsIntegrityChecks.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableFsIntegrityChecks));
+ FsGlobalAccessLogMode = new ReactiveObject<int>();
+ FsGlobalAccessLogMode.Event += static (sender, e) => LogValueChange(sender, e, nameof(FsGlobalAccessLogMode));
+ AudioBackend = new ReactiveObject<AudioBackend>();
+ AudioBackend.Event += static (sender, e) => LogValueChange(sender, e, nameof(AudioBackend));
+ ExpandRam = new ReactiveObject<bool>();
+ ExpandRam.Event += static (sender, e) => LogValueChange(sender, e, nameof(ExpandRam));
+ IgnoreMissingServices = new ReactiveObject<bool>();
+ IgnoreMissingServices.Event += static (sender, e) => LogValueChange(sender, e, nameof(IgnoreMissingServices));
}
}
@@ -316,13 +324,19 @@ namespace Ryujinx.Configuration
public GraphicsSection()
{
- ResScale = new ReactiveObject<int>();
- ResScaleCustom = new ReactiveObject<float>();
- MaxAnisotropy = new ReactiveObject<float>();
- AspectRatio = new ReactiveObject<AspectRatio>();
- ShadersDumpPath = new ReactiveObject<string>();
- EnableVsync = new ReactiveObject<bool>();
- EnableShaderCache = new ReactiveObject<bool>();
+ ResScale = new ReactiveObject<int>();
+ ResScale.Event += static (sender, e) => LogValueChange(sender, e, nameof(ResScale));
+ ResScaleCustom = new ReactiveObject<float>();
+ ResScaleCustom.Event += static (sender, e) => LogValueChange(sender, e, nameof(ResScaleCustom));
+ MaxAnisotropy = new ReactiveObject<float>();
+ MaxAnisotropy.Event += static (sender, e) => LogValueChange(sender, e, nameof(MaxAnisotropy));
+ AspectRatio = new ReactiveObject<AspectRatio>();
+ AspectRatio.Event += static (sender, e) => LogValueChange(sender, e, nameof(AspectRatio));
+ ShadersDumpPath = new ReactiveObject<string>();
+ EnableVsync = new ReactiveObject<bool>();
+ EnableVsync.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableVsync));
+ EnableShaderCache = new ReactiveObject<bool>();
+ EnableShaderCache.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableShaderCache));
}
}
@@ -876,6 +890,11 @@ namespace Ryujinx.Configuration
}
}
+ private static void LogValueChange<T>(object sender, ReactiveEventArgs<T> eventArgs, string valueName)
+ {
+ Common.Logging.Logger.Info?.Print(LogClass.Configuration, $"{valueName} set to: {eventArgs.NewValue}");
+ }
+
public static void Initialize()
{
if (Instance != null)