Repository navigation
feat(libSceNpCppWebApi): answer the UserProfile, ProfanityFilter and CommunicationRestrictionStatus requests offline - #8561
Conversation
…CommunicationRestrictionStatus requests offline Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
Two inaccuracies in Line 5 says the The PR description says Suggested fix: on line 5, change |
|
@DProkos thanks, the exports and tests look right. Three changes to
|
…title ID Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
@oneandonlydean thanks, all three are in c12ca91:
🤖 Addressed by Claude Code |
|
@DProkos thanks, all three read as described. A quick check of |
What
Dying Light: The Beast (PPSA24003) ships no
libSceNpCppWebApi.prx, and its Epic Online Services module imports 106 exports that the library does not have, so the loader stops at start-up. This adds them, following the offline rules the library already uses (#6901):FriendsApi::getFriends,PresenceApi::getBasicPresences,BlocksApi::getBlockingUsers,ProfanityApi::filterProfanity,CommunicationRestrictionStatusApi::getCommunicationRestrictionStatus),WebApiFilterRequestFactory::createand the transactions'start/getResponseHeadersreturnSCE_NP_WEBAPI_ERROR_NOT_SIGNED_IN.{ctor,dtor,initialize,terminate}),Transactionconstruction and destruction,setOnFinishedCallback,setResponseInformationOptionandfinishsucceed without keeping state. They are listed under Silent stubs.IntrusivePtrmembers overWebApiFilterRequest,ResponseHeaderBase,StringandVector<IntrusivePtr<BasicPresence>>use the existingCopyIntrusivePtr/ReleaseIntrusivePtrhelpers with the documented reference-count offsets (0x00, 0x30 forVector);operator->,operator*andgetreturn the pointee.ResponseHeaderBase::getHeaderValueand theVector/Iteratormembers overIntrusivePtr<BasicPresence>andunsigned longthrow: a failed request never produces a response.Every added name recomputes to the NID the title imports (checked for all 106). None of them is in
main, #8264 or #8088.Tested
Windows 11 Pro 26200, WinLibs GCC 15.2.0 r7 UCRT, Ninja, Release,
BUILD_TESTING=ON, onmain587bb343e.guest_np_cpp_web_api_intrusive_ptr(extended with the 22 newIntrusivePtrmembers), the newguest_np_cpp_web_api_signed_out(the request flow of all five APIs and the factory) andguest_np_cpp_web_api_string: 3/3 passed.mainit stops at start-up on 106 unresolvedlibSceNpCppWebApi.prximports. With this change it reaches the title screen at 59.9 FPS and ran 140 s and 180 s without an error (two runs, no input). Bring-up: Dying Light: The Beast (PPSA24003) #8560.tools/check_conventions.py --base upstream/mainpasses.tools/pr_overlap.pyreports no shared exports; feat(libSceNpCppWebApi): implement the InGameCatalog and TitleCloudStorage IntrusivePtr members and const iterator destructors #8264 and fix(savedata): build libSceSaveData and libSceSaveDataDialog from the native sources #7780 touch nearby lines ofcore/libs/CMakeLists.txt, and feat(libSceNpCppWebApi): implement the InGameCatalog and TitleCloudStorage IntrusivePtr members and const iterator destructors #8264 the same test arrays and debt file.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code