• src/doors/syncscumm/test/boot_betrayedalliance.sh xtrn/betrayedallianc

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sunday, July 19, 2026 05:16:09
    https://gitlab.synchro.net/main/sbbs/-/commit/007fd261d3eed481048e3b47
    Added Files:
    src/doors/syncscumm/test/boot_betrayedalliance.sh xtrn/betrayedalliance/.gitignore README.md getdata.js install-xtrn.ini scummvm.example.ini syncscumm.example.ini
    Modified Files:
    src/doors/syncscumm/deploy.js
    Log Message:
    syncscumm: add Betrayed Alliance Book 1 as an MIT-licensed SCI door

    Betrayed Alliance Book 1 (Ryan Slattery / Slattstudio) is an original
    EGA, parser-driven SCI adventure -- the second SCI title after Cascade
    Quest, and the cleanest provenance of the fetch-only games: it ships an explicit MIT LICENSE.TXT permitting redistribution outright (unlike Space
    Quest 0's Sierra IP or Cascade Quest's un-granted freeware). This adds an xtrn/betrayedalliance package: install-xtrn.ini, getdata.js, reference scummvm.example.ini + syncscumm.example.ini, and a README.

    Because it is MIT-licensed it could legally be bundled, but the package
    still fetches it -- lighter repo, always the pinned release, consistent
    with the other titles. getdata.js downloads the pinned release-v1.3.3.1 "-minimal" zip from the author's own GitHub release, verifies a pinned
    sha256 + size, and unpacks ONLY the SCI resources (resource.map/001, RESOURCE.CFG) plus the game's LICENSE.TXT -- kept with the data to honor
    the MIT notice clause. The release zip nests everything under a top-level folder and bundles a whole DOSBox package (DOSBox.exe, SCIV.EXE, drivers)
    for modern Windows; the extract recurses into the folder, flattens it,
    and matches only those files, so the DOSBox payload is never written.

    ScummVM detects the resources as game id sci-fanmade and names the title "Betrayed Alliance 1.3.3.1" -- the newest version its detection tables recognize (engines/sci/detection_tables.h), and the pinned zip's
    resource.map is a byte-exact match. Per-user saves land in data/user/<####>/betrayed/ (the dir is shortened from the full title so
    the cmd, with the sci-fanmade target, stays under the 100-char cap).
    deploy.js learns the package; boot_betrayedalliance.sh headless-boots it
    as a second SCI-engine acceptance check (500 frames).

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net