summaryrefslogtreecommitdiff
path: root/src/core/loader/loader.cpp
diff options
context:
space:
mode:
authorGravatar Zach Hilman2019-06-05 00:22:07 -0400
committerGravatar Zach Hilman2019-06-05 00:22:07 -0400
commitce9f7ac4f2023b81e5d97a06c0fb17d252002697 (patch)
tree0a7358010068511ac174ed9b7922883364827c7c /src/core/loader/loader.cpp
parentloader: Add KIP and INI file parser-specific errors (diff)
downloadyuzu-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.cpp10
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));