EC-005: ScummVM fork + engines/scooby/ scaffold checklist

Paired WP: WP-010 Purpose: Step-by-step checklist for forking ScummVM, creating a compilable empty engine skeleton, and pinning the baseline commit hash.

The ScummVM build system on Windows has more moving parts than most projects — correct module.mk entries, configure.engine syntax, and the detection/engine compilation split all need to be right before a single line of game code is written. This checklist executes them in an order that catches each failure as early as possible.


Pre-flight


Step 1 — Fork on GitHub (5 min)


Step 2 — Clone fork + add upstream remote (5 min)

git clone https://github.com/barefootbetters/scummvm.git C:\www\scummvm
cd C:\www\scummvm
git remote add upstream https://github.com/scummvm/scummvm.git
git fetch upstream --no-tags

Step 3 — Record upstream HEAD commit hash (5 min)

git rev-parse upstream/master

Step 4 — Create working branch

git checkout -b scooby-engine

Step 5 — Create engines/scooby/ skeleton files

Create the directory and all required files. Copy patterns from an existing simple engine (e.g. engines/access/ or engines/agi/) for reference on module.mk and configure.engine syntax. See docs/02-SCUMMVM-INTEGRATION.md §10 for the exact patterns required.


Step 6 — First configure + build (time-box: 30 min per attempt)

cd C:\www\scummvm
./configure --enable-engine=scooby 2>&1 | tee configure-scooby.log
make -j4 2>&1 | tee build-scooby.log

Step 7 — Verify clean omission

./configure --disable-engine=scooby && make -j4

Step 8 — Verify debug channels compile

./scummvm.exe --list-debug-flags 2>&1 | findstr scooby

(or grep scooby on the output if using a Unix shell under mingw)


Step 9 — Commit and push

git add engines/scooby/
git add engines/engines.mk   # or wherever the engine list lives
git commit -m "engines/scooby: add empty compilable engine skeleton

Stub ScoobyEngine, MetaEngineDetection, and MetaEngine. Engine compiles
clean with --enable-engine=scooby and is absent with --disable-engine=scooby.
Debug channels registered: resource, graphics, audio, script, input.
default_state = disabled (ADGF_TESTING).

Co-authored-by: Copilot <[email protected]>"

git push -u origin scooby-engine

Step 10 — Update project docs


Exit check