diff options
author | bunnei <bunneidev@gmail.com> | 2018-09-06 00:06:11 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-06 00:06:11 +0200 |
commit | a6ae7654105fe6ec46ff0bcabb714b8447b83899 (patch) | |
tree | 0ff4d2396cb0730ec5952181e4e67947b64832ec /src/core/file_sys/content_archive.h | |
parent | Merge pull request #1245 from degasus/optimizations (diff) | |
parent | bktr: Fix bucket overlap error (diff) | |
download | yuzu-a6ae7654105fe6ec46ff0bcabb714b8447b83899.tar yuzu-a6ae7654105fe6ec46ff0bcabb714b8447b83899.tar.gz yuzu-a6ae7654105fe6ec46ff0bcabb714b8447b83899.tar.bz2 yuzu-a6ae7654105fe6ec46ff0bcabb714b8447b83899.tar.lz yuzu-a6ae7654105fe6ec46ff0bcabb714b8447b83899.tar.xz yuzu-a6ae7654105fe6ec46ff0bcabb714b8447b83899.tar.zst yuzu-a6ae7654105fe6ec46ff0bcabb714b8447b83899.zip |
Diffstat (limited to 'src/core/file_sys/content_archive.h')
-rw-r--r-- | src/core/file_sys/content_archive.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/core/file_sys/content_archive.h b/src/core/file_sys/content_archive.h index 0ea666cac..00eca52da 100644 --- a/src/core/file_sys/content_archive.h +++ b/src/core/file_sys/content_archive.h @@ -79,7 +79,8 @@ bool IsValidNCA(const NCAHeader& header); // After construction, use GetStatus to determine if the file is valid and ready to be used. class NCA : public ReadOnlyVfsDirectory { public: - explicit NCA(VirtualFile file); + explicit NCA(VirtualFile file, VirtualFile bktr_base_romfs = nullptr, + u64 bktr_base_ivfc_offset = 0); Loader::ResultStatus GetStatus() const; std::vector<std::shared_ptr<VfsFile>> GetFiles() const override; @@ -89,13 +90,15 @@ public: NCAContentType GetType() const; u64 GetTitleId() const; + bool IsUpdate() const; VirtualFile GetRomFS() const; VirtualDir GetExeFS() const; VirtualFile GetBaseFile() const; - bool IsUpdate() const; + // Returns the base ivfc offset used in BKTR patching. + u64 GetBaseIVFCOffset() const; protected: bool ReplaceFileWithSubdirectory(VirtualFile file, VirtualDir dir) override; @@ -112,14 +115,16 @@ private: VirtualFile romfs = nullptr; VirtualDir exefs = nullptr; VirtualFile file; + VirtualFile bktr_base_romfs; + u64 ivfc_offset; NCAHeader header{}; bool has_rights_id{}; - bool is_update{}; Loader::ResultStatus status{}; bool encrypted; + bool is_update; Core::Crypto::KeyManager keys; }; |