aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Ui.Common/Configuration/ConfigurationState.cs')
-rw-r--r--Ryujinx.Ui.Common/Configuration/ConfigurationState.cs455
1 files changed, 251 insertions, 204 deletions
diff --git a/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs b/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs
index 7f76dc3f..b8c174da 100644
--- a/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs
+++ b/Ryujinx.Ui.Common/Configuration/ConfigurationState.cs
@@ -411,23 +411,44 @@ namespace Ryujinx.Ui.Common.Configuration
/// </summary>
public ReactiveObject<bool> EnableShaderCache { get; private set; }
+ /// <summary>
+ /// Enables or disables texture recompression
+ /// </summary>
+ public ReactiveObject<bool> EnableTextureRecompression { get; private set; }
+
+ /// <summary>
+ /// Graphics backend
+ /// </summary>
+ public ReactiveObject<GraphicsBackend> GraphicsBackend { get; private set; }
+
+ /// <summary>
+ /// Preferred GPU
+ /// </summary>
+ public ReactiveObject<string> PreferredGpu { get; private set; }
+
public GraphicsSection()
{
- BackendThreading = new ReactiveObject<BackendThreading>();
- BackendThreading.Event += static (sender, e) => LogValueChange(sender, e, nameof(BackendThreading));
- 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));
+ BackendThreading = new ReactiveObject<BackendThreading>();
+ BackendThreading.Event += static (sender, e) => LogValueChange(sender, e, nameof(BackendThreading));
+ 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));
+ EnableTextureRecompression = new ReactiveObject<bool>();
+ EnableTextureRecompression.Event += static (sender, e) => LogValueChange(sender, e, nameof(EnableTextureRecompression));
+ GraphicsBackend = new ReactiveObject<GraphicsBackend>();
+ GraphicsBackend.Event += static (sender, e) => LogValueChange(sender, e, nameof(GraphicsBackend));
+ PreferredGpu = new ReactiveObject<string>();
+ PreferredGpu.Event += static (sender, e) => LogValueChange(sender, e, nameof(PreferredGpu));
}
}
@@ -498,45 +519,46 @@ namespace Ryujinx.Ui.Common.Configuration
{
ConfigurationFileFormat configurationFile = new ConfigurationFileFormat
{
- Version = ConfigurationFileFormat.CurrentVersion,
- BackendThreading = Graphics.BackendThreading,
- EnableFileLog = Logger.EnableFileLog,
- ResScale = Graphics.ResScale,
- ResScaleCustom = Graphics.ResScaleCustom,
- MaxAnisotropy = Graphics.MaxAnisotropy,
- AspectRatio = Graphics.AspectRatio,
- GraphicsShadersDumpPath = Graphics.ShadersDumpPath,
- LoggingEnableDebug = Logger.EnableDebug,
- LoggingEnableStub = Logger.EnableStub,
- LoggingEnableInfo = Logger.EnableInfo,
- LoggingEnableWarn = Logger.EnableWarn,
- LoggingEnableError = Logger.EnableError,
- LoggingEnableTrace = Logger.EnableTrace,
- LoggingEnableGuest = Logger.EnableGuest,
- LoggingEnableFsAccessLog = Logger.EnableFsAccessLog,
- LoggingFilteredClasses = Logger.FilteredClasses,
- LoggingGraphicsDebugLevel = Logger.GraphicsDebugLevel,
- SystemLanguage = System.Language,
- SystemRegion = System.Region,
- SystemTimeZone = System.TimeZone,
- SystemTimeOffset = System.SystemTimeOffset,
- DockedMode = System.EnableDockedMode,
- EnableDiscordIntegration = EnableDiscordIntegration,
- CheckUpdatesOnStart = CheckUpdatesOnStart,
- ShowConfirmExit = ShowConfirmExit,
- HideCursorOnIdle = HideCursorOnIdle,
- EnableVsync = Graphics.EnableVsync,
- EnableShaderCache = Graphics.EnableShaderCache,
- EnablePtc = System.EnablePtc,
- EnableInternetAccess = System.EnableInternetAccess,
- EnableFsIntegrityChecks = System.EnableFsIntegrityChecks,
- FsGlobalAccessLogMode = System.FsGlobalAccessLogMode,
- AudioBackend = System.AudioBackend,
- AudioVolume = System.AudioVolume,
- MemoryManagerMode = System.MemoryManagerMode,
- ExpandRam = System.ExpandRam,
- IgnoreMissingServices = System.IgnoreMissingServices,
- GuiColumns = new GuiColumns
+ Version = ConfigurationFileFormat.CurrentVersion,
+ BackendThreading = Graphics.BackendThreading,
+ EnableFileLog = Logger.EnableFileLog,
+ ResScale = Graphics.ResScale,
+ ResScaleCustom = Graphics.ResScaleCustom,
+ MaxAnisotropy = Graphics.MaxAnisotropy,
+ AspectRatio = Graphics.AspectRatio,
+ GraphicsShadersDumpPath = Graphics.ShadersDumpPath,
+ LoggingEnableDebug = Logger.EnableDebug,
+ LoggingEnableStub = Logger.EnableStub,
+ LoggingEnableInfo = Logger.EnableInfo,
+ LoggingEnableWarn = Logger.EnableWarn,
+ LoggingEnableError = Logger.EnableError,
+ LoggingEnableTrace = Logger.EnableTrace,
+ LoggingEnableGuest = Logger.EnableGuest,
+ LoggingEnableFsAccessLog = Logger.EnableFsAccessLog,
+ LoggingFilteredClasses = Logger.FilteredClasses,
+ LoggingGraphicsDebugLevel = Logger.GraphicsDebugLevel,
+ SystemLanguage = System.Language,
+ SystemRegion = System.Region,
+ SystemTimeZone = System.TimeZone,
+ SystemTimeOffset = System.SystemTimeOffset,
+ DockedMode = System.EnableDockedMode,
+ EnableDiscordIntegration = EnableDiscordIntegration,
+ CheckUpdatesOnStart = CheckUpdatesOnStart,
+ ShowConfirmExit = ShowConfirmExit,
+ HideCursorOnIdle = HideCursorOnIdle,
+ EnableVsync = Graphics.EnableVsync,
+ EnableShaderCache = Graphics.EnableShaderCache,
+ EnableTextureRecompression = Graphics.EnableTextureRecompression,
+ EnablePtc = System.EnablePtc,
+ EnableInternetAccess = System.EnableInternetAccess,
+ EnableFsIntegrityChecks = System.EnableFsIntegrityChecks,
+ FsGlobalAccessLogMode = System.FsGlobalAccessLogMode,
+ AudioBackend = System.AudioBackend,
+ AudioVolume = System.AudioVolume,
+ MemoryManagerMode = System.MemoryManagerMode,
+ ExpandRam = System.ExpandRam,
+ IgnoreMissingServices = System.IgnoreMissingServices,
+ GuiColumns = new GuiColumns
{
FavColumn = Ui.GuiColumns.FavColumn,
IconColumn = Ui.GuiColumns.IconColumn,
@@ -547,31 +569,33 @@ namespace Ryujinx.Ui.Common.Configuration
LastPlayedColumn = Ui.GuiColumns.LastPlayedColumn,
FileExtColumn = Ui.GuiColumns.FileExtColumn,
FileSizeColumn = Ui.GuiColumns.FileSizeColumn,
- PathColumn = Ui.GuiColumns.PathColumn,
+ PathColumn = Ui.GuiColumns.PathColumn
},
- ColumnSort = new ColumnSort
+ ColumnSort = new ColumnSort
{
SortColumnId = Ui.ColumnSort.SortColumnId,
SortAscending = Ui.ColumnSort.SortAscending
},
- GameDirs = Ui.GameDirs,
- LanguageCode = Ui.LanguageCode,
- EnableCustomTheme = Ui.EnableCustomTheme,
- CustomThemePath = Ui.CustomThemePath,
- BaseStyle = Ui.BaseStyle,
- GameListViewMode = Ui.GameListViewMode,
- ShowNames = Ui.ShowNames,
- GridSize = Ui.GridSize,
- ApplicationSort = Ui.ApplicationSort,
- IsAscendingOrder = Ui.IsAscendingOrder,
- StartFullscreen = Ui.StartFullscreen,
- ShowConsole = Ui.ShowConsole,
- EnableKeyboard = Hid.EnableKeyboard,
- EnableMouse = Hid.EnableMouse,
- Hotkeys = Hid.Hotkeys,
- KeyboardConfig = new List<object>(),
- ControllerConfig = new List<object>(),
- InputConfig = Hid.InputConfig,
+ GameDirs = Ui.GameDirs,
+ LanguageCode = Ui.LanguageCode,
+ EnableCustomTheme = Ui.EnableCustomTheme,
+ CustomThemePath = Ui.CustomThemePath,
+ BaseStyle = Ui.BaseStyle,
+ GameListViewMode = Ui.GameListViewMode,
+ ShowNames = Ui.ShowNames,
+ GridSize = Ui.GridSize,
+ ApplicationSort = Ui.ApplicationSort,
+ IsAscendingOrder = Ui.IsAscendingOrder,
+ StartFullscreen = Ui.StartFullscreen,
+ ShowConsole = Ui.ShowConsole,
+ EnableKeyboard = Hid.EnableKeyboard,
+ EnableMouse = Hid.EnableMouse,
+ Hotkeys = Hid.Hotkeys,
+ KeyboardConfig = new List<object>(),
+ ControllerConfig = new List<object>(),
+ InputConfig = Hid.InputConfig,
+ GraphicsBackend = Graphics.GraphicsBackend,
+ PreferredGpu = Graphics.PreferredGpu
};
return configurationFile;
@@ -579,69 +603,72 @@ namespace Ryujinx.Ui.Common.Configuration
public void LoadDefault()
{
- Logger.EnableFileLog.Value = true;
- Graphics.BackendThreading.Value = BackendThreading.Auto;
- Graphics.ResScale.Value = 1;
- Graphics.ResScaleCustom.Value = 1.0f;
- Graphics.MaxAnisotropy.Value = -1.0f;
- Graphics.AspectRatio.Value = AspectRatio.Fixed16x9;
- Graphics.ShadersDumpPath.Value = "";
- Logger.EnableDebug.Value = false;
- Logger.EnableStub.Value = true;
- Logger.EnableInfo.Value = true;
- Logger.EnableWarn.Value = true;
- Logger.EnableError.Value = true;
- Logger.EnableTrace.Value = false;
- Logger.EnableGuest.Value = true;
- Logger.EnableFsAccessLog.Value = false;
- Logger.FilteredClasses.Value = Array.Empty<LogClass>();
- Logger.GraphicsDebugLevel.Value = GraphicsDebugLevel.None;
- System.Language.Value = Language.AmericanEnglish;
- System.Region.Value = Region.USA;
- System.TimeZone.Value = "UTC";
- System.SystemTimeOffset.Value = 0;
- System.EnableDockedMode.Value = true;
- EnableDiscordIntegration.Value = true;
- CheckUpdatesOnStart.Value = true;
- ShowConfirmExit.Value = true;
- HideCursorOnIdle.Value = false;
- Graphics.EnableVsync.Value = true;
- Graphics.EnableShaderCache.Value = true;
- System.EnablePtc.Value = true;
- System.EnableInternetAccess.Value = false;
- System.EnableFsIntegrityChecks.Value = true;
- System.FsGlobalAccessLogMode.Value = 0;
- System.AudioBackend.Value = AudioBackend.SDL2;
- System.AudioVolume.Value = 1;
- System.MemoryManagerMode.Value = MemoryManagerMode.HostMappedUnsafe;
- System.ExpandRam.Value = false;
- System.IgnoreMissingServices.Value = false;
- Ui.GuiColumns.FavColumn.Value = true;
- Ui.GuiColumns.IconColumn.Value = true;
- Ui.GuiColumns.AppColumn.Value = true;
- Ui.GuiColumns.DevColumn.Value = true;
- Ui.GuiColumns.VersionColumn.Value = true;
- Ui.GuiColumns.TimePlayedColumn.Value = true;
- Ui.GuiColumns.LastPlayedColumn.Value = true;
- Ui.GuiColumns.FileExtColumn.Value = true;
- Ui.GuiColumns.FileSizeColumn.Value = true;
- Ui.GuiColumns.PathColumn.Value = true;
- Ui.ColumnSort.SortColumnId.Value = 0;
- Ui.ColumnSort.SortAscending.Value = false;
- Ui.GameDirs.Value = new List<string>();
- Ui.EnableCustomTheme.Value = false;
- Ui.LanguageCode.Value = "en_US";
- Ui.CustomThemePath.Value = "";
- Ui.BaseStyle.Value = "Dark";
- Ui.GameListViewMode.Value = 0;
- Ui.ShowNames.Value = true;
- Ui.GridSize.Value = 2;
- Ui.ApplicationSort.Value = 0;
- Ui.IsAscendingOrder.Value = true;
- Ui.StartFullscreen.Value = false;
- Ui.ShowConsole.Value = true;
- Hid.EnableKeyboard.Value = false;
- Hid.EnableMouse.Value = false;
+ Logger.EnableFileLog.Value = true;
+ Graphics.BackendThreading.Value = BackendThreading.Auto;
+ Graphics.ResScale.Value = 1;
+ Graphics.ResScaleCustom.Value = 1.0f;
+ Graphics.MaxAnisotropy.Value = -1.0f;
+ Graphics.AspectRatio.Value = AspectRatio.Fixed16x9;
+ Graphics.GraphicsBackend.Value = GraphicsBackend.OpenGl;
+ Graphics.PreferredGpu.Value = "";
+ Graphics.ShadersDumpPath.Value = "";
+ Logger.EnableDebug.Value = false;
+ Logger.EnableStub.Value = true;
+ Logger.EnableInfo.Value = true;
+ Logger.EnableWarn.Value = true;
+ Logger.EnableError.Value = true;
+ Logger.EnableTrace.Value = false;
+ Logger.EnableGuest.Value = true;
+ Logger.EnableFsAccessLog.Value = false;
+ Logger.FilteredClasses.Value = Array.Empty<LogClass>();
+ Logger.GraphicsDebugLevel.Value = GraphicsDebugLevel.None;
+ System.Language.Value = Language.AmericanEnglish;
+ System.Region.Value = Region.USA;
+ System.TimeZone.Value = "UTC";
+ System.SystemTimeOffset.Value = 0;
+ System.EnableDockedMode.Value = true;
+ EnableDiscordIntegration.Value = true;
+ CheckUpdatesOnStart.Value = true;
+ ShowConfirmExit.Value = true;
+ HideCursorOnIdle.Value = false;
+ Graphics.EnableVsync.Value = true;
+ Graphics.EnableShaderCache.Value = true;
+ Graphics.EnableTextureRecompression.Value = false;
+ System.EnablePtc.Value = true;
+ System.EnableInternetAccess.Value = false;
+ System.EnableFsIntegrityChecks.Value = true;
+ System.FsGlobalAccessLogMode.Value = 0;
+ System.AudioBackend.Value = AudioBackend.SDL2;
+ System.AudioVolume.Value = 1;
+ System.MemoryManagerMode.Value = MemoryManagerMode.HostMappedUnsafe;
+ System.ExpandRam.Value = false;
+ System.IgnoreMissingServices.Value = false;
+ Ui.GuiColumns.FavColumn.Value = true;
+ Ui.GuiColumns.IconColumn.Value = true;
+ Ui.GuiColumns.AppColumn.Value = true;
+ Ui.GuiColumns.DevColumn.Value = true;
+ Ui.GuiColumns.VersionColumn.Value = true;
+ Ui.GuiColumns.TimePlayedColumn.Value = true;
+ Ui.GuiColumns.LastPlayedColumn.Value = true;
+ Ui.GuiColumns.FileExtColumn.Value = true;
+ Ui.GuiColumns.FileSizeColumn.Value = true;
+ Ui.GuiColumns.PathColumn.Value = true;
+ Ui.ColumnSort.SortColumnId.Value = 0;
+ Ui.ColumnSort.SortAscending.Value = false;
+ Ui.GameDirs.Value = new List<string>();
+ Ui.EnableCustomTheme.Value = false;
+ Ui.LanguageCode.Value = "en_US";
+ Ui.CustomThemePath.Value = "";
+ Ui.BaseStyle.Value = "Dark";
+ Ui.GameListViewMode.Value = 0;
+ Ui.ShowNames.Value = true;
+ Ui.GridSize.Value = 2;
+ Ui.ApplicationSort.Value = 0;
+ Ui.IsAscendingOrder.Value = true;
+ Ui.StartFullscreen.Value = false;
+ Ui.ShowConsole.Value = true;
+ Hid.EnableKeyboard.Value = false;
+ Hid.EnableMouse.Value = false;
Hid.Hotkeys.Value = new KeyboardHotkeys
{
ToggleVsync = Key.Tab,
@@ -708,7 +735,7 @@ namespace Ryujinx.Ui.Common.Configuration
};
}
- public void Load(ConfigurationFileFormat configurationFileFormat, string configurationFilePath)
+ public ConfigurationLoadResult Load(ConfigurationFileFormat configurationFileFormat, string configurationFilePath)
{
bool configurationFileUpdated = false;
@@ -718,9 +745,11 @@ namespace Ryujinx.Ui.Common.Configuration
LoadDefault();
- return;
+ return ConfigurationLoadResult.NotLoaded;
}
+ ConfigurationLoadResult result = ConfigurationLoadResult.Success;
+
if (configurationFileFormat.Version < 2)
{
Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 2.");
@@ -1112,73 +1141,89 @@ namespace Ryujinx.Ui.Common.Configuration
ResScaleUp = Key.Unbound,
ResScaleDown = Key.Unbound
};
+
+ configurationFileUpdated = true;
+ }
+
+ if (configurationFileFormat.Version < 40)
+ {
+ Ryujinx.Common.Logging.Logger.Warning?.Print(LogClass.Application, $"Outdated configuration version {configurationFileFormat.Version}, migrating to version 40.");
+
+ configurationFileFormat.GraphicsBackend = GraphicsBackend.OpenGl;
+
+ result |= ConfigurationLoadResult.MigratedFromPreVulkan;
+
+ configurationFileUpdated = true;
}
- Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog;
- Graphics.ResScale.Value = configurationFileFormat.ResScale;
- Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom;
- Graphics.MaxAnisotropy.Value = configurationFileFormat.MaxAnisotropy;
- Graphics.AspectRatio.Value = configurationFileFormat.AspectRatio;
- Graphics.ShadersDumpPath.Value = configurationFileFormat.GraphicsShadersDumpPath;
- Graphics.BackendThreading.Value = configurationFileFormat.BackendThreading;
- Logger.EnableDebug.Value = configurationFileFormat.LoggingEnableDebug;
- Logger.EnableStub.Value = configurationFileFormat.LoggingEnableStub;
- Logger.EnableInfo.Value = configurationFileFormat.LoggingEnableInfo;
- Logger.EnableWarn.Value = configurationFileFormat.LoggingEnableWarn;
- Logger.EnableError.Value = configurationFileFormat.LoggingEnableError;
- Logger.EnableTrace.Value = configurationFileFormat.LoggingEnableTrace;
- Logger.EnableGuest.Value = configurationFileFormat.LoggingEnableGuest;
- Logger.EnableFsAccessLog.Value = configurationFileFormat.LoggingEnableFsAccessLog;
- Logger.FilteredClasses.Value = configurationFileFormat.LoggingFilteredClasses;
- Logger.GraphicsDebugLevel.Value = configurationFileFormat.LoggingGraphicsDebugLevel;
- 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;
- EnableDiscordIntegration.Value = configurationFileFormat.EnableDiscordIntegration;
- CheckUpdatesOnStart.Value = configurationFileFormat.CheckUpdatesOnStart;
- ShowConfirmExit.Value = configurationFileFormat.ShowConfirmExit;
- HideCursorOnIdle.Value = configurationFileFormat.HideCursorOnIdle;
- Graphics.EnableVsync.Value = configurationFileFormat.EnableVsync;
- Graphics.EnableShaderCache.Value = configurationFileFormat.EnableShaderCache;
- System.EnablePtc.Value = configurationFileFormat.EnablePtc;
- System.EnableInternetAccess.Value = configurationFileFormat.EnableInternetAccess;
- System.EnableFsIntegrityChecks.Value = configurationFileFormat.EnableFsIntegrityChecks;
- System.FsGlobalAccessLogMode.Value = configurationFileFormat.FsGlobalAccessLogMode;
- System.AudioBackend.Value = configurationFileFormat.AudioBackend;
- System.AudioVolume.Value = configurationFileFormat.AudioVolume;
- System.MemoryManagerMode.Value = configurationFileFormat.MemoryManagerMode;
- System.ExpandRam.Value = configurationFileFormat.ExpandRam;
- System.IgnoreMissingServices.Value = configurationFileFormat.IgnoreMissingServices;
- Ui.GuiColumns.FavColumn.Value = configurationFileFormat.GuiColumns.FavColumn;
- Ui.GuiColumns.IconColumn.Value = configurationFileFormat.GuiColumns.IconColumn;
- Ui.GuiColumns.AppColumn.Value = configurationFileFormat.GuiColumns.AppColumn;
- Ui.GuiColumns.DevColumn.Value = configurationFileFormat.GuiColumns.DevColumn;
- Ui.GuiColumns.VersionColumn.Value = configurationFileFormat.GuiColumns.VersionColumn;
- Ui.GuiColumns.TimePlayedColumn.Value = configurationFileFormat.GuiColumns.TimePlayedColumn;
- Ui.GuiColumns.LastPlayedColumn.Value = configurationFileFormat.GuiColumns.LastPlayedColumn;
- Ui.GuiColumns.FileExtColumn.Value = configurationFileFormat.GuiColumns.FileExtColumn;
- Ui.GuiColumns.FileSizeColumn.Value = configurationFileFormat.GuiColumns.FileSizeColumn;
- Ui.GuiColumns.PathColumn.Value = configurationFileFormat.GuiColumns.PathColumn;
- Ui.ColumnSort.SortColumnId.Value = configurationFileFormat.ColumnSort.SortColumnId;
- Ui.ColumnSort.SortAscending.Value = configurationFileFormat.ColumnSort.SortAscending;
- Ui.GameDirs.Value = configurationFileFormat.GameDirs;
- Ui.EnableCustomTheme.Value = configurationFileFormat.EnableCustomTheme;
- Ui.LanguageCode.Value = configurationFileFormat.LanguageCode;
- Ui.CustomThemePath.Value = configurationFileFormat.CustomThemePath;
- Ui.BaseStyle.Value = configurationFileFormat.BaseStyle;
- Ui.GameListViewMode.Value = configurationFileFormat.GameListViewMode;
- Ui.ShowNames.Value = configurationFileFormat.ShowNames;
- Ui.IsAscendingOrder.Value = configurationFileFormat.IsAscendingOrder;
- Ui.GridSize.Value = configurationFileFormat.GridSize;
- Ui.ApplicationSort.Value = configurationFileFormat.ApplicationSort;
- Ui.StartFullscreen.Value = configurationFileFormat.StartFullscreen;
- Ui.ShowConsole.Value = configurationFileFormat.ShowConsole;
- Hid.EnableKeyboard.Value = configurationFileFormat.EnableKeyboard;
- Hid.EnableMouse.Value = configurationFileFormat.EnableMouse;
- Hid.Hotkeys.Value = configurationFileFormat.Hotkeys;
- Hid.InputConfig.Value = configurationFileFormat.InputConfig;
+ Logger.EnableFileLog.Value = configurationFileFormat.EnableFileLog;
+ Graphics.ResScale.Value = configurationFileFormat.ResScale;
+ Graphics.ResScaleCustom.Value = configurationFileFormat.ResScaleCustom;
+ Graphics.MaxAnisotropy.Value = configurationFileFormat.MaxAnisotropy;
+ Graphics.AspectRatio.Value = configurationFileFormat.AspectRatio;
+ Graphics.ShadersDumpPath.Value = configurationFileFormat.GraphicsShadersDumpPath;
+ Graphics.BackendThreading.Value = configurationFileFormat.BackendThreading;
+ Graphics.GraphicsBackend.Value = configurationFileFormat.GraphicsBackend;
+ Graphics.PreferredGpu.Value = configurationFileFormat.PreferredGpu;
+ Logger.EnableDebug.Value = configurationFileFormat.LoggingEnableDebug;
+ Logger.EnableStub.Value = configurationFileFormat.LoggingEnableStub;
+ Logger.EnableInfo.Value = configurationFileFormat.LoggingEnableInfo;
+ Logger.EnableWarn.Value = configurationFileFormat.LoggingEnableWarn;
+ Logger.EnableError.Value = configurationFileFormat.LoggingEnableError;
+ Logger.EnableTrace.Value = configurationFileFormat.LoggingEnableTrace;
+ Logger.EnableGuest.Value = configurationFileFormat.LoggingEnableGuest;
+ Logger.EnableFsAccessLog.Value = configurationFileFormat.LoggingEnableFsAccessLog;
+ Logger.FilteredClasses.Value = configurationFileFormat.LoggingFilteredClasses;
+ Logger.GraphicsDebugLevel.Value = configurationFileFormat.LoggingGraphicsDebugLevel;
+ 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;
+ EnableDiscordIntegration.Value = configurationFileFormat.EnableDiscordIntegration;
+ CheckUpdatesOnStart.Value = configurationFileFormat.CheckUpdatesOnStart;
+ ShowConfirmExit.Value = configurationFileFormat.ShowConfirmExit;
+ HideCursorOnIdle.Value = configurationFileFormat.HideCursorOnIdle;
+ Graphics.EnableVsync.Value = configurationFileFormat.EnableVsync;
+ Graphics.EnableShaderCache.Value = configurationFileFormat.EnableShaderCache;
+ Graphics.EnableTextureRecompression.Value = configurationFileFormat.EnableTextureRecompression;
+ System.EnablePtc.Value = configurationFileFormat.EnablePtc;
+ System.EnableInternetAccess.Value = configurationFileFormat.EnableInternetAccess;
+ System.EnableFsIntegrityChecks.Value = configurationFileFormat.EnableFsIntegrityChecks;
+ System.FsGlobalAccessLogMode.Value = configurationFileFormat.FsGlobalAccessLogMode;
+ System.AudioBackend.Value = configurationFileFormat.AudioBackend;
+ System.AudioVolume.Value = configurationFileFormat.AudioVolume;
+ System.MemoryManagerMode.Value = configurationFileFormat.MemoryManagerMode;
+ System.ExpandRam.Value = configurationFileFormat.ExpandRam;
+ System.IgnoreMissingServices.Value = configurationFileFormat.IgnoreMissingServices;
+ Ui.GuiColumns.FavColumn.Value = configurationFileFormat.GuiColumns.FavColumn;
+ Ui.GuiColumns.IconColumn.Value = configurationFileFormat.GuiColumns.IconColumn;
+ Ui.GuiColumns.AppColumn.Value = configurationFileFormat.GuiColumns.AppColumn;
+ Ui.GuiColumns.DevColumn.Value = configurationFileFormat.GuiColumns.DevColumn;
+ Ui.GuiColumns.VersionColumn.Value = configurationFileFormat.GuiColumns.VersionColumn;
+ Ui.GuiColumns.TimePlayedColumn.Value = configurationFileFormat.GuiColumns.TimePlayedColumn;
+ Ui.GuiColumns.LastPlayedColumn.Value = configurationFileFormat.GuiColumns.LastPlayedColumn;
+ Ui.GuiColumns.FileExtColumn.Value = configurationFileFormat.GuiColumns.FileExtColumn;
+ Ui.GuiColumns.FileSizeColumn.Value = configurationFileFormat.GuiColumns.FileSizeColumn;
+ Ui.GuiColumns.PathColumn.Value = configurationFileFormat.GuiColumns.PathColumn;
+ Ui.ColumnSort.SortColumnId.Value = configurationFileFormat.ColumnSort.SortColumnId;
+ Ui.ColumnSort.SortAscending.Value = configurationFileFormat.ColumnSort.SortAscending;
+ Ui.GameDirs.Value = configurationFileFormat.GameDirs;
+ Ui.EnableCustomTheme.Value = configurationFileFormat.EnableCustomTheme;
+ Ui.LanguageCode.Value = configurationFileFormat.LanguageCode;
+ Ui.CustomThemePath.Value = configurationFileFormat.CustomThemePath;
+ Ui.BaseStyle.Value = configurationFileFormat.BaseStyle;
+ Ui.GameListViewMode.Value = configurationFileFormat.GameListViewMode;
+ Ui.ShowNames.Value = configurationFileFormat.ShowNames;
+ Ui.IsAscendingOrder.Value = configurationFileFormat.IsAscendingOrder;
+ Ui.GridSize.Value = configurationFileFormat.GridSize;
+ Ui.ApplicationSort.Value = configurationFileFormat.ApplicationSort;
+ Ui.StartFullscreen.Value = configurationFileFormat.StartFullscreen;
+ Ui.ShowConsole.Value = configurationFileFormat.ShowConsole;
+ Hid.EnableKeyboard.Value = configurationFileFormat.EnableKeyboard;
+ Hid.EnableMouse.Value = configurationFileFormat.EnableMouse;
+ Hid.Hotkeys.Value = configurationFileFormat.Hotkeys;
+ Hid.InputConfig.Value = configurationFileFormat.InputConfig;
if (Hid.InputConfig.Value == null)
{
@@ -1191,6 +1236,8 @@ namespace Ryujinx.Ui.Common.Configuration
Ryujinx.Common.Logging.Logger.Notice.Print(LogClass.Application, $"Configuration file updated to version {ConfigurationFileFormat.CurrentVersion}");
}
+
+ return result;
}
private static void LogValueChange<T>(object sender, ReactiveEventArgs<T> eventArgs, string valueName)