diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2022-10-25 18:13:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-25 18:13:31 +0200 |
commit | e59bd6c3355874b9680993658b0711a7e07d1fb1 (patch) | |
tree | d34c2944b3bc6bf9b6d15a413c1c1613b033bf58 /src/core/hle/service/nfp/nfp_device.cpp | |
parent | Merge pull request #9107 from german77/gidoly_rules (diff) | |
parent | core: hid: Add handheld to nfc devices (diff) | |
download | yuzu-e59bd6c3355874b9680993658b0711a7e07d1fb1.tar yuzu-e59bd6c3355874b9680993658b0711a7e07d1fb1.tar.gz yuzu-e59bd6c3355874b9680993658b0711a7e07d1fb1.tar.bz2 yuzu-e59bd6c3355874b9680993658b0711a7e07d1fb1.tar.lz yuzu-e59bd6c3355874b9680993658b0711a7e07d1fb1.tar.xz yuzu-e59bd6c3355874b9680993658b0711a7e07d1fb1.tar.zst yuzu-e59bd6c3355874b9680993658b0711a7e07d1fb1.zip |
Diffstat (limited to 'src/core/hle/service/nfp/nfp_device.cpp')
-rw-r--r-- | src/core/hle/service/nfp/nfp_device.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/core/hle/service/nfp/nfp_device.cpp b/src/core/hle/service/nfp/nfp_device.cpp index 76f8a267a..b19672560 100644 --- a/src/core/hle/service/nfp/nfp_device.cpp +++ b/src/core/hle/service/nfp/nfp_device.cpp @@ -17,6 +17,7 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/kernel/k_event.h" #include "core/hle/service/mii/mii_manager.h" +#include "core/hle/service/mii/types.h" #include "core/hle/service/nfp/amiibo_crypto.h" #include "core/hle/service/nfp/nfp.h" #include "core/hle/service/nfp/nfp_device.h" @@ -233,6 +234,14 @@ Result NfpDevice::Mount(MountTarget mount_target_) { return NotAnAmiibo; } + // Mark amiibos as read only when keys are missing + if (!AmiiboCrypto::IsKeyAvailable()) { + LOG_ERROR(Service_NFP, "No keys detected"); + device_state = DeviceState::TagMounted; + mount_target = MountTarget::Rom; + return ResultSuccess; + } + if (!AmiiboCrypto::DecodeAmiibo(encrypted_tag_data, tag_data)) { LOG_ERROR(Service_NFP, "Can't decode amiibo {}", device_state); return CorruptedData; |