Compare commits
2 Commits
Canary-1.2
...
Canary-1.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27cdf876a2 | ||
|
|
b0c0e8f7ad |
@@ -216,11 +216,7 @@ namespace Ryujinx.Ava.Common
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks
|
(Nca updatePatchNca, _) = mainNca.GetUpdateData(_virtualFileSystem, ConfigurationState.Instance.System.IntegrityCheckLevel, programIndex, out _);
|
||||||
? IntegrityCheckLevel.ErrorOnInvalid
|
|
||||||
: IntegrityCheckLevel.None;
|
|
||||||
|
|
||||||
(Nca updatePatchNca, _) = mainNca.GetUpdateData(_virtualFileSystem, checkLevel, programIndex, out _);
|
|
||||||
if (updatePatchNca is not null)
|
if (updatePatchNca is not null)
|
||||||
{
|
{
|
||||||
patchNca = updatePatchNca;
|
patchNca = updatePatchNca;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using CommandLine;
|
using CommandLine;
|
||||||
using Gommon;
|
using Gommon;
|
||||||
using Ryujinx.Ava.Systems.Configuration;
|
using Ryujinx.Ava.Systems.Configuration;
|
||||||
|
using Ryujinx.Ava.Systems.Configuration.System;
|
||||||
using Ryujinx.Common.Configuration;
|
using Ryujinx.Common.Configuration;
|
||||||
using Ryujinx.Common.Configuration.Hid;
|
using Ryujinx.Common.Configuration.Hid;
|
||||||
using Ryujinx.HLE;
|
using Ryujinx.HLE;
|
||||||
@@ -37,7 +38,7 @@ namespace Ryujinx.Headless
|
|||||||
EnableInternetAccess = configurationState.System.EnableInternetAccess;
|
EnableInternetAccess = configurationState.System.EnableInternetAccess;
|
||||||
|
|
||||||
if (NeedsOverride(nameof(DisableFsIntegrityChecks)))
|
if (NeedsOverride(nameof(DisableFsIntegrityChecks)))
|
||||||
DisableFsIntegrityChecks = configurationState.System.EnableFsIntegrityChecks;
|
DisableFsIntegrityChecks = !configurationState.System.EnableFsIntegrityChecks;
|
||||||
|
|
||||||
if (NeedsOverride(nameof(FsGlobalAccessLogMode)))
|
if (NeedsOverride(nameof(FsGlobalAccessLogMode)))
|
||||||
FsGlobalAccessLogMode = configurationState.System.FsGlobalAccessLogMode;
|
FsGlobalAccessLogMode = configurationState.System.FsGlobalAccessLogMode;
|
||||||
@@ -58,10 +59,10 @@ namespace Ryujinx.Headless
|
|||||||
DisableDockedMode = !configurationState.System.EnableDockedMode;
|
DisableDockedMode = !configurationState.System.EnableDockedMode;
|
||||||
|
|
||||||
if (NeedsOverride(nameof(SystemLanguage)))
|
if (NeedsOverride(nameof(SystemLanguage)))
|
||||||
SystemLanguage = (SystemLanguage)(int)configurationState.System.Language.Value;
|
SystemLanguage = configurationState.System.Language.Value.ToHLE();
|
||||||
|
|
||||||
if (NeedsOverride(nameof(SystemRegion)))
|
if (NeedsOverride(nameof(SystemRegion)))
|
||||||
SystemRegion = (RegionCode)(int)configurationState.System.Region.Value;
|
SystemRegion = configurationState.System.Region.Value.ToHLE();
|
||||||
|
|
||||||
if (NeedsOverride(nameof(SystemTimeZone)))
|
if (NeedsOverride(nameof(SystemTimeZone)))
|
||||||
SystemTimeZone = configurationState.System.TimeZone;
|
SystemTimeZone = configurationState.System.TimeZone;
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ using Ryujinx.Ava.UI.Helpers;
|
|||||||
using Ryujinx.Ava.UI.Windows;
|
using Ryujinx.Ava.UI.Windows;
|
||||||
using Ryujinx.Ava.Utilities;
|
using Ryujinx.Ava.Utilities;
|
||||||
using Ryujinx.Ava.Systems.Configuration;
|
using Ryujinx.Ava.Systems.Configuration;
|
||||||
|
using Ryujinx.Ava.Systems.Configuration.System;
|
||||||
using Ryujinx.Ava.Utilities.SystemInfo;
|
using Ryujinx.Ava.Utilities.SystemInfo;
|
||||||
using Ryujinx.Common;
|
using Ryujinx.Common;
|
||||||
using Ryujinx.Common.Configuration;
|
using Ryujinx.Common.Configuration;
|
||||||
@@ -282,16 +283,16 @@ namespace Ryujinx.Ava
|
|||||||
|
|
||||||
// Check if region was overridden.
|
// Check if region was overridden.
|
||||||
if (CommandLineState.OverrideSystemRegion is not null)
|
if (CommandLineState.OverrideSystemRegion is not null)
|
||||||
if (Enum.TryParse(CommandLineState.OverrideSystemRegion, true, out Ryujinx.HLE.HOS.SystemState.RegionCode result))
|
if (Enum.TryParse(CommandLineState.OverrideSystemRegion, true, out HLE.HOS.SystemState.RegionCode result))
|
||||||
{
|
{
|
||||||
ConfigurationState.Instance.System.Region.Value = (Systems.Configuration.System.Region)result;
|
ConfigurationState.Instance.System.Region.Value = result.ToUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Check if language was overridden.
|
//Check if language was overridden.
|
||||||
if (CommandLineState.OverrideSystemLanguage is not null)
|
if (CommandLineState.OverrideSystemLanguage is not null)
|
||||||
if (Enum.TryParse(CommandLineState.OverrideSystemLanguage, true, out Ryujinx.HLE.HOS.SystemState.SystemLanguage result))
|
if (Enum.TryParse(CommandLineState.OverrideSystemLanguage, true, out HLE.HOS.SystemState.SystemLanguage result))
|
||||||
{
|
{
|
||||||
ConfigurationState.Instance.System.Language.Value = (Systems.Configuration.System.Language)result;
|
ConfigurationState.Instance.System.Language.Value = result.ToUI();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check if hardware-acceleration was overridden.
|
// Check if hardware-acceleration was overridden.
|
||||||
|
|||||||
@@ -618,15 +618,11 @@ namespace Ryujinx.Ava.Systems.AppLibrary
|
|||||||
case ".xci":
|
case ".xci":
|
||||||
case ".nsp":
|
case ".nsp":
|
||||||
{
|
{
|
||||||
IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks
|
|
||||||
? IntegrityCheckLevel.ErrorOnInvalid
|
|
||||||
: IntegrityCheckLevel.None;
|
|
||||||
|
|
||||||
using IFileSystem pfs =
|
using IFileSystem pfs =
|
||||||
PartitionFileSystemUtils.OpenApplicationFileSystem(filePath, _virtualFileSystem);
|
PartitionFileSystemUtils.OpenApplicationFileSystem(filePath, _virtualFileSystem);
|
||||||
|
|
||||||
Dictionary<ulong, ContentMetaData> updates =
|
Dictionary<ulong, ContentMetaData> updates =
|
||||||
pfs.GetContentData(ContentMetaType.Patch, _virtualFileSystem, checkLevel);
|
pfs.GetContentData(ContentMetaType.Patch, _virtualFileSystem, ConfigurationState.Instance.System.IntegrityCheckLevel);
|
||||||
|
|
||||||
if (updates.Count == 0)
|
if (updates.Count == 0)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -352,6 +352,10 @@ namespace Ryujinx.Ava.Systems.Configuration
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public ReactiveObject<bool> EnableFsIntegrityChecks { get; private set; }
|
public ReactiveObject<bool> EnableFsIntegrityChecks { get; private set; }
|
||||||
|
|
||||||
|
public IntegrityCheckLevel IntegrityCheckLevel => EnableFsIntegrityChecks
|
||||||
|
? IntegrityCheckLevel.ErrorOnInvalid
|
||||||
|
: IntegrityCheckLevel.None;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Enables FS access log output to the console. Possible modes are 0-3
|
/// Enables FS access log output to the console. Possible modes are 0-3
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -843,8 +847,8 @@ namespace Ryujinx.Ava.Systems.Configuration
|
|||||||
public HleConfiguration CreateHleConfiguration() =>
|
public HleConfiguration CreateHleConfiguration() =>
|
||||||
new(
|
new(
|
||||||
System.DramSize,
|
System.DramSize,
|
||||||
(SystemLanguage)System.Language.Value,
|
System.Language.Value.ToHLE(),
|
||||||
(RegionCode)System.Region.Value,
|
System.Region.Value.ToHLE(),
|
||||||
Graphics.VSyncMode,
|
Graphics.VSyncMode,
|
||||||
System.EnableDockedMode,
|
System.EnableDockedMode,
|
||||||
System.EnablePtc,
|
System.EnablePtc,
|
||||||
|
|||||||
@@ -25,4 +25,13 @@ namespace Ryujinx.Ava.Systems.Configuration.System
|
|||||||
TraditionalChinese,
|
TraditionalChinese,
|
||||||
BrazilianPortuguese,
|
BrazilianPortuguese,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class LanguageEnumHelper
|
||||||
|
{
|
||||||
|
public static Language ToUI(this HLE.HOS.SystemState.SystemLanguage hleLanguage)
|
||||||
|
=> (Language)hleLanguage;
|
||||||
|
|
||||||
|
public static HLE.HOS.SystemState.SystemLanguage ToHLE(this Language uiLanguage)
|
||||||
|
=> (HLE.HOS.SystemState.SystemLanguage)uiLanguage;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,4 +14,13 @@ namespace Ryujinx.Ava.Systems.Configuration.System
|
|||||||
Korea,
|
Korea,
|
||||||
Taiwan,
|
Taiwan,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class RegionEnumHelper
|
||||||
|
{
|
||||||
|
public static Region ToUI(this HLE.HOS.SystemState.RegionCode hleRegion)
|
||||||
|
=> (Region)hleRegion;
|
||||||
|
|
||||||
|
public static HLE.HOS.SystemState.RegionCode ToHLE(this Region uiRegion)
|
||||||
|
=> (HLE.HOS.SystemState.RegionCode)uiRegion;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,12 +38,9 @@ namespace Ryujinx.Ava.UI.Windows
|
|||||||
MinHeight = 650;
|
MinHeight = 650;
|
||||||
|
|
||||||
LoadedCheats = [];
|
LoadedCheats = [];
|
||||||
IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks
|
|
||||||
? IntegrityCheckLevel.ErrorOnInvalid
|
|
||||||
: IntegrityCheckLevel.None;
|
|
||||||
|
|
||||||
Heading = LocaleManager.Instance.UpdateAndGetDynamicValue(LocaleKeys.CheatWindowHeading, titleName, titleId.ToUpper());
|
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();
|
InitializeComponent();
|
||||||
|
|
||||||
|
|||||||
@@ -273,11 +273,7 @@ namespace Ryujinx.Ava.UI.Windows
|
|||||||
LibHacHorizonManager.InitializeBcatServer();
|
LibHacHorizonManager.InitializeBcatServer();
|
||||||
LibHacHorizonManager.InitializeSystemClients();
|
LibHacHorizonManager.InitializeSystemClients();
|
||||||
|
|
||||||
IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks
|
ApplicationLibrary = new ApplicationLibrary(VirtualFileSystem, ConfigurationState.Instance.System.IntegrityCheckLevel)
|
||||||
? IntegrityCheckLevel.ErrorOnInvalid
|
|
||||||
: IntegrityCheckLevel.None;
|
|
||||||
|
|
||||||
ApplicationLibrary = new ApplicationLibrary(VirtualFileSystem, checkLevel)
|
|
||||||
{
|
{
|
||||||
DesiredLanguage = ConfigurationState.Instance.System.Language,
|
DesiredLanguage = ConfigurationState.Instance.System.Language,
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -81,10 +81,6 @@ namespace Ryujinx.Ava.Utilities
|
|||||||
{
|
{
|
||||||
List<(TitleUpdateModel, bool IsSelected)> result = [];
|
List<(TitleUpdateModel, bool IsSelected)> result = [];
|
||||||
|
|
||||||
IntegrityCheckLevel checkLevel = ConfigurationState.Instance.System.EnableFsIntegrityChecks
|
|
||||||
? IntegrityCheckLevel.ErrorOnInvalid
|
|
||||||
: IntegrityCheckLevel.None;
|
|
||||||
|
|
||||||
foreach (string path in titleUpdateMetadata.Paths)
|
foreach (string path in titleUpdateMetadata.Paths)
|
||||||
{
|
{
|
||||||
if (!File.Exists(path))
|
if (!File.Exists(path))
|
||||||
@@ -95,7 +91,7 @@ namespace Ryujinx.Ava.Utilities
|
|||||||
using IFileSystem pfs = PartitionFileSystemUtils.OpenApplicationFileSystem(path, vfs);
|
using IFileSystem pfs = PartitionFileSystemUtils.OpenApplicationFileSystem(path, vfs);
|
||||||
|
|
||||||
Dictionary<ulong, ContentMetaData> updates =
|
Dictionary<ulong, ContentMetaData> updates =
|
||||||
pfs.GetContentData(ContentMetaType.Patch, vfs, checkLevel);
|
pfs.GetContentData(ContentMetaType.Patch, vfs, ConfigurationState.Instance.System.IntegrityCheckLevel);
|
||||||
|
|
||||||
if (!updates.TryGetValue(applicationIdBase, out ContentMetaData content))
|
if (!updates.TryGetValue(applicationIdBase, out ContentMetaData content))
|
||||||
continue;
|
continue;
|
||||||
|
|||||||
Reference in New Issue
Block a user