https://gitlab.synchro.net/main/sbbs/-/commit/35961c8931362fcc6d940d19
Modified Files:
src/doors/termgfx/audio_mgr.c audio_mgr.h
Log Message:
termgfx: add name-addressed SFX (store + play_named)
The SFX pair keys its client-cache name on the caller's id ("<prefix>/sfx/<id>", audio_mgr.c's snprintf(leaf, "%d", id)) and Stores lazily, inside the play call, guarded by sfx_up[id]. Neither an eager
Store nor a caller-supplied name is expressible, and syncmoo1 needs both:
1oom registers every sample up front, before the audio tier is even
known, and content-addressed names are what let a later cross-session
upload skip be correct.
Add termgfx_audio_sfx_store() and termgfx_audio_sfx_play_named(), keyed
on a caller-supplied leaf with their own "Stored this session" table.
The transcode-and-Store body is extracted to sfx_store_bytes() and shared
with the id path, whose sfx_up[]/sfx_dur[] behaviour is unchanged.
Additive: SyncDOOM and SyncDuke keep the id path byte-for-byte and both
still build.
--- SBBSecho 3.37-Linux
* Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)