Repository navigation
feat(libSceAudioOut): implement sceAudioOutGetSystemState - #5965
Conversation
ca17d07 to
8f22c85
Compare
|
could someone check this? @adriadam10 |
8f22c85 to
46cd6d5
Compare
|
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.
|
adriadam10
left a comment
There was a problem hiding this comment.
Thanks. Build and the AudioOut ctest scope are green here, and audio_out_system_state fails to build without the change. One thing to fix:
core/libs/SceTypes.hpp:575AudioOutSystemStateis 64 bytes (copied fromAudioOut2SystemState), but the sources the debt line cites say 32: shadPS4'sOrbisAudioOutSystemStateisfloat loudness; u8 reserved8[4]; u64 reserved64[3], and SharpProspero'sSceAudioOutSystemStatehasSize = 32. Please use the 32-byte layout (std::uint64_t reserved[3]), and add astatic_assert(sizeof(...) == 32).docs/dev/debt/libSceAudioOut.md:15: the layout is not from shadPS4/fpPS4 as written, so correct it once the struct matches. Also note there that shadPS4 returns NOT_INIT before init (not modelled) and that SharpProspero documents loudness in LKFS, so the constant0.0fis unconfirmed.
|
@bcortezf this PR now conflicts with In case it helps: I rebased your commit onto current Windows 10 19045, WinLibs GCC 15.2.0 r7, Release,
AI-assisted (Claude Code). |
46cd6d5 to
abd3af9
Compare
|
@adriadam10 Done. struct is now 32 bytes with a static_assert, debt entry corrected (sources, LKFS, NOT_INIT not modelled), rebased on current main. |
|
btw, with this, im able to run rdr1 at 17 fps |
|
Re-checked head abd3af9: |
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
abd3af9 to
de28243
Compare
|
Both points are fixed: the struct is 32 bytes with the Added one commit on your branch: |
What
Red Dead Redemption (PPSA30528) imports
sceAudioOutGetSystemState(NIDR5hemoKKID8) and fails to load without it:This PR adds it:
float loudness, 4 reserved bytes, 3 reserved 64-bit words, checked by astatic_assert) and reports a loudness of0.0f.0x80260004, like the other AudioOut calls.The layout follows shadPS4's
OrbisAudioOutSystemStateand SharpProspero'sSceAudioOutSystemState(Size = 32), not a console measurement. The debt entry indocs/dev/debt/libSceAudioOut.mdrecords that, and that the constant0.0fis unconfirmed (SharpProspero documents loudness in LKFS) and that shadPS4's NOT_INIT beforesceAudioOutInitis not modelled.A unit test (
audio_out_system_state) checks the result, the loudness and the null pointer.Tested
Windows 11 (10.0.26200), MinGW build, on current
main(a6dcea927) + this commit (abd3af907)ctest -R audio_out_system_statepasses.python3 tools/check_conventions.py --base origin/mainpasses.Not tested: Linux/macOS.
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)