Hook up the engine's new title screen as the front door

MRPGI (fa7fa10) grew a title screen / world picker: point --game at a
folder of game folders and you get the shelf. cases/collection.json names
it POLICE SQUAD QUEST, and a bare ./play.sh now opens it instead of the
shell menu — arrow keys, Enter to play, Esc backs out of a case to the
shelf. ./play.sh <number> still jumps straight in.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
type-two 2026-07-26 21:50:43 +10:00
parent 8c714d56aa
commit a9e53ccc49
3 changed files with 9 additions and 2 deletions

View File

@ -21,7 +21,10 @@ itself a reimplementation of AGI, the engine Sierra shipped *Police Quest* on.
./play.sh
```
That lists the cases and asks which one. `./play.sh 07` jumps straight to one.
That opens the engine's **title screen** — the whole campaign on one shelf,
arrow keys to choose, Enter to play, Esc backs out of a case to the shelf.
`./play.sh 07` still jumps straight to one case. The shelf's big title comes
from [cases/collection.json](cases/collection.json).
Or directly:

1
cases/collection.json Normal file
View File

@ -0,0 +1 @@
{ "name": "POLICE SQUAD QUEST" }

View File

@ -25,7 +25,10 @@ pick() {
}
arg="$1"
[ -n "$arg" ] || arg=$(pick)
# No arg: the engine's own title screen / world picker on the cases shelf.
[ -n "$arg" ] || exec cargo run --release -p mrpgi --manifest-path "$ENGINE/Cargo.toml" -- \
--game "$(pwd)/cases"
# A bare number selects by case prefix; anything else is treated as a path.
case "$arg" in