Skip to content

refactor(libScePsml_debug): name the Mfsr2 stubs by their NIDs - #1467

Merged
adriadam10 merged 1 commit into
boykopovar:mainfrom
arvindfroi:refactor/psml-mfsr2-names
Oct 8, 2026
Merged

adriadam10 merged 1 commit into
boykopovar:mainfrom
arvindfroi:refactor/psml-mfsr2-names

Conversation

@arvindfroi

@arvindfroi arvindfroi commented Oct 8, 2026 •

Copy link
Copy Markdown
Contributor

What

Follow-up to #1144, which named the scePsmlMfsr* stubs and left the 9 scePsmlMfsr2Unknown_* ones because the NID database has no names for them. The names were found by hashing candidate names built from the existing scePsmlMfsr* names, and each one is checked with both compute_nid in tools/nid_names.py and Nid::ComputeNid in core/libs/nid/src/NidCompute.cpp:

NID Name
0GAw7SmkwII scePsmlMfsr2ReleaseSharedResources
1ic5q-kdOsc scePsmlMfsr2GetSharedResourcesInitRequirement
5z2gBlqxJ+0 scePsmlMfsr2GetContextInitRequirement
Kyy1baXgaVU scePsmlMfsr2ReleaseContext
ZLL31lzzxr4 scePsmlMfsr2GetDispatchPacketsSizeInDwords
gMduXCLYrNg scePsmlMfsr2CreateSharedResources
lrJwpLjKXRc scePsmlMfsr2GetDispatchPackets
m9JLPc3wOQw scePsmlMfsr2CreateContext
o+NM86gEwFE scePsmlMfsr2Init

The stubs drop APS5_EXPORT and use these names, so the generated NIDs are unchanged and NotImplemented failures name the real function. Behaviour is unchanged. The TechnicalDebt entry now lists the names; the signatures are still unknown.

Check:

python3 -c "import sys; sys.path.insert(0,'tools'); from nid_names import compute_nid; print(compute_nid('scePsmlMfsr2Init'))"
o+NM86gEwFE

Tested

tools/nid_names.py no longer lists any libScePsml_debug NID. tools/check_conventions.py --base origin/main passes. clang++ -fsyntax-only on the file has no errors. No x86-64 toolchain on this machine (Apple Silicon), so the build is left to CI. No title tested.

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, Claude Opus 5.5)

🤖 Generated with Claude Code

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

github-actions Bot commented Oct 8, 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
#1498 core/libs/prx/libScePsml_debug/Export.cpp L98-101, L104-107, L110-113, L116-119, L122-125, L128-131, L134-137, L140-143, L146-149

@adriadam10

Copy link
Copy Markdown
Collaborator

Checked the nine names against compute_nid (tools/nid_names.py): all match their NIDs. Diff only renames the stubs and updates the TechnicalDebt line; behaviour unchanged. Local build + ctest on top of current main: 459/459 passed. Merging once CI is green.

Note: #1498 rewrites the same nine stubs, so it will need to rebase after this lands.

@adriadam10
adriadam10 merged commit 3c0756e into boykopovar:main Oct 8, 2026
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