Skip to content

feat(libSceNpAuthAuthorizedAppDialog): add the dialog, with NpAuth and SaveData imports of Minecraft - #4118

Merged
oneandonlydean merged 1 commit into
boykopovar:mainfrom
Mouad-Scriptz-0:feat/npauth-authorized-app-dialog
Oct 12, 2026
Merged

oneandonlydean merged 1 commit into
boykopovar:mainfrom
Mouad-Scriptz-0:feat/npauth-authorized-app-dialog

Conversation

@Mouad-Scriptz-0

Copy link
Copy Markdown
Contributor

What

Minecraft (PPSA17221, UP4433-PPSA17221_00) fails to load with nine absent imports (tools/import_audit.py on the relinked title: 928 unique imports, 437 implemented, 20 stubs, 9 absent):

Library Absent
libSceNpAuthAuthorizedAppDialog Initialize, Terminate, Open, Close, GetStatus, UpdateStatus, GetResult (the whole library is missing)
libSceNpAuth sceNpAuthGetAuthorizedAppCode
libSceSaveData.native RvID8BVeg+g (no name in aerolib)
  • libSceNpAuthAuthorizedAppDialog (new) runs the common-dialog state machine without UI and reports the user as having cancelled, exactly as libSceLoginDialog and libSceVrSetupDialog do, since there is no PSN sign-in to authorize an app against: Initialize/Terminate guard double calls with ALREADY_INITIALIZED/NOT_INITIALIZED, Open rejects a null parameter block and finishes at once, GetResult writes the 32-bit USER_CANCELED result and returns NOT_FINISHED before Open, UpdateStatus/GetStatus report the state. guest_np_auth_authorized_app_dialog (new) covers the state machine like guest_vr_setup_dialog.
  • sceNpAuthGetAuthorizedAppCode and the SaveData NID are declared without parameters as throwing stubs (TechnicalDebt, "Unknown function info"). The NID sits beside sceSaveDataTransferringMountPs4 and sceSaveDataDirNameSearchPs4 in the import table; none of the PS4-migration names tried with tools/nid_names.py hashes to it.

With the branch the title loads, relinks its six bundled modules (--module-dir . with the executable kept outside the module parent, since four modules sit beside eboot.bin), registers its shaders, opens its save data and resource packs, and on this Intel GPU then stops on viewport depth [-1, 1] outside [0, 1] requires VK_EXT_depth_range_unrestricted at a depth-tested draw (the driver lacks the extension; a separate problem) after four of its shaders were refused for storage image multisampling. The imports themselves are generic: the dialog is the PS5 counterpart of the other common dialogs.

Tested

Fedora 44 (kernel 7.2.8, GCC 16.2.1, Ninja, Release, BUILD_TESTING=ON), worktree on main bab7b32: guest_np_auth_authorized_app_dialog passes; tools/check_conventions.py --base origin/main and git diff --check pass; tools/pr_overlap.py --branch reports no shared exports; #3814 appends to the same end of libSceSaveData.native/Export.cpp and #4098 adds a TechnicalDebt line next to this one, both one-line merges. Minecraft relinked with relinker --registry --to-intel --sce-module-path <source> --module-dir . loads and runs to the draw above on an Intel Arc Meteor Lake iGPU (Mesa 26.2.3). Not tested on Windows.

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 (Claude Code)

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Oct 11, 2026 •

Copy link
Copy Markdown

Progress report (c36fd0a → 295e6b5)

📉 System libraries: 86.2% (-0.03%, +7 implemented, +2 declared functions)

✅ 7 implemented
Library Name
libSceNpAuthAuthorizedAppDialog sceNpAuthAuthorizedAppDialogClose
libSceNpAuthAuthorizedAppDialog sceNpAuthAuthorizedAppDialogGetResult
libSceNpAuthAuthorizedAppDialog sceNpAuthAuthorizedAppDialogGetStatus
libSceNpAuthAuthorizedAppDialog sceNpAuthAuthorizedAppDialogInitialize
libSceNpAuthAuthorizedAppDialog sceNpAuthAuthorizedAppDialogOpen
libSceNpAuthAuthorizedAppDialog sceNpAuthAuthorizedAppDialogTerminate
libSceNpAuthAuthorizedAppDialog sceNpAuthAuthorizedAppDialogUpdateStatus
🆕 2 declared as stubs
Library Name
libSceNpAuth sceNpAuthGetAuthorizedAppCode
libSceSaveData.native sceSaveDataUnknown_RvID8BVeg

…d SaveData imports of Minecraft

Minecraft (PPSA17221) fails to load on nine absent imports. The authorized-app
dialog runs the common-dialog state machine without UI and reports the user
as having cancelled, like the login and VR setup dialogs. The other two,
sceNpAuthGetAuthorizedAppCode and the unnamed libSceSaveData.native NID
RvID8BVeg+g, are declared as throwing stubs with unknown signatures.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Mouad-Scriptz-0
Mouad-Scriptz-0 force-pushed the feat/npauth-authorized-app-dialog branch from 0ac672b to 295e6b5 Compare October 12, 2026 08:55
@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
#4188 docs/dev/TechnicalDebt.md L61-62
#4375 docs/dev/TechnicalDebt.md L61-62
#4411 docs/dev/TechnicalDebt.md L15-51, L55-253

@oneandonlydean
oneandonlydean merged commit 8eee5cf into boykopovar:main Oct 12, 2026
12 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.

3 participants