Subj : src/doors/syncscumm/build.sh src/doors/syncscumm/door/CMakeLists.txt a To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Sun Jul 19 2026 18:26:49 https://gitlab.synchro.net/main/sbbs/-/commit/9175853a791c6d1d9ddaa126 Modified Files: src/doors/syncscumm/build.sh src/doors/syncscumm/door/CMakeLists.txt audio_term.cpp audio_term.h module.mk syncscumm.cpp video_term.cpp video_term.h src/doors/syncscumm/msvc/Directory.Build.targets Removed Files: src/doors/syncscumm/door/sst_io.h Log Message: syncscumm: wire the door onto the shared termgfx_termio module Task 3 moved sst_io.c/sst_plat.c out of the door and into termgfx as termgfx_termio.c/sst_plat.c, renaming the sst_io_* surface to termgfx_termio_*. This wires the door's C++ backend onto that shared module instead of a local copy, so the build links again. - syncscumm.cpp, video_term.{h,cpp}, audio_term.{h,cpp}: repoint the retired sst_io.h/sst_plat.h includes at termgfx/termgfx_termio.h and termgfx/sst_plat.h, and rename every sst_io_*/SST_KEY_*/SST_EV_* reference to termgfx_termio_*/TERMGFX_KEY_*/TERMGFX_EV_*. The TERMGFX_MOD_CTRL/ALT/SHIFT bit values differ from the old SST_MOD_CTRL/ALT (CTRL and ALT were swapped), so reading the new symbols instead of the old ones is what keeps pollEvent()'s modifier handling byte-identical to before the move. - SST_FB_W/H now read termgfx_termio.h's shared TERMGFX_TERMIO_FB_W/H. SST_AUDIO_RATE and sst_select_datadir() are door-specific (not part of the shared surface), so they stay door-side: SST_AUDIO_RATE is respelled as audio_term.h's own #define (still 24000, matching termgfx_termio.c's file-private copy), and sst_select_datadir() gets a door-side extern "C" declaration in syncscumm.cpp matching its new definition site. - door/sst_io.h is removed (superseded by termgfx_termio.h). - door/module.mk drops sst_io.o/sst_plat.o, now built into libtermgfx via termgfx's own CMake; build.sh's existing libtermgfx.a link and termgfx include path already cover them. Stale sst_io.c/.o comments in build.sh, door/CMakeLists.txt and the MSVC Directory.Build.targets are corrected to match (MSVC project itself is generated from module.mk by ScummVM's create_project, so no .vcxproj to hand-edit; not build-verified on this Linux host). Verified with a full clean ./build.sh (rm -rf build) producing build/syncscumm, and test/boot_bass.sh passing (165 frames, matching the pre-move run). --- þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net .