Document the display dependency: no display = silent hang at mod load, process-alive is not proof

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
type-two 2026-07-25 19:13:31 +10:00
parent 93ad888c32
commit f1984c16ea

View File

@ -195,6 +195,16 @@ faction, or it reads as clip-art soup. Fix the Blender camera rig once, reuse.
## 6. Known traps
**The game needs a live display.** OpenRA is SDL2/OpenGL only — there is no null
renderer. If the Mac's screen is locked or asleep, `launch-game.sh` hangs
silently at `Loading mod: vinylgod`: the process stays alive, no exception log is
written, and no game ever starts. **A running process is NOT proof the game
works.** Check for a live display first (`screencapture -x /tmp/x.png` fails with
"could not create image from display" when it is unavailable). When there is no
display, the strongest available verification is:
`luac -p` on every .lua, `./utility.sh --check-yaml` (0 errors),
`./utility.sh --map refresh` (validates every map), and `make`.
Learned the hard way on 2026-07-20 (phases AF):
- **Smoke-test any change by launching straight into a game**: `./launch-game.sh Game.Mod=vinylgod Launch.Map=vinylgod``Launch.Map` accepts the map's *folder name*, no UID needed. Run ~45s, then check `~/Library/Application Support/OpenRA/Logs/` for `exception-*.log` (renamed with a timestamp on crash — absence of `exception.log` alone proves nothing).