#!/usr/bin/env bash # #84: measure the DOUBLE DETONATION on two real nodes. # # A and B chase and fire missiles at each other. Every contact detonation now # logs position + aim + target handle (BT_PROJ_LOG "DET at"). READ: # * on节点 B, [projectile] REPLICANT salvo lines = A's mirrored fire, aim = the # FROZEN fire-time point; their DETs should land at that frozen point # (tgt=00000000) -- the stale half of the double. # * DETs with tgt!=0 = own homing rounds -> the true impact position. # * matchlog VEHICLE rows give both mechs' positions to measure staleness. set -x . /c/git/bt411/scratchpad/night6/bench_common.sh cd /c/git/bt411/content || exit 1 bt_assert_player_env rm -f mpd_a.log mpd_b.log bt_expert_egg MP.EGG MPD.EGG launch () { # $1=log $2=affinity $3=port BT_MP_LOG=1 BT_DMG_LOG=1 BT_MATCHLOG=1 BT_PROJ_LOG=1 \ BT_GOTO=enemy BT_GOTO_STOP=100 BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=5 \ bt_launch "$1" MPD.EGG "$2" -net "$3" sleep 2 } launch mpd_b.log 0x0C 1601 launch mpd_a.log 0x03 1501 sleep 5 python ../tools/btconsole.py MPD.EGG 127.0.0.1:1501 127.0.0.1:1601 & PC=$! sleep 200 kill $PC 2>/dev/null bt_kill_ours rm -f MPD.EGG echo "=== DONE ==="