input_common: Add amiibo applet functions
This commit is contained in:
parent
6c045c9beb
commit
b193d40d22
|
@ -60,6 +60,8 @@ Common::Input::NfcState VirtualAmiibo::WriteNfcData(
|
||||||
return Common::Input::NfcState::WriteFailed;
|
return Common::Input::NfcState::WriteFailed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
amiibo_data = data;
|
||||||
|
|
||||||
return Common::Input::NfcState::Success;
|
return Common::Input::NfcState::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,6 +93,15 @@ VirtualAmiibo::Info VirtualAmiibo::LoadAmiibo(const std::string& filename) {
|
||||||
return Info::Success;
|
return Info::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
VirtualAmiibo::Info VirtualAmiibo::ReloadAmiibo() {
|
||||||
|
if (state == State::AmiiboIsOpen) {
|
||||||
|
SetNfc(identifier, {Common::Input::NfcState::NewAmiibo, amiibo_data});
|
||||||
|
return Info::Success;
|
||||||
|
}
|
||||||
|
|
||||||
|
return LoadAmiibo(file_path);
|
||||||
|
}
|
||||||
|
|
||||||
VirtualAmiibo::Info VirtualAmiibo::CloseAmiibo() {
|
VirtualAmiibo::Info VirtualAmiibo::CloseAmiibo() {
|
||||||
state = polling_mode == Common::Input::PollingMode::NFC ? State::WaitingForAmiibo
|
state = polling_mode == Common::Input::PollingMode::NFC ? State::WaitingForAmiibo
|
||||||
: State::Initialized;
|
: State::Initialized;
|
||||||
|
@ -98,4 +109,8 @@ VirtualAmiibo::Info VirtualAmiibo::CloseAmiibo() {
|
||||||
return Info::Success;
|
return Info::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string VirtualAmiibo::GetLastFilePath() {
|
||||||
|
return file_path;
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace InputCommon
|
} // namespace InputCommon
|
||||||
|
|
|
@ -47,8 +47,11 @@ public:
|
||||||
State GetCurrentState() const;
|
State GetCurrentState() const;
|
||||||
|
|
||||||
Info LoadAmiibo(const std::string& amiibo_file);
|
Info LoadAmiibo(const std::string& amiibo_file);
|
||||||
|
Info ReloadAmiibo();
|
||||||
Info CloseAmiibo();
|
Info CloseAmiibo();
|
||||||
|
|
||||||
|
std::string GetLastFilePath();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
static constexpr std::size_t amiibo_size = 0x21C;
|
static constexpr std::size_t amiibo_size = 0x21C;
|
||||||
static constexpr std::size_t amiibo_size_without_password = amiibo_size - 0x8;
|
static constexpr std::size_t amiibo_size_without_password = amiibo_size - 0x8;
|
||||||
|
|
|
@ -133,7 +133,7 @@ public:
|
||||||
return Common::Input::CameraError::NotSupported;
|
return Common::Input::CameraError::NotSupported;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Request nfc data from a controller
|
// Returns success if nfc is supported
|
||||||
virtual Common::Input::NfcState SupportsNfc(
|
virtual Common::Input::NfcState SupportsNfc(
|
||||||
[[maybe_unused]] const PadIdentifier& identifier) const {
|
[[maybe_unused]] const PadIdentifier& identifier) const {
|
||||||
return Common::Input::NfcState::NotSupported;
|
return Common::Input::NfcState::NotSupported;
|
||||||
|
|
Reference in New Issue