From 51c13606d6b9a25a93bd008db53a2553b16126e5 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sat, 13 Feb 2021 02:32:13 -0800 Subject: hle: service: ldn: IUserLocalCommunicationService: Indicate that LDN is disabled. - Fixes crash on Pokemon Sword/Shield when pressing 'Y'. --- src/core/hle/service/ldn/errors.h | 13 +++++++++++++ src/core/hle/service/ldn/ldn.cpp | 8 +++++--- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 src/core/hle/service/ldn/errors.h (limited to 'src/core/hle/service/ldn') diff --git a/src/core/hle/service/ldn/errors.h b/src/core/hle/service/ldn/errors.h new file mode 100644 index 000000000..a718c5c66 --- /dev/null +++ b/src/core/hle/service/ldn/errors.h @@ -0,0 +1,13 @@ +// Copyright 2021 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/hle/result.h" + +namespace Service::LDN { + +constexpr ResultCode ERROR_DISABLED{ErrorModule::LDN, 22}; + +} // namespace Service::LDN diff --git a/src/core/hle/service/ldn/ldn.cpp b/src/core/hle/service/ldn/ldn.cpp index ee908f399..1c46609ae 100644 --- a/src/core/hle/service/ldn/ldn.cpp +++ b/src/core/hle/service/ldn/ldn.cpp @@ -6,6 +6,7 @@ #include "core/hle/ipc_helpers.h" #include "core/hle/result.h" +#include "core/hle/service/ldn/errors.h" #include "core/hle/service/ldn/ldn.h" #include "core/hle/service/sm/sm.h" @@ -140,10 +141,11 @@ public: void Initialize2(Kernel::HLERequestContext& ctx) { LOG_WARNING(Service_LDN, "(STUBBED) called"); - // Result success seem make this services start network and continue. - // If we just pass result error then it will stop and maybe try again and again. + + // Return the disabled error to indicate that LDN is currently unavailable, otherwise games + // will continue to try to make a connection. IPC::ResponseBuilder rb{ctx, 2}; - rb.Push(RESULT_UNKNOWN); + rb.Push(ERROR_DISABLED); } }; -- cgit v1.2.3