docs/re: in-flight control mapping, and why lethality is an aim-dwell problem
Probed rather than assumed: hold each pad input and photograph the HUD ammo counters. RB = nose gun (NOSE BM 6000->5956 in 4 s, ~11 rounds/s, HEAT rises), Y = main mount (MAIN MPM 300->299), d-pad = tactical map overlay, and LB/X/B/A/LS/RS move neither counter. No target-cycle input exists. The green TARGET marker is already up with nothing pressed, so the game selects for us and a guided missile's lock is a time-on-target mechanic, not a button. That closes the lethality question: it is not target choice (escort weighting), not ballistics (now from the confirmed Shell records), and not the mapping — the steering loop simply never holds the nose on one contact long enough to lock. Aim dwell is the next lever. Also records two things the reimplementation needs: two weapons with separate ammo pools and HUD counters, and a HEAT bar that fills while the gun fires (cap and cool-down not yet measured).
This commit is contained in:
34
tools/re-capture/lock_probe.sh
Executable file
34
tools/re-capture/lock_probe.sh
Executable file
@@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env bash
|
||||
# Which input SELECTS a target, and does a lock then build?
|
||||
#
|
||||
# 98 guided missiles produced 2 kills. A guided missile with nothing to guide to
|
||||
# flies straight, so the suspicion is that the loop has never selected a target
|
||||
# at all: the HUD carries a `TARGET` marker and a lock reticle, and no button in
|
||||
# pilot.py has ever touched them. fire_probe.sh already showed LB/X/B/A/LS/RS do
|
||||
# not discharge a weapon — but "does not fire" says nothing about "does not
|
||||
# select", so sweep them again watching the RETICLE instead of the ammo.
|
||||
#
|
||||
# Captures the centre of the screen (reticle + lock brackets) and the right-hand
|
||||
# target panel, so a selection or a building lock is visible either way.
|
||||
set -u
|
||||
export HOME=/sylph-home/re SDL_AUDIODRIVER=dummy DISPLAY=:98
|
||||
SD="$(cd "$(dirname "$0")" && pwd)"
|
||||
SHOTS=/sylph-home/re/shots
|
||||
HOLD="${1:-3}"
|
||||
|
||||
shot(){ screenshot "$SHOTS/lock-$1.png" >/dev/null 2>&1; echo " shot $1"; }
|
||||
|
||||
"$SD/launch_mission.sh" fly || { echo "BOOT FAILED"; exit 1; }
|
||||
sleep 3
|
||||
shot "00-idle"
|
||||
|
||||
# tap, not hold: a select is an edge, and holding a cycle button would just spin
|
||||
# through every contact. Two taps each, so a cycle that lands on nothing the
|
||||
# first time still shows on the second.
|
||||
for b in RS LS LB B X A Y; do
|
||||
vgamepad tap "$b" 200; sleep 0.4; vgamepad tap "$b" 200; sleep "$HOLD"
|
||||
shot "tap-$b"
|
||||
done
|
||||
vgamepad reset
|
||||
shot "99-final"
|
||||
echo "PROBE DONE"
|
||||
Reference in New Issue
Block a user