From 0c90a0926f4c9a7e9954edf2f2c5cd0d82f2ada8 Mon Sep 17 00:00:00 2001 From: Narr the Reg Date: Thu, 15 Jun 2023 17:39:01 -0600 Subject: input_common: Add amiibo with originality signature support --- src/input_common/drivers/virtual_amiibo.cpp | 2 ++ src/input_common/drivers/virtual_amiibo.h | 1 + 2 files changed, 3 insertions(+) diff --git a/src/input_common/drivers/virtual_amiibo.cpp b/src/input_common/drivers/virtual_amiibo.cpp index f8bafe553..6435b8af8 100644 --- a/src/input_common/drivers/virtual_amiibo.cpp +++ b/src/input_common/drivers/virtual_amiibo.cpp @@ -82,6 +82,7 @@ VirtualAmiibo::Info VirtualAmiibo::LoadAmiibo(const std::string& filename) { switch (nfc_file.GetSize()) { case AmiiboSize: case AmiiboSizeWithoutPassword: + case AmiiboSizeWithSignature: data.resize(AmiiboSize); if (nfc_file.Read(data) < AmiiboSizeWithoutPassword) { return Info::NotAnAmiibo; @@ -109,6 +110,7 @@ VirtualAmiibo::Info VirtualAmiibo::LoadAmiibo(std::span data) { switch (data.size_bytes()) { case AmiiboSize: case AmiiboSizeWithoutPassword: + case AmiiboSizeWithSignature: nfc_data.resize(AmiiboSize); break; case MifareSize: diff --git a/src/input_common/drivers/virtual_amiibo.h b/src/input_common/drivers/virtual_amiibo.h index 34e97cd91..09ca09e68 100644 --- a/src/input_common/drivers/virtual_amiibo.h +++ b/src/input_common/drivers/virtual_amiibo.h @@ -57,6 +57,7 @@ public: private: static constexpr std::size_t AmiiboSize = 0x21C; static constexpr std::size_t AmiiboSizeWithoutPassword = AmiiboSize - 0x8; + static constexpr std::size_t AmiiboSizeWithSignature = AmiiboSize + 0x20; static constexpr std::size_t MifareSize = 0x400; std::string file_path{}; -- cgit v1.2.3