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