#!/usr/bin/env bash # One background task: bind the player's transform, then run the control probe. # # Everything that must not be interrupted lives in a single task here, because # the display and the emulator both die on their own every few minutes in this # container and nothing may depend on surviving between tool calls. # # Assumes the game is ALREADY in flight (launch_mission.sh). Pass --boot to # have it get there itself. set -u export HOME=/sylph-home/re SDL_AUDIODRIVER=dummy DISPLAY=:98 export PYTHONPATH=/sylph-home/.local/lib/python3.12/site-packages SD="$(cd "$(dirname "$0")" && pwd)" CFG=/tmp/nav-live.json PRE=/tmp/ctrl HOLD=3.0 SETTLE=2.0 if [ "${1:-}" = "--boot" ]; then shift "$SD/launch_mission.sh" fly || { echo "BOOT FAILED"; exit 1; } fi [ $# -ge 1 ] && CFG="$1" [ $# -ge 2 ] && PRE="$2" [ $# -ge 3 ] && HOLD="$3" [ $# -ge 4 ] && SETTLE="$4" python3 "$SD/entities2.py" self 0x130 "$CFG" || { echo "TRANSFORM BIND FAILED"; exit 1; } echo "--- config: $(cat "$CFG")" python3 "$SD/ctrl_probe.py" "$CFG" "$PRE" "$HOLD" "$SETTLE" echo "PROBE DONE"