Просмотр исходного кода

input_common: Add amiibo with originality signature support

Narr the Reg 3 лет назад
Родитель
Сommit
0c90a0926f
2 измененных файлов с 3 добавлено и 0 удалено
  1. 2 0
      src/input_common/drivers/virtual_amiibo.cpp
  2. 1 0
      src/input_common/drivers/virtual_amiibo.h

+ 2 - 0
src/input_common/drivers/virtual_amiibo.cpp

@@ -82,6 +82,7 @@ VirtualAmiibo::Info VirtualAmiibo::LoadAmiibo(const std::string& filename) {
     switch (nfc_file.GetSize()) {
     switch (nfc_file.GetSize()) {
     case AmiiboSize:
     case AmiiboSize:
     case AmiiboSizeWithoutPassword:
     case AmiiboSizeWithoutPassword:
+    case AmiiboSizeWithSignature:
         data.resize(AmiiboSize);
         data.resize(AmiiboSize);
         if (nfc_file.Read(data) < AmiiboSizeWithoutPassword) {
         if (nfc_file.Read(data) < AmiiboSizeWithoutPassword) {
             return Info::NotAnAmiibo;
             return Info::NotAnAmiibo;
@@ -109,6 +110,7 @@ VirtualAmiibo::Info VirtualAmiibo::LoadAmiibo(std::span<u8> data) {
     switch (data.size_bytes()) {
     switch (data.size_bytes()) {
     case AmiiboSize:
     case AmiiboSize:
     case AmiiboSizeWithoutPassword:
     case AmiiboSizeWithoutPassword:
+    case AmiiboSizeWithSignature:
         nfc_data.resize(AmiiboSize);
         nfc_data.resize(AmiiboSize);
         break;
         break;
     case MifareSize:
     case MifareSize:

+ 1 - 0
src/input_common/drivers/virtual_amiibo.h

@@ -57,6 +57,7 @@ public:
 private:
 private:
     static constexpr std::size_t AmiiboSize = 0x21C;
     static constexpr std::size_t AmiiboSize = 0x21C;
     static constexpr std::size_t AmiiboSizeWithoutPassword = AmiiboSize - 0x8;
     static constexpr std::size_t AmiiboSizeWithoutPassword = AmiiboSize - 0x8;
+    static constexpr std::size_t AmiiboSizeWithSignature = AmiiboSize + 0x20;
     static constexpr std::size_t MifareSize = 0x400;
     static constexpr std::size_t MifareSize = 0x400;
 
 
     std::string file_path{};
     std::string file_path{};