#!/usr/bin/env bash # #32 v2: reproduce the FIELD regime -- mixer saturated during combat -- and # name the class that saturates it. 9 mech entities (player + 8 dummies), # missile autofire for maximum explosion density. # $1 tag for the log # $2 optional BT_AUDIO_SOURCES override (empty = default 240 cap) 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 sed "s/^map=.*/map=grass/; s/^time=.*/time=day/" MP.EGG > AUD.EGG TAG="${1:-cap240}" LOG=audioburst_$TAG.log rm -f "$LOG" export BT_SPAWN_ENEMY=8 export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=1 export BT_GOTO=enemy BT_GOTO_STOP=60 [ -n "$2" ] && export BT_AUDIO_SOURCES="$2" || unset BT_AUDIO_SOURCES bt_launch "$LOG" AUD.EGG 0x03 sleep 150 taskkill //F //IM btl4.exe > /dev/null 2>&1 sleep 2 echo "=== census tail ===" grep -oE "\[audio\] source census[^\n]*" "$LOG" | tail -4 echo "=== drop census ===" grep -oE "\[audio\] dropped by class[^\n]*" "$LOG" | tail -2 echo "=== failure notes ===" grep -cE "ACQUIRE FAILED" "$LOG" echo "=== frame time ===" grep -oE "\[rstat\][^\n]*avg=[0-9.]+ms" "$LOG" | tail -3