• src/doors/syncdoom/syncdoom.c src/doors/termgfx/audio_mgr.c

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Jul 3 01:03:49 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/2ba9f7dd255cf0182e36eb22
    Modified Files:
    src/doors/syncdoom/syncdoom.c src/doors/termgfx/audio_mgr.c
    Log Message:
    SyncDOOM: fix no-audio in multiplayer + silence the muster waiting room

    Audio: the SyncTERM audio-capability probe reply was lost in a netgame. The connect handshake (D_CheckNetGame/BlockUntilStart) stalls the input pump for seconds, so the reply arrives coalesced in one large read -- and termgfx's cap-probe parser kept only the last 32 bytes of a read, discarding a reply buried earlier. Now it scans the whole buffer (rolling window kept only as a cross-feed fallback). The C waiting room (sd_waitroom_run) also drained the terminal socket without feeding the audio manager, throwing the reply away before pump_input could see it; it now feeds sd_audio at both read sites. Both host and joiner get SFX + music.

    Muster: with the JS lobby muster gathering everyone before anyone connects, the C waiting room is just the near-instant connect->launch handshake. A new -mustered flag makes sd_waitroom_run skip its splash draw and launch beep, so it
    no longer flashes on top of the lobby's "Joining..." (the joiner sees the game, not a redundant C splash).

    Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_01KYmBzSZGyRondAXevh9RJP
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)