diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-12-07 02:25:55 +0100 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-12-27 06:16:55 +0100 |
commit | 417e1ef09cfcf9157e260721d3059e73f0eca73e (patch) | |
tree | 6eb8777a43188efc66cfde0201af2675fb36ac22 | |
parent | control_metadata: Use value member instead of unique_ptr to store struct (diff) | |
download | yuzu-417e1ef09cfcf9157e260721d3059e73f0eca73e.tar yuzu-417e1ef09cfcf9157e260721d3059e73f0eca73e.tar.gz yuzu-417e1ef09cfcf9157e260721d3059e73f0eca73e.tar.bz2 yuzu-417e1ef09cfcf9157e260721d3059e73f0eca73e.tar.lz yuzu-417e1ef09cfcf9157e260721d3059e73f0eca73e.tar.xz yuzu-417e1ef09cfcf9157e260721d3059e73f0eca73e.tar.zst yuzu-417e1ef09cfcf9157e260721d3059e73f0eca73e.zip |
-rw-r--r-- | src/core/file_sys/control_metadata.cpp | 8 | ||||
-rw-r--r-- | src/core/file_sys/control_metadata.h | 27 |
2 files changed, 29 insertions, 6 deletions
diff --git a/src/core/file_sys/control_metadata.cpp b/src/core/file_sys/control_metadata.cpp index fe2077f94..9624df054 100644 --- a/src/core/file_sys/control_metadata.cpp +++ b/src/core/file_sys/control_metadata.cpp @@ -79,6 +79,14 @@ std::string NACP::GetVersionString() const { raw.version_string.size()); } +u64 NACP::GetDefaultNormalSaveSize() const { + return raw.normal_save_data_size; +} + +u64 NACP::GetDefaultJournalSaveSize() const { + return raw.journal_sava_data_size; +} + std::vector<u8> NACP::GetRawBytes() const { std::vector<u8> out(sizeof(RawNACP)); std::memcpy(out.data(), &raw, sizeof(RawNACP)); diff --git a/src/core/file_sys/control_metadata.h b/src/core/file_sys/control_metadata.h index d5c2ed2b5..9bc2720c9 100644 --- a/src/core/file_sys/control_metadata.h +++ b/src/core/file_sys/control_metadata.h @@ -28,17 +28,30 @@ static_assert(sizeof(LanguageEntry) == 0x300, "LanguageEntry has incorrect size. // The raw file format of a NACP file. struct RawNACP { std::array<LanguageEntry, 16> language_entries; - INSERT_PADDING_BYTES(0x38); + std::array<u8, 0x25> isbn; + u8 startup_user_account; + INSERT_PADDING_BYTES(2); + u32_le application_attribute; + u32_le supported_languages; + u32_le parental_control; + bool screenshot_enabled; + u8 video_capture_mode; + bool data_loss_confirmation; + INSERT_PADDING_BYTES(1); u64_le title_id; - INSERT_PADDING_BYTES(0x20); + std::array<u8, 0x20> rating_age; std::array<char, 0x10> version_string; u64_le dlc_base_title_id; u64_le title_id_2; - INSERT_PADDING_BYTES(0x28); + u64_le normal_save_data_size; + u64_le journal_sava_data_size; + INSERT_PADDING_BYTES(0x18); u64_le product_code; - u64_le title_id_3; - std::array<u64_le, 0x7> title_id_array; - INSERT_PADDING_BYTES(0x8); + std::array<u64_le, 0x8> local_communication; + u8 logo_type; + u8 logo_handling; + bool runtime_add_on_content_install; + INSERT_PADDING_BYTES(5); u64_le title_id_update; std::array<u8, 0x40> bcat_passphrase; INSERT_PADDING_BYTES(0xEC0); @@ -82,6 +95,8 @@ public: u64 GetTitleId() const; u64 GetDLCBaseTitleId() const; std::string GetVersionString() const; + u64 GetDefaultNormalSaveSize() const; + u64 GetDefaultJournalSaveSize() const; std::vector<u8> GetRawBytes() const; private: |