yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

file_sys/control_metadata: Amend naming of members

Quite a bit of these were out of sync with Switchbrew (and in some cases
entirely wrong). While we're at it, also expand the section of named
members. A segment within the control metadata is used to specify
maximum values for the user, device, and cache storage max sizes and
journal sizes.

These appear to be generally used by the am service (e.g. in
CreateCacheStorage, etc).
This commit is contained in:
Lioncash 2019-03-25 23:30:56 -04:00
parent 595511876e
commit a973271b8c
2 changed files with 24 additions and 12 deletions

View File

@ -67,7 +67,7 @@ std::string NACP::GetDeveloperName(Language language) const {
} }
u64 NACP::GetTitleId() const { u64 NACP::GetTitleId() const {
return raw.title_id; return raw.save_data_owner_id;
} }
u64 NACP::GetDLCBaseTitleId() const { u64 NACP::GetDLCBaseTitleId() const {
@ -80,11 +80,11 @@ std::string NACP::GetVersionString() const {
} }
u64 NACP::GetDefaultNormalSaveSize() const { u64 NACP::GetDefaultNormalSaveSize() const {
return raw.normal_save_data_size; return raw.user_account_save_data_size;
} }
u64 NACP::GetDefaultJournalSaveSize() const { u64 NACP::GetDefaultJournalSaveSize() const {
return raw.journal_sava_data_size; return raw.user_account_save_data_journal_size;
} }
std::vector<u8> NACP::GetRawBytes() const { std::vector<u8> NACP::GetRawBytes() const {

View File

@ -38,23 +38,35 @@ struct RawNACP {
u8 video_capture_mode; u8 video_capture_mode;
bool data_loss_confirmation; bool data_loss_confirmation;
INSERT_PADDING_BYTES(1); INSERT_PADDING_BYTES(1);
u64_le title_id; u64_le presence_group_id;
std::array<u8, 0x20> rating_age; std::array<u8, 0x20> rating_age;
std::array<char, 0x10> version_string; std::array<char, 0x10> version_string;
u64_le dlc_base_title_id; u64_le dlc_base_title_id;
u64_le title_id_2; u64_le save_data_owner_id;
u64_le normal_save_data_size; u64_le user_account_save_data_size;
u64_le journal_sava_data_size; u64_le user_account_save_data_journal_size;
INSERT_PADDING_BYTES(0x18); u64_le device_save_data_size;
u64_le product_code; u64_le device_save_data_journal_size;
u64_le bcat_delivery_cache_storage_size;
char application_error_code_category[8];
std::array<u64_le, 0x8> local_communication; std::array<u64_le, 0x8> local_communication;
u8 logo_type; u8 logo_type;
u8 logo_handling; u8 logo_handling;
bool runtime_add_on_content_install; bool runtime_add_on_content_install;
INSERT_PADDING_BYTES(5); INSERT_PADDING_BYTES(5);
u64_le title_id_update; u64_le seed_for_pseudo_device_id;
std::array<u8, 0x40> bcat_passphrase; std::array<u8, 0x41> bcat_passphrase;
INSERT_PADDING_BYTES(0xEC0); INSERT_PADDING_BYTES(7);
u64_le user_account_save_data_max_size;
u64_le user_account_save_data_max_journal_size;
u64_le device_save_data_max_size;
u64_le device_save_data_max_journal_size;
u64_le temporary_storage_size;
u64_le cache_storage_size;
u64_le cache_storage_journal_size;
u64_le cache_storage_data_and_journal_max_size;
u64_le cache_storage_max_index;
INSERT_PADDING_BYTES(0xE70);
}; };
static_assert(sizeof(RawNACP) == 0x4000, "RawNACP has incorrect size."); static_assert(sizeof(RawNACP) == 0x4000, "RawNACP has incorrect size.");