https://gitlab.synchro.net/main/sbbs/-/commit/02b58d3a514d48dd3e063df0
Added Files:
docs/superpowers/plans/2026-07-18-syncscumm-m5.md docs/superpowers/specs/2026-07-18-syncscumm-m5-multititle-queen-design.md src/doors/syncscumm/deploy.js src/doors/syncscumm/test/test_sst_datadir.c
Modified Files:
src/doors/syncscumm/build.sh src/doors/syncscumm/door/sst_io.c sst_io.h syncscumm.cpp src/doors/syncscumm/test/unit_sst_io.sh
Log Message:
syncscumm: serve multiple titles, choosing Talkie/Floppy data by audio
The ScummVM door backend gains everything needed to host more than one
game and to serve each session the game data it can actually use:
- The game-data path is rewritten before ScummVM sees it. A session
that can play digital audio is pointed at the "talkie" (speech) data
set; a silent session is pointed at "floppy" (text captions),
falling back to the base directory when neither subdir exists. When
no --path is given at all, the door defaults it to its own working
directory.
- Per-user save and config directories (--savepath, -c) are created
before launch, so two nodes never race one save slot and each user
keeps their own scummvm.ini.
- The build links libmad. ScummVM's freeware talkie builds store
speech as MP3, which stays silent without it; forcing --enable-mad
fails the build loudly rather than shipping a door that plays music
but no dialogue.
- deploy.js content-hash-copies the built binary into each
xtrn/sync<game> package directory, and a datadir-selection unit test
covers the Talkie/Floppy choice.
This is the groundwork for bundling additional ScummVM titles, each in
its own xtrn/ package sharing the single binary.
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net