summaryrefslogtreecommitdiff
path: root/src/core/loader/ncch.cpp
diff options
context:
space:
mode:
authorGravatar Emmanuel Gil Peyrot2016-05-17 23:06:33 +0100
committerGravatar Emmanuel Gil Peyrot2016-05-21 17:09:56 +0100
commit8fc9c0312660aa8b74a1251f02dfedc84da5b96b (patch)
tree490fc1f96a96654b59c933c864aa792161399cbb /src/core/loader/ncch.cpp
parentAppveyor: Restore working directory after test_script (#1835) (diff)
downloadyuzu-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.cpp9
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
309ResultStatus AppLoader_NCCH::ReadCode(std::vector<u8>& buffer) { 316ResultStatus AppLoader_NCCH::ReadCode(std::vector<u8>& buffer) {