Commit Graph
18 Commits
Author SHA1 Message Date
Yunus Shaikh d55cd28762 test: stop requiring the seven unsupported calls to throw
The audio-path calculation, the export progress and thumbnail calls and
the four metadata calls are valid calls the libraries don't answer yet.
Checks requiring them to throw would fail as soon as one is
implemented, so the exact NotImplemented checks and their helpers go,
along with the output checks that depended on those calls. The
NotImplemented_nid_no_patch conversions, the debt entries and the
argument, session and handle checks stay.

Asked for in oneandonlydean's review.
2026-10-25 23:25:10 -07:00
Yunus Shaikh 19cdaa19aa fix(libSceAudioPropagation): report path calculation as not implemented
After its handle and argument errors, sceAudioPropagationSourceCalculateAudioPaths threw a bare runtime_error for every valid call, so progress.py counted it as done. Propagation is not implemented, so the valid call now goes through NotImplemented_nid_no_patch. The early errors are unchanged.
2026-10-25 12:53:43 +00:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
Dean Galvin 58cc9a68e3 Merge main into feat/audio-propagation-path-slots 2026-10-23 09:17:07 +13:00
JJenkxandClaude Opus 5.5 7bfcc9d07a fix(audio-propagation): accept the public render output formats
sceAudioPropagationSourceRender accepted only format 2. The RenderInfo
word at +0x28 is SharpProspero's AudioPropagationOutputFormat: 0, 1 and 2
are first- to third-order Ambisonics (4, 9 and 16 float channels), 4 and 5
are 8 interleaved float channels. SAROS (PPSA07631) renders format 0.
Other values still throw, and an output that is not a whole number of
frames is rejected. Based on db91769497 from the JJenkx fork.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 18:33:49 -04:00
JJenkx f066bd61b3 feat(audio-propagation): track source-owned configurable path slots 2026-10-21 18:33:20 -04:00
JAB-devandClaude Sonnet 5.5 5e39fbda86 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/audiopropagation-remove-inline-helpers
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 00:04:19 +02:00
boykopovar 05380f7402 fix(audiopropagation): enforce configured render frame limits 2026-10-21 21:52:59 +03:00
boykopovar ce4d3ab989 fix(audiopropagation): recover system options and cpu memory sizing 2026-10-21 21:52:58 +03:00
boykopovar 7a596d28aa fix(audiopropagation): restore mutable render descriptor fields 2026-10-21 21:52:31 +03:00
boykopovar c0e20df906 fix(audiopropagation): reject invalid path calculation inputs 2026-10-21 21:50:10 +03:00
boykopovar db3affa05b fix(audiopropagation): match audio path lookup errors 2026-10-21 21:50:09 +03:00
JAB-devandClaude Sonnet 5.5 a06dc199b7 fix(libSceAudioPropagation): drop the SDK inline Init helpers from the export list
The nine Init helpers are static inline in the SDK header and the bare sceAudioPropagationSystem name is in neither the header nor the stub, so the library no longer exports them.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 23:06:48 +02:00
Dean Galvin ace51add87 Merge main into pr-6513 2026-10-20 17:09:07 +13:00
al3w0f205 7b7eaa6f0a feat(libSceAudioPropagation): export missing firmware functions from database 2026-10-16 09:28:43 -05:00
JJenkx 4c2b12439f fix(audio-propagation): preserve existing destination mixes 2026-10-15 14:17:17 -04:00
Dean Galvin be3f06bfe8 feat(libSceAudioPropagation): render silence for propagated sources
sceAudioPropagationSourceRender takes the system, an array of RenderInfo
descriptors and their count: PPSA21564 and PPSA21567 pass one RenderInfo
{0x010107d6, 0x30} per call, with the source handle at +0x10, its output
buffer at +0x18, the buffer size in bytes at +0x20 and the word 2 at
+0x28, once per audio grain for each propagated source.

Without acoustic propagation a source contributes nothing, so each
output buffer is zeroed for its size. Every RenderInfo is checked first
(descriptor, a live source of this system, a non-empty output), and a
count of 0 or a format word other than 2 throws, as neither has been
observed.
2026-10-04 19:26:06 +13:00
Akhil MoolaandClaude Opus 5.5 ac66e70882 feat(libSceAudioPropagation): implement the no-acoustic-propagation path with recovered signatures
The 22 exports used by PPSA21567 take the call shapes recovered from its
call sites (#481): destroys take the system and the object, attribute
setters take a count, SourceCreate takes only an output handle,
UnregisterMaterial only the material.

The system lives in the title's CPU memory (16-byte header, no GPU memory)
and its handle is that address; rooms, portals, sources and materials are
counter handles. Attributes are validated and have no effect; no rays are
requested and sources report no audio paths. Non-empty ray results, path
calculation and audio paths throw, SourceRender stays unimplemented, and
invalid input throws because no error code is known. Objects left when
their system is destroyed become unusable; their later destroy or
unregister is a no-op.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-03 15:28:36 -06:00