diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-08-24 00:53:13 +0200 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-08-24 00:53:13 +0200 |
commit | 4f18c17df77e791d30cc8c919108315610f315ef (patch) | |
tree | fc7b487b8ab4311f8a09c73197f2c8e7cfdc546f | |
parent | key_manager: Eliminate indexed for loop (diff) | |
download | yuzu-4f18c17df77e791d30cc8c919108315610f315ef.tar yuzu-4f18c17df77e791d30cc8c919108315610f315ef.tar.gz yuzu-4f18c17df77e791d30cc8c919108315610f315ef.tar.bz2 yuzu-4f18c17df77e791d30cc8c919108315610f315ef.tar.lz yuzu-4f18c17df77e791d30cc8c919108315610f315ef.tar.xz yuzu-4f18c17df77e791d30cc8c919108315610f315ef.tar.zst yuzu-4f18c17df77e791d30cc8c919108315610f315ef.zip |
-rw-r--r-- | src/core/file_sys/content_archive.cpp | 8 | ||||
-rw-r--r-- | src/core/file_sys/content_archive.h | 3 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/core/file_sys/content_archive.cpp b/src/core/file_sys/content_archive.cpp index 008e11d8c..e8b5d6ece 100644 --- a/src/core/file_sys/content_archive.cpp +++ b/src/core/file_sys/content_archive.cpp @@ -258,6 +258,10 @@ NCA::NCA(VirtualFile file_) : file(std::move(file_)) { file->ReadBytes(sections.data(), length_sections, SECTION_HEADER_OFFSET); } + is_update = std::find_if(sections.begin(), sections.end(), [](const NCASectionHeader& header) { + return header.raw.header.crypto_type == NCASectionCryptoType::BKTR; + }) != sections.end(); + for (std::ptrdiff_t i = 0; i < number_sections; ++i) { auto section = sections[i]; @@ -358,6 +362,10 @@ VirtualFile NCA::GetBaseFile() const { return file; } +bool NCA::IsUpdate() const { + return is_update; +} + bool NCA::ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) { return false; } diff --git a/src/core/file_sys/content_archive.h b/src/core/file_sys/content_archive.h index 4b74c54ec..b961cfde7 100644 --- a/src/core/file_sys/content_archive.h +++ b/src/core/file_sys/content_archive.h @@ -93,6 +93,8 @@ public: VirtualFile GetBaseFile() const; + bool IsUpdate() const; + protected: bool ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) override; @@ -111,6 +113,7 @@ private: NCAHeader header{}; bool has_rights_id{}; + bool is_update{}; Loader::ResultStatus status{}; |