skip_intro.sh compared two screenshots to detect the intro movie. When the X server died 3 min into a run, `screenshot` failed silently and left both PNGs at their previous contents — two stale files, whose RMSE is a constant non-zero number, i.e. exactly the signature of a changing screen. The loop then reported "movie -> skip A" every 5 s for the whole 600 s timeout with no emulator and no display alive, and the session wasted 10 minutes before saying BOOT FAILED. Both waiters now verify, every iteration, that the screenshot was actually written, that the display answers xdpyinfo, and that a non-zombie xenia_canary exists — with distinct exit codes (3 display, 4 emulator, 5 capture) so the session log names the cause instead of timing out. Also adds mission_state.py + escort_session.sh: read pos+0x154 against each definition's HP for EVERY entity, to test whether the hull anchor is a property of the entity class rather than of the player object (the escort question).
2.5 KiB
Executable File
2.5 KiB
Executable File