From b0c0e8f7ad260c8e8753b39dfe7214e72aee853b Mon Sep 17 00:00:00 2001 From: Evan Husted Date: Tue, 4 Mar 2025 18:23:57 -0600 Subject: [PATCH] misc: chore: Move Fs Integrity Checks getter to ConfigurationState --- src/Ryujinx/Common/ApplicationHelper.cs | 6 +----- src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs | 6 +----- .../Systems/Configuration/ConfigurationState.Model.cs | 8 ++++++-- src/Ryujinx/UI/Windows/CheatWindow.axaml.cs | 5 +---- src/Ryujinx/UI/Windows/MainWindow.axaml.cs | 6 +----- src/Ryujinx/Utilities/TitleUpdatesHelper.cs | 6 +----- 6 files changed, 11 insertions(+), 26 deletions(-) diff --git a/src/Ryujinx/Common/ApplicationHelper.cs b/src/Ryujinx/Common/ApplicationHelper.cs index c530ef459..0b81e8cff 100644 --- a/src/Ryujinx/Common/ApplicationHelper.cs +++ b/src/Ryujinx/Common/ApplicationHelper.cs @@ -216,11 +216,7 @@ namespace Ryujinx.Ava.Common return; } - IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks - ? IntegrityCheckLevel.ErrorOnInvalid - : IntegrityCheckLevel.None; - - (Nca updatePatchNca, _) = mainNca.GetUpdateData(_virtualFileSystem, checkLevel, programIndex, out _); + (Nca updatePatchNca, _) = mainNca.GetUpdateData(_virtualFileSystem, ConfigurationState.Instance.System.IntegrityCheckLevel, programIndex, out _); if (updatePatchNca is not null) { patchNca = updatePatchNca; diff --git a/src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs b/src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs index fa1d427cb..b7321d6c1 100644 --- a/src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs +++ b/src/Ryujinx/Systems/AppLibrary/ApplicationLibrary.cs @@ -618,15 +618,11 @@ namespace Ryujinx.Ava.Systems.AppLibrary case ".xci": case ".nsp": { - IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks - ? IntegrityCheckLevel.ErrorOnInvalid - : IntegrityCheckLevel.None; - using IFileSystem pfs = PartitionFileSystemUtils.OpenApplicationFileSystem(filePath, _virtualFileSystem); Dictionary updates = - pfs.GetContentData(ContentMetaType.Patch, _virtualFileSystem, checkLevel); + pfs.GetContentData(ContentMetaType.Patch, _virtualFileSystem, ConfigurationState.Instance.System.IntegrityCheckLevel); if (updates.Count == 0) { diff --git a/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs b/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs index 1a4992444..4d8a75de9 100644 --- a/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs +++ b/src/Ryujinx/Systems/Configuration/ConfigurationState.Model.cs @@ -352,6 +352,10 @@ namespace Ryujinx.Ava.Systems.Configuration /// public ReactiveObject EnableFsIntegrityChecks { get; private set; } + public IntegrityCheckLevel IntegrityCheckLevel => EnableFsIntegrityChecks + ? IntegrityCheckLevel.ErrorOnInvalid + : IntegrityCheckLevel.None; + /// /// Enables FS access log output to the console. Possible modes are 0-3 /// @@ -843,8 +847,8 @@ namespace Ryujinx.Ava.Systems.Configuration public HleConfiguration CreateHleConfiguration() => new( System.DramSize, - (SystemLanguage)System.Language.Value, - (RegionCode)System.Region.Value, + System.Language.Value.ToHLE(), + System.Region.Value.ToHLE(), Graphics.VSyncMode, System.EnableDockedMode, System.EnablePtc, diff --git a/src/Ryujinx/UI/Windows/CheatWindow.axaml.cs b/src/Ryujinx/UI/Windows/CheatWindow.axaml.cs index a5ccb2339..2cdca2241 100644 --- a/src/Ryujinx/UI/Windows/CheatWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/CheatWindow.axaml.cs @@ -38,12 +38,9 @@ namespace Ryujinx.Ava.UI.Windows MinHeight = 650; LoadedCheats = []; - IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks - ? IntegrityCheckLevel.ErrorOnInvalid - : IntegrityCheckLevel.None; Heading = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.CheatWindowHeading, titleName, titleId.ToUpper()); - BuildId = ApplicationData.GetBuildId(virtualFileSystem, checkLevel, titlePath); + BuildId = ApplicationData.GetBuildId(virtualFileSystem, ConfigurationState.Instance.System.IntegrityCheckLevel, titlePath); InitializeComponent(); diff --git a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs index 6cf5024de..b795902ef 100644 --- a/src/Ryujinx/UI/Windows/MainWindow.axaml.cs +++ b/src/Ryujinx/UI/Windows/MainWindow.axaml.cs @@ -273,11 +273,7 @@ namespace Ryujinx.Ava.UI.Windows LibHacHorizonManager.InitializeBcatServer(); LibHacHorizonManager.InitializeSystemClients(); - IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks - ? IntegrityCheckLevel.ErrorOnInvalid - : IntegrityCheckLevel.None; - - ApplicationLibrary = new ApplicationLibrary(VirtualFileSystem, checkLevel) + ApplicationLibrary = new ApplicationLibrary(VirtualFileSystem, ConfigurationState.Instance.System.IntegrityCheckLevel) { DesiredLanguage = ConfigurationState.Instance.System.Language, }; diff --git a/src/Ryujinx/Utilities/TitleUpdatesHelper.cs b/src/Ryujinx/Utilities/TitleUpdatesHelper.cs index 21a50a93b..5fc9b609a 100644 --- a/src/Ryujinx/Utilities/TitleUpdatesHelper.cs +++ b/src/Ryujinx/Utilities/TitleUpdatesHelper.cs @@ -81,10 +81,6 @@ namespace Ryujinx.Ava.Utilities { List<(TitleUpdateModel, bool IsSelected)> result = []; - IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks - ? IntegrityCheckLevel.ErrorOnInvalid - : IntegrityCheckLevel.None; - foreach (string path in titleUpdateMetadata.Paths) { if (!File.Exists(path)) @@ -95,7 +91,7 @@ namespace Ryujinx.Ava.Utilities using IFileSystem pfs = PartitionFileSystemUtils.OpenApplicationFileSystem(path, vfs); Dictionary updates = - pfs.GetContentData(ContentMetaType.Patch, vfs, checkLevel); + pfs.GetContentData(ContentMetaType.Patch, vfs, ConfigurationState.Instance.System.IntegrityCheckLevel); if (!updates.TryGetValue(applicationIdBase, out ContentMetaData content)) continue;