diff options
Diffstat (limited to 'Ryujinx.HLE/FileSystem')
| -rw-r--r-- | Ryujinx.HLE/FileSystem/Content/ContentManager.cs | 26 | ||||
| -rw-r--r-- | Ryujinx.HLE/FileSystem/PFsProvider.cs | 3 | ||||
| -rw-r--r-- | Ryujinx.HLE/FileSystem/RomFsProvider.cs | 7 |
3 files changed, 15 insertions, 21 deletions
diff --git a/Ryujinx.HLE/FileSystem/Content/ContentManager.cs b/Ryujinx.HLE/FileSystem/Content/ContentManager.cs index a20157ce..94f06475 100644 --- a/Ryujinx.HLE/FileSystem/Content/ContentManager.cs +++ b/Ryujinx.HLE/FileSystem/Content/ContentManager.cs @@ -1,4 +1,5 @@ using LibHac; +using LibHac.IO; using Ryujinx.HLE.Utilities; using System; using System.Collections.Generic; @@ -73,7 +74,7 @@ namespace Ryujinx.HLE.FileSystem.Content using (FileStream ncaFile = new FileStream(Directory.GetFiles(directoryPath)[0], FileMode.Open, FileAccess.Read)) { - Nca nca = new Nca(_device.System.KeySet, ncaFile, false); + Nca nca = new Nca(_device.System.KeySet, ncaFile.AsStorage(), false); string switchPath = Path.Combine(contentPathString + ":", ncaFile.Name.Replace(contentDirectory, string.Empty).TrimStart('\\')); @@ -89,10 +90,6 @@ namespace Ryujinx.HLE.FileSystem.Content AddEntry(entry); _contentDictionary.Add((nca.Header.TitleId, nca.Header.ContentType), ncaName); - - ncaFile.Close(); - nca.Dispose(); - ncaFile.Dispose(); } } } @@ -105,7 +102,7 @@ namespace Ryujinx.HLE.FileSystem.Content using (FileStream ncaFile = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { - Nca nca = new Nca(_device.System.KeySet, ncaFile, false); + Nca nca = new Nca(_device.System.KeySet, ncaFile.AsStorage(), false); string switchPath = Path.Combine(contentPathString + ":", filePath.Replace(contentDirectory, string.Empty).TrimStart('\\')); @@ -121,10 +118,6 @@ namespace Ryujinx.HLE.FileSystem.Content AddEntry(entry); _contentDictionary.Add((nca.Header.TitleId, nca.Header.ContentType), ncaName); - - ncaFile.Close(); - nca.Dispose(); - ncaFile.Dispose(); } } } @@ -235,14 +228,13 @@ namespace Ryujinx.HLE.FileSystem.Content { if (File.Exists(installedPath)) { - FileStream file = new FileStream(installedPath, FileMode.Open, FileAccess.Read); - Nca nca = new Nca(_device.System.KeySet, file, false); - bool contentCheck = nca.Header.ContentType == contentType; - - nca.Dispose(); - file.Dispose(); + using (FileStream file = new FileStream(installedPath, FileMode.Open, FileAccess.Read)) + { + Nca nca = new Nca(_device.System.KeySet, file.AsStorage(), false); + bool contentCheck = nca.Header.ContentType == contentType; - return contentCheck; + return contentCheck; + } } } diff --git a/Ryujinx.HLE/FileSystem/PFsProvider.cs b/Ryujinx.HLE/FileSystem/PFsProvider.cs index 71757669..fdddc9b0 100644 --- a/Ryujinx.HLE/FileSystem/PFsProvider.cs +++ b/Ryujinx.HLE/FileSystem/PFsProvider.cs @@ -1,4 +1,5 @@ using LibHac; +using LibHac.IO; using Ryujinx.HLE.HOS; using Ryujinx.HLE.HOS.Services.FspSrv; using System; @@ -117,7 +118,7 @@ namespace Ryujinx.HLE.FileSystem if (_pfs.FileExists(name)) { - Stream stream = _pfs.OpenFile(name); + Stream stream = _pfs.OpenFile(name).AsStream(); fileInterface = new IFile(stream, name); return 0; diff --git a/Ryujinx.HLE/FileSystem/RomFsProvider.cs b/Ryujinx.HLE/FileSystem/RomFsProvider.cs index f6a2f82f..86bf2348 100644 --- a/Ryujinx.HLE/FileSystem/RomFsProvider.cs +++ b/Ryujinx.HLE/FileSystem/RomFsProvider.cs @@ -1,4 +1,5 @@ using LibHac; +using LibHac.IO; using Ryujinx.HLE.HOS; using Ryujinx.HLE.HOS.Services.FspSrv; using System; @@ -14,9 +15,9 @@ namespace Ryujinx.HLE.FileSystem { private Romfs _romFs; - public RomFsProvider(Stream storageStream) + public RomFsProvider(LibHac.IO.IStorage storage) { - _romFs = new Romfs(storageStream); + _romFs = new Romfs(storage); } public long CreateDirectory(string name) @@ -133,7 +134,7 @@ namespace Ryujinx.HLE.FileSystem { if (_romFs.FileExists(name)) { - Stream stream = _romFs.OpenFile(name); + Stream stream = _romFs.OpenFile(name).AsStream(); fileInterface = new IFile(stream, name); |
