Skip to content

feat(libSceMouse): implement sceMouseResetAbsolutePosition - #4439

Closed
snydercodes09 wants to merge 1 commit into
boykopovar:mainfrom
snydercodes09:feat/libscemouse-reset-absolute-position
Closed

snydercodes09 wants to merge 1 commit into
boykopovar:mainfrom
snydercodes09:feat/libscemouse-reset-absolute-position

Conversation

@snydercodes09

Copy link
Copy Markdown

What

Implement sceMouseResetAbsolutePosition in libSceMouse:

  • Validates initialization and handle state (MOUSE_ERROR_NOT_INITIALIZED, MOUSE_ERROR_INVALID_HANDLE).
  • Returns MOUSE_OK (0) as the console mouse reports relative motion only.
  • Added lifecycle unit tests in core/libs/prx/libSceMouse/tests/Mouse.cpp.
  • Documented in TechnicalDebt.md and removed from PPSA30601 missing imports list.

Tested

  • Ran conventions check locally (python tools/check_conventions.py --base upstream/main passed).
  • Added unit tests covering closed, opened, and re-closed handle states.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Unblocks: none
  • AI-assisted: yes

@blawesom

Copy link
Copy Markdown
Contributor

Rebase handoff — rebased onto current main, authorship unchanged (only a TechnicalDebt.md union conflict; both entries kept).

Verified on Linux (CachyOS, kernel 7.2.9, GCC 16.2.1, Ninja, Release, BUILD_TESTING=ON, AMD RX 9070 XT / RADV):

  • builds; tools/check_conventions.py --base origin/main passes
  • full suite: 954/954 passed

To pick it up:

git fetch https://github.com/blawesom/AnyPS5 rebase/4439
git checkout <your branch>
git merge --ff-only FETCH_HEAD

@snydercodes09
snydercodes09 force-pushed the feat/libscemouse-reset-absolute-position branch from fcea49b to 2069e43 Compare October 13, 2026 00:09
@oneandonlydean

Copy link
Copy Markdown
Collaborator

Closing: PPSA30601 imports sceMouseResetAbsolutePosition but isn't shown calling it, and the (handle) signature and the success return are assumed, as the line this adds to docs/dev/debt/libSceMouse.md says. Reopen with the log line where a title stops at it on main.

@xXPBSXx

xXPBSXx commented Oct 14, 2026

Copy link
Copy Markdown
Contributor

Log line for the reopen condition in the closing comment: PPSA30601 stops at sceMouseResetAbsolutePosition on main.

PPSA30601_rH/run_092123.err line 9: what(): sceMouseResetAbsolutePosition not implemented, followed by FATAL: abort() (SIGABRT) in line 10. One 90 s-limit run; the abort came about 9 seconds after the log file was created (file creation to last write 09:21:23 to 09:21:32 local time, Windows 10 19045).

Test conditions: libraries rebuilt from main e46c69505 (128 .prx, 2026-10-14 07:21 build), relinker.exe built from the same commit (2026-10-14 07:21), title executable relinked 2026-10-14 07:49 with relink_title.ps1 -Id PPSA30601 -ElfDir <copy of the title's eboot input> -ModuleDir @() -Suffix H -Repo K:\AnyPS5\wt-audit (exit 0, 30 s), run through run_title.ps1 with the machine-wide game lock.

Not established: the signature and the success return of the function (no source found; this run does not test the change in this pull request, it only shows where the title stops without it). Not tested: Linux, other GPUs.

AI-assisted (Claude Code).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs needs rebase Conflicts with main, rebase needed prx

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants