From 354d263ccf4cf8f3913433b1b6f7f534e497de82 Mon Sep 17 00:00:00 2001 From: sum2012 Date: Sun, 21 Feb 2021 08:54:11 +0800 Subject: [PATCH] sceKernelFindModuleByName:Add delay for Fake module Fix #13601 --- Core/HLE/sceKernelModule.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Core/HLE/sceKernelModule.cpp b/Core/HLE/sceKernelModule.cpp index 728c188167..f8a078e409 100644 --- a/Core/HLE/sceKernelModule.cpp +++ b/Core/HLE/sceKernelModule.cpp @@ -2444,12 +2444,18 @@ u32 sceKernelFindModuleByName(const char *name) PSPModule *module = kernelObjects.Get(moduleId, error); if (!module) continue; - if (!module->isFake && strcmp(name, module->nm.name) == 0) { - INFO_LOG(SCEMODULE, "%d = sceKernelFindModuleByName(%s)", module->modulePtr, name); - return module->modulePtr; + if (strcmp(name, module->nm.name) == 0) { + if (!module->isFake) { + INFO_LOG(SCEMODULE, "%d = sceKernelFindModuleByName(%s)", module->modulePtr, name); + return module->modulePtr; + } + else { + WARN_LOG(SCEMODULE, "0 = sceKernelFindModuleByName(%s): Module Fake", name); + return hleDelayResult(0, "Module Fake", 1000 * 1000); + } } } - WARN_LOG(SCEMODULE, "0 = sceKernelFindModuleByName(%s): Module Not Found or Fake", name); + WARN_LOG(SCEMODULE, "0 = sceKernelFindModuleByName(%s): Module Not Found", name); return 0; }