diff options
| author | 2018-09-03 19:00:51 -0400 | |
|---|---|---|
| committer | 2018-09-04 16:25:30 -0400 | |
| commit | 7d5d781b20b47aa7e5d538404bbb665759646f95 (patch) | |
| tree | 45f8d3e606591f73ff4428a4b9250072b45139c3 /src/core/loader | |
| parent | patch_manager: Centralize Control-type NCA parsing (diff) | |
| download | yuzu-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.cpp | 9 |
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 = |