From 5ee3ef8cb8b93e44228cb43a31cdfd65ab722666 Mon Sep 17 00:00:00 2001 From: maoxin1234 <875408344@qq.com> Date: Sat, 10 Oct 2026 10:46:59 +0800 Subject: [PATCH] fix(libSceSysmodule): recognize Trophy2 module id --- core/libs/prx/libSceSysmodule/ModuleTable.hpp | 1 + core/libs/tests/GuestSysmodule.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/core/libs/prx/libSceSysmodule/ModuleTable.hpp b/core/libs/prx/libSceSysmodule/ModuleTable.hpp index fd0d5efbc..4840450be 100644 --- a/core/libs/prx/libSceSysmodule/ModuleTable.hpp +++ b/core/libs/prx/libSceSysmodule/ModuleTable.hpp @@ -149,6 +149,7 @@ inline const std::unordered_map kModuleTable = { {0x00000109, "libSceHdrScopes"}, {0x0000010c, "libSceCesCs"}, {0x0000010d, "libScePlayerInvitationDialog"}, + {0x00000110, "libSceNpTrophy2"}, {0x00000112, "libSceNpSessionSignaling"}, {0x00000113, "libSceNpEntitlementAccess"}, {0x00000115, "libSceNpCppWebApi"}, diff --git a/core/libs/tests/GuestSysmodule.cpp b/core/libs/tests/GuestSysmodule.cpp index 5929ed7c0..4a63bbd37 100644 --- a/core/libs/tests/GuestSysmodule.cpp +++ b/core/libs/tests/GuestSysmodule.cpp @@ -39,6 +39,7 @@ bool ThrowsRuntimeError(TFunction function) { constexpr std::uint16_t kFiberModuleId = 0x0006; constexpr std::uint16_t kUltModuleId = 0x0007; constexpr int kModuleUnloaded = static_cast(0x805A1001); +constexpr std::uint16_t kTrophy2ModuleId = 0x0110; #ifdef __linux__ struct Mapping { @@ -113,6 +114,16 @@ int main() { Require(sceSysmoduleIsLoaded(kUltModuleId) == 0); Require(sceSysmoduleUnloadModule(kUltModuleId) == 0); Require(sceSysmoduleIsLoaded(kUltModuleId) == kModuleUnloaded); + + Require(sceSysmoduleIsLoaded(kTrophy2ModuleId) == kModuleUnloaded); + Require(sceSysmoduleLoadModuleInternal(kTrophy2ModuleId) == 0); + Require(sceSysmoduleIsLoaded(kTrophy2ModuleId) == 0); + Require(sceSysmoduleLoadModuleInternal(kTrophy2ModuleId) == 0); + Require(sceSysmoduleUnloadModuleInternal(kTrophy2ModuleId) == 0); + Require(sceSysmoduleIsLoaded(kTrophy2ModuleId) == 0); + Require(sceSysmoduleUnloadModuleInternal(kTrophy2ModuleId) == 0); + Require(sceSysmoduleIsLoaded(kTrophy2ModuleId) == kModuleUnloaded); + Require(sceSysmoduleUnloadModuleInternal(kTrophy2ModuleId) == kModuleUnloaded); #ifdef __linux__ CheckUnwindInfo(); #endif