Merge pull request #12255 from german77/amiibo

service: nfc: Don't tag amiibos as corrupted if they are loaded as read only
This commit is contained in:
liamwhite 2023-12-01 18:39:38 -05:00 committed by GitHub
commit e9a43bae6f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -438,16 +438,16 @@ Result NfcDevice::Mount(NFP::ModelType model_type, NFP::MountTarget mount_target
is_corrupted = true; is_corrupted = true;
} }
if (!is_corrupted) { device_state = DeviceState::TagMounted;
mount_target = mount_target_;
if (!is_corrupted && mount_target != NFP::MountTarget::Rom) {
std::vector<u8> data(sizeof(NFP::EncryptedNTAG215File)); std::vector<u8> data(sizeof(NFP::EncryptedNTAG215File));
memcpy(data.data(), &encrypted_tag_data, sizeof(encrypted_tag_data)); memcpy(data.data(), &encrypted_tag_data, sizeof(encrypted_tag_data));
WriteBackupData(encrypted_tag_data.uuid, data); WriteBackupData(encrypted_tag_data.uuid, data);
} }
device_state = DeviceState::TagMounted; if (is_corrupted && mount_target != NFP::MountTarget::Rom) {
mount_target = mount_target_;
if (is_corrupted) {
bool has_backup = HasBackup(encrypted_tag_data.uuid).IsSuccess(); bool has_backup = HasBackup(encrypted_tag_data.uuid).IsSuccess();
return has_backup ? ResultCorruptedDataWithBackup : ResultCorruptedData; return has_backup ? ResultCorruptedDataWithBackup : ResultCorruptedData;
} }