Skip to content

feat(playerinvitationdialog): implement scePlayerInvitationDialogGetResult - #870

Merged
oneandonlydean merged 1 commit into
boykopovar:mainfrom
aryanrawatispro-ship-it:feat/player-invitation-dialog-result
Oct 6, 2026
Merged

oneandonlydean merged 1 commit into
boykopovar:mainfrom
aryanrawatispro-ship-it:feat/player-invitation-dialog-result

Conversation

@aryanrawatispro-ship-it

Copy link
Copy Markdown
Contributor

What

scePlayerInvitationDialogGetResult was the last unimplemented export of libScePlayerInvitationDialog. It now makes the common dialog checks of sceWebBrowserDialogGetResult:

  • NOT_INITIALIZED (0x80B80003) before scePlayerInvitationDialogInitialize and after scePlayerInvitationDialogTerminate;
  • ARG_NULL (0x80B8000D) for a null result;
  • NOT_FINISHED (0x80B80005) while the dialog is initialized or running.

The dialog shows no UI and sends no invitation, so a finished dialog reports USER_CANCELED with error code 0, and the reserved bytes are cleared.

The 40-byte ScePlayerInvitationDialogResult layout (error code, result, 32 reserved bytes) comes from SharpProspero's PlayerInvitationDialog.cs. The existing TechnicalDebt entry for the dialog now records the result and its sources, and the dialog is dropped from the "exports added without an implementation have assumed signatures" line.

Tested

  • Linux (Ubuntu 24.04 on WSL2), GCC 13.2, Release, BUILD_TESTING=ON, lavapipe.
  • player_invitation_dialog: the result before initialization and after termination, a null result, the result while initialized and while running, and the finished result (error code, USER_CANCELED, cleared reserved bytes over a buffer filled with 0xFF). On main the same test stops with scePlayerInvitationDialogGetResult not implemented.
  • ctest: 358 of 359 pass. guest_sce_net also fails on unmodified main in this environment (its resolver test), unrelated to this change.
  • The patched libScePlayerInvitationDialog.prx exports AhqlQ8cngrk.
  • Not tested on Windows or with a title.

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
  • AI-assisted: yes

🤖 Generated with Claude Code

…esult

scePlayerInvitationDialogGetResult makes the common dialog checks of
sceWebBrowserDialogGetResult: NOT_INITIALIZED before the dialog is
initialized, ARG_NULL for a null result and NOT_FINISHED until the
dialog finishes. The dialog shows no UI and sends no invitation, so the
finished dialog reports USER_CANCELED with error code 0. The 40-byte
result layout (error code, result, 32 reserved bytes) is taken from
SharpProspero.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 6, 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
#805 docs/dev/TechnicalDebt.md L189-190
#907 docs/dev/TechnicalDebt.md L189-190
#934 docs/dev/TechnicalDebt.md L189-190

@github-actions

github-actions Bot commented Oct 6, 2026

Copy link
Copy Markdown

Progress report (5895ea7 → 8ef51df)

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

✅ 1 implemented
Library Name
libScePlayerInvitationDialog scePlayerInvitationDialogGetResult

@oneandonlydean
oneandonlydean merged commit 84c0587 into boykopovar:main Oct 6, 2026
3 checks passed
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