Skip to content

feat(libScePad): declare two exports by their hash-verified names - #5125

Closed
parl0v wants to merge 1 commit into
boykopovar:mainfrom
parl0v:feat/names-pad
Closed

parl0v wants to merge 1 commit into
boykopovar:mainfrom
parl0v:feat/names-pad

Conversation

@parl0v

@parl0v parl0v commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

What

Declares 2 exports by name: a virtual-device trigger state and an Aston device-information export. Each is a throwing stub (NotImplemented_nid_no_patch) declared without parameters, with an Unknown function info entry in its library's technical debt file.

Library NID Name zecoxao/sce_symbols
libScePad wMvV6XbeFd0 scePadVirtualDeviceInsertTriggerState #23
libScePad ybhL4IoyGZA scePadAstonGetDeviceInformation #23

The names come from the shared NID database, where I added them (zecoxao/sce_symbols #22 and #23). Each name hashes to its NID with tools/nid_names.py compute_nid, and the library is the module that exports the NID in the 10.01 system modules.

No title I know of imports these yet, so nothing calls them today. With them declared, a title that does import one resolves it by name and stops with that name in the NotImplemented message instead of an unresolved NID at load. Implementations can then replace the stubs one by one.

Tested

  • Windows 10 19045, MinGW-w64 GCC 15.2: the libs target builds; tools/check_conventions.py --base origin/main passes.
  • Every name re-hashed against its NID before the commit.

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 under Silent stubs in their library's technical debt file
  • 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 13, 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
#4962 core/libs/prx/libScePad/Export.cpp L321
docs/dev/debt/libScePad.md L10
#5038 docs/dev/debt/libScePad.md L10

@github-actions

Copy link
Copy Markdown

Progress report (a2a3a3a → 286d2c3)

📉 System libraries: 87.79% (-0.05%, +2 declared functions)

🆕 2 declared as stubs
Library Name
libScePad scePadAstonGetDeviceInformation
libScePad scePadVirtualDeviceInsertTriggerState

@CnRJay CnRJay left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same situation as #5123 in this series (see the review there): the names hash correctly, but no title imports these exports yet, and export-only PRs without a title that reaches the export on main have been closed (#1205, #1208, #950). Keeping the names in sce_symbols and reopening once a title's log shows one of them would match current review practice.

@oneandonlydean

Copy link
Copy Markdown
Collaborator

Closing: no title is known to reach this. With the queue at 700+ open PRs, please hold off on new PRs that don't name a title needing the change until it's down. If a title stops on this on current main, reopen with the title ID and the log line.

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