• docs/superpowers/plans/2026-07-18-syncscumm-m5.md docs/superpowers/spe

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sat Jul 18 22:07:38 2026
    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