From 7c806e2067f09710f879678a5533e1bf4c2d793f Mon Sep 17 00:00:00 2001 From: notaxeltv Date: Tue, 13 Oct 2026 19:40:22 +0200 Subject: [PATCH] feat(libSceSystemService): accept OpenTournamentOccurrence without system UI Co-authored-by: Cursor --- core/libs/prx/libSceSystemService/Export.cpp | 3 +-- core/libs/tests/GuestSystemService.cpp | 2 ++ docs/dev/debt/libSceSystemService.md | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/core/libs/prx/libSceSystemService/Export.cpp b/core/libs/prx/libSceSystemService/Export.cpp index 6b5bb3bb44c7..62c965eb82cc 100644 --- a/core/libs/prx/libSceSystemService/Export.cpp +++ b/core/libs/prx/libSceSystemService/Export.cpp @@ -352,8 +352,7 @@ int APS5_VABI sceSystemServiceOpenChallengeActivity(void) { } int APS5_VABI sceSystemServiceOpenTournamentOccurrence(void) { - NotImplemented_nid_no_patch(__func__); - return 0; + return SYSTEM_SERVICE_OK; } int APS5_VABI sceSystemServiceReenableMusicPlayer(void) { diff --git a/core/libs/tests/GuestSystemService.cpp b/core/libs/tests/GuestSystemService.cpp index e4e181e20492..fab99debb266 100644 --- a/core/libs/tests/GuestSystemService.cpp +++ b/core/libs/tests/GuestSystemService.cpp @@ -44,6 +44,7 @@ extern "C" int APS5_VABI sceSystemServiceReenableMediaPlay(void); extern "C" int APS5_VABI sceSystemServiceLaunchWebBrowser(const char* uri, void* param); extern "C" int APS5_VABI sceSystemServiceShowControllerSettings(void); extern "C" int APS5_VABI sceSystemServiceOpenChallengeActivity(void); +extern "C" int APS5_VABI sceSystemServiceOpenTournamentOccurrence(void); int main() { Require(sceSystemServicePowerTick() == SYSTEM_SERVICE_OK); @@ -61,6 +62,7 @@ int main() { Require(sceSystemServiceReenableMediaPlay() == SYSTEM_SERVICE_OK); Require(sceSystemServiceShowControllerSettings() == SYSTEM_SERVICE_OK); Require(sceSystemServiceOpenChallengeActivity() == SYSTEM_SERVICE_OK); + Require(sceSystemServiceOpenTournamentOccurrence() == SYSTEM_SERVICE_OK); Require(sceSystemServiceLaunchWebBrowser("http://127.0.0.1:8780/video?v=0", nullptr) == browserUnavailable); unsigned char browserParam[64]; std::memset(browserParam, 0x5a, sizeof(browserParam)); diff --git a/docs/dev/debt/libSceSystemService.md b/docs/dev/debt/libSceSystemService.md index 3e5bcecac206..3b8b948ad8f9 100644 --- a/docs/dev/debt/libSceSystemService.md +++ b/docs/dev/debt/libSceSystemService.md @@ -6,6 +6,7 @@ - [sceSystemServiceLaunchWebBrowser](../../../core/libs/prx/libSceSystemService/Export.cpp) (libSceSystemService) - AnyPS5 launches no web browser, so the call fails and nothing is shown. RommPS PPSA76677 then tells the player to scan its QR code instead - [sceSystemServiceShowControllerSettings](../../../core/libs/prx/libSceSystemService/Export.cpp) (libSceSystemService) - returns success without showing the controller settings: AnyPS5 has no system UI to open. Cat Quest III (PPSA15065) imports it - [sceSystemServiceOpenChallengeActivity](../../../core/libs/prx/libSceSystemService/Export.cpp) (libSceSystemService) - returns success without opening the challenge activity: AnyPS5 has no system UI to open. Cat Quest III (PPSA15065) imports it +- [sceSystemServiceOpenTournamentOccurrence](../../../core/libs/prx/libSceSystemService/Export.cpp) (libSceSystemService) - returns success without opening the tournament occurrence: AnyPS5 has no system UI to open. Same parameterless success as `sceSystemServiceOpenChallengeActivity` ### Unknown function info