Skip to content

feat(libSceNpWebApi2): implement sceNpWebApi2PushEventAbortHandle - #4668

Closed
ErenYeager1836 wants to merge 1 commit into
boykopovar:mainfrom
ErenYeager1836:feat/npwebapi2-push-event-abort
Closed

ErenYeager1836 wants to merge 1 commit into
boykopovar:mainfrom
ErenYeager1836:feat/npwebapi2-push-event-abort

Conversation

@ErenYeager1836

Copy link
Copy Markdown
Contributor

What

Implement sceNpWebApi2PushEventAbortHandle (NID 1OLgvahaSco) for Planet Coaster (PPSA01736):

  • Push event handles are tracked per library context.
  • CreateHandle registers them, DeleteHandle and Terminate drop them.
  • AbortHandle marks a handle as aborted, after which CreateFilter on it returns ABORTED (0x80553409).
  • Returns LIB_CONTEXT_NOT_FOUND (0x80553404) for an unknown context and HANDLE_NOT_FOUND (0x8055340D) for an unknown handle, matching shadPS4.
  • Tested with new test case in guest_np_web_api2.
  • Documented in TechnicalDebt.md.

Carries @screamm's branch rebased on current main.

Tested

  • Windows 11 (x86_64 MinGW GCC 15 / Ninja).
  • Unit tests: guest_np_web_api2 passed (100% in 0.08 s).
  • Conventions: python tools/check_conventions.py --base upstream/main passed with 0 errors.

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

@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

Progress report (a60f52e → 30f6629)

📈 System libraries: 86.39% (+0.03%, +1 implemented functions)

✅ 1 implemented
Library Name
libSceNpWebApi2 sceNpWebApi2PushEventAbortHandle

@github-actions github-actions Bot added needs rebase Conflicts with main, rebase needed docs prx labels Oct 12, 2026
Planet Coaster (PPSA01736) imports sceNpWebApi2PushEventAbortHandle (NID 1OLgvahaSco, confirmed with tools/nid_names.py and aerolib); the import audit in boykopovar#3399 resolves the NID to the throwing stub. No title execution was captured.

Push event handles are now kept per library context: CreateHandle registers them, DeleteHandle and Terminate drop them, AbortHandle marks one as aborted and CreateFilter on an aborted handle returns ABORTED. An unknown context returns LIB_CONTEXT_NOT_FOUND and an unknown handle HANDLE_NOT_FOUND. Semantics and codes follow shadPS4 e0a466753a1aacbc8db8253be685bf7ab4d9daae (np_web_api2_internal.cpp abortPushEventHandle, np_web_api2_context.cpp, np_web_api2_push_event.cpp, np_error.h), PS4 and unverified on the PS5.
@ErenYeager1836
ErenYeager1836 force-pushed the feat/npwebapi2-push-event-abort branch from f45e549 to 30f6629 Compare October 12, 2026 18:58
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 12, 2026
@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

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.

Pull request Conflicting files (lines on main) Same exports Same new files
#4834 core/libs/tests/GuestNpWebApi2.cpp L17
docs/dev/debt/libSceNpWebApi2.md L5-6

@oneandonlydean

Copy link
Copy Markdown
Collaborator

Closing, as #4375 and #4188 (the same change): no title is seen calling sceNpWebApi2PushEventAbortHandle (Unblocks is none; PPSA01736 imports it, #4174 says the call has not been seen executing), and it also changes what CreateHandle, DeleteHandle and CreateFilter return for every title, from PS4 codes. Reopen with the log line where a title stops at it on main.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants