• src/doors/syncmoo1/README.md syncmoo1.h syncmoo1_config.c syncmoo1_con

    From Rob Swindell (on Debian Linux)@1:103/705 to Git commit to main/sbbs/master on Fri Jul 24 23:28:14 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/bc7f7f0c8947435119ba6a85
    Modified Files:
    src/doors/syncmoo1/README.md syncmoo1.h syncmoo1_config.c syncmoo1_config.h syncmoo1_input.c syncmoo1_io.c xtrn/syncmoo1/syncmoo1.example.ini
    Log Message:
    syncmoo1: tell a text terminal why the game will not run

    MoO1 is a picture and there is no text tier to fall back to, but the door
    drew for whatever was on the other end. A terminal with neither sixel nor
    JXL was sent the sixel stream anyway and sat on a black screen the player
    could not abort out of.

    Gate the present path on the shared verdict (termgfx/gfxgate.h): once the probes are out and before any encode, hold the first frames briefly for
    the device-attributes reply, then either draw or turn the terminal away
    with a notice and a clean exit. Holding first is what keeps a rejected
    terminal from seeing a screenful of sixel before the explanation of why
    it cannot have one.

    The gate reads input only while undecided and latches as soon as a tier
    is known, leaving the frame path untouched in steady state: reading
    alongside a paced frame is the same race sm_io_vscale_probe() already
    drains around. Silence is not a refusal -- a terminal that never answers device-attributes still gets to play.

    Synchronet repaints its own menu the moment the door returns, so the
    notice waits to be dismissed: a keypress, or [text] no_graphics_pause
    seconds, whichever comes first. An unattended or already-dead client
    cannot hold the node past that, and 0 disables the wait.

    [text] no_graphics and no_graphics_file let the sysop word the notice. A relative path is pinned to the launch directory while cwd is still there,
    since the gate reads the file long after the chdir into the per-user home
    and would otherwise look for it beside that player's saves.

    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
    --- SBBSecho 3.37-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)