diff options
| author | 2016-05-17 23:06:33 +0100 | |
|---|---|---|
| committer | 2016-05-21 17:09:56 +0100 | |
| commit | 8fc9c0312660aa8b74a1251f02dfedc84da5b96b (patch) | |
| tree | 490fc1f96a96654b59c933c864aa792161399cbb /src/core/loader/ncch.cpp | |
| parent | Appveyor: Restore working directory after test_script (#1835) (diff) | |
| download | yuzu-8fc9c0312660aa8b74a1251f02dfedc84da5b96b.tar.gz yuzu-8fc9c0312660aa8b74a1251f02dfedc84da5b96b.tar.xz yuzu-8fc9c0312660aa8b74a1251f02dfedc84da5b96b.zip | |
Loader, Frontends: Refactor loader creation and game loading
This allows frontends to keep a single loader and use it multiple times
e.g. for code loading and SMDH parsing.
Diffstat (limited to 'src/core/loader/ncch.cpp')
| -rw-r--r-- | src/core/loader/ncch.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/loader/ncch.cpp b/src/core/loader/ncch.cpp index 7391bdb26..fca091ff9 100644 --- a/src/core/loader/ncch.cpp +++ b/src/core/loader/ncch.cpp | |||
| @@ -10,8 +10,10 @@ | |||
| 10 | #include "common/string_util.h" | 10 | #include "common/string_util.h" |
| 11 | #include "common/swap.h" | 11 | #include "common/swap.h" |
| 12 | 12 | ||
| 13 | #include "core/file_sys/archive_romfs.h" | ||
| 13 | #include "core/hle/kernel/process.h" | 14 | #include "core/hle/kernel/process.h" |
| 14 | #include "core/hle/kernel/resource_limit.h" | 15 | #include "core/hle/kernel/resource_limit.h" |
| 16 | #include "core/hle/service/fs/archive.h" | ||
| 15 | #include "core/loader/ncch.h" | 17 | #include "core/loader/ncch.h" |
| 16 | #include "core/memory.h" | 18 | #include "core/memory.h" |
| 17 | 19 | ||
| @@ -303,7 +305,12 @@ ResultStatus AppLoader_NCCH::Load() { | |||
| 303 | 305 | ||
| 304 | is_loaded = true; // Set state to loaded | 306 | is_loaded = true; // Set state to loaded |
| 305 | 307 | ||
| 306 | return LoadExec(); // Load the executable into memory for booting | 308 | result = LoadExec(); // Load the executable into memory for booting |
| 309 | if (ResultStatus::Success != result) | ||
| 310 | return result; | ||
| 311 | |||
| 312 | Service::FS::RegisterArchiveType(std::make_unique<FileSys::ArchiveFactory_RomFS>(*this), Service::FS::ArchiveIdCode::RomFS); | ||
| 313 | return ResultStatus::Success; | ||
| 307 | } | 314 | } |
| 308 | 315 | ||
| 309 | ResultStatus AppLoader_NCCH::ReadCode(std::vector<u8>& buffer) { | 316 | ResultStatus AppLoader_NCCH::ReadCode(std::vector<u8>& buffer) { |