Repository navigation
fix(exports): export the PS VR2 calls Phasmophobia's psvr2.prx imports - #5960
Merged
adriadam10 merged 1 commit intoOct 16, 2026
Merged
adriadam10 merged 1 commit into
adriadam10 merged 1 commit into
Conversation
PPSA09030's Media/Plugins/psvr2.prx imports sceHmd2ReprojectionGetStatus from libSceHmd2 and sceVrTracker2GetCoordinateSystem and sceVrTracker2GetPlayAreaBoundaryGeometry from libSceVrTracker2, so the title does not start with the plugin loaded (discussion boykopovar#4680). Declare the three as throwing exports, like the earlier PS VR2 imports of PPSA29866. The names resolve from the NIDs 8GkaY2B7opM, Y-3JCiU9bbU and SCph4ZbkqzU with tools/nid_names.py; no reference gives their signatures. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closed
11 tasks done
This was referenced Oct 15, 2026
|
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.
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
Collaborator
|
Checked the three NIDs against |
11 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Phasmophobia (PPSA09030) ships a PS VR2 plugin,
Media/Plugins/psvr2.prx, that imports three calls no library exports, so with--module-dir Media/Pluginsthe executable does not start (current-mainstatus in the Game bring-up thread, 14 October; the workaround there is--exclude-sce-module psvr2.prx). This PR declares them without parameters as throwing stubs (signatures unknown), as #4044 did for PPSA07411 and #3819 for PPSA29866:libSceHmd28GkaY2B7opMsceHmd2ReprojectionGetStatuslibSceVrTracker2Y-3JCiU9bbUsceVrTracker2GetCoordinateSystemlibSceVrTracker2SCph4ZbkqzUsceVrTracker2GetPlayAreaBoundaryGeometryThe library of each NID comes from the title's load error; the names come from the aerolib NID list (
tools/nid_names.py --nidresolves each NID to these names, and--namecomputes the same NIDs back). No public reference gives their signatures, so nothing beyond the declarations is implemented. Adocs/dev/debt/libSceHmd2.mdentry under Unknown function info lists the three, next to the PPSA29866 one. No test is added, since CONTRIBUTING says not to test that a symbol is exported.If the plugin calls one of these during start-up, the title will now stop on a named
not implementedthrow instead of failing to load the plugin.Tested
Head
9a0aa5f6a7671adc5123bc162aa254a1f52132cc, basea453108cf7768b71879b0e832d367a935c43440d.mainate34c479210c78d7b160d7054f3e72de422b23d7a, WinLibs MinGW-w64 GCC 15.2.0, Release,BUILD_TESTING=ON:libSceHmd2andlibSceVrTracker2build and pass NID patching; 1198/1198 tests pass, includingguest_hmd2.BUILD_TESTING=ON, AMD EPYC 7763 in GitHub Codespaces): both libraries build and pass NID patching, and the patched.prxfiles export8GkaY2B7opM(libSceHmd2) andY-3JCiU9bbU,SCph4ZbkqzU(libSceVrTracker2) as global functions (readelf --dyn-syms);guest_hmd2passes.tools/nid_names.pyresolves the three NIDs to these names and computes the same NIDs from them. Conventions checker andgit diff --checkpass.Duplicate and overlap check
Searched open, merged and closed PRs for the three names, their NIDs, PPSA09030 and
psvr2.prx: none declares them. #5118 (closed) declared 20 other PS VR2 names, none of these three; #4682 and #5094 (merged) are the other PPSA09030 changes. Re-checked on 2026-10-15: four later PRs by @mazen320 touch the same files, and none declares these NIDs or names. #6253 and #6269 rewrite or remove line 9 ofdocs/dev/debt/libSceHmd2.md, the PPSA29866 entry this PR adds its line after, so whichever merges second needs a one-line rebase there (the upstream overlap check reports the same); #6271 and #6272 touchlibSceVrTracker2/Export.cpp,libSceHmd2/Export.cppand the same debt file and merge with this PR without conflict in either order.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)psvr2.prx)