diff options
Diffstat (limited to 'src/core/loader/loader.cpp')
| -rw-r--r-- | src/core/loader/loader.cpp | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index 228dc6389..199e69e89 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp | |||
| @@ -206,7 +206,8 @@ AppLoader::~AppLoader() = default; | |||
| 206 | * @return std::unique_ptr<AppLoader> a pointer to a loader object; nullptr for unsupported type | 206 | * @return std::unique_ptr<AppLoader> a pointer to a loader object; nullptr for unsupported type |
| 207 | */ | 207 | */ |
| 208 | static std::unique_ptr<AppLoader> GetFileLoader(Core::System& system, FileSys::VirtualFile file, | 208 | static std::unique_ptr<AppLoader> GetFileLoader(Core::System& system, FileSys::VirtualFile file, |
| 209 | FileType type, std::size_t program_index) { | 209 | FileType type, u64 program_id, |
| 210 | std::size_t program_index) { | ||
| 210 | switch (type) { | 211 | switch (type) { |
| 211 | // Standard ELF file format. | 212 | // Standard ELF file format. |
| 212 | case FileType::ELF: | 213 | case FileType::ELF: |
| @@ -227,7 +228,8 @@ static std::unique_ptr<AppLoader> GetFileLoader(Core::System& system, FileSys::V | |||
| 227 | // NX XCI (nX Card Image) file format. | 228 | // NX XCI (nX Card Image) file format. |
| 228 | case FileType::XCI: | 229 | case FileType::XCI: |
| 229 | return std::make_unique<AppLoader_XCI>(std::move(file), system.GetFileSystemController(), | 230 | return std::make_unique<AppLoader_XCI>(std::move(file), system.GetFileSystemController(), |
| 230 | system.GetContentProvider(), program_index); | 231 | system.GetContentProvider(), program_id, |
| 232 | program_index); | ||
| 231 | 233 | ||
| 232 | // NX NAX (NintendoAesXts) file format. | 234 | // NX NAX (NintendoAesXts) file format. |
| 233 | case FileType::NAX: | 235 | case FileType::NAX: |
| @@ -236,7 +238,8 @@ static std::unique_ptr<AppLoader> GetFileLoader(Core::System& system, FileSys::V | |||
| 236 | // NX NSP (Nintendo Submission Package) file format | 238 | // NX NSP (Nintendo Submission Package) file format |
| 237 | case FileType::NSP: | 239 | case FileType::NSP: |
| 238 | return std::make_unique<AppLoader_NSP>(std::move(file), system.GetFileSystemController(), | 240 | return std::make_unique<AppLoader_NSP>(std::move(file), system.GetFileSystemController(), |
| 239 | system.GetContentProvider(), program_index); | 241 | system.GetContentProvider(), program_id, |
| 242 | program_index); | ||
| 240 | 243 | ||
| 241 | // NX KIP (Kernel Internal Process) file format | 244 | // NX KIP (Kernel Internal Process) file format |
| 242 | case FileType::KIP: | 245 | case FileType::KIP: |
| @@ -252,7 +255,7 @@ static std::unique_ptr<AppLoader> GetFileLoader(Core::System& system, FileSys::V | |||
| 252 | } | 255 | } |
| 253 | 256 | ||
| 254 | std::unique_ptr<AppLoader> GetLoader(Core::System& system, FileSys::VirtualFile file, | 257 | std::unique_ptr<AppLoader> GetLoader(Core::System& system, FileSys::VirtualFile file, |
| 255 | std::size_t program_index) { | 258 | u64 program_id, std::size_t program_index) { |
| 256 | FileType type = IdentifyFile(file); | 259 | FileType type = IdentifyFile(file); |
| 257 | const FileType filename_type = GuessFromFilename(file->GetName()); | 260 | const FileType filename_type = GuessFromFilename(file->GetName()); |
| 258 | 261 | ||
| @@ -266,7 +269,7 @@ std::unique_ptr<AppLoader> GetLoader(Core::System& system, FileSys::VirtualFile | |||
| 266 | 269 | ||
| 267 | LOG_DEBUG(Loader, "Loading file {} as {}...", file->GetName(), GetFileTypeString(type)); | 270 | LOG_DEBUG(Loader, "Loading file {} as {}...", file->GetName(), GetFileTypeString(type)); |
| 268 | 271 | ||
| 269 | return GetFileLoader(system, std::move(file), type, program_index); | 272 | return GetFileLoader(system, std::move(file), type, program_id, program_index); |
| 270 | } | 273 | } |
| 271 | 274 | ||
| 272 | } // namespace Loader | 275 | } // namespace Loader |