Repository navigation
Conversation
Progress report (5fc8755 → 633b8f3)📈 System libraries: 87.43% (+0.35%, +10 implemented functions) ✅ 10 implemented
|
|
Thanks. All ten names recompute to their NIDs, and the bodies follow the functions already in the file: the handle and recognizer checks of One thing before it goes in. The "no touch input is emulated" premise (it's also the code comment at the top of the file) isn't true on main any more: Recognizing gestures from the pad data would be a much bigger change, so I'm not asking for it here. Could you add libSceSystemGesture to the "Silent stubs" list in docs/dev/TechnicalDebt.md, saying that recognizers accept every call but never report touch or primitive events, although libScePad reports touchpad contacts? That covers the existing update and count functions too. Optional:
|
Ten libSceSystemGesture exports were throwing stubs. No touch input is fed to the recognizers, so they report no gestures, following the functions already implemented in this file: - sceSystemGestureAppendTouchRecognizer / RemoveTouchRecognizer / ResetTouchRecognizer / UpdateTouchRecognizerRectangle -> check the handle and recognizer like sceSystemGestureCreateTouchRecognizer - sceSystemGestureResetPrimitiveTouchRecognizer / UpdateAllTouchRecognizer -> check the handle like sceSystemGestureUpdateTouchRecognizer - sceSystemGestureGetPrimitiveTouchEventsCount -> 0, like sceSystemGestureGetTouchEventsCount - sceSystemGestureGetPrimitiveTouchEventByIndex -> INDEX_OUT_OF_ARRAY, like sceSystemGestureGetTouchEventByIndex - sceSystemGestureGetTouchEvents / GetPrimitiveTouchEvents -> report zero events Adds a CMakeLists.txt so the library can carry its guest test. New test core/libs/tests/GuestSystemGesture.cpp opens a gesture context and checks the returns and the handle errors. The three lookup/info exports (GetTouchEventByEventID, GetPrimitiveTouchEventByPrimitiveID, GetTouchRecognizerInformation) stay stubs: the not-found error for an id that never existed and the recognizer-information layout aren't known, so I left them throwing rather than guess.
Per review: libScePad now reports touchpad contacts, so the recognizers accepting every call while never reporting a touch or primitive event is a silent stub. Adds a "Silent stubs" line for libSceSystemGesture to docs/dev/TechnicalDebt.md and removes the file's "no touch input is emulated" comment, which is no longer true.
015bd8b to
633b8f3
Compare
|
Done. Added a libSceSystemGesture "Silent stubs" line saying the recognizers accept every call but never report a touch or primitive event although libScePad reports touchpad contacts, and removed the file's outdated "no touch input is emulated" comment. On the optional points: the null number_of_event and the missing handle check match sceSystemGestureGetTouchEventByIndex / GetTouchEvents already on main, so I kept them the same; happy to tighten if you have the real error order. guest_system_gesture passes here. |
|
Thanks for adding the silent-stubs line and removing the outdated comment. Keeping the One question remains, which the owner has since asked us to check on every PR: which title calls these? A silent stub is allowed only when it unblocks a title, and if a title needs only some of the ten, the PR should keep just those. If you know one, please name it with the log line where it stops on main. |
|
Following up on the question above: do you know which title calls these SystemGesture exports? The code itself looks fine now; the title (with the log line where it stops on If no title needs them yet, we'd rather close it for now and reopen it once one does. |
adriadam10
left a comment
There was a problem hiding this comment.
Following up on oneandonlydean's open question (asked twice, still unanswered):
- Which title calls these SystemGesture exports, and at which log line does it stop on
main? Without one this is a silent stub that unblocks nothing (CONTRIBUTING). I also checked a first-party title dump: it doesn't importlibSceSystemGesture, so there's no static evidence either. If a title needs only some of the ten, keep just those. docs/dev/TechnicalDebt.md:31: the new line is the last one in "Silent stubs", where every PR appends and #910 already touches the same spot. Move it a few lines away from the end of the section.
If no title needs them yet, we'll close this for now; it can be reopened once one does.
|
A title that needs this: PPSA06320 (Ape Escape, PS1HD emulator 1.7.17772), relinked for Windows. It imports 10 Without this PR it stops right after save data init (with #1247 and #1188 merged locally to get that far): With this PR merged locally, it gets past that, sets up the pad and submits its first GPU frame. The next stop is an unrelated AGC |
|
Closing for now: the points from 2026-10-07 are still open. If you pick it back up, please comment here and it can be reopened. |
What
Ten
libSceSystemGestureexports were throwing stubs. No touch input is fed to the recognizers,so they report no gestures, following the functions already implemented in this file:
sceSystemGestureAppendTouchRecognizer/RemoveTouchRecognizer/ResetTouchRecognizer/UpdateTouchRecognizerRectangle-> check the handle and recognizer likesceSystemGestureCreateTouchRecognizer.sceSystemGestureResetPrimitiveTouchRecognizer/UpdateAllTouchRecognizer-> check the handlelike
sceSystemGestureUpdateTouchRecognizer.sceSystemGestureGetPrimitiveTouchEventsCount->0, likesceSystemGestureGetTouchEventsCount.sceSystemGestureGetPrimitiveTouchEventByIndex->INDEX_OUT_OF_ARRAY, likesceSystemGestureGetTouchEventByIndex.sceSystemGestureGetTouchEvents/GetPrimitiveTouchEvents-> report zero events.Adds a
CMakeLists.txtso the library can carry its guest test.The three lookup/info exports (
GetTouchEventByEventID,GetPrimitiveTouchEventByPrimitiveID,GetTouchRecognizerInformation) stay stubs: the not-found error for an id that never existed andthe recognizer-information layout aren't known, so I left them throwing rather than guess.
Tested
New test
core/libs/tests/GuestSystemGesture.cpp(registered asguest_system_gesture) opens agesture context and checks the returns, the zero event counts and the handle/argument errors.
Built with MinGW-w64 GCC 15.2.0 (the CI toolchain) on Windows 11;
ctest -R guest_system_gesturepasses. On
mainthe ten functions thrownot implemented, so the test aborts without the change.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)