service: nfp: Convert mii colors to v3
This commit is contained in:
parent
026fe2e4f4
commit
5031f5b8b0
6 changed files with 100 additions and 15 deletions
|
@ -88,6 +88,7 @@ NTAG215File NfcDataToEncodedData(const EncryptedNTAG215File& nfc_data) {
|
|||
encoded_data.application_area_id = nfc_data.user_memory.application_area_id;
|
||||
encoded_data.application_id_byte = nfc_data.user_memory.application_id_byte;
|
||||
encoded_data.unknown = nfc_data.user_memory.unknown;
|
||||
encoded_data.mii_extension = nfc_data.user_memory.mii_extension;
|
||||
encoded_data.unknown2 = nfc_data.user_memory.unknown2;
|
||||
encoded_data.register_info_crc = nfc_data.user_memory.register_info_crc;
|
||||
encoded_data.application_area = nfc_data.user_memory.application_area;
|
||||
|
@ -122,6 +123,7 @@ EncryptedNTAG215File EncodedDataToNfcData(const NTAG215File& encoded_data) {
|
|||
nfc_data.user_memory.application_area_id = encoded_data.application_area_id;
|
||||
nfc_data.user_memory.application_id_byte = encoded_data.application_id_byte;
|
||||
nfc_data.user_memory.unknown = encoded_data.unknown;
|
||||
nfc_data.user_memory.mii_extension = encoded_data.mii_extension;
|
||||
nfc_data.user_memory.unknown2 = encoded_data.unknown2;
|
||||
nfc_data.user_memory.register_info_crc = encoded_data.register_info_crc;
|
||||
nfc_data.user_memory.application_area = encoded_data.application_area;
|
||||
|
|
|
@ -471,6 +471,7 @@ Result NfpDevice::SetRegisterInfoPrivate(const AmiiboName& amiibo_name) {
|
|||
}
|
||||
|
||||
Service::Mii::MiiManager manager;
|
||||
const auto mii = manager.BuildDefault(0);
|
||||
auto& settings = tag_data.settings;
|
||||
|
||||
if (tag_data.settings.settings.amiibo_initialized == 0) {
|
||||
|
@ -479,9 +480,10 @@ Result NfpDevice::SetRegisterInfoPrivate(const AmiiboName& amiibo_name) {
|
|||
}
|
||||
|
||||
SetAmiiboName(settings, amiibo_name);
|
||||
tag_data.owner_mii = manager.ConvertCharInfoToV3(manager.BuildDefault(0));
|
||||
tag_data.owner_mii = manager.BuildFromStoreData(mii);
|
||||
tag_data.mii_extension = manager.SetFromStoreData(mii);
|
||||
tag_data.unknown = 0;
|
||||
tag_data.unknown2[6] = 0;
|
||||
tag_data.unknown2 = {};
|
||||
settings.country_code_id = 0;
|
||||
settings.settings.font_region.Assign(0);
|
||||
settings.settings.amiibo_initialized.Assign(1);
|
||||
|
@ -840,7 +842,8 @@ void NfpDevice::UpdateRegisterInfoCrc() {
|
|||
Mii::Ver3StoreData mii;
|
||||
u8 application_id_byte;
|
||||
u8 unknown;
|
||||
std::array<u32, 0x7> unknown2;
|
||||
Mii::NfpStoreDataExtension mii_extension;
|
||||
std::array<u32, 0x5> unknown2;
|
||||
};
|
||||
static_assert(sizeof(CrcData) == 0x7e, "CrcData is an invalid size");
|
||||
#pragma pack(pop)
|
||||
|
@ -849,6 +852,7 @@ void NfpDevice::UpdateRegisterInfoCrc() {
|
|||
.mii = tag_data.owner_mii,
|
||||
.application_id_byte = tag_data.application_id_byte,
|
||||
.unknown = tag_data.unknown,
|
||||
.mii_extension = tag_data.mii_extension,
|
||||
.unknown2 = tag_data.unknown2,
|
||||
};
|
||||
|
||||
|
|
|
@ -259,7 +259,8 @@ struct EncryptedAmiiboFile {
|
|||
u32_be application_area_id; // Encrypted Game id
|
||||
u8 application_id_byte;
|
||||
u8 unknown;
|
||||
std::array<u32, 0x7> unknown2;
|
||||
Service::Mii::NfpStoreDataExtension mii_extension;
|
||||
std::array<u32, 0x5> unknown2;
|
||||
u32_be register_info_crc;
|
||||
ApplicationArea application_area; // Encrypted Game data
|
||||
};
|
||||
|
@ -280,7 +281,8 @@ struct NTAG215File {
|
|||
u32_be application_area_id;
|
||||
u8 application_id_byte;
|
||||
u8 unknown;
|
||||
std::array<u32, 0x7> unknown2;
|
||||
Service::Mii::NfpStoreDataExtension mii_extension;
|
||||
std::array<u32, 0x5> unknown2;
|
||||
u32_be register_info_crc;
|
||||
ApplicationArea application_area; // Encrypted Game data
|
||||
HashData hmac_tag; // Hash
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue