Drove the retail game headless (Canary + lavapipe, vgamepad) to the Ready Room Arsenal and read the Gallery-Mode DATA SHEET for every weapon the 5%-progress save reveals. Two UI->field mappings are CONFIRMED against weapons whose values ARE on disc: Ammo Capacity == LoadingCount (9/9 exact matches) Max. Lock Ons == TriggerShotCount (FALCON 9AM 12 == wep_02; BUZZARD 22 == wep_04) That makes the panel an oracle for fields the disc leaves defaulted, and it is shown for undeveloped weapons too, so no points need spending. Recovered TriggerShotCount for wep_05 and wep_60 (both 4, on-disc absent), and bracketed the defaulted Power / MaximumRange via the Range/Damage letter classes. Ruled out first: the defaults are not in hidden/DefTables.pak (no WEAPON-schema objects there) nor in the localized GP_MAIN_GAME_* duplicates. Also adds the two analysis examples that produce the shopping list of defaulted fields, the screenshot harness used to drive the menus, and the evidence PNGs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
22 lines
832 B
Bash
Executable File
22 lines
832 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Poll the framebuffer for the "PRESS (A) BUTTON" title screen (the green A glyph
|
|
# at ~625,618) and tap A the instant it appears — the title auto-returns to the
|
|
# attract loop after a few seconds, which is why a human-paced tap misses it.
|
|
set -u
|
|
export HOME=/sylph-home/re
|
|
TMP=/tmp/title-probe.png
|
|
deadline=$(( SECONDS + ${1:-900} ))
|
|
while [ $SECONDS -lt $deadline ]; do
|
|
if screenshot "$TMP" >/dev/null 2>&1; then
|
|
read -r r g b < <(convert "$TMP" -format "%[fx:int(255*p{625,618}.r)] %[fx:int(255*p{625,618}.g)] %[fx:int(255*p{625,618}.b)]" info:)
|
|
if [ "$g" -gt 130 ] && [ $((g - r)) -gt 45 ] && [ $((g - b)) -gt 45 ]; then
|
|
echo "TITLE detected (rgb $r,$g,$b) at ${SECONDS}s — tapping A"
|
|
vgamepad tap A 200
|
|
exit 0
|
|
fi
|
|
fi
|
|
sleep 1
|
|
done
|
|
echo "TIMEOUT: title not seen"
|
|
exit 1
|