diff --git a/players/join.bat b/players/join.bat index 7a657e7..344d1e3 100644 --- a/players/join.bat +++ b/players/join.bat @@ -34,6 +34,9 @@ rem player, not just the ones we can reach for env setup. set BT_MATCHLOG=1 set BT_SCORE_LOG=1 set BT_DEATH_LOG=1 +rem #135: lamp/annunciator edges (techstat) -- one line per state change, +rem near-zero noise; would have answered the leak-no-flash report in one grep. +set BT_LAMP_LOG=1 cd content rem JOIN-GAME menu (2026-07-22): pick your CALLSIGN + MECH, click JOIN -- rem your choice is sent to the operator and lands in the mission roster. diff --git a/players/join_lan.bat b/players/join_lan.bat index d65c9b6..02079a6 100644 --- a/players/join_lan.bat +++ b/players/join_lan.bat @@ -37,6 +37,9 @@ rem player, not just the ones we can reach for env setup. set BT_MATCHLOG=1 set BT_SCORE_LOG=1 set BT_DEATH_LOG=1 +rem #135: lamp/annunciator edges (techstat) -- one line per state change, +rem near-zero noise; would have answered the leak-no-flash report in one grep. +set BT_LAMP_LOG=1 cd content rem JOIN-GAME menu (2026-07-22): pick your CALLSIGN + MECH, click JOIN -- rem your choice is sent to the operator and lands in the mission roster. diff --git a/players/play_steam.bat b/players/play_steam.bat index 46648cf..6dc2f65 100644 --- a/players/play_steam.bat +++ b/players/play_steam.bat @@ -36,6 +36,9 @@ rem player, not just the ones we can reach for env setup. set BT_MATCHLOG=1 set BT_SCORE_LOG=1 set BT_DEATH_LOG=1 +rem #135: lamp/annunciator edges (techstat) -- one line per state change, +rem near-zero noise; would have answered the leak-no-flash report in one grep. +set BT_LAMP_LOG=1 cd content rem ------------------------------------------------------------------ rem OUR GENERATION ONLY (2026-07-27). The wait loop below used to hold diff --git a/scratchpad/night12/skatebench3.sh b/scratchpad/night12/skatebench3.sh new file mode 100644 index 0000000..eebaec3 --- /dev/null +++ b/scratchpad/night12/skatebench3.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# #52 SKATE PROVOCATION 3 -- the LEG-GIMP transition family (#82 history: +# where replicant legs break). A walks on autodrive; B CHASES (goto stop 60) +# and servo-shoots A's SIX LEG ZONES (zone-walk, leg filter) until the gimp +# engages -- master gait swaps normal->gimp (and back on respawn), the +# transitions the light bench never exercised. [skate] watches on both; +# BT_GIMPFEED on B prints the replicant's gimp level + demand 1 Hz. +# NOVICE egg: crits off -- sustained leg-zone damage without subsystem kills. +set -x +. /c/git/bt411/scratchpad/night6/bench_common.sh +cd /c/git/bt411/content || exit 1 +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 2 +rm -f sg_a.log sg_b.log +bt_novice_egg MP.EGG SG.EGG +sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" SG.EGG + +# A = wandering victim (walks, gets leg-shot, gimps, keeps walking) +BT_AUTODRIVE=0.6 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ + bt_launch sg_a.log SG.EGG 0x0C -net 1601 +sleep 2 +# B = chasing leg-shooter + observer of A's replicant +BT_GOTO=enemy BT_GOTO_STOP=60 BT_ZONE_WALK=5 BT_WALK_ZONES="uleg,dleg,foot" \ +BT_GIMPFEED=1 BT_PICK_LOG=1 BT_KEY_NOFOCUS=1 \ +BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ + bt_launch sg_b.log SG.EGG 0x03 -net 1501 +sleep 5 +python ../tools/btconsole.py SG.EGG 127.0.0.1:1501 127.0.0.1:1601 > sg_relay.log 2>&1 & +RELAY=$! +sleep 360 +kill $RELAY 2>/dev/null +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 3 +echo "=== A leg damage (its own master view):" +grep -a "dmghit" sg_a.log | grep -coE "zone=(2|3|7|9|10|18)" ; true +echo "=== A gimp state changes:" +grep -aiE "gimp" sg_a.log | grep -va gimpfeed | head -8 +echo "=== B replicant gimp feed (last 6):" +grep -a "replgimp" sg_b.log | tail -6 +echo "=== SKATE hits (B watching A):" +grep -a "\[skate\]" sg_b.log | head -10 +echo "=== SKATE count A-side:" +grep -ac "\[skate\]" sg_a.log diff --git a/scratchpad/night12/skatebench4.sh b/scratchpad/night12/skatebench4.sh new file mode 100644 index 0000000..2ac196b --- /dev/null +++ b/scratchpad/night12/skatebench4.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# #52 SKATE PROVOCATION 3 -- the LEG-GIMP transition family (#82 history: +# where replicant legs break). A walks on autodrive; B CHASES (goto stop 60) +# and servo-shoots A's SIX LEG ZONES (zone-walk, leg filter) until the gimp +# engages -- master gait swaps normal->gimp (and back on respawn), the +# transitions the light bench never exercised. [skate] watches on both; +# BT_GIMPFEED on B prints the replicant's gimp level + demand 1 Hz. +# NOVICE egg: crits off -- sustained leg-zone damage without subsystem kills. +set -x +. /c/git/bt411/scratchpad/night6/bench_common.sh +cd /c/git/bt411/content || exit 1 +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 2 +rm -f sg2_a.log sg2_b.log +bt_novice_egg MP.EGG SG2.EGG +sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" SG2.EGG + +# A = wandering victim (walks, gets leg-shot, gimps, keeps walking) +BT_AUTODRIVE=0.5 BT_SELF_DAMAGE=8 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ + bt_launch sg2_a.log SG2.EGG 0x0C -net 1601 +sleep 2 +# B = chasing leg-shooter + observer of A's replicant +BT_GIMPFEED=1 \ + +BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ + bt_launch sg2_b.log SG2.EGG 0x03 -net 1501 +sleep 5 +python ../tools/btconsole.py SG2.EGG 127.0.0.1:1501 127.0.0.1:1601 > sg2_relay.log 2>&1 & +RELAY=$! +sleep 330 +kill $RELAY 2>/dev/null +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 3 +echo "=== A leg damage (its own master view):" +grep -a "dmghit" sg2_a.log | grep -coE "zone=(2|3|7|9|10|18)" ; true +echo "=== A gimp state changes:" +grep -aiE "gimp" sg2_a.log | grep -va gimpfeed | head -8 +echo "=== B replicant gimp feed (last 6):" +grep -a "replgimp" sg2_b.log | tail -6 +echo "=== SKATE hits (B watching A):" +grep -a "\[skate\]" sg2_b.log | head -10 +echo "=== SKATE count A-side:" +grep -ac "\[skate\]" sg2_a.log diff --git a/scratchpad/night12/skatebench5.sh b/scratchpad/night12/skatebench5.sh new file mode 100644 index 0000000..95c2040 --- /dev/null +++ b/scratchpad/night12/skatebench5.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# #52 SKATE PROVOCATION 3 -- the LEG-GIMP transition family (#82 history: +# where replicant legs break). A walks on autodrive; B CHASES (goto stop 60) +# and servo-shoots A's SIX LEG ZONES (zone-walk, leg filter) until the gimp +# engages -- master gait swaps normal->gimp (and back on respawn), the +# transitions the light bench never exercised. [skate] watches on both; +# BT_GIMPFEED on B prints the replicant's gimp level + demand 1 Hz. +# NOVICE egg: crits off -- sustained leg-zone damage without subsystem kills. +set -x +. /c/git/bt411/scratchpad/night6/bench_common.sh +cd /c/git/bt411/content || exit 1 +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 2 +rm -f sg3_a.log sg3_b.log +bt_novice_egg MP.EGG SG3.EGG +sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" SG3.EGG + +# A = wandering victim (walks, gets leg-shot, gimps, keeps walking) +BT_AUTODRIVE=0.5 BT_SELF_DAMAGE=4 BT_SELF_DAMAGE_ZONE=dz_ldleg BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ + bt_launch sg3_a.log SG3.EGG 0x0C -net 1601 +sleep 2 +# B = chasing leg-shooter + observer of A's replicant +BT_GIMPFEED=1 \ + +BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ + bt_launch sg3_b.log SG3.EGG 0x03 -net 1501 +sleep 5 +python ../tools/btconsole.py SG3.EGG 127.0.0.1:1501 127.0.0.1:1601 > sg3_relay.log 2>&1 & +RELAY=$! +sleep 330 +kill $RELAY 2>/dev/null +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 3 +echo "=== A leg damage (its own master view):" +grep -a "dmghit" sg3_a.log | grep -coE "zone=(2|3|7|9|10|18)" ; true +echo "=== A gimp state changes:" +grep -aiE "gimp" sg3_a.log | grep -va gimpfeed | head -8 +echo "=== B replicant gimp feed (last 6):" +grep -a "replgimp" sg3_b.log | tail -6 +echo "=== SKATE hits (B watching A):" +grep -a "\[skate\]" sg3_b.log | head -10 +echo "=== SKATE count A-side:" +grep -ac "\[skate\]" sg3_a.log diff --git a/scratchpad/night12/skatebench6.sh b/scratchpad/night12/skatebench6.sh new file mode 100644 index 0000000..36cc543 --- /dev/null +++ b/scratchpad/night12/skatebench6.sh @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +# #52 SKATE PROVOCATION 3 -- the LEG-GIMP transition family (#82 history: +# where replicant legs break). A walks on autodrive; B CHASES (goto stop 60) +# and servo-shoots A's SIX LEG ZONES (zone-walk, leg filter) until the gimp +# engages -- master gait swaps normal->gimp (and back on respawn), the +# transitions the light bench never exercised. [skate] watches on both; +# BT_GIMPFEED on B prints the replicant's gimp level + demand 1 Hz. +# NOVICE egg: crits off -- sustained leg-zone damage without subsystem kills. +set -x +. /c/git/bt411/scratchpad/night6/bench_common.sh +cd /c/git/bt411/content || exit 1 +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 2 +rm -f sg4_a.log sg4_b.log +bt_novice_egg MP.EGG SG4.EGG +sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" SG4.EGG + +# A = wandering victim (walks, gets leg-shot, gimps, keeps walking) +BT_AUTODRIVE=0.5 BT_SELF_DAMAGE=4 BT_SELF_DAMAGE_ZONE=dz_ldleg BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ + bt_launch sg4_a.log SG4.EGG 0x0C -net 1601 +sleep 2 +# B = chasing leg-shooter + observer of A's replicant +BT_REPL_LOG=1 \ + +BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 \ + bt_launch sg4_b.log SG4.EGG 0x03 -net 1501 +sleep 5 +python ../tools/btconsole.py SG4.EGG 127.0.0.1:1501 127.0.0.1:1601 > sg4_relay.log 2>&1 & +RELAY=$! +sleep 330 +kill $RELAY 2>/dev/null +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 3 +echo "=== A leg damage (its own master view):" +grep -a "dmghit" sg4_a.log | grep -coE "zone=(2|3|7|9|10|18)" ; true +echo "=== A gimp state changes:" +grep -aiE "gimp" sg4_a.log | grep -va gimpfeed | head -8 +echo "=== B replicant gimp feed (last 6):" +grep -a "replgimp" sg4_b.log | tail -6 +echo "=== SKATE hits (B watching A):" +grep -a "\[skate\]" sg4_b.log | head -10 +echo "=== SKATE count A-side:" +grep -ac "\[skate\]" sg4_a.log diff --git a/scratchpad/night12/skatebench7.sh b/scratchpad/night12/skatebench7.sh new file mode 100644 index 0000000..190e236 --- /dev/null +++ b/scratchpad/night12/skatebench7.sh @@ -0,0 +1,40 @@ +#!/usr/bin/env bash +# #52 FINAL gimp-replication check (clean-room script -- the sed-derived +# chain dropped envs). A: walks + aimed leg self-damage -> ~22s of REAL +# gimped walking before the leg dies. B: observer with the replicant probes +# ([replgimp] 1 Hz: the peer's view of the gimp level) + [skate] + captures. +# QUESTION: does the PEER limp while the master limps (gl=3 on B)? +set -x +. /c/git/bt411/scratchpad/night6/bench_common.sh +cd /c/git/bt411/content || exit 1 +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 2 +rm -f sg5_a.log sg5_b.log sg5B_*.png +bt_novice_egg MP.EGG SG5.EGG +sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" SG5.EGG + +( + export BT_AUTODRIVE=0.5 BT_SELF_DAMAGE=4 BT_SELF_DAMAGE_ZONE=dz_ldleg + export BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 + bt_launch sg5_a.log SG5.EGG 0x0C -net 1601 +) +sleep 2 +( + export BT_REPL_LOG=1 BT_JIT=1 BT_SHOT_EVERY=90 BT_SHOT_PREFIX=sg5B + export BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1 + bt_launch sg5_b.log SG5.EGG 0x03 -net 1501 +) +sleep 5 +python ../tools/btconsole.py SG5.EGG 127.0.0.1:1501 127.0.0.1:1601 > sg5_relay.log 2>&1 & +RELAY=$! +sleep 200 +kill $RELAY 2>/dev/null +taskkill //F //IM btl4.exe > /dev/null 2>&1 +sleep 3 +echo "=== A gimp window (master):" +grep -a "gaitSM" sg5_a.log | grep -oaE "state=[0-9]+" | sort | uniq -c +echo "=== B peer gimp view (replgimp gl values):" +grep -a "replgimp" sg5_b.log | grep -oaE "gl=[0-9]+" | sort | uniq -c +grep -a "replgimp" sg5_b.log | grep -v "gl=0" | head -6 +echo "=== SKATE:" +grep -ac "\[skate\]" sg5_b.log