From 554b64c52a400e21bceae930e7e53aa7ccba6f5b Mon Sep 17 00:00:00 2001 From: Dmugetsu Date: Thu, 24 Apr 2025 15:23:51 -0600 Subject: [PATCH] Final suggestions --- src/core/libraries/system/sysmodule.cpp | 57 ++++++++++++------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/src/core/libraries/system/sysmodule.cpp b/src/core/libraries/system/sysmodule.cpp index 384812f2c..36f01133d 100644 --- a/src/core/libraries/system/sysmodule.cpp +++ b/src/core/libraries/system/sysmodule.cpp @@ -19,41 +19,39 @@ int PS4_SYSV_ABI sceSysmoduleGetModuleHandleInternal() { return ORBIS_OK; } -s32 PS4_SYSV_ABI sceSysmoduleGetModuleInfoForUnwind(VAddr addr, s32 flags, void* info) { +static s32 PS4_SYSV_ABI OrbisModuleInfoForUnwind(VAddr addr, s32 flags, + Kernel::OrbisModuleInfoForUnwind* info) { LOG_TRACE(Lib_SysModule, "sceSysmoduleGetModuleInfoForUnwind(addr=0x{:X}, flags=0x{:X})", addr, flags); - auto* module_info = static_cast(info); - module_info->st_size = sizeof(Kernel::OrbisModuleInfoForUnwind); - - s32 res = Kernel::sceKernelGetModuleInfoForUnwind(addr, flags, module_info); + s32 res = Kernel::sceKernelGetModuleInfoForUnwind(addr, flags, info); if (res != 0) { return res; } - static constexpr const char* modules_to_hide[] = {"libc.prx", - "libc.sprx", - "libSceAudioLatencyEstimation.prx", - "libSceFace.prx", - "libSceFaceTracker.prx", - "libSceFios2.prx", - "libSceFios2.sprx", - "libSceFontGsm.prx", - "libSceHand.prx", - "libSceHandTracker.prx", - "libSceHeadTracker.prx", - "libSceJobManager.prx", - "libSceNpCppWebApi.prx", - "libSceNpToolkit.prx", - "libSceNpToolkit2.prx", - "libSceS3DConversion.prx", - "libSceSmart.prx"}; + static constexpr std::array modules_to_hide = { + "libc.prx", + "libc.sprx", + "libSceAudioLatencyEstimation.prx", + "libSceFace.prx", + "libSceFaceTracker.prx", + "libSceFios2.prx", + "libSceFios2.sprx", + "libSceFontGsm.prx", + "libSceHand.prx", + "libSceHandTracker.prx", + "libSceHeadTracker.prx", + "libSceJobManager.prx", + "libSceNpCppWebApi.prx", + "libSceNpToolkit.prx", + "libSceNpToolkit2.prx", + "libSceS3DConversion.prx", + "libSceSmart.prx", + }; - for (const char* hidden_name : modules_to_hide) { - if (std::strcmp(module_info->name.data(), hidden_name) == 0) { - std::memset(module_info->name.data(), 0, module_info->name.size()); - break; - } + const std::string_view module_name = info->name.data(); + if (std::ranges::find(modules_to_hide, module_name) != modules_to_hide.end()) { + std::ranges::fill(info->name, '\0'); } return res; } @@ -87,8 +85,7 @@ int PS4_SYSV_ABI sceSysmoduleIsLoadedInternal(OrbisSysModuleInternal id) { } int PS4_SYSV_ABI sceSysmoduleLoadModule(OrbisSysModule id) { - auto color_name = magic_enum::enum_name(id); - LOG_ERROR(Lib_SysModule, "(DUMMY) called module = {}", color_name); + LOG_ERROR(Lib_SysModule, "(DUMMY) called module = {}", magic_enum::enum_name(id)); return ORBIS_OK; } @@ -141,7 +138,7 @@ void RegisterlibSceSysmodule(Core::Loader::SymbolsResolver* sym) { LIB_FUNCTION("D8cuU4d72xM", "libSceSysmodule", 1, "libSceSysmodule", 1, 1, sceSysmoduleGetModuleHandleInternal); LIB_FUNCTION("4fU5yvOkVG4", "libSceSysmodule", 1, "libSceSysmodule", 1, 1, - sceSysmoduleGetModuleInfoForUnwind); + Kernel::sceKernelGetModuleInfoForUnwind); LIB_FUNCTION("ctfO7dQ7geg", "libSceSysmodule", 1, "libSceSysmodule", 1, 1, sceSysmoduleIsCalledFromSysModule); LIB_FUNCTION("no6T3EfiS3E", "libSceSysmodule", 1, "libSceSysmodule", 1, 1,