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