diff options
| author | 2019-06-05 00:22:07 -0400 | |
|---|---|---|
| committer | 2019-06-05 00:22:07 -0400 | |
| commit | ce9f7ac4f2023b81e5d97a06c0fb17d252002697 (patch) | |
| tree | 0a7358010068511ac174ed9b7922883364827c7c /src/core/loader/loader.cpp | |
| parent | loader: Add KIP and INI file parser-specific errors (diff) | |
| download | yuzu-ce9f7ac4f2023b81e5d97a06c0fb17d252002697.tar.gz yuzu-ce9f7ac4f2023b81e5d97a06c0fb17d252002697.tar.xz yuzu-ce9f7ac4f2023b81e5d97a06c0fb17d252002697.zip | |
loader: Add recognition for KIP file type
Diffstat (limited to 'src/core/loader/loader.cpp')
| -rw-r--r-- | src/core/loader/loader.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index 8a783ae2f..59ca7091a 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp | |||
| @@ -11,6 +11,7 @@ | |||
| 11 | #include "core/hle/kernel/process.h" | 11 | #include "core/hle/kernel/process.h" |
| 12 | #include "core/loader/deconstructed_rom_directory.h" | 12 | #include "core/loader/deconstructed_rom_directory.h" |
| 13 | #include "core/loader/elf.h" | 13 | #include "core/loader/elf.h" |
| 14 | #include "core/loader/kip.h" | ||
| 14 | #include "core/loader/nax.h" | 15 | #include "core/loader/nax.h" |
| 15 | #include "core/loader/nca.h" | 16 | #include "core/loader/nca.h" |
| 16 | #include "core/loader/nro.h" | 17 | #include "core/loader/nro.h" |
| @@ -36,6 +37,7 @@ FileType IdentifyFile(FileSys::VirtualFile file) { | |||
| 36 | CHECK_TYPE(XCI) | 37 | CHECK_TYPE(XCI) |
| 37 | CHECK_TYPE(NAX) | 38 | CHECK_TYPE(NAX) |
| 38 | CHECK_TYPE(NSP) | 39 | CHECK_TYPE(NSP) |
| 40 | CHECK_TYPE(KIP) | ||
| 39 | 41 | ||
| 40 | #undef CHECK_TYPE | 42 | #undef CHECK_TYPE |
| 41 | 43 | ||
| @@ -63,6 +65,8 @@ FileType GuessFromFilename(const std::string& name) { | |||
| 63 | return FileType::XCI; | 65 | return FileType::XCI; |
| 64 | if (extension == "nsp") | 66 | if (extension == "nsp") |
| 65 | return FileType::NSP; | 67 | return FileType::NSP; |
| 68 | if (extension == "kip") | ||
| 69 | return FileType::KIP; | ||
| 66 | 70 | ||
| 67 | return FileType::Unknown; | 71 | return FileType::Unknown; |
| 68 | } | 72 | } |
| @@ -83,6 +87,8 @@ std::string GetFileTypeString(FileType type) { | |||
| 83 | return "NAX"; | 87 | return "NAX"; |
| 84 | case FileType::NSP: | 88 | case FileType::NSP: |
| 85 | return "NSP"; | 89 | return "NSP"; |
| 90 | case FileType::KIP: | ||
| 91 | return "KIP"; | ||
| 86 | case FileType::DeconstructedRomDirectory: | 92 | case FileType::DeconstructedRomDirectory: |
| 87 | return "Directory"; | 93 | return "Directory"; |
| 88 | case FileType::Error: | 94 | case FileType::Error: |
| @@ -209,6 +215,10 @@ static std::unique_ptr<AppLoader> GetFileLoader(FileSys::VirtualFile file, FileT | |||
| 209 | case FileType::NSP: | 215 | case FileType::NSP: |
| 210 | return std::make_unique<AppLoader_NSP>(std::move(file)); | 216 | return std::make_unique<AppLoader_NSP>(std::move(file)); |
| 211 | 217 | ||
| 218 | // NX KIP (Kernel Internal Process) file format | ||
| 219 | case FileType::KIP: | ||
| 220 | return std::make_unique<AppLoader_KIP>(std::move(file)); | ||
| 221 | |||
| 212 | // NX deconstructed ROM directory. | 222 | // NX deconstructed ROM directory. |
| 213 | case FileType::DeconstructedRomDirectory: | 223 | case FileType::DeconstructedRomDirectory: |
| 214 | return std::make_unique<AppLoader_DeconstructedRomDirectory>(std::move(file)); | 224 | return std::make_unique<AppLoader_DeconstructedRomDirectory>(std::move(file)); |