From bed2d6c425c649ff587b80d617597f3eca359da1 Mon Sep 17 00:00:00 2001 From: Lioncash Date: Wed, 24 Oct 2018 09:37:29 -0400 Subject: yuzu/main: Notify user of loading errors with Amiibo data We shouldn't silently continue if loading failed, since the general assumption is that no messages showing up implicitly indicates success. --- src/core/hle/service/nfp/nfp.cpp | 6 ++++-- src/core/hle/service/nfp/nfp.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'src/core') diff --git a/src/core/hle/service/nfp/nfp.cpp b/src/core/hle/service/nfp/nfp.cpp index 9a4eb9301..c1af878fe 100644 --- a/src/core/hle/service/nfp/nfp.cpp +++ b/src/core/hle/service/nfp/nfp.cpp @@ -328,13 +328,15 @@ void Module::Interface::CreateUserInterface(Kernel::HLERequestContext& ctx) { rb.PushIpcInterface(*this); } -void Module::Interface::LoadAmiibo(const std::vector& buffer) { +bool Module::Interface::LoadAmiibo(const std::vector& buffer) { std::lock_guard lock(HLE::g_hle_lock); if (buffer.size() < sizeof(AmiiboFile)) { - return; // Failed to load file + return false; } + std::memcpy(&amiibo, buffer.data(), sizeof(amiibo)); nfc_tag_load->Signal(); + return true; } const Kernel::SharedPtr& Module::Interface::GetNFCEvent() const { return nfc_tag_load; diff --git a/src/core/hle/service/nfp/nfp.h b/src/core/hle/service/nfp/nfp.h index 46370dedd..5c0ae8a54 100644 --- a/src/core/hle/service/nfp/nfp.h +++ b/src/core/hle/service/nfp/nfp.h @@ -32,7 +32,7 @@ public: static_assert(sizeof(AmiiboFile) == 0x94, "AmiiboFile is an invalid size"); void CreateUserInterface(Kernel::HLERequestContext& ctx); - void LoadAmiibo(const std::vector& buffer); + bool LoadAmiibo(const std::vector& buffer); const Kernel::SharedPtr& GetNFCEvent() const; const AmiiboFile& GetAmiiboBuffer() const; -- cgit v1.2.3