• src/doors/syncdoom/i_termsound.csrc/doors/syncdoom/CMakeLists.txt i_so

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sun Jun 28 23:51:28 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/256363715550c553c1dea313
    Added Files:
    src/doors/syncdoom/i_termsound.c
    Modified Files:
    src/doors/syncdoom/CMakeLists.txt i_sound.c syncdoom.c
    Log Message:
    syncdoom: digital sound effects via SyncTERM audio APC

    Wire SyncDOOM's SFX through the shared termgfx audio module (added for
    SyncDuke in the prior commit): a Doom sound_module_t (i_termsound.c)
    registered in i_sound.c's sound_modules[], so the engine's normal
    S_StartSound -> I_StartSound path drives it with no game-code changes.
    It builds the DS<name> lump name, reads the DMX header (rate + 8-bit PCM)
    and hands the samples to termgfx_audio_sfx, which WAV-wraps and ships them
    to SyncTERM for libsndfile decode + mixing.

    syncdoom.c creates the manager in DG_Init, fires the libsndfile cap probe,
    and feeds inbound bytes in pump_input (with a one-shot "audio: tier=N" dlog). Gated on a libsndfile-capable SyncTERM (tier 1); a silent no-op otherwise. Validated live on SyncTERM 1.10a.

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net