diff options
author | bunnei <bunneidev@gmail.com> | 2018-08-07 04:02:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-08-07 04:02:41 +0200 |
commit | 826b1394e85720b62938c5f7af4a876e203316af (patch) | |
tree | 2660cb536c62d253419965f727e996b87c8a21f5 /src/core/loader/deconstructed_rom_directory.cpp | |
parent | Merge pull request #947 from lioncash/encoding (diff) | |
parent | loader: Make AppLoader_NCA rely on directory loading code (diff) | |
download | yuzu-826b1394e85720b62938c5f7af4a876e203316af.tar yuzu-826b1394e85720b62938c5f7af4a876e203316af.tar.gz yuzu-826b1394e85720b62938c5f7af4a876e203316af.tar.bz2 yuzu-826b1394e85720b62938c5f7af4a876e203316af.tar.lz yuzu-826b1394e85720b62938c5f7af4a876e203316af.tar.xz yuzu-826b1394e85720b62938c5f7af4a876e203316af.tar.zst yuzu-826b1394e85720b62938c5f7af4a876e203316af.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/loader/deconstructed_rom_directory.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp index b0277a875..076927dff 100644 --- a/src/core/loader/deconstructed_rom_directory.cpp +++ b/src/core/loader/deconstructed_rom_directory.cpp @@ -20,6 +20,10 @@ namespace Loader { AppLoader_DeconstructedRomDirectory::AppLoader_DeconstructedRomDirectory(FileSys::VirtualFile file) : AppLoader(std::move(file)) {} +AppLoader_DeconstructedRomDirectory::AppLoader_DeconstructedRomDirectory( + FileSys::VirtualDir directory) + : AppLoader(directory->GetFile("main")), dir(std::move(directory)) {} + FileType AppLoader_DeconstructedRomDirectory::IdentifyType(const FileSys::VirtualFile& file) { if (FileSys::IsDirectoryExeFS(file->GetContainingDirectory())) { return FileType::DeconstructedRomDirectory; @@ -34,7 +38,12 @@ ResultStatus AppLoader_DeconstructedRomDirectory::Load( return ResultStatus::ErrorAlreadyLoaded; } - const FileSys::VirtualDir dir = file->GetContainingDirectory(); + if (dir == nullptr) { + if (file == nullptr) + return ResultStatus::ErrorInvalidFormat; + const FileSys::VirtualDir dir = file->GetContainingDirectory(); + } + const FileSys::VirtualFile npdm = dir->GetFile("main.npdm"); if (npdm == nullptr) return ResultStatus::ErrorInvalidFormat; |