diff options
author | bunnei <bunneidev@gmail.com> | 2022-02-19 00:57:47 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-19 00:57:47 -0700 |
commit | 298469526501b3bd576ff1ab53d089097506a2e7 (patch) | |
tree | 269412e42ab54fdef3132c77f173a098867aceb7 /src/yuzu/main.cpp | |
parent | 83a84f1c2dce5a9f90404f2486da569e236f96fa (diff) | |
parent | b57d61010f347e74875f0c8a1003b4f84fa7b062 (diff) |
Merge pull request #7867 from german77/amiibo
nfp: Improve amiibo support
Diffstat (limited to 'src/yuzu/main.cpp')
-rw-r--r-- | src/yuzu/main.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp index 3c2d7d080..e3fd38a02 100644 --- a/src/yuzu/main.cpp +++ b/src/yuzu/main.cpp @@ -934,7 +934,7 @@ void GMainWindow::InitializeHotkeys() { hotkey_registry.LoadHotkeys(); LinkActionShortcut(ui->action_Load_File, QStringLiteral("Load File")); - LinkActionShortcut(ui->action_Load_Amiibo, QStringLiteral("Load Amiibo")); + LinkActionShortcut(ui->action_Load_Amiibo, QStringLiteral("Load/Remove Amiibo")); LinkActionShortcut(ui->action_Exit, QStringLiteral("Exit yuzu")); LinkActionShortcut(ui->action_Restart, QStringLiteral("Restart Emulation")); LinkActionShortcut(ui->action_Pause, QStringLiteral("Continue/Pause Emulation")); @@ -2927,6 +2927,24 @@ void GMainWindow::OnLoadAmiibo() { return; } + Service::SM::ServiceManager& sm = system->ServiceManager(); + auto nfc = sm.GetService<Service::NFP::Module::Interface>("nfp:user"); + if (nfc == nullptr) { + QMessageBox::warning(this, tr("Error"), tr("The current game is not looking for amiibos")); + return; + } + const auto nfc_state = nfc->GetCurrentState(); + if (nfc_state == Service::NFP::DeviceState::TagFound || + nfc_state == Service::NFP::DeviceState::TagMounted) { + nfc->CloseAmiibo(); + return; + } + + if (nfc_state != Service::NFP::DeviceState::SearchingForTag) { + QMessageBox::warning(this, tr("Error"), tr("The current game is not looking for amiibos")); + return; + } + is_amiibo_file_select_active = true; const QString extensions{QStringLiteral("*.bin")}; const QString file_filter = tr("Amiibo File (%1);; All Files (*.*)").arg(extensions); |