• src/doors/syncscumm/build.sh src/doors/syncscumm/door/CMakeLists.txt a

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sunday, July 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