aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs
diff options
context:
space:
mode:
authorAlex Barney <thealexbarney@gmail.com>2021-12-23 09:55:50 -0700
committerGitHub <noreply@github.com>2021-12-23 13:55:50 -0300
commitaa932a6df1764b7c600ae0ba4e0c7a0ba802f312 (patch)
tree24a390cf2330620aeeab1efbd42ae4099f61ca86 /Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs
parentcb43cc7e322014ce2bd0ee73b06d403be62fa8d5 (diff)
Update to LibHac v0.14.3 (#2925)
* Update to LibHac v0.14.3 * Fix loading NCAs that don't have a data partition
Diffstat (limited to 'Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs')
-rw-r--r--Ryujinx.HLE/FileSystem/EncryptedFileSystemCreator.cs16
1 files changed, 7 insertions, 9 deletions
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;
}