aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/FileSystem/ContentManager.cs
diff options
context:
space:
mode:
authorAlex Barney <thealexbarney@gmail.com>2023-10-23 10:34:31 -0700
committerGitHub <noreply@github.com>2023-10-23 14:34:31 -0300
commitb1f8f868f6fdec87bd3342ac379594bd695cbbfd (patch)
tree894cf386fbff26b191e19890d46455d82816fbc3 /src/Ryujinx.HLE/FileSystem/ContentManager.cs
parentd773d5152e685a164a6eb9f419873ef1908364f7 (diff)
Fix the AOC manager using incorrect paths (#5840)1.1.1062
* Fix the content manager using incorrect path for some AOC NCAs * Check Results in a few more places in the content manager
Diffstat (limited to 'src/Ryujinx.HLE/FileSystem/ContentManager.cs')
-rw-r--r--src/Ryujinx.HLE/FileSystem/ContentManager.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/Ryujinx.HLE/FileSystem/ContentManager.cs b/src/Ryujinx.HLE/FileSystem/ContentManager.cs
index 8ade34a8..724cb675 100644
--- a/src/Ryujinx.HLE/FileSystem/ContentManager.cs
+++ b/src/Ryujinx.HLE/FileSystem/ContentManager.cs
@@ -198,7 +198,7 @@ namespace Ryujinx.HLE.FileSystem
{
using var ncaFile = new UniqueRef<IFile>();
- fs.OpenFile(ref ncaFile.Ref, ncaPath.FullPath.ToU8Span(), OpenMode.Read);
+ fs.OpenFile(ref ncaFile.Ref, ncaPath.FullPath.ToU8Span(), OpenMode.Read).ThrowIfFailure();
var nca = new Nca(_virtualFileSystem.KeySet, ncaFile.Get.AsStorage());
if (nca.Header.ContentType != NcaContentType.Meta)
{
@@ -210,7 +210,7 @@ namespace Ryujinx.HLE.FileSystem
using var pfs0 = nca.OpenFileSystem(0, integrityCheckLevel);
using var cnmtFile = new UniqueRef<IFile>();
- pfs0.OpenFile(ref cnmtFile.Ref, pfs0.EnumerateEntries().Single().FullPath.ToU8Span(), OpenMode.Read);
+ pfs0.OpenFile(ref cnmtFile.Ref, pfs0.EnumerateEntries().Single().FullPath.ToU8Span(), OpenMode.Read).ThrowIfFailure();
var cnmt = new Cnmt(cnmtFile.Get.AsStream());
if (cnmt.Type != ContentMetaType.AddOnContent || (cnmt.TitleId & 0xFFFFFFFFFFFFE000) != aocBaseId)
@@ -220,7 +220,7 @@ namespace Ryujinx.HLE.FileSystem
string ncaId = Convert.ToHexString(cnmt.ContentEntries[0].NcaId).ToLower();
- AddAocItem(cnmt.TitleId, containerPath, $"{ncaId}.nca", true);
+ AddAocItem(cnmt.TitleId, containerPath, $"/{ncaId}.nca", true);
}
}
@@ -265,12 +265,12 @@ namespace Ryujinx.HLE.FileSystem
{
case ".xci":
var xci = new Xci(_virtualFileSystem.KeySet, file.AsStorage()).OpenPartition(XciPartitionType.Secure);
- xci.OpenFile(ref ncaFile.Ref, aoc.NcaPath.ToU8Span(), OpenMode.Read);
+ xci.OpenFile(ref ncaFile.Ref, aoc.NcaPath.ToU8Span(), OpenMode.Read).ThrowIfFailure();
break;
case ".nsp":
var pfs = new PartitionFileSystem();
pfs.Initialize(file.AsStorage());
- pfs.OpenFile(ref ncaFile.Ref, aoc.NcaPath.ToU8Span(), OpenMode.Read);
+ pfs.OpenFile(ref ncaFile.Ref, aoc.NcaPath.ToU8Span(), OpenMode.Read).ThrowIfFailure();
break;
default:
return false; // Print error?
@@ -607,11 +607,11 @@ namespace Ryujinx.HLE.FileSystem
if (filesystem.FileExists($"{path}/00"))
{
- filesystem.OpenFile(ref file.Ref, $"{path}/00".ToU8Span(), mode);
+ filesystem.OpenFile(ref file.Ref, $"{path}/00".ToU8Span(), mode).ThrowIfFailure();
}
else
{
- filesystem.OpenFile(ref file.Ref, path.ToU8Span(), mode);
+ filesystem.OpenFile(ref file.Ref, path.ToU8Span(), mode).ThrowIfFailure();
}
return file.Release();