summaryrefslogtreecommitdiff
path: root/src/core/loader
diff options
context:
space:
mode:
authorGravatar Zach Hilman2018-09-03 19:00:51 -0400
committerGravatar Zach Hilman2018-09-04 16:25:30 -0400
commit7d5d781b20b47aa7e5d538404bbb665759646f95 (patch)
tree45f8d3e606591f73ff4428a4b9250072b45139c3 /src/core/loader
parentpatch_manager: Centralize Control-type NCA parsing (diff)
downloadyuzu-7d5d781b20b47aa7e5d538404bbb665759646f95.tar.gz
yuzu-7d5d781b20b47aa7e5d538404bbb665759646f95.tar.xz
yuzu-7d5d781b20b47aa7e5d538404bbb665759646f95.zip
drd: Parse title ID from program metadata
Diffstat (limited to 'src/core/loader')
-rw-r--r--src/core/loader/deconstructed_rom_directory.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/loader/deconstructed_rom_directory.cpp b/src/core/loader/deconstructed_rom_directory.cpp
index 223570431..2b8f78136 100644
--- a/src/core/loader/deconstructed_rom_directory.cpp
+++ b/src/core/loader/deconstructed_rom_directory.cpp
@@ -27,6 +27,14 @@ AppLoader_DeconstructedRomDirectory::AppLoader_DeconstructedRomDirectory(FileSys
27 : AppLoader(std::move(file_)), override_update(override_update) { 27 : AppLoader(std::move(file_)), override_update(override_update) {
28 const auto dir = file->GetContainingDirectory(); 28 const auto dir = file->GetContainingDirectory();
29 29
30 // Title ID
31 const auto npdm = dir->GetFile("main.npdm");
32 if (npdm != nullptr) {
33 const auto res = metadata.Load(npdm);
34 if (res == ResultStatus::Success)
35 title_id = metadata.GetTitleID();
36 }
37
30 // Icon 38 // Icon
31 FileSys::VirtualFile icon_file = nullptr; 39 FileSys::VirtualFile icon_file = nullptr;
32 for (const auto& language : FileSys::LANGUAGE_NAMES) { 40 for (const auto& language : FileSys::LANGUAGE_NAMES) {
@@ -138,7 +146,6 @@ ResultStatus AppLoader_DeconstructedRomDirectory::Load(
138 } 146 }
139 147
140 auto& kernel = Core::System::GetInstance().Kernel(); 148 auto& kernel = Core::System::GetInstance().Kernel();
141 title_id = metadata.GetTitleID();
142 process->program_id = metadata.GetTitleID(); 149 process->program_id = metadata.GetTitleID();
143 process->svc_access_mask.set(); 150 process->svc_access_mask.set();
144 process->resource_limit = 151 process->resource_limit =