diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-08-25 17:44:14 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-09-04 20:25:54 +0200 |
commit | b555311438ae1e2ad1e9caea55cc9f77c9ed4661 (patch) | |
tree | 40f5cad8d049e67e1a189cae1e5f4063c7b555d7 /src/core/loader/loader.cpp | |
parent | key_manager: Avoid autogeneration if key exists (diff) | |
download | yuzu-b555311438ae1e2ad1e9caea55cc9f77c9ed4661.tar yuzu-b555311438ae1e2ad1e9caea55cc9f77c9ed4661.tar.gz yuzu-b555311438ae1e2ad1e9caea55cc9f77c9ed4661.tar.bz2 yuzu-b555311438ae1e2ad1e9caea55cc9f77c9ed4661.tar.lz yuzu-b555311438ae1e2ad1e9caea55cc9f77c9ed4661.tar.xz yuzu-b555311438ae1e2ad1e9caea55cc9f77c9ed4661.tar.zst yuzu-b555311438ae1e2ad1e9caea55cc9f77c9ed4661.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/loader/loader.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/core/loader/loader.cpp b/src/core/loader/loader.cpp index 5980cdb25..446adf557 100644 --- a/src/core/loader/loader.cpp +++ b/src/core/loader/loader.cpp @@ -15,6 +15,7 @@ #include "core/loader/nca.h" #include "core/loader/nro.h" #include "core/loader/nso.h" +#include "core/loader/nsp.h" #include "core/loader/xci.h" namespace Loader { @@ -34,6 +35,7 @@ FileType IdentifyFile(FileSys::VirtualFile file) { CHECK_TYPE(NCA) CHECK_TYPE(XCI) CHECK_TYPE(NAX) + CHECK_TYPE(NSP) #undef CHECK_TYPE @@ -59,6 +61,8 @@ FileType GuessFromFilename(const std::string& name) { return FileType::NCA; if (extension == "xci") return FileType::XCI; + if (extension == "nsp") + return FileType::NSP; return FileType::Unknown; } @@ -77,6 +81,8 @@ std::string GetFileTypeString(FileType type) { return "XCI"; case FileType::NAX: return "NAX"; + case FileType::NSP: + return "NSP"; case FileType::DeconstructedRomDirectory: return "Directory"; case FileType::Error: @@ -87,7 +93,7 @@ std::string GetFileTypeString(FileType type) { return "unknown"; } -constexpr std::array<const char*, 49> RESULT_MESSAGES{ +constexpr std::array<const char*, 50> RESULT_MESSAGES{ "The operation completed successfully.", "The loader requested to load is already loaded.", "The operation is not implemented.", @@ -137,7 +143,7 @@ constexpr std::array<const char*, 49> RESULT_MESSAGES{ "The AES Key Generation Source could not be found.", "The SD Save Key Source could not be found.", "The SD NCA Key Source could not be found.", -}; + "The NSP file is missing a Program-type NCA."}; std::ostream& operator<<(std::ostream& os, ResultStatus status) { os << RESULT_MESSAGES.at(static_cast<size_t>(status)); @@ -182,6 +188,10 @@ static std::unique_ptr<AppLoader> GetFileLoader(FileSys::VirtualFile file, FileT case FileType::NAX: return std::make_unique<AppLoader_NAX>(std::move(file)); + // NX NSP (Nintendo Submission Package) file format + case FileType::NSP: + return std::make_unique<AppLoader_NSP>(std::move(file)); + // NX deconstructed ROM directory. case FileType::DeconstructedRomDirectory: return std::make_unique<AppLoader_DeconstructedRomDirectory>(std::move(file)); |