CROUCH complete: full cycle + MP replication verified
The WIP's 'pose does not hold' was a chain of bench-instrument errors, not a code bug: every capture ran in COCKPIT view (the pilot cannot see their own legs; the eye-height residual masked as reversion). Joint probes prove the park holds indefinitely (knee 1.138, root -2.219 steady); the 2-node bench shows the observer's replicant fully crouched and held (duckmpA_031 -- the type-3 state record carries it with zero new replication code); the second scripted press (new BT_BTNTEST2 env) verifies RISE -> standing zeros. MP button delivery confirmed mode-mask-clean (the one miss was round-start jitter). Diags added, all BT_DUCK_LOG-gated: SetLegAnimation re-arm tracer, 1 Hz joint probe, RIO press mode-mask, BT_TREE_LOG topology dump, and the squat-park log. RESIDUAL filed: pilot's own cockpit eye does not ride the root drop (DPLEyeRenderable chain composition; cosmetic). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
dd70061e0e
commit
591d205b19
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
# SEARCHLIGHT bench 2 (external spot cone + replication): night 2-node.
|
||||
# A walks to 40u of B and stands (facing B). B presses the searchlight button
|
||||
# (BT_BTNTEST 0x14) at poll 300. B's lightState replicates (subsystem record
|
||||
# 0x14) -> A's replicant Searchlight LightOn flips -> A's TickSearchlight shows
|
||||
# the spot.bgf cone on B's mech.
|
||||
# PASS: A log "[spot] searchlight pass: ... (external: spot cone)" for B's mech
|
||||
# + "[spot] cone SHOWN (seg N)" after B's press; A BT_SHOT frames brighten near
|
||||
# B post-toggle. B log: "[light] ... requested ON" + lightState 0 -> 1.
|
||||
set -x
|
||||
. /c/git/bt411/scratchpad/night6/bench_common.sh
|
||||
cd /c/git/bt411/content || exit 1
|
||||
bt_assert_player_env
|
||||
taskkill //F //IM btl4.exe > /dev/null 2>&1
|
||||
sleep 2
|
||||
rm -f duckmp_a.log duckmp_b.log duckmp_relay.log duckmpA_*.png
|
||||
bt_expert_egg MP.EGG SG4.EGG
|
||||
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=night/; s/^vehicle=.*/vehicle=madcat/" SG4.EGG
|
||||
|
||||
(
|
||||
export BT_BTNTEST=0x13,900,960 BT_DUCK_LOG=1
|
||||
export BT_FIRE_LOG=1 BT_FOG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
|
||||
bt_launch duckmp_b.log SG4.EGG 0x0C -net 1601
|
||||
)
|
||||
sleep 2
|
||||
(
|
||||
export BT_GOTO=enemy BT_GOTO_STOP=40 BT_KEY_NOFOCUS=1 BT_DUCK_LOG=1
|
||||
export BT_SHOT_EVERY=60 BT_SHOT_PREFIX=duckmpA
|
||||
export BT_FIRE_LOG=1 BT_FOG_LOG=1 BT_MP_LOG=1
|
||||
bt_launch duckmp_a.log SG4.EGG 0x03 -net 1501
|
||||
)
|
||||
sleep 5
|
||||
python ../tools/btconsole.py SG4.EGG 127.0.0.1:1501 127.0.0.1:1601 > duckmp_relay.log 2>&1 &
|
||||
RELAY=$!
|
||||
sleep 90
|
||||
kill $RELAY 2>/dev/null
|
||||
taskkill //F //IM btl4.exe > /dev/null 2>&1
|
||||
sleep 3
|
||||
echo "=== B (lamp owner):"
|
||||
grep -aE "\[light\]|btntest|\[spot\]" duckmp_b.log | head -8
|
||||
echo "=== A (observer -- cone events):"
|
||||
grep -aE "\[spot\]" duckmp_a.log | head -8
|
||||
Reference in New Issue
Block a user