From aa932a6df1764b7c600ae0ba4e0c7a0ba802f312 Mon Sep 17 00:00:00 2001 From: Alex Barney <thealexbarney@gmail.com> Date: Thu, 23 Dec 2021 09:55:50 -0700 Subject: Update to LibHac v0.14.3 (#2925) * Update to LibHac v0.14.3 * Fix loading NCAs that don't have a data partition --- Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs') diff --git a/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs b/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs index f8e59fb5..60c3cfdb 100644 --- a/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs +++ b/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs @@ -3,25 +3,23 @@ using LibHac.Common; using LibHac.Fs; using LibHac.Fs.Fsa; using LibHac.FsSrv.FsCreator; -using LibHac.FsSystem; namespace Ryujinx.HLE.FileSystem { public class EncryptedFileSystemCreator : IEncryptedFileSystemCreator { - public Result Create(out ReferenceCountedDisposable<IFileSystem> encryptedFileSystem, ReferenceCountedDisposable<IFileSystem> baseFileSystem, - EncryptedFsKeyId keyId, in EncryptionSeed encryptionSeed) - { - UnsafeHelpers.SkipParamInit(out encryptedFileSystem); - if (keyId < EncryptedFsKeyId.Save || keyId > EncryptedFsKeyId.CustomStorage) + public Result Create(ref SharedRef<IFileSystem> outEncryptedFileSystem, + ref SharedRef<IFileSystem> baseFileSystem, IEncryptedFileSystemCreator.KeyId idIndex, + in EncryptionSeed encryptionSeed) + { + if (idIndex < IEncryptedFileSystemCreator.KeyId.Save || idIndex > IEncryptedFileSystemCreator.KeyId.CustomStorage) { return ResultFs.InvalidArgument.Log(); } - // Force all-zero keys for now since people can open the emulator with different keys or sd seeds sometimes - var fs = new AesXtsFileSystem(baseFileSystem, new byte[0x32], 0x4000); - encryptedFileSystem = new ReferenceCountedDisposable<IFileSystem>(fs); + // Todo: Reenable when AesXtsFileSystem is fixed + outEncryptedFileSystem = SharedRef<IFileSystem>.CreateMove(ref baseFileSystem); return Result.Success; } -- cgit v1.2.3-70-g09d2