• src/doors/termgfx/test/repro_fade.c test_sixel_palette_used.c test_ter

    From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, July 22, 2026 23:38:06
    https://gitlab.synchro.net/main/sbbs/-/commit/9378ed4ee2590e0fed312699
    Added Files:
    src/doors/termgfx/test/repro_fade.c test_sixel_palette_used.c test_termgfx_present_rgbx.c test_termgfx_quant.c test_termgfx_termio.c test_termgfx_termio_audio.c test_termgfx_termio_audio_backlog.c test_termgfx_termio_audio_ini_headroom.c test_termgfx_termio_audio_ini_off.c test_termgfx_termio_audio_ini_tune.c test_termgfx_termio_audio_static.c test_termgfx_termio_audio_tone.c test_termgfx_termio_audio_underrun.c test_termgfx_termio_bottom_dirty.c test_termgfx_termio_canvas.c test_termgfx_termio_datadir.c test_termgfx_termio_gfxmax.c test_termgfx_termio_input.c test_termgfx_termio_input_evdev.c test_termgfx_termio_mouse.c test_termgfx_termio_nogfx.c test_termgfx_termio_present_pending.c test_termgfx_termio_sixelmax_override.c test_termgfx_termio_xterm_ceiling.c unit_termgfx_present_rgbx.sh unit_termgfx_quant.sh unit_termgfx_termio.sh
    Modified Files:
    src/doors/syncretro/M4_AUDIO.md src/doors/syncrpg/README.md src/doors/syncrpg/door/syncrpg.cpp src/doors/syncrpg/test/test_input_term.cpp unit_input_term.sh src/doors/syncscumm/door/syncscumm.cpp src/doors/termgfx/termgfx_termio.c termgfx_termio.h src/doors/termgfx/test/CMakeLists.txt
    Removed Files:
    src/doors/syncscumm/test/unit_termgfx_quant.sh
    Log Message:
    termgfx: own the shared tests, and derive door names instead of hardcoding

    Two leftovers from the M4 extraction of syncscumm's terminal I/O layer into
    the shared library.

    The tests for termgfx code were still sitting in syncscumm/test: 23 termgfx_termio binaries, the quantizer and present_rgbx tests, the sixel palette test and the repro_fade harness. Moved to termgfx/test, where the
    code they cover lives. Their drivers no longer hardwire syncscumm either: unit_termgfx_termio.sh / _present_rgbx.sh find the stage-1 libtermgfx.a in
    any door's build tree (TERMGFX_LIBS=<door>/build/libs overrides), and drop
    the vestigial -I<door>/door. syncscumm/test keeps what is actually syncscumm's: the boot_*, fetch_bass and subtitles scripts.

    termgfx_termio.c also still had one door's names compiled into it: it read "syncscumm.ini", answered to SYNCSCUMM_SOCK / _SIXELOUT / _AUDIODUMP /
    _TRACE, and wrote its diagnostics to <data-dir>/syncscumm/*,
    ./syncscumm-*, /tmp/syncscumm.<pid>.* -- so a sysop's syncrpg.ini was
    never read and syncrpg's diagnostics landed under syncscumm's name. All
    of it now derives from the door's own name, defaulted from argv[0]'s
    basename (minus .exe) and settable with the new
    termgfx_termio_set_app_name(). syncscumm and syncrpg call it explicitly so their sysop-facing <door>.ini survives an operator renaming the binary; syncscumm's file, env-var and path names are byte-for-byte what they were.
    The ini-reading tests pin "termgfx_test" and read termgfx_test.ini rather
    than borrowing a door's name.

    Built Win32/MSVC Release: syncscumm, syncrpg. The *nix unit suite -- which
    is what actually exercises the ini/env paths -- was not run: no cc on this host.

    Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

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