Final suggestions

This commit is contained in:
Dmugetsu 2025-04-24 15:23:51 -06:00 committed by Dmugetsu
parent 98a70f0a8b
commit 554b64c52a

View File

@ -19,41 +19,39 @@ int PS4_SYSV_ABI sceSysmoduleGetModuleHandleInternal() {
return ORBIS_OK; 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, LOG_TRACE(Lib_SysModule, "sceSysmoduleGetModuleInfoForUnwind(addr=0x{:X}, flags=0x{:X})", addr,
flags); flags);
auto* module_info = static_cast<Kernel::OrbisModuleInfoForUnwind*>(info); s32 res = Kernel::sceKernelGetModuleInfoForUnwind(addr, flags, info);
module_info->st_size = sizeof(Kernel::OrbisModuleInfoForUnwind);
s32 res = Kernel::sceKernelGetModuleInfoForUnwind(addr, flags, module_info);
if (res != 0) { if (res != 0) {
return res; return res;
} }
static constexpr const char* modules_to_hide[] = {"libc.prx", static constexpr std::array<std::string_view, 17> modules_to_hide = {
"libc.sprx", "libc.prx",
"libSceAudioLatencyEstimation.prx", "libc.sprx",
"libSceFace.prx", "libSceAudioLatencyEstimation.prx",
"libSceFaceTracker.prx", "libSceFace.prx",
"libSceFios2.prx", "libSceFaceTracker.prx",
"libSceFios2.sprx", "libSceFios2.prx",
"libSceFontGsm.prx", "libSceFios2.sprx",
"libSceHand.prx", "libSceFontGsm.prx",
"libSceHandTracker.prx", "libSceHand.prx",
"libSceHeadTracker.prx", "libSceHandTracker.prx",
"libSceJobManager.prx", "libSceHeadTracker.prx",
"libSceNpCppWebApi.prx", "libSceJobManager.prx",
"libSceNpToolkit.prx", "libSceNpCppWebApi.prx",
"libSceNpToolkit2.prx", "libSceNpToolkit.prx",
"libSceS3DConversion.prx", "libSceNpToolkit2.prx",
"libSceSmart.prx"}; "libSceS3DConversion.prx",
"libSceSmart.prx",
};
for (const char* hidden_name : modules_to_hide) { const std::string_view module_name = info->name.data();
if (std::strcmp(module_info->name.data(), hidden_name) == 0) { if (std::ranges::find(modules_to_hide, module_name) != modules_to_hide.end()) {
std::memset(module_info->name.data(), 0, module_info->name.size()); std::ranges::fill(info->name, '\0');
break;
}
} }
return res; return res;
} }
@ -87,8 +85,7 @@ int PS4_SYSV_ABI sceSysmoduleIsLoadedInternal(OrbisSysModuleInternal id) {
} }
int PS4_SYSV_ABI sceSysmoduleLoadModule(OrbisSysModule id) { int PS4_SYSV_ABI sceSysmoduleLoadModule(OrbisSysModule id) {
auto color_name = magic_enum::enum_name(id); LOG_ERROR(Lib_SysModule, "(DUMMY) called module = {}", magic_enum::enum_name(id));
LOG_ERROR(Lib_SysModule, "(DUMMY) called module = {}", color_name);
return ORBIS_OK; return ORBIS_OK;
} }
@ -141,7 +138,7 @@ void RegisterlibSceSysmodule(Core::Loader::SymbolsResolver* sym) {
LIB_FUNCTION("D8cuU4d72xM", "libSceSysmodule", 1, "libSceSysmodule", 1, 1, LIB_FUNCTION("D8cuU4d72xM", "libSceSysmodule", 1, "libSceSysmodule", 1, 1,
sceSysmoduleGetModuleHandleInternal); sceSysmoduleGetModuleHandleInternal);
LIB_FUNCTION("4fU5yvOkVG4", "libSceSysmodule", 1, "libSceSysmodule", 1, 1, LIB_FUNCTION("4fU5yvOkVG4", "libSceSysmodule", 1, "libSceSysmodule", 1, 1,
sceSysmoduleGetModuleInfoForUnwind); Kernel::sceKernelGetModuleInfoForUnwind);
LIB_FUNCTION("ctfO7dQ7geg", "libSceSysmodule", 1, "libSceSysmodule", 1, 1, LIB_FUNCTION("ctfO7dQ7geg", "libSceSysmodule", 1, "libSceSysmodule", 1, 1,
sceSysmoduleIsCalledFromSysModule); sceSysmoduleIsCalledFromSysModule);
LIB_FUNCTION("no6T3EfiS3E", "libSceSysmodule", 1, "libSceSysmodule", 1, 1, LIB_FUNCTION("no6T3EfiS3E", "libSceSysmodule", 1, "libSceSysmodule", 1, 1,