#174 root-caused + fixed with a negative control: the binary's ONLY re-descend protection is the burst loop's zone-state guard wrapping the WHOLE per-burst application (@0x4a0446, part_012.c:14661 -- crit roll, TakeDamage, score tally, destroyed-flag; RecurseSegmentTable/SendSubsystemDamage have NO internal re-entry protection: no used-marking, no top gate). The port had narrowed the guard to the crit roll -- continued fire re-saturated dead zones (cascade re-fired: night-16 zone 18 x7, each pass re-pushing crit allotment = the ram 'crits worsened with each collision'), and hits on wreckage kept SCORING (binary awards zero -- a quiet farm-the-wreck exploit). Fix: guard restored to binary scope. Bench: BT_ZONE_HAMMER hook (4Hz explicit-zone self-damage) -- fixed build 1 cascade/10 hits/0 post-saturation applications; NEGATIVE CONTROL (fix stashed): 147 cascades. 147 -> 1. Gotcha 31: guard-scope narrowing -- diff the BRACE SCOPE when transcribing decomp ifs; and prove a bench detects the bug before trusting its pass

This commit is contained in:
Joe DiPrima
2026-08-13 02:39:59 -05:00
parent e693b481b3
commit 6a744ef92c
356 changed files with 144810 additions and 18 deletions
+20
View File
@@ -1044,3 +1044,23 @@ initializes every reconstructed field -- an unwritten int in pooled memory is a
Verified: weaponx_bench P1 (crit kill: 0 FIRED after, 5,664 refusals, X+gate agree) + P2
(partial crit keeps firing -- the freeze is gone). Full mechanism: the night-16 workflow dossier
(4 agents, cross-examined) + docs/GEN_WARNING_AUDIT-style lanes in the #165 ticket thread.
## 31. GUARD-SCOPE NARROWING: a binary guard wrapping a whole block, transcribed onto its first statement (#174, 2026-08-13)
The binary's burst loop guards the ENTIRE per-burst application on zone-not-destroyed
(`if (piVar1[9] != 1) { crit-roll | zone TakeDamage; score tally; destroyed-flag }`,
part_012.c:14661-14677 @0x4a0446) -- a burst landing on a dead zone is a structural no-op:
no re-application, no cascade re-fire, NO SCORE. The port transcribed that guard onto the
crit roll ONLY; the unguarded TakeDamage re-saturated the zone every burst, whose >=1.0 tail
re-ran RecurseSegmentTable (night-16 field: zone 18 x7, zone 9 x4 per mission), each pass
re-pushing crit allotment into surviving subsystems (the ram "crits worsened with each
collision") -- and hits on wreckage kept SCORING (the binary awards zero). Neither
RecurseSegmentTable nor SendSubsystemDamage has any internal re-entry protection in the
binary (verified @0049cad4/@0049c9a8: no `used` write, no top gate) -- the delivery-layer
guard is the ONLY protection, so its scope is load-bearing.
**Rule:** when transcribing a decomp `if` whose body spans multiple statements, diff the
BRACE SCOPE against the port -- a guard attached to the wrong statement compiles, runs, and
passes every reader-side bench. **Bench rule (the #165 lesson, second application in one
week):** prove the bench detects the bug BEFORE trusting its pass -- the negative control
here (fix stashed) scored 147 cascades where the fixed build scores 1.
Bench: BT_ZONE_HAMMER=<zone>[,<amt>] (mech4.cpp) + scratchpad/night16/cascade_bench.sh.
+36 -18
View File
@@ -1233,29 +1233,47 @@ void
{
Mech__DamageZone *zone =
(Mech__DamageZone *)damageZones[zoneIndex]; // this[0x120][idx]
Subsystem *critted = 0;
if (zone->GetDamageZoneState() != DamageZone::BurningState // zone state != 1
&& BTMechCriticalChance(this, zoneIndex)) // @0x4a0164 (roll below)
//
// #174 (2026-08-13): the binary's zone-state guard wraps the WHOLE
// per-burst application -- `if (piVar1[9] != 1) { crit-roll |
// TakeDamage; tally; destroyed-flag }` (part_012.c:14661-14677,
// @0x4a0446) -- a burst landing on an already-destroyed zone is a
// structural NO-OP: no re-application, no cascade re-fire, NO SCORE.
// The port had narrowed the guard to the crit roll only, so
// continued fire into a dead zone re-saturated it every burst ->
// Mech__DamageZone::TakeDamage's >=1.0 tail re-ran
// RecurseSegmentTable (night-16: zone 18 x7, zone 9 x4 in single
// missions), each pass re-pushing the crit allotment into the
// surviving subsystems (the ram "crits worsened with each
// collision") -- and the shooter's damageTally kept scoring hits
// on wreckage the binary scores as ZERO.
//
if (zone->GetDamageZoneState() != DamageZone::BurningState) // zone state != 1
{
critted = zone->CriticalHit(message->damageData); // @0049ccc4
if (critted != 0)
Subsystem *critted = 0;
if (BTMechCriticalChance(this, zoneIndex)) // @0x4a0164 (roll below)
{
damageTally +=
((MechSubsystem *)critted)->CriticalScoreBonus(); // +0x108
if (BTEnvOn("BT_CRIT_LOG", 0))
DEBUG_STREAM << "[critroll] zone=" << zoneIndex
<< " -> " << (critted->GetName() ? critted->GetName() : "?")
<< " subLvl=" << ((MechSubsystem *)critted)->GetSubsystemDamageLevel()
<< "\n" << std::flush;
critted = zone->CriticalHit(message->damageData); // @0049ccc4
if (critted != 0)
{
damageTally +=
((MechSubsystem *)critted)->CriticalScoreBonus(); // +0x108
if (BTEnvOn("BT_CRIT_LOG", 0))
DEBUG_STREAM << "[critroll] zone=" << zoneIndex
<< " -> " << (critted->GetName() ? critted->GetName() : "?")
<< " subLvl=" << ((MechSubsystem *)critted)->GetSubsystemDamageLevel()
<< "\n" << std::flush;
}
}
}
if (critted == 0)
zone->TakeDamage(message->damageData); // zone vtbl+0x18 @0x4a0488
if (critted == 0)
zone->TakeDamage(message->damageData); // zone vtbl+0x18 @0x4a0488
damageTally += message->damageData.damageAmount; // +0x30
if (zone->GetDamageZoneState() == DamageZone::BurningState)
zoneDestroyed = 1;
damageTally += message->damageData.damageAmount; // +0x30
if (zone->GetDamageZoneState() == DamageZone::BurningState)
zoneDestroyed = 1; // set only by the burst that
} // DESTROYS it (binary: inside
// the guard, part_012.c:14674)
if (--burstsLeft == 0)
break;
+38
View File
@@ -7554,6 +7554,44 @@ void
}
}
// #174 BENCH (BT_ZONE_HAMMER=<zoneIdx>[,<amt>]): 4x/sec, dispatch a
// TakeDamage with an EXPLICIT damageZone at the viewpoint mech itself.
// Pointed at a descend=1 non-vital zone (dz_larm=2 on most chassis),
// the zone saturates, cascades ONCE, the mech survives, and the hammer
// keeps landing on the DEAD zone -- the exact repro of the night-16
// re-descend (zone 18 x7). With the burst-loop guard at binary scope:
// ONE [cascade] for the life and the [dmghit] stream for that zone
// STOPS at saturation (the guard skips application entirely).
if ((Entity *)this == application->GetViewpointEntity()
&& getenv("BT_ZONE_HAMMER"))
{
static int s_zhFrame = 0;
++s_zhFrame;
if (s_zhFrame >= 900 && (s_zhFrame % 15) == 0) // settle, then ~4 Hz
{
int zidx = 2;
float amt = 8.0f;
{
char spec[64];
strncpy(spec, getenv("BT_ZONE_HAMMER"), sizeof(spec) - 1);
spec[sizeof(spec) - 1] = 0;
char *comma = strchr(spec, ',');
if (comma != 0) { *comma = 0; amt = (float)atof(comma + 1); }
if (spec[0]) zidx = atoi(spec);
}
Damage dmg;
dmg.damageType = Damage::ExplosiveDamageType;
dmg.damageAmount = amt;
dmg.burstCount = 1;
dmg.impactPoint = localOrigin.linearPosition;
Entity::TakeDamageMessage td(
Entity::TakeDamageMessageID,
sizeof(Entity::TakeDamageMessage),
GetEntityID(), zidx, dmg);
Dispatch(&td);
}
}
// task #13 scripted verify (BT_VALVE_TEST=1): one MoveValve press at
// frame ~600 -- Condenser1's valveState cycles 1 -> 5, so the flow
// redistribution gives it 5/10 of the total coolant flow ([valve] log
File diff suppressed because it is too large Load Diff
+96
View File
@@ -0,0 +1,96 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1042
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f rr_a.log rr_b.log 'rrB_*.png'
+ bt_expert_egg MP.EGG RR.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' RR.EGG
+ BT_VALVE_TEST=1
+ BT_DEATH_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch rr_a.log RR.EGG 0x0C -net 1601
+ local log=rr_a.log egg=RR.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=rr_a.log BT_AFFINITY=0x0C
+ BT_LOG=rr_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1049/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg RR.EGG -net 1601
+ cat /proc/1049/winpid
+ break
+ sleep 2
+ BT_MP_FORCE_DMG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=150
+ BT_SHOT_PREFIX=rrB
+ bt_launch rr_b.log RR.EGG 0x03 -net 1501
+ local log=rr_b.log egg=RR.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=rr_b.log BT_AFFINITY=0x03
+ BT_LOG=rr_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1053/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg RR.EGG -net 1501
+ cat /proc/1053/winpid
+ break
+ sleep 5
+ RELAY=1056
+ sleep 200
+ python ../tools/btconsole.py RR.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1056
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A valve + respawn lines:'
=== A valve + respawn lines:
+ grep -E '\[valve\]|\[respawn\]' rr_a.log
+ head -12
[respawn] ammo bin 21 refilled 20 -> 20
[respawn] ammo bin 26 refilled 16 -> 16
[respawn] ammo bin 28 refilled 16 -> 16
[respawn] Mech::Reset 3:161 healed+moved to (529.192,0,-668.311) alive=1 zones=22 subsys=32
[respawn] player 3:1 RESET at drop zone (death #0) -- death cycle complete, latch cleared
[valve] Condenser1 valve -> detent 5
[respawn] player 3:1 death cycle START (death #1) -- drop-zone hunt in 5s
[respawn] Condenser1 valve detent 5 -> 1 (authentic @004ae534 restore)
[respawn] ammo bin 21 refilled 20 -> 20
[respawn] ammo bin 26 refilled 16 -> 16
[respawn] ammo bin 28 refilled 16 -> 16
[respawn] Mech::Reset 3:161 healed+moved to (293.889,0,-872.235) alive=1 zones=22 subsys=32
+ echo '=== B un-wreck + smoke lines:'
=== B un-wreck + smoke lines:
+ grep -E 'un-wrecked|plume' rr_b.log
+ head -12
[death] wreck smoke plume re-armed (psfx 1)
[respawn] replicant un-wrecked + warp (mode 9->1) at (529.192,-668.311)
[death] wreck smoke plume re-armed (psfx 1)
[respawn] replicant un-wrecked + warp (mode 9->1) at (293.889,-872.235)
[respawn] replicant un-wrecked + warp (mode 9->1) at (249.205,-807.875)
[death] wreck smoke plume re-armed (psfx 1)
[respawn] replicant un-wrecked + warp (mode 9->1) at (435.09,-800.724)
[respawn] replicant un-wrecked + warp (mode 9->1) at (249.205,-807.875)
+149
View File
@@ -0,0 +1,149 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.377
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ for TW in +1 -1
+ TAG=P
+ '[' +1 = -1 ']'
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_P_a.log ts_P_b.log 'tsP_*.png'
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=+1
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_P_b.log TS.EGG 0x0C -net 1601
+ local log=ts_P_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_P_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_P_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/384/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/384/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsP
+ bt_launch ts_P_a.log TS.EGG 0x03 -net 1501
+ local log=ts_P_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_P_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_P_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/388/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/388/winpid
+ break
+ sleep 5
+ RELAY=391
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 391
+ taskkill //F //IM btl4.exe
+ sleep 3
+ for TW in +1 -1
+ TAG=P
+ '[' -1 = -1 ']'
+ TAG=N
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_N_a.log ts_N_b.log 'tsN_*.png'
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=-1
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_N_b.log TS.EGG 0x0C -net 1601
+ local log=ts_N_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_N_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_N_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/401/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/401/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsN
+ bt_launch ts_N_a.log TS.EGG 0x03 -net 1501
+ local log=ts_N_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_N_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_N_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/405/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/405/winpid
+ break
+ sleep 5
+ RELAY=408
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 408
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== resolves per run:'
=== resolves per run:
+ grep -c dmgresolve ts_P_b.log ts_N_b.log
ts_P_b.log:58
ts_N_b.log:53
+221
View File
@@ -0,0 +1,221 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.464
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' 0 = +1 ']'
+ '[' 0 = -1 ']'
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_Z_a.log ts_Z_b.log 'tsZ_*.png'
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=0
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_Z_b.log TS.EGG 0x0C -net 1601
+ local log=ts_Z_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_Z_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_Z_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/471/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/471/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsZ
+ bt_launch ts_Z_a.log TS.EGG 0x03 -net 1501
+ local log=ts_Z_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_Z_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_Z_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/475/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/475/winpid
+ break
+ sleep 5
+ RELAY=478
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 478
+ taskkill //F //IM btl4.exe
+ sleep 3
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' +1 = +1 ']'
+ TAG=P
+ '[' +1 = -1 ']'
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_P_a.log ts_P_b.log tsP_000.png tsP_001.png tsP_002.png tsP_003.png tsP_004.png tsP_005.png tsP_006.png tsP_007.png tsP_008.png tsP_009.png tsP_010.png tsP_011.png tsP_012.png tsP_013.png tsP_014.png tsP_015.png tsP_016.png tsP_017.png tsP_018.png tsP_019.png tsP_020.png tsP_021.png
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=+1
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_P_b.log TS.EGG 0x0C -net 1601
+ local log=ts_P_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_P_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_P_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/488/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/488/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsP
+ bt_launch ts_P_a.log TS.EGG 0x03 -net 1501
+ local log=ts_P_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_P_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_P_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/492/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/492/winpid
+ break
+ sleep 5
+ RELAY=495
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 495
+ taskkill //F //IM btl4.exe
+ sleep 3
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' -1 = +1 ']'
+ '[' -1 = -1 ']'
+ TAG=N
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_N_a.log ts_N_b.log tsN_000.png tsN_001.png tsN_002.png tsN_003.png tsN_004.png tsN_005.png tsN_006.png tsN_007.png tsN_008.png tsN_009.png tsN_010.png tsN_011.png tsN_012.png tsN_013.png tsN_014.png tsN_015.png tsN_016.png tsN_017.png tsN_018.png tsN_019.png tsN_020.png tsN_021.png
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=-1
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_N_b.log TS.EGG 0x0C -net 1601
+ local log=ts_N_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_N_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_N_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/505/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/505/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsN
+ bt_launch ts_N_a.log TS.EGG 0x03 -net 1501
+ local log=ts_N_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_N_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_N_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/509/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/509/winpid
+ break
+ sleep 5
+ RELAY=512
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 512
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== resolves per run:'
=== resolves per run:
+ grep -c dmgresolve ts_Z_b.log ts_P_b.log ts_N_b.log
ts_Z_b.log:40
ts_P_b.log:50
ts_N_b.log:42
+221
View File
@@ -0,0 +1,221 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.551
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' 0 = +1 ']'
+ '[' 0 = -1 ']'
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_Z_a.log ts_Z_b.log tsZ_000.png tsZ_001.png tsZ_002.png tsZ_003.png tsZ_004.png tsZ_005.png tsZ_006.png tsZ_007.png tsZ_008.png tsZ_009.png tsZ_010.png tsZ_011.png tsZ_012.png tsZ_013.png tsZ_014.png tsZ_015.png tsZ_016.png tsZ_017.png tsZ_018.png tsZ_019.png tsZ_020.png tsZ_021.png tsZ_022.png
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=0
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_Z_b.log TS.EGG 0x0C -net 1601
+ local log=ts_Z_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_Z_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_Z_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/558/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/558/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsZ
+ bt_launch ts_Z_a.log TS.EGG 0x03 -net 1501
+ local log=ts_Z_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_Z_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_Z_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/562/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/562/winpid
+ break
+ sleep 5
+ RELAY=565
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 565
+ taskkill //F //IM btl4.exe
+ sleep 3
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' +1 = +1 ']'
+ TAG=P
+ '[' +1 = -1 ']'
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_P_a.log ts_P_b.log tsP_000.png tsP_001.png tsP_002.png tsP_003.png tsP_004.png tsP_005.png tsP_006.png tsP_007.png tsP_008.png tsP_009.png tsP_010.png tsP_011.png tsP_012.png tsP_013.png tsP_014.png tsP_015.png tsP_016.png tsP_017.png tsP_018.png tsP_019.png tsP_020.png tsP_021.png tsP_022.png tsP_023.png
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=+1
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_P_b.log TS.EGG 0x0C -net 1601
+ local log=ts_P_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_P_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_P_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/595/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/595/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsP
+ bt_launch ts_P_a.log TS.EGG 0x03 -net 1501
+ local log=ts_P_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_P_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_P_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/599/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/599/winpid
+ break
+ sleep 5
+ RELAY=602
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 602
+ taskkill //F //IM btl4.exe
+ sleep 3
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' -1 = +1 ']'
+ '[' -1 = -1 ']'
+ TAG=N
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_N_a.log ts_N_b.log tsN_000.png tsN_001.png tsN_002.png tsN_003.png tsN_004.png tsN_005.png tsN_006.png tsN_007.png tsN_008.png tsN_009.png tsN_010.png tsN_011.png tsN_012.png tsN_013.png tsN_014.png tsN_015.png tsN_016.png tsN_017.png tsN_018.png tsN_019.png tsN_020.png tsN_021.png
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=-1
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_N_b.log TS.EGG 0x0C -net 1601
+ local log=ts_N_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_N_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_N_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/630/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/630/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsN
+ bt_launch ts_N_a.log TS.EGG 0x03 -net 1501
+ local log=ts_N_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_N_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_N_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/634/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/634/winpid
+ break
+ sleep 5
+ RELAY=637
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 637
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== resolves per run:'
=== resolves per run:
+ grep -c dmgresolve ts_Z_b.log ts_P_b.log ts_N_b.log
ts_Z_b.log:49
ts_P_b.log:50
ts_N_b.log:50
+221
View File
@@ -0,0 +1,221 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.786
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' 0 = +1 ']'
+ '[' 0 = -1 ']'
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_Z_a.log ts_Z_b.log tsZ_000.png tsZ_001.png tsZ_002.png tsZ_003.png tsZ_004.png tsZ_005.png tsZ_006.png tsZ_007.png tsZ_008.png tsZ_009.png tsZ_010.png tsZ_011.png tsZ_012.png tsZ_013.png tsZ_014.png tsZ_015.png tsZ_016.png tsZ_017.png tsZ_018.png tsZ_019.png tsZ_020.png tsZ_021.png tsZ_022.png tsZ_023.png
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=0
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_Z_b.log TS.EGG 0x0C -net 1601
+ local log=ts_Z_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_Z_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_Z_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/793/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/793/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsZ
+ bt_launch ts_Z_a.log TS.EGG 0x03 -net 1501
+ local log=ts_Z_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_Z_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_Z_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/797/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/797/winpid
+ break
+ sleep 5
+ RELAY=800
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 800
+ taskkill //F //IM btl4.exe
+ sleep 3
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' +1 = +1 ']'
+ TAG=P
+ '[' +1 = -1 ']'
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_P_a.log ts_P_b.log tsP_000.png tsP_001.png tsP_002.png tsP_003.png tsP_004.png tsP_005.png tsP_006.png tsP_007.png tsP_008.png tsP_009.png tsP_010.png tsP_011.png tsP_012.png tsP_013.png tsP_014.png tsP_015.png tsP_016.png tsP_017.png tsP_018.png tsP_019.png tsP_020.png tsP_021.png tsP_022.png
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=+1
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_P_b.log TS.EGG 0x0C -net 1601
+ local log=ts_P_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_P_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_P_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/810/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/810/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsP
+ bt_launch ts_P_a.log TS.EGG 0x03 -net 1501
+ local log=ts_P_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_P_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_P_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/814/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/814/winpid
+ break
+ sleep 5
+ RELAY=817
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ sleep 170
+ kill 817
+ taskkill //F //IM btl4.exe
+ sleep 3
+ for TW in 0 +1 -1
+ TAG=Z
+ '[' -1 = +1 ']'
+ '[' -1 = -1 ']'
+ TAG=N
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f ts_N_a.log ts_N_b.log tsN_000.png tsN_001.png tsN_002.png tsN_003.png tsN_004.png tsN_005.png tsN_006.png tsN_007.png tsN_008.png tsN_009.png tsN_010.png tsN_011.png tsN_012.png tsN_013.png tsN_014.png tsN_015.png tsN_016.png tsN_017.png tsN_018.png tsN_019.png tsN_020.png tsN_021.png tsN_022.png tsN_023.png
+ bt_expert_egg MP.EGG TS.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TS.EGG
+ BT_FORCE_TWIST=-1
+ BT_DMGTABLE_LOG=1
+ BT_CYL_LOG=1
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ bt_launch ts_N_b.log TS.EGG 0x0C -net 1601
+ local log=ts_N_b.log egg=TS.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_N_b.log BT_AFFINITY=0x0C
+ BT_LOG=ts_N_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/827/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1601
+ cat /proc/827/winpid
+ break
+ sleep 2
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=6
+ BT_DMG_LOG=1
+ BT_MP_LOG=1
+ BT_SHOT_EVERY=300
+ BT_SHOT_PREFIX=tsN
+ bt_launch ts_N_a.log TS.EGG 0x03 -net 1501
+ local log=ts_N_a.log egg=TS.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=ts_N_a.log BT_AFFINITY=0x03
+ BT_LOG=ts_N_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/831/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TS.EGG -net 1501
+ cat /proc/831/winpid
+ break
+ sleep 5
+ RELAY=834
+ sleep 170
+ python ../tools/btconsole.py TS.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 834
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== resolves per run:'
=== resolves per run:
+ grep -c dmgresolve ts_Z_b.log ts_P_b.log ts_N_b.log
ts_Z_b.log:56
ts_P_b.log:54
ts_N_b.log:212
+69
View File
@@ -0,0 +1,69 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.233
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f zwl_a.log zwl_b.log
+ bt_expert_egg MP.EGG ZWL.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/' ZWL.EGG
+ python -
vehicles set: 2
+ BT_SPIN_SELF=15
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwl_b.log ZWL.EGG 0x0C -net 1601
+ local log=zwl_b.log egg=ZWL.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwl_b.log BT_AFFINITY=0x0C
+ BT_LOG=zwl_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/241/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWL.EGG -net 1601
+ cat /proc/241/winpid
+ break
+ sleep 2
+ BT_ZONE_WALK=6
+ BT_PICK_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_DMG_LOG=1
+ BT_RANGE_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwl_a.log ZWL.EGG 0x03 -net 1501
+ local log=zwl_a.log egg=ZWL.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwl_a.log BT_AFFINITY=0x03
+ BT_LOG=zwl_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/245/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWL.EGG -net 1501
+ cat /proc/245/winpid
+ break
+ sleep 5
+ sleep 420
+ python ../tools/btconsole.py ZWL.EGG 127.0.0.1:1501 127.0.0.1:1601
+69
View File
@@ -0,0 +1,69 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1552
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f zwm_a.log zwm_b.log
+ bt_expert_egg MP.EGG ZWM.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/' ZWM.EGG
+ python -
vehicles set: 2
+ BT_SPIN_SELF=15
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwm_b.log ZWM.EGG 0x0C -net 1601
+ local log=zwm_b.log egg=ZWM.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwm_b.log BT_AFFINITY=0x0C
+ BT_LOG=zwm_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1560/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWM.EGG -net 1601
+ cat /proc/1560/winpid
+ break
+ sleep 2
+ BT_ZONE_WALK=6
+ BT_PICK_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_DMG_LOG=1
+ BT_RANGE_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwm_a.log ZWM.EGG 0x03 -net 1501
+ local log=zwm_a.log egg=ZWM.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwm_a.log BT_AFFINITY=0x03
+ BT_LOG=zwm_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1564/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWM.EGG -net 1501
+ cat /proc/1564/winpid
+ break
+ sleep 5
+ sleep 400
+ python ../tools/btconsole.py ZWM.EGG 127.0.0.1:1501 127.0.0.1:1601
+96
View File
@@ -0,0 +1,96 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1104
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f db2_a.log db2_b.log
+ bt_expert_egg MP.EGG DB2.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' DB2.EGG
+ export BT_SELF_DAMAGE=5 BT_SPLASH_LOG=1
+ BT_SELF_DAMAGE=5
+ BT_SPLASH_LOG=1
+ export BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch db2_a.log DB2.EGG 0x0C -net 1601
+ local log=db2_a.log egg=DB2.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=db2_a.log BT_AFFINITY=0x0C
+ BT_LOG=db2_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1112/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg DB2.EGG -net 1601
+ cat /proc/1112/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=12 BT_KEY_NOFOCUS=1 BT_SPLASH_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=12
+ BT_KEY_NOFOCUS=1
+ BT_SPLASH_LOG=1
+ export BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch db2_b.log DB2.EGG 0x03 -net 1501
+ local log=db2_b.log egg=DB2.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=db2_b.log BT_AFFINITY=0x03
+ BT_LOG=db2_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1117/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg DB2.EGG -net 1501
+ cat /proc/1117/winpid
+ break
+ sleep 5
+ RELAY=1120
+ sleep 190
+ python ../tools/btconsole.py DB2.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1120
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A death + blast:'
=== A death + blast:
+ grep -aE 'death cycle START|DEATH BLAST|\[splash\]' db2_a.log
+ head -8
[splash] DEATH BLAST mech=3:161 radius=50 amount=5 bursts=1125 (mass=75000)
[splash] detonation radius=50 candidates=1 directVictim=0586BB18
[splash] victim=2:162 dist=8.91463 radius=50 bursts=73 amount=5 baseBurst=1125
[respawn] player 3:1 death cycle START (death #1) -- drop-zone hunt in 5s
+ echo '=== B splash received (type=2 from A):'
=== B splash received (type=2 from A):
+ grep -a dmghit db2_b.log
+ grep type=2
+ head -6
[dmghit] mech=2:162 zone=16 vital=1 type=2 amt=5 burst=73 lvl 0->0.0308642
[dmghit] mech=2:162 zone=5 vital=1 type=2 amt=5 burst=73 lvl 0->0.0308642
[dmghit] mech=2:162 zone=16 vital=1 type=2 amt=5 burst=73 lvl 0.0308642->0.0617284
[dmghit] mech=2:162 zone=5 vital=1 type=2 amt=5 burst=73 lvl 0.0308642->0.0617284
[dmghit] mech=2:162 zone=3 vital=1 type=2 amt=5 burst=73 lvl 0->0.0277778
[dmghit] mech=2:162 zone=5 vital=1 type=2 amt=5 burst=73 lvl 0.0617284->0.0925926
+ echo '=== SPLASH matchlog on A:'
=== SPLASH matchlog on A:
+ grep -a SPLASH db2_a.log
+ head -3
+88
View File
@@ -0,0 +1,88 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.482
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f db3_a.log db3_b.log
+ bt_expert_egg MP.EGG DB3.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/; s/^advancedDamage=.*/advancedDamage=0/' DB3.EGG
+ export BT_SELF_DAMAGE=5 BT_SPLASH_LOG=1
+ BT_SELF_DAMAGE=5
+ BT_SPLASH_LOG=1
+ export BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch db3_a.log DB3.EGG 0x0C -net 1601
+ local log=db3_a.log egg=DB3.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=db3_a.log BT_AFFINITY=0x0C
+ BT_LOG=db3_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/490/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg DB3.EGG -net 1601
+ cat /proc/490/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=12 BT_KEY_NOFOCUS=1 BT_SPLASH_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=12
+ BT_KEY_NOFOCUS=1
+ BT_SPLASH_LOG=1
+ export BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch db3_b.log DB3.EGG 0x03 -net 1501
+ local log=db3_b.log egg=DB3.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=db3_b.log BT_AFFINITY=0x03
+ BT_LOG=db3_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/495/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg DB3.EGG -net 1501
+ cat /proc/495/winpid
+ break
+ sleep 5
+ RELAY=498
+ sleep 190
+ python ../tools/btconsole.py DB3.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 498
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A death + blast:'
=== A death + blast:
+ grep -aE 'death cycle START|DEATH BLAST|\[splash\]' db3_a.log
+ head -8
[splash] DEATH: gated (advDmg=0 suppress=0)
[respawn] player 3:1 death cycle START (death #1) -- drop-zone hunt in 5s
+ echo '=== B splash received (type=2 from A):'
=== B splash received (type=2 from A):
+ grep -a dmghit db3_b.log
+ grep type=2
+ head -6
+ echo '=== SPLASH matchlog on A:'
=== SPLASH matchlog on A:
+ grep -a SPLASH db3_a.log
+ head -3
+89
View File
@@ -0,0 +1,89 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.751
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f db_a.log db_b.log
+ bt_expert_egg MP.EGG DB.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' DB.EGG
+ export BT_SELF_DAMAGE=40 BT_SPLASH_LOG=1
+ BT_SELF_DAMAGE=40
+ BT_SPLASH_LOG=1
+ export BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch db_a.log DB.EGG 0x0C -net 1601
+ local log=db_a.log egg=DB.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=db_a.log BT_AFFINITY=0x0C
+ BT_LOG=db_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/759/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg DB.EGG -net 1601
+ cat /proc/759/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=12 BT_KEY_NOFOCUS=1 BT_SPLASH_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=12
+ BT_KEY_NOFOCUS=1
+ BT_SPLASH_LOG=1
+ export BT_DMG_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1 BT_MATCHLOG=1
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch db_b.log DB.EGG 0x03 -net 1501
+ local log=db_b.log egg=DB.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=db_b.log BT_AFFINITY=0x03
+ BT_LOG=db_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/764/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg DB.EGG -net 1501
+ cat /proc/764/winpid
+ break
+ sleep 5
+ RELAY=767
+ sleep 120
+ python ../tools/btconsole.py DB.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 767
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A death + blast:'
=== A death + blast:
+ grep -aE 'death cycle START|DEATH BLAST|\[splash\]' db_a.log
+ head -8
[splash] DEATH BLAST mech=3:161 radius=50 amount=5 bursts=1125 (mass=75000)
[splash] detonation radius=50 candidates=1 directVictim=05A3B5D8
[respawn] player 3:1 death cycle START (death #1) -- drop-zone hunt in 5s
+ echo '=== B splash received (type=2 from A):'
=== B splash received (type=2 from A):
+ grep -a dmghit db_b.log
+ grep type=2
+ head -6
+ echo '=== SPLASH matchlog on A:'
=== SPLASH matchlog on A:
+ grep -a SPLASH db_a.log
+ head -3
+92
View File
@@ -0,0 +1,92 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1921
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sg2_a.log sg2_b.log
+ bt_novice_egg MP.EGG SG2.EGG
+ sed 's/^experience=.*/experience=novice/' MP.EGG
+ echo '[bench] NOTE: novice egg SG2.EGG -- crits/heat/jams are GATED OFF (harness requirement)'
[bench] NOTE: novice egg SG2.EGG -- crits/heat/jams are GATED OFF (harness requirement)
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SG2.EGG
+ 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
+ local log=sg2_a.log egg=SG2.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg2_a.log BT_AFFINITY=0x0C
+ BT_LOG=sg2_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1928/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG2.EGG -net 1601
+ cat /proc/1928/winpid
+ break
+ sleep 2
+ BT_GIMPFEED=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sg2_b.log SG2.EGG 0x03 -net 1501
+ local log=sg2_b.log egg=SG2.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg2_b.log BT_AFFINITY=0x03
+ BT_LOG=sg2_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1932/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG2.EGG -net 1501
+ cat /proc/1932/winpid
+ break
+ sleep 5
+ RELAY=1935
+ sleep 330
+ python ../tools/btconsole.py SG2.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1935
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A leg damage (its own master view):'
=== A leg damage (its own master view):
+ grep -a dmghit sg2_a.log
+ grep -coE 'zone=(2|3|7|9|10|18)'
0
+ true
+ echo '=== A gimp state changes:'
=== A gimp state changes:
+ grep -aiE gimp sg2_a.log
+ grep -va gimpfeed
+ head -8
[loadclips] INTERIOR ('i') set: fScale=0.8 walkStride=18.5085 hasGimpClips=1
[loadclips] INTERIOR ('i') set: fScale=0.8 walkStride=18.5085 hasGimpClips=1
[loadclips] end: fScale=0.8 ggCapL=14.7717 ggCapR=14.7717 hasGimpClips=1
+ echo '=== B replicant gimp feed (last 6):'
=== B replicant gimp feed (last 6):
+ grep -a replgimp sg2_b.log
+ tail -6
+ echo '=== SKATE hits (B watching A):'
=== SKATE hits (B watching A):
+ grep -a '\[skate\]' sg2_b.log
+ head -10
+ echo '=== SKATE count A-side:'
=== SKATE count A-side:
+ grep -ac '\[skate\]' sg2_a.log
0
+99
View File
@@ -0,0 +1,99 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1981
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sg3_a.log sg3_b.log
+ bt_novice_egg MP.EGG SG3.EGG
+ sed 's/^experience=.*/experience=novice/' MP.EGG
+ echo '[bench] NOTE: novice egg SG3.EGG -- crits/heat/jams are GATED OFF (harness requirement)'
[bench] NOTE: novice egg SG3.EGG -- crits/heat/jams are GATED OFF (harness requirement)
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SG3.EGG
+ 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
+ local log=sg3_a.log egg=SG3.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg3_a.log BT_AFFINITY=0x0C
+ BT_LOG=sg3_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1988/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG3.EGG -net 1601
+ cat /proc/1988/winpid
+ break
+ sleep 2
+ BT_GIMPFEED=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sg3_b.log SG3.EGG 0x03 -net 1501
+ local log=sg3_b.log egg=SG3.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg3_b.log BT_AFFINITY=0x03
+ BT_LOG=sg3_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1992/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG3.EGG -net 1501
+ cat /proc/1992/winpid
+ break
+ sleep 5
+ RELAY=1995
+ sleep 330
+ python ../tools/btconsole.py SG3.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1995
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A leg damage (its own master view):'
=== A leg damage (its own master view):
+ grep -a dmghit sg3_a.log
+ grep -coE 'zone=(2|3|7|9|10|18)'
45
+ true
+ echo '=== A gimp state changes:'
=== A gimp state changes:
+ grep -aiE gimp sg3_a.log
+ grep -va gimpfeed
+ head -8
[loadclips] INTERIOR ('i') set: fScale=0.8 walkStride=18.5085 hasGimpClips=1
[loadclips] INTERIOR ('i') set: fScale=0.8 walkStride=18.5085 hasGimpClips=1
[gimp-eval] zone=3 L=1 R=0 lvl=0.0222222 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.0444444 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.0666667 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.0888889 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.111111 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.133333 half=0 alarmBefore=0
+ echo '=== B replicant gimp feed (last 6):'
=== B replicant gimp feed (last 6):
+ grep -a replgimp sg3_b.log
+ tail -6
+ echo '=== SKATE hits (B watching A):'
=== SKATE hits (B watching A):
+ grep -a '\[skate\]' sg3_b.log
+ head -10
+ echo '=== SKATE count A-side:'
=== SKATE count A-side:
+ grep -ac '\[skate\]' sg3_a.log
0
+99
View File
@@ -0,0 +1,99 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.2087
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sg4_a.log sg4_b.log
+ bt_novice_egg MP.EGG SG4.EGG
+ sed 's/^experience=.*/experience=novice/' MP.EGG
+ echo '[bench] NOTE: novice egg SG4.EGG -- crits/heat/jams are GATED OFF (harness requirement)'
[bench] NOTE: novice egg SG4.EGG -- crits/heat/jams are GATED OFF (harness requirement)
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SG4.EGG
+ 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
+ local log=sg4_a.log egg=SG4.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg4_a.log BT_AFFINITY=0x0C
+ BT_LOG=sg4_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/2094/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG4.EGG -net 1601
+ cat /proc/2094/winpid
+ break
+ sleep 2
+ 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
+ local log=sg4_b.log egg=SG4.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg4_b.log BT_AFFINITY=0x03
+ BT_LOG=sg4_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/2098/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG4.EGG -net 1501
+ cat /proc/2098/winpid
+ break
+ sleep 5
+ RELAY=2101
+ sleep 330
+ python ../tools/btconsole.py SG4.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 2101
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A leg damage (its own master view):'
=== A leg damage (its own master view):
+ grep -a dmghit sg4_a.log
+ grep -coE 'zone=(2|3|7|9|10|18)'
45
+ true
+ echo '=== A gimp state changes:'
=== A gimp state changes:
+ grep -aiE gimp sg4_a.log
+ grep -va gimpfeed
+ head -8
[loadclips] INTERIOR ('i') set: fScale=0.8 walkStride=18.5085 hasGimpClips=1
[loadclips] INTERIOR ('i') set: fScale=0.8 walkStride=18.5085 hasGimpClips=1
[gimp-eval] zone=3 L=1 R=0 lvl=0.0222222 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.0444444 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.0666667 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.0888889 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.111111 half=0 alarmBefore=0
[gimp-eval] zone=3 L=1 R=0 lvl=0.133333 half=0 alarmBefore=0
+ echo '=== B replicant gimp feed (last 6):'
=== B replicant gimp feed (last 6):
+ grep -a replgimp sg4_b.log
+ tail -6
+ echo '=== SKATE hits (B watching A):'
=== SKATE hits (B watching A):
+ grep -a '\[skate\]' sg4_b.log
+ head -10
+ echo '=== SKATE count A-side:'
=== SKATE count A-side:
+ grep -ac '\[skate\]' sg4_a.log
0
+109
View File
@@ -0,0 +1,109 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.2145
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sg5_a.log sg5_b.log 'sg5B_*.png'
+ bt_novice_egg MP.EGG SG5.EGG
+ sed 's/^experience=.*/experience=novice/' MP.EGG
+ echo '[bench] NOTE: novice egg SG5.EGG -- crits/heat/jams are GATED OFF (harness requirement)'
[bench] NOTE: novice egg SG5.EGG -- crits/heat/jams are GATED OFF (harness requirement)
+ 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
+ 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_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sg5_a.log SG5.EGG 0x0C -net 1601
+ local log=sg5_a.log egg=SG5.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg5_a.log BT_AFFINITY=0x0C
+ BT_LOG=sg5_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/2153/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG5.EGG -net 1601
+ cat /proc/2153/winpid
+ break
+ sleep 2
+ export BT_REPL_LOG=1 BT_JIT=1 BT_SHOT_EVERY=90 BT_SHOT_PREFIX=sg5B
+ 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_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sg5_b.log SG5.EGG 0x03 -net 1501
+ local log=sg5_b.log egg=SG5.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg5_b.log BT_AFFINITY=0x03
+ BT_LOG=sg5_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/2158/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG5.EGG -net 1501
+ cat /proc/2158/winpid
+ break
+ sleep 5
+ RELAY=2161
+ sleep 200
+ python ../tools/btconsole.py SG5.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 2161
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A gimp window (master):'
=== A gimp window (master):
+ grep -a gaitSM sg5_a.log
+ grep -oaE 'state=[0-9]+'
+ sort
+ uniq -c
5 state=0
1 state=11
83 state=12
83 state=13
21 state=24
1 state=5
2 state=6
+ echo '=== B peer gimp view (replgimp gl values):'
=== B peer gimp view (replgimp gl values):
+ grep -a replgimp sg5_b.log
+ grep -oaE 'gl=[0-9]+'
+ sort
+ uniq -c
138 gl=0
21 gl=3
+ grep -a replgimp sg5_b.log
+ grep -v gl=0
+ head -6
[replgimp] ent=161 gl=3 bts=28.0231 standSpeed=5.23428 bodyState=12 sim=3 hasClips=1 zones: 3=0.4
[replgimp] ent=161 gl=3 bts=28.0231 standSpeed=5.23428 bodyState=15 sim=3 hasClips=1 zones: 3=0.4
[replgimp] ent=161 gl=3 bts=28.0231 standSpeed=5.23428 bodyState=10 sim=3 hasClips=1 zones: 3=0.4
[replgimp] ent=161 gl=3 bts=28.0231 standSpeed=5.23428 bodyState=13 sim=3 hasClips=1 zones: 3=0.4
[replgimp] ent=161 gl=3 bts=28.0231 standSpeed=5.23428 bodyState=11 sim=3 hasClips=1 zones: 3=0.4
[replgimp] ent=161 gl=3 bts=28.0231 standSpeed=5.23428 bodyState=12 sim=3 hasClips=1 zones: 3=0.6
+ echo '=== SKATE:'
=== SKATE:
+ grep -ac '\[skate\]' sg5_b.log
0
+97
View File
@@ -0,0 +1,97 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1870
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sg_a.log sg_b.log
+ bt_novice_egg MP.EGG SG.EGG
+ sed 's/^experience=.*/experience=novice/' MP.EGG
+ echo '[bench] NOTE: novice egg SG.EGG -- crits/heat/jams are GATED OFF (harness requirement)'
[bench] NOTE: novice egg SG.EGG -- crits/heat/jams are GATED OFF (harness requirement)
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SG.EGG
+ 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
+ local log=sg_a.log egg=SG.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg_a.log BT_AFFINITY=0x0C
+ BT_LOG=sg_a.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1877/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SG.EGG -net 1601
+ cat /proc/1877/winpid
+ break
+ sleep 2
+ 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
+ local log=sg_b.log egg=SG.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sg_b.log BT_AFFINITY=0x03
+ BT_LOG=sg_b.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1881/winpid ']'
+ cat /proc/1881/winpid
+ /c/git/bt411/build/Release/btl4.exe -egg SG.EGG -net 1501
+ break
+ sleep 5
+ RELAY=1884
+ sleep 360
+ python ../tools/btconsole.py SG.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1884
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== A leg damage (its own master view):'
=== A leg damage (its own master view):
+ grep -a dmghit sg_a.log
+ grep -coE 'zone=(2|3|7|9|10|18)'
0
+ true
+ echo '=== A gimp state changes:'
=== A gimp state changes:
+ grep -aiE gimp sg_a.log
+ grep -va gimpfeed
+ head -8
[loadclips] INTERIOR ('i') set: fScale=0.8 walkStride=18.5085 hasGimpClips=1
[loadclips] INTERIOR ('i') set: fScale=0.8 walkStride=18.5085 hasGimpClips=1
[loadclips] end: fScale=0.8 ggCapL=14.7717 ggCapR=14.7717 hasGimpClips=1
+ echo '=== B replicant gimp feed (last 6):'
=== B replicant gimp feed (last 6):
+ grep -a replgimp sg_b.log
+ tail -6
+ echo '=== SKATE hits (B watching A):'
=== SKATE hits (B watching A):
+ grep -a '\[skate\]' sg_b.log
+ head -10
+ echo '=== SKATE count A-side:'
=== SKATE count A-side:
+ grep -ac '\[skate\]' sg_a.log
0
+88
View File
@@ -0,0 +1,88 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1611
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sk_a.log sk_b.log
+ bt_expert_egg MP.EGG SK.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SK.EGG
+ BT_MP_FORCE_DMG=1
+ BT_GIMPFEED=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sk_b.log SK.EGG 0x0C -net 1601
+ local log=sk_b.log egg=SK.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sk_b.log BT_AFFINITY=0x0C
+ BT_LOG=sk_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1618/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SK.EGG -net 1601
+ cat /proc/1618/winpid
+ break
+ sleep 2
+ BT_AUTODRIVE=0.8
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sk_a.log SK.EGG 0x03 -net 1501
+ local log=sk_a.log egg=SK.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sk_a.log BT_AFFINITY=0x03
+ BT_LOG=sk_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1622/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SK.EGG -net 1501
+ cat /proc/1622/winpid
+ break
+ sleep 5
+ RELAY=1625
+ sleep 260
+ python ../tools/btconsole.py SK.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1625
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== deaths/respawns on A:'
=== deaths/respawns on A:
+ grep -cE 'death cycle START' sk_a.log
7
+ echo '=== SKATE hits on B (A'\''s replicant):'
=== SKATE hits on B (A's replicant):
+ grep -a '\[skate\]' sk_b.log
+ head -12
[skate] replicant 2:162 SKATING: 91 frames moving (0.505743 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (344.188,-930.313)
[skate] replicant 2:162 recovered after 1227 frames
[skate] replicant 2:162 SKATING: 91 frames moving (0.376321 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (-404.085,-331.51)
[skate] replicant 2:162 recovered after 812 frames
[skate] replicant 2:162 SKATING: 91 frames moving (1.10104 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (410.737,35.607)
[skate] replicant 2:162 recovered after 343 frames
[skate] replicant 2:162 SKATING: 91 frames moving (1.21735 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (930.61,-47.2932)
[skate] replicant 2:162 recovered after 191 frames
[skate] replicant 2:162 SKATING: 91 frames moving (0.806519 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (675.781,-47.2932)
[skate] replicant 2:162 recovered after 425 frames
[skate] replicant 2:162 SKATING: 91 frames moving (0.209351 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=3 at (298.771,-47.2932)
[skate] replicant 2:162 recovered after 543 frames
+ echo '=== SKATE hits on A (B'\''s replicant -- should be none, B stands still):'
=== SKATE hits on A (B's replicant -- should be none, B stands still):
+ grep -ac '\[skate\]' sk_a.log
0
+76
View File
@@ -0,0 +1,76 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1768
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sk_a.log sk_b.log
+ bt_expert_egg MP.EGG SK.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SK.EGG
+ BT_MP_FORCE_DMG=1
+ BT_GIMPFEED=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sk_b.log SK.EGG 0x0C -net 1601
+ local log=sk_b.log egg=SK.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sk_b.log BT_AFFINITY=0x0C
+ BT_LOG=sk_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1777/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SK.EGG -net 1601
+ cat /proc/1777/winpid
+ break
+ sleep 2
+ BT_AUTODRIVE=0.8
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sk_a.log SK.EGG 0x03 -net 1501
+ local log=sk_a.log egg=SK.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sk_a.log BT_AFFINITY=0x03
+ BT_LOG=sk_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1781/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SK.EGG -net 1501
+ cat /proc/1781/winpid
+ break
+ sleep 5
+ RELAY=1784
+ sleep 260
+ python ../tools/btconsole.py SK.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1784
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== deaths/respawns on A:'
=== deaths/respawns on A:
+ grep -cE 'death cycle START' sk_a.log
4
+ echo '=== SKATE hits on B (A'\''s replicant):'
=== SKATE hits on B (A's replicant):
+ grep -a '\[skate\]' sk_b.log
+ head -12
+ echo '=== SKATE hits on A (B'\''s replicant -- should be none, B stands still):'
=== SKATE hits on A (B's replicant -- should be none, B stands still):
+ grep -ac '\[skate\]' sk_a.log
0
+76
View File
@@ -0,0 +1,76 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1828
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sk_a.log sk_b.log
+ bt_expert_egg MP.EGG SK.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SK.EGG
+ BT_MP_FORCE_DMG=1
+ BT_GIMPFEED=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sk_b.log SK.EGG 0x0C -net 1601
+ local log=sk_b.log egg=SK.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sk_b.log BT_AFFINITY=0x0C
+ BT_LOG=sk_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1835/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SK.EGG -net 1601
+ cat /proc/1835/winpid
+ break
+ sleep 2
+ BT_AUTODRIVE=0.8
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sk_a.log SK.EGG 0x03 -net 1501
+ local log=sk_a.log egg=SK.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sk_a.log BT_AFFINITY=0x03
+ BT_LOG=sk_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1839/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SK.EGG -net 1501
+ cat /proc/1839/winpid
+ break
+ sleep 5
+ RELAY=1842
+ sleep 260
+ python ../tools/btconsole.py SK.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1842
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== deaths/respawns on A:'
=== deaths/respawns on A:
+ grep -cE 'death cycle START' sk_a.log
7
+ echo '=== SKATE hits on B (A'\''s replicant):'
=== SKATE hits on B (A's replicant):
+ grep -a '\[skate\]' sk_b.log
+ head -12
+ echo '=== SKATE hits on A (B'\''s replicant -- should be none, B stands still):'
=== SKATE hits on A (B's replicant -- should be none, B stands still):
+ grep -ac '\[skate\]' sk_a.log
0
+87
View File
@@ -0,0 +1,87 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1554
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sk_a.log sk_b.log
+ bt_expert_egg MP.EGG SK.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SK.EGG
+ BT_MP_FORCE_DMG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sk_b.log SK.EGG 0x0C -net 1601
+ local log=sk_b.log egg=SK.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sk_b.log BT_AFFINITY=0x0C
+ BT_LOG=sk_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1561/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SK.EGG -net 1601
+ cat /proc/1561/winpid
+ break
+ sleep 2
+ BT_AUTODRIVE=0.8
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_MATCHLOG=1
+ bt_launch sk_a.log SK.EGG 0x03 -net 1501
+ local log=sk_a.log egg=SK.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sk_a.log BT_AFFINITY=0x03
+ BT_LOG=sk_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1565/winpid ']'
+ cat /proc/1565/winpid
+ /c/git/bt411/build/Release/btl4.exe -egg SK.EGG -net 1501
+ break
+ sleep 5
+ RELAY=1568
+ sleep 260
+ python ../tools/btconsole.py SK.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1568
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=== deaths/respawns on A:'
=== deaths/respawns on A:
+ grep -cE 'death cycle START' sk_a.log
7
+ echo '=== SKATE hits on B (A'\''s replicant):'
=== SKATE hits on B (A's replicant):
+ grep -a '\[skate\]' sk_b.log
+ head -12
[skate] replicant 2:162 SKATING: 91 frames moving (0.761363 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (-369.793,-659.471)
[skate] replicant 2:162 recovered after 671 frames
[skate] replicant 2:162 SKATING: 91 frames moving (0.563178 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (493.835,-45.9634)
[skate] replicant 2:162 recovered after 205 frames
[skate] replicant 2:162 SKATING: 91 frames moving (1.22538 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (363.296,-201.536)
[skate] replicant 2:162 recovered after 193 frames
[skate] replicant 2:162 SKATING: 91 frames moving (0.974232 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=1 at (228.972,-361.618)
[skate] replicant 2:162 recovered after 138 frames
[skate] replicant 2:162 SKATING: 91 frames moving (0.371205 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=4 at (118.835,-492.875)
[skate] replicant 2:162 recovered after 161 frames
[skate] replicant 2:162 SKATING: 91 frames moving (0.463005 u/frame) with legCycleSpeed=0 bodyTargetSpeed=44.837 destroyed=0 mode=4 at (59.0707,-564.101)
[skate] replicant 2:162 recovered after 141 frames
+ echo '=== SKATE hits on A (B'\''s replicant -- should be none, B stands still):'
=== SKATE hits on A (B's replicant -- should be none, B stands still):
+ grep -ac '\[skate\]' sk_a.log
0
+69
View File
@@ -0,0 +1,69 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.820
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f zwb_a.log zwb_b.log
+ bt_expert_egg MP.EGG ZWB.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/' ZWB.EGG
+ python -
vehicles set: 2
+ BT_SPIN_SELF=15
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_b.log ZWB.EGG 0x0C -net 1601
+ local log=zwb_b.log egg=ZWB.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_b.log BT_AFFINITY=0x0C
+ BT_LOG=zwb_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/829/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1601
+ cat /proc/829/winpid
+ break
+ sleep 2
+ BT_ZONE_WALK=6
+ BT_PICK_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_DMG_LOG=1
+ BT_RANGE_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_a.log ZWB.EGG 0x03 -net 1501
+ local log=zwb_a.log egg=ZWB.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_a.log BT_AFFINITY=0x03
+ BT_LOG=zwb_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/833/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1501
+ cat /proc/833/winpid
+ break
+ sleep 5
+ sleep 300
+ python ../tools/btconsole.py ZWB.EGG 127.0.0.1:1501 127.0.0.1:1601
+69
View File
@@ -0,0 +1,69 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.848
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f zwb_a.log zwb_b.log
+ bt_expert_egg MP.EGG ZWB.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/' ZWB.EGG
+ python -
vehicles set: 2
+ BT_SPIN_SELF=15
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_b.log ZWB.EGG 0x0C -net 1601
+ local log=zwb_b.log egg=ZWB.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_b.log BT_AFFINITY=0x0C
+ BT_LOG=zwb_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/857/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1601
+ cat /proc/857/winpid
+ break
+ sleep 2
+ BT_ZONE_WALK=6
+ BT_PICK_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_DMG_LOG=1
+ BT_RANGE_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_a.log ZWB.EGG 0x03 -net 1501
+ local log=zwb_a.log egg=ZWB.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_a.log BT_AFFINITY=0x03
+ BT_LOG=zwb_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/861/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1501
+ cat /proc/861/winpid
+ break
+ sleep 5
+ sleep 300
+ python ../tools/btconsole.py ZWB.EGG 127.0.0.1:1501 127.0.0.1:1601
+69
View File
@@ -0,0 +1,69 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1131
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f zwb_a.log zwb_b.log
+ bt_expert_egg MP.EGG ZWB.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/' ZWB.EGG
+ python -
vehicles set: 2
+ BT_SPIN_SELF=15
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_b.log ZWB.EGG 0x0C -net 1601
+ local log=zwb_b.log egg=ZWB.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_b.log BT_AFFINITY=0x0C
+ BT_LOG=zwb_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1141/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1601
+ cat /proc/1141/winpid
+ break
+ sleep 2
+ BT_ZONE_WALK=6
+ BT_PICK_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_DMG_LOG=1
+ BT_RANGE_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_a.log ZWB.EGG 0x03 -net 1501
+ local log=zwb_a.log egg=ZWB.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_a.log BT_AFFINITY=0x03
+ BT_LOG=zwb_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1145/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1501
+ cat /proc/1145/winpid
+ break
+ sleep 5
+ sleep 300
+ python ../tools/btconsole.py ZWB.EGG 127.0.0.1:1501 127.0.0.1:1601
+69
View File
@@ -0,0 +1,69 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1311
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f zwb_a.log zwb_b.log
+ bt_expert_egg MP.EGG ZWB.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/' ZWB.EGG
+ python -
vehicles set: 2
+ BT_SPIN_SELF=15
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_b.log ZWB.EGG 0x0C -net 1601
+ local log=zwb_b.log egg=ZWB.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_b.log BT_AFFINITY=0x0C
+ BT_LOG=zwb_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1321/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1601
+ cat /proc/1321/winpid
+ break
+ sleep 2
+ BT_ZONE_WALK=6
+ BT_PICK_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_DMG_LOG=1
+ BT_RANGE_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_a.log ZWB.EGG 0x03 -net 1501
+ local log=zwb_a.log egg=ZWB.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_a.log BT_AFFINITY=0x03
+ BT_LOG=zwb_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1325/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1501
+ cat /proc/1325/winpid
+ break
+ sleep 5
+ sleep 300
+ python ../tools/btconsole.py ZWB.EGG 127.0.0.1:1501 127.0.0.1:1601
+69
View File
@@ -0,0 +1,69 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.719
+ cd /c/git/bt411/content
+ bt_assert_player_env
+ local bat=/c/git/bt411/dist/BT411_4.11.643/play_solo.bat
+ '[' -f /c/git/bt411/dist/BT411_4.11.643/play_solo.bat ']'
+ return 0
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f zwb_a.log zwb_b.log
+ bt_expert_egg MP.EGG ZWB.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/' ZWB.EGG
+ python -
vehicles set: 2
+ BT_SPIN_SELF=15
+ BT_DMG_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_b.log ZWB.EGG 0x0C -net 1601
+ local log=zwb_b.log egg=ZWB.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_b.log BT_AFFINITY=0x0C
+ BT_LOG=zwb_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/727/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1601
+ cat /proc/727/winpid
+ break
+ sleep 2
+ BT_ZONE_WALK=6
+ BT_PICK_LOG=1
+ BT_GOTO=enemy
+ BT_GOTO_STOP=90
+ BT_KEY_NOFOCUS=1
+ BT_DMG_LOG=1
+ BT_RANGE_LOG=1
+ BT_MP_LOG=1
+ bt_launch zwb_a.log ZWB.EGG 0x03 -net 1501
+ local log=zwb_a.log egg=ZWB.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=zwb_a.log BT_AFFINITY=0x03
+ BT_LOG=zwb_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/731/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg ZWB.EGG -net 1501
+ cat /proc/731/winpid
+ break
+ sleep 5
+ sleep 300
+ python ../tools/btconsole.py ZWB.EGG 127.0.0.1:1501 127.0.0.1:1601
+74
View File
@@ -0,0 +1,74 @@
#!/usr/bin/env bash
# =========================================================================
# #137 -- "Respawn came back with MYOMERS heat MAXED" (Oracle, 774), and
# Sauron's "respawned with an overheating generator D".
#
# The reset audit (2026-08-08) ruled out every reset-path explanation:
# Mech::Reset dispatches per-subsystem; HeatSink::RTIS sets
# currentTemperature = startingTemperature, refills coolant to
# thermalCapacity and zeroes draw; Generator::RTIS is an
# instruction-for-instruction match; Myomers chains through
# PoweredSubsystem to HeatSink; every RTIS class has a DeathReset to
# dispatch it; the coolant LOOP link is written only in the streaming
# ctor and cannot drift; and the valve fractions are recomputed
# (BTRecomputeCondenserValves == @0049f788).
#
# So the temperature should be at startingTemperature the instant the reset
# runs. This bench decides between the three survivors:
# (a) RESET DIDN'T CLEAR -> [heat-reset] shows T high, T != start
# (b) HEAT MODEL -> [heat-reset] shows T == start, then [heat-t]
# climbs back within seconds
# (c) GAUGE ONLY -> the variable is fine and stays fine; Oracle
# was reading a panel, not a value
#
# A heats itself up by running (autodrive) and dies to self-damage, so the
# death lands on a HOT mech -- which is the field composition.
# =========================================================================
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 hr_a.log hr_b.log hr_relay.log
bt_expert_egg MP.EGG HR.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" HR.EGG
( export BT_DEATH_LOG=1 BT_MP_LOG=1
bt_launch hr_b.log HR.EGG 0x0C -net 1601 )
sleep 2
( export BT_AUTODRIVE=0.8 BT_SELF_DAMAGE=8
export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
bt_launch hr_a.log HR.EGG 0x03 -net 1501 )
sleep 5
python ../tools/btconsole.py HR.EGG 127.0.0.1:1501 127.0.0.1:1601 > hr_relay.log 2>&1 &
RELAY=$!
sleep 280
kill $RELAY 2>/dev/null
sleep 3
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe > /dev/null 2>&1; sleep 3
echo "=================== #137 HEAT ACROSS RESPAWN ==================="
echo "--- did a death/respawn happen? ---"
echo -n "Mech::Reset count: "; grep -ac "Mech::Reset" hr_a.log
echo
echo "--- (a) AT THE RESET: T must equal start ---"
grep -a "\[heat-reset\]" hr_a.log | head -14
echo
echo "--- any subsystem where T != start at reset? (that would be a reset bug) ---"
python - <<'PY'
import re, io
bad = ok = 0
for ln in io.open(r"C:\git\bt411\content\hr_a.log", encoding="latin-1", errors="replace"):
m = re.search(r"\[heat-reset\] (\S+) T=([-\d.e+]+) start=([-\d.e+]+)", ln)
if m:
t, s = float(m.group(2)), float(m.group(3))
if abs(t - s) > 0.01:
bad += 1
if bad <= 8: print(" MISMATCH %-18s T=%s start=%s" % (m.group(1), t, s))
else:
ok += 1
print(" matched=%d mismatched=%d" % (ok, bad))
PY
echo
echo "--- (b) HEAT MODEL: the census right after a reset (does T climb back?) ---"
grep -aE "\[heat-t\]|Mech::Reset" hr_a.log | grep -A6 "Mech::Reset" | head -14
View File
+106
View File
@@ -0,0 +1,106 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.58
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mc_a.log
+ bt_expert_egg MP.EGG MC.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MC.EGG
+ export BT_MODECYCLE_EVERY=400
+ BT_MODECYCLE_EVERY=400
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1 BT_KEY_BRIDGE=0 BT_TWIST_PULSE=150 BT_LEGACY_MODE_RECENTER=1
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ BT_KEY_BRIDGE=0
+ BT_TWIST_PULSE=150
+ BT_LEGACY_MODE_RECENTER=1
+ bt_launch mc_a.log MC.EGG 0x03
+ local log=mc_a.log egg=MC.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mc_a.log BT_AFFINITY=0x03
+ BT_LOG=mc_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/66/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MC.EGG
+ cat /proc/66/winpid
+ break
+ sleep 150
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.58 ']'
+ read -r pid
+ '[' -n 17972 ']'
+ taskkill //F //PID 17972
+ read -r pid
+ rm -f /tmp/bt_bench_pids.58
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== CONTROL-MODE TORSO STATE ==================='
=================== CONTROL-MODE TORSO STATE ===================
+ echo '--- the mode cycles that happened ---'
--- the mode cycles that happened ---
+ grep -a '\[mode\] control mode' mc_a.log
+ head -10
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
+ echo
+ echo '--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---'
--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---
+ echo -n ' samples with ctrCmd=1 : '
samples with ctrCmd=1 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=1
310
+ echo -n ' samples with ctrCmd=0 : '
samples with ctrCmd=0 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=0
49
+ echo
+ echo '--- the elevation-limit SWAP (should differ between Basic and assisted) ---'
--- the elevation-limit SWAP (should differ between Basic and assisted) ---
+ grep -ao 'vLim=([^)]*)' mc_a.log
+ sort
+ uniq -c
+ sort -rn
+ head -5
46 vLim=(-0.698132..0.349066)
26 vLim=(-0.349066..0.349066)
+ echo
+ echo '--- torso state around each mode change ---'
--- torso state around each mode change ---
+ grep -aE '\[mode\] control mode|ctrCmd=' mc_a.log
+ grep -aA1 '\[mode\]'
+ head -12
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=deflect axis=0.6 twist=2.44346 ctrCmd=0 recen=0
--
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=RELEASE axis=0 twist=2.44346 ctrCmd=0 recen=0
--
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=RELEASE axis=0 twist=2.44346 ctrCmd=1 recen=0
--
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=deflect axis=0.6 twist=1.26606 ctrCmd=1 recen=0
--
+105
View File
@@ -0,0 +1,105 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1186
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mc_a.log
+ bt_expert_egg MP.EGG MC.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MC.EGG
+ export BT_MODECYCLE_EVERY=400
+ BT_MODECYCLE_EVERY=400
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1 BT_KEY_BRIDGE=0 BT_TWIST_PULSE=150
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ BT_KEY_BRIDGE=0
+ BT_TWIST_PULSE=150
+ bt_launch mc_a.log MC.EGG 0x03
+ local log=mc_a.log egg=MC.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mc_a.log BT_AFFINITY=0x03
+ BT_LOG=mc_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1194/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MC.EGG
+ cat /proc/1194/winpid
+ break
+ sleep 150
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1186 ']'
+ read -r pid
+ '[' -n 528 ']'
+ taskkill //F //PID 528
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1186
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== CONTROL-MODE TORSO STATE ==================='
=================== CONTROL-MODE TORSO STATE ===================
+ echo '--- the mode cycles that happened ---'
--- the mode cycles that happened ---
+ grep -a '\[mode\] control mode' mc_a.log
+ head -10
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
+ echo
+ echo '--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---'
--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---
+ echo -n ' samples with ctrCmd=1 : '
samples with ctrCmd=1 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=1
0
+ echo -n ' samples with ctrCmd=0 : '
samples with ctrCmd=0 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=0
353
+ echo
+ echo '--- the elevation-limit SWAP (should differ between Basic and assisted) ---'
--- the elevation-limit SWAP (should differ between Basic and assisted) ---
+ grep -ao 'vLim=([^)]*)' mc_a.log
+ sort
+ uniq -c
+ sort -rn
+ head -5
46 vLim=(-0.698132..0.349066)
25 vLim=(-0.349066..0.349066)
+ echo
+ echo '--- torso state around each mode change ---'
--- torso state around each mode change ---
+ grep -aE '\[mode\] control mode|ctrCmd=' mc_a.log
+ grep -aA1 '\[mode\]'
+ head -12
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=deflect axis=0.6 twist=2.44346 ctrCmd=0 recen=0
--
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=RELEASE axis=0 twist=2.44346 ctrCmd=0 recen=0
--
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=RELEASE axis=0 twist=2.44346 ctrCmd=0 recen=1
--
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=deflect axis=0.6 twist=2.44346 ctrCmd=0 recen=0
--
+106
View File
@@ -0,0 +1,106 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1825
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mc_a.log
+ bt_expert_egg MP.EGG MC.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MC.EGG
+ export BT_MODECYCLE_EVERY=400
+ BT_MODECYCLE_EVERY=400
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1 BT_KEY_BRIDGE=1 BT_TWIST_PULSE=150 BT_LEGACY_MODE_RECENTER=1
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ BT_KEY_BRIDGE=1
+ BT_TWIST_PULSE=150
+ BT_LEGACY_MODE_RECENTER=1
+ bt_launch mc_a.log MC.EGG 0x03
+ local log=mc_a.log egg=MC.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mc_a.log BT_AFFINITY=0x03
+ BT_LOG=mc_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1833/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MC.EGG
+ cat /proc/1833/winpid
+ break
+ sleep 150
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1825 ']'
+ read -r pid
+ '[' -n 15288 ']'
+ taskkill //F //PID 15288
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1825
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== CONTROL-MODE TORSO STATE ==================='
=================== CONTROL-MODE TORSO STATE ===================
+ echo '--- the mode cycles that happened ---'
--- the mode cycles that happened ---
+ grep -a '\[mode\] control mode' mc_a.log
+ head -10
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
+ echo
+ echo '--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---'
--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---
+ echo -n ' samples with ctrCmd=1 : '
samples with ctrCmd=1 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=1
113
+ echo -n ' samples with ctrCmd=0 : '
samples with ctrCmd=0 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=0
241
+ echo
+ echo '--- the elevation-limit SWAP (should differ between Basic and assisted) ---'
--- the elevation-limit SWAP (should differ between Basic and assisted) ---
+ grep -ao 'vLim=([^)]*)' mc_a.log
+ sort
+ uniq -c
+ sort -rn
+ head -5
46 vLim=(-0.698132..0.349066)
25 vLim=(-0.349066..0.349066)
+ echo
+ echo '--- torso state around each mode change ---'
--- torso state around each mode change ---
+ grep -aE '\[mode\] control mode|ctrCmd=' mc_a.log
+ grep -aA1 '\[mode\]'
+ head -12
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=deflect axis=0.6 twist=2.44346 ctrCmd=0 recen=0
--
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=RELEASE axis=0 twist=2.44346 ctrCmd=0 recen=0
--
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=RELEASE axis=0 twist=2.44346 ctrCmd=1 recen=0
--
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[twistpulse] phase=deflect axis=0.6 twist=1.27461 ctrCmd=0 recen=0
--
+105
View File
@@ -0,0 +1,105 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.442
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mc_a.log
+ bt_expert_egg MP.EGG MC.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MC.EGG
+ export BT_MODECYCLE_EVERY=400
+ BT_MODECYCLE_EVERY=400
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1 BT_KEY_BRIDGE=1 BT_LEGACY_MODE_RECENTER=1
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ BT_KEY_BRIDGE=1
+ BT_LEGACY_MODE_RECENTER=1
+ bt_launch mc_a.log MC.EGG 0x03
+ local log=mc_a.log egg=MC.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mc_a.log BT_AFFINITY=0x03
+ BT_LOG=mc_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/450/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MC.EGG
+ cat /proc/450/winpid
+ break
+ sleep 150
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.442 ']'
+ read -r pid
+ '[' -n 19296 ']'
+ taskkill //F //PID 19296
+ read -r pid
+ rm -f /tmp/bt_bench_pids.442
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== CONTROL-MODE TORSO STATE ==================='
=================== CONTROL-MODE TORSO STATE ===================
+ echo '--- the mode cycles that happened ---'
--- the mode cycles that happened ---
+ grep -a '\[mode\] control mode' mc_a.log
+ head -10
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
+ echo
+ echo '--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---'
--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---
+ echo -n ' samples with ctrCmd=1 : '
samples with ctrCmd=1 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=1
26
+ echo -n ' samples with ctrCmd=0 : '
samples with ctrCmd=0 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=0
46
+ echo
+ echo '--- the elevation-limit SWAP (should differ between Basic and assisted) ---'
--- the elevation-limit SWAP (should differ between Basic and assisted) ---
+ grep -ao 'vLim=([^)]*)' mc_a.log
+ sort
+ uniq -c
+ sort -rn
+ head -5
46 vLim=(-0.698132..0.349066)
26 vLim=(-0.349066..0.349066)
+ echo
+ echo '--- torso state around each mode change ---'
--- torso state around each mode change ---
+ grep -aE '\[mode\] control mode|ctrCmd=' mc_a.log
+ grep -aA1 '\[mode\]'
+ head -12
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[torso] hmOff=0 elec=4 heatState=0 rate=0.872665 base=0.872665 hEn=1 limits=(-2.44346..2.44346) axis=0 twist=0 ctrCmd=0 recen=0 vLim=(-0.698132..0.349066) wIdx=15 w=05684140 wElec=4 wSrc=05682BB0 gOut=10000 gRated=10000 minV=0.5
--
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[torso] hmOff=0 elec=4 heatState=0 rate=0.872665 base=0.872665 hEn=1 limits=(-2.44346..2.44346) axis=0 twist=0 ctrCmd=0 recen=0 vLim=(-0.698132..0.349066) wIdx=15 w=05684140 wElec=4 wSrc=05682BB0 gOut=10000 gRated=10000 minV=0.5
--
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[torso] hmOff=0 elec=4 heatState=0 rate=0.872665 base=0.872665 hEn=1 limits=(-2.44346..2.44346) axis=0 twist=0 ctrCmd=1 recen=0 vLim=(-0.349066..0.349066) wIdx=15 w=05684140 wElec=4 wSrc=05682BB0 gOut=10000 gRated=10000 minV=0.5
--
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[torso] hmOff=0 elec=4 heatState=0 rate=0.872665 base=0.872665 hEn=1 limits=(-2.44346..2.44346) axis=0 twist=0 ctrCmd=0 recen=0 vLim=(-0.698132..0.349066) wIdx=15 w=05684140 wElec=4 wSrc=05682BB0 gOut=10000 gRated=10000 minV=0.5
--
+80
View File
@@ -0,0 +1,80 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1329
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mc_a.log
+ bt_expert_egg MP.EGG MC.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MC.EGG
+ export BT_MODECYCLE_TEST=600
+ BT_MODECYCLE_TEST=600
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ bt_launch mc_a.log MC.EGG 0x03
+ local log=mc_a.log egg=MC.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mc_a.log BT_AFFINITY=0x03
+ BT_LOG=mc_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1337/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MC.EGG
+ cat /proc/1337/winpid
+ break
+ sleep 150
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1329 ']'
+ read -r pid
+ '[' -n 16580 ']'
+ taskkill //F //PID 16580
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1329
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== CONTROL-MODE TORSO STATE ==================='
=================== CONTROL-MODE TORSO STATE ===================
+ echo '--- the mode cycles that happened ---'
--- the mode cycles that happened ---
+ grep -a '\[mode\] control mode' mc_a.log
+ head -10
+ echo
+ echo '--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---'
--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---
+ echo -n ' samples with ctrCmd=1 : '
samples with ctrCmd=1 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=1
0
+ echo -n ' samples with ctrCmd=0 : '
samples with ctrCmd=0 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=0
71
+ echo
+ echo '--- the elevation-limit SWAP (should differ between Basic and assisted) ---'
--- the elevation-limit SWAP (should differ between Basic and assisted) ---
+ grep -ao 'vLim=([^)]*)' mc_a.log
+ sort
+ uniq -c
+ sort -rn
+ head -5
71 vLim=(-0.698132..0.349066)
+ echo
+ echo '--- torso state around each mode change ---'
--- torso state around each mode change ---
+ grep -aE '\[mode\] control mode|ctrCmd=' mc_a.log
+ grep -aA1 '\[mode\]'
+ head -12
+80
View File
@@ -0,0 +1,80 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1093
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mc_a.log
+ bt_expert_egg MP.EGG MC.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MC.EGG
+ export BT_MODECYCLE_EVERY=400
+ BT_MODECYCLE_EVERY=400
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ bt_launch mc_a.log MC.EGG 0x03
+ local log=mc_a.log egg=MC.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mc_a.log BT_AFFINITY=0x03
+ BT_LOG=mc_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1101/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MC.EGG
+ cat /proc/1101/winpid
+ break
+ sleep 150
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1093 ']'
+ read -r pid
+ '[' -n 9164 ']'
+ taskkill //F //PID 9164
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1093
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== CONTROL-MODE TORSO STATE ==================='
=================== CONTROL-MODE TORSO STATE ===================
+ echo '--- the mode cycles that happened ---'
--- the mode cycles that happened ---
+ grep -a '\[mode\] control mode' mc_a.log
+ head -10
+ echo
+ echo '--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---'
--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---
+ echo -n ' samples with ctrCmd=1 : '
samples with ctrCmd=1 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=1
0
+ echo -n ' samples with ctrCmd=0 : '
samples with ctrCmd=0 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=0
72
+ echo
+ echo '--- the elevation-limit SWAP (should differ between Basic and assisted) ---'
--- the elevation-limit SWAP (should differ between Basic and assisted) ---
+ grep -ao 'vLim=([^)]*)' mc_a.log
+ sort
+ uniq -c
+ sort -rn
+ head -5
72 vLim=(-0.698132..0.349066)
+ echo
+ echo '--- torso state around each mode change ---'
--- torso state around each mode change ---
+ grep -aE '\[mode\] control mode|ctrCmd=' mc_a.log
+ grep -aA1 '\[mode\]'
+ head -12
+104
View File
@@ -0,0 +1,104 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.263
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mc_a.log
+ bt_expert_egg MP.EGG MC.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MC.EGG
+ export BT_MODECYCLE_EVERY=400
+ BT_MODECYCLE_EVERY=400
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1 BT_KEY_BRIDGE=1
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ BT_KEY_BRIDGE=1
+ bt_launch mc_a.log MC.EGG 0x03
+ local log=mc_a.log egg=MC.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mc_a.log BT_AFFINITY=0x03
+ BT_LOG=mc_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/271/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MC.EGG
+ cat /proc/271/winpid
+ break
+ sleep 150
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.263 ']'
+ read -r pid
+ '[' -n 17164 ']'
+ taskkill //F //PID 17164
+ read -r pid
+ rm -f /tmp/bt_bench_pids.263
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== CONTROL-MODE TORSO STATE ==================='
=================== CONTROL-MODE TORSO STATE ===================
+ echo '--- the mode cycles that happened ---'
--- the mode cycles that happened ---
+ grep -a '\[mode\] control mode' mc_a.log
+ head -10
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
+ echo
+ echo '--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---'
--- centerCommand must NEVER latch (ctrCmd=1 with no button = the bug) ---
+ echo -n ' samples with ctrCmd=1 : '
samples with ctrCmd=1 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=1
0
+ echo -n ' samples with ctrCmd=0 : '
samples with ctrCmd=0 : + grep -ao 'ctrCmd=[0-9]*' mc_a.log
+ grep -c ctrCmd=0
71
+ echo
+ echo '--- the elevation-limit SWAP (should differ between Basic and assisted) ---'
--- the elevation-limit SWAP (should differ between Basic and assisted) ---
+ grep -ao 'vLim=([^)]*)' mc_a.log
+ sort
+ uniq -c
+ sort -rn
+ head -5
46 vLim=(-0.698132..0.349066)
25 vLim=(-0.349066..0.349066)
+ echo
+ echo '--- torso state around each mode change ---'
--- torso state around each mode change ---
+ grep -aE '\[mode\] control mode|ctrCmd=' mc_a.log
+ grep -aA1 '\[mode\]'
+ head -12
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[torso] hmOff=0 elec=4 heatState=0 rate=0.872665 base=0.872665 hEn=1 limits=(-2.44346..2.44346) axis=0 twist=0 ctrCmd=0 recen=0 vLim=(-0.698132..0.349066) wIdx=15 w=0538D300 wElec=4 wSrc=0538CD78 gOut=10000 gRated=10000 minV=0.5
--
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[torso] hmOff=0 elec=4 heatState=0 rate=0.872665 base=0.872665 hEn=1 limits=(-2.44346..2.44346) axis=0 twist=0 ctrCmd=0 recen=0 vLim=(-0.698132..0.349066) wIdx=15 w=0538D300 wElec=4 wSrc=0538CD78 gOut=10000 gRated=10000 minV=0.5
--
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[torso] hmOff=0 elec=4 heatState=0 rate=0.872665 base=0.872665 hEn=1 limits=(-2.44346..2.44346) axis=0 twist=0 ctrCmd=0 recen=0 vLim=(-0.349066..0.349066) wIdx=15 w=0538D300 wElec=4 wSrc=0538CD78 gOut=10000 gRated=10000 minV=0.5
--
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[torso] hmOff=0 elec=4 heatState=0 rate=0.872665 base=0.872665 hEn=1 limits=(-2.44346..2.44346) axis=0 twist=0 ctrCmd=0 recen=0 vLim=(-0.698132..0.349066) wIdx=15 w=0538D300 wElec=4 wSrc=0538CD78 gOut=10000 gRated=10000 minV=0.5
--
+135
View File
@@ -0,0 +1,135 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1940
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1948/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1948/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1953/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1953/winpid
+ break
+ sleep 5
+ RELAY=1956
+ sleep 170
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1956
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1940 ']'
+ read -r pid
+ '[' -n 16000 ']'
+ taskkill //F //PID 16000
+ read -r pid
+ '[' -n 17888 ']'
+ taskkill //F //PID 17888
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1940
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1686 mean=1.2913 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=1.7068 mean=0.7860 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=-1.82537 bodyYaw=2.28923 twistDelta=2.16859 parent=051C9908 parentIdx=4 joints=051CF9D0 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-1.82537 bodyYaw=2.28923 twistDelta=2.16859 parent=051C9908 parentIdx=4 joints=051CF9D0 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-1.82537 bodyYaw=2.28923 twistDelta=2.16859 parent=051C9908 parentIdx=4 joints=051CF9D0 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-1.82537 bodyYaw=2.28923 twistDelta=2.16859 parent=051C9908 parentIdx=4 joints=051CF9D0 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.44102 bodyYaw=2.44102 twistDelta=0 parent=0575CAA0 parentIdx=4 joints=056743C8 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.44102 bodyYaw=2.44102 twistDelta=0 parent=0575CAA0 parentIdx=4 joints=056743C8 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.44102 bodyYaw=2.44102 twistDelta=0 parent=0575CAA0 parentIdx=4 joints=056743C8 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.44102 bodyYaw=2.44102 twistDelta=0 parent=0575CAA0 parentIdx=4 joints=056743C8 jointsDirty=0
+134
View File
@@ -0,0 +1,134 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.560
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/568/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/568/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/573/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/573/winpid
+ break
+ sleep 5
+ RELAY=576
+ sleep 300
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 576
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.560 ']'
+ read -r pid
+ '[' -n 13448 ']'
+ taskkill //F //PID 13448
+ read -r pid
+ '[' -n 11224 ']'
+ taskkill //F //PID 11224
+ read -r pid
+ rm -f /tmp/bt_bench_pids.560
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1512 mean=1.2839 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=1.8381 mean=0.7987 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master liveTwist=2.15116 seg=18 segResolved=1 segYaw=-2.31865 bodyYaw=1.81337 twistDelta=2.15117 parent=05BDDE88 parentIdx=4 joints=04D3C9E8 jointsDirty=0
[launchframe] master liveTwist=2.15116 seg=18 segResolved=1 segYaw=-2.31865 bodyYaw=1.81337 twistDelta=2.15117 parent=05BDDE88 parentIdx=4 joints=04D3C9E8 jointsDirty=0
[launchframe] master liveTwist=2.15116 seg=18 segResolved=1 segYaw=-2.31865 bodyYaw=1.81337 twistDelta=2.15117 parent=05BDDE88 parentIdx=4 joints=04D3C9E8 jointsDirty=0
[launchframe] master liveTwist=2.15116 seg=18 segResolved=1 segYaw=-2.31865 bodyYaw=1.81337 twistDelta=2.15117 parent=05BDDE88 parentIdx=4 joints=04D3C9E8 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.71533 bodyYaw=0.71533 twistDelta=0 parent=05245308 parentIdx=4 joints=051D4958 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.71533 bodyYaw=0.71533 twistDelta=0 parent=05245308 parentIdx=4 joints=051D4958 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.71533 bodyYaw=0.71533 twistDelta=0 parent=05245308 parentIdx=4 joints=051D4958 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.71533 bodyYaw=0.71533 twistDelta=0 parent=05245308 parentIdx=4 joints=051D4958 jointsDirty=0
+135
View File
@@ -0,0 +1,135 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1733
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1741/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1741/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1746/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1746/winpid
+ break
+ sleep 5
+ RELAY=1749
+ sleep 170
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1749
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1733 ']'
+ read -r pid
+ '[' -n 10188 ']'
+ taskkill //F //PID 10188
+ read -r pid
+ '[' -n 12420 ']'
+ taskkill //F //PID 12420
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1733
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1530 mean=1.2868 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=1.8619 mean=0.7997 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master liveTwist=2.15299 seg=18 segResolved=1 segYaw=-1.90387 bodyYaw=2.22632 twistDelta=2.15299 parent=05A9E580 parentIdx=4 joints=05ABAC10 jointsDirty=0
[launchframe] master liveTwist=2.15299 seg=18 segResolved=1 segYaw=-1.90387 bodyYaw=2.22632 twistDelta=2.15299 parent=05A9E580 parentIdx=4 joints=05ABAC10 jointsDirty=0
[launchframe] master liveTwist=2.15299 seg=18 segResolved=1 segYaw=-1.90387 bodyYaw=2.22632 twistDelta=2.15299 parent=05A9E580 parentIdx=4 joints=05ABAC10 jointsDirty=0
[launchframe] master liveTwist=2.15299 seg=18 segResolved=1 segYaw=-1.90387 bodyYaw=2.22632 twistDelta=2.15299 parent=05A9E580 parentIdx=4 joints=05ABAC10 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.686969 bodyYaw=0.686969 twistDelta=0 parent=05595130 parentIdx=4 joints=056EED48 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.686969 bodyYaw=0.686969 twistDelta=0 parent=05595130 parentIdx=4 joints=056EED48 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.686969 bodyYaw=0.686969 twistDelta=0 parent=05595130 parentIdx=4 joints=056EED48 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.686969 bodyYaw=0.686969 twistDelta=0 parent=05595130 parentIdx=4 joints=056EED48 jointsDirty=0
+136
View File
@@ -0,0 +1,136 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.790
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1 BT_NET_TRACE=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ BT_NET_TRACE=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/798/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/798/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/803/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/803/winpid
+ break
+ sleep 5
+ RELAY=806
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ sleep 170
+ kill 806
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.790 ']'
+ read -r pid
+ '[' -n 14160 ']'
+ taskkill //F //PID 14160
+ read -r pid
+ '[' -n 10076 ']'
+ taskkill //F //PID 10076
+ read -r pid
+ rm -f /tmp/bt_bench_pids.790
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1545 mean=1.2913 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=1.7811 mean=0.7944 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master liveTwist=2.15452 seg=18 segResolved=1 segYaw=1.89315 bodyYaw=-0.26139 twistDelta=2.15454 parent=0526A290 parentIdx=4 joints=052711A8 jointsDirty=0
[launchframe] master liveTwist=2.15452 seg=18 segResolved=1 segYaw=1.89315 bodyYaw=-0.26139 twistDelta=2.15454 parent=0526A290 parentIdx=4 joints=052711A8 jointsDirty=0
[launchframe] master liveTwist=2.15452 seg=18 segResolved=1 segYaw=1.89315 bodyYaw=-0.26139 twistDelta=2.15454 parent=0526A290 parentIdx=4 joints=052711A8 jointsDirty=0
[launchframe] master liveTwist=2.15452 seg=18 segResolved=1 segYaw=1.89315 bodyYaw=-0.26139 twistDelta=2.15454 parent=0526A290 parentIdx=4 joints=052711A8 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=-0.475265 bodyYaw=-0.475265 twistDelta=0 parent=052F2230 parentIdx=4 joints=053AD9C0 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=-0.475265 bodyYaw=-0.475265 twistDelta=0 parent=052F2230 parentIdx=4 joints=053AD9C0 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=-0.475265 bodyYaw=-0.475265 twistDelta=0 parent=052F2230 parentIdx=4 joints=053AD9C0 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=-0.475265 bodyYaw=-0.475265 twistDelta=0 parent=052F2230 parentIdx=4 joints=053AD9C0 jointsDirty=0
+136
View File
@@ -0,0 +1,136 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1287
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1 BT_NET_TRACE=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ BT_NET_TRACE=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1295/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1295/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1300/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1300/winpid
+ break
+ sleep 5
+ RELAY=1303
+ sleep 170
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1303
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1287 ']'
+ read -r pid
+ '[' -n 17540 ']'
+ taskkill //F //PID 17540
+ read -r pid
+ '[' -n 7768 ']'
+ taskkill //F //PID 7768
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1287
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.3146 mean=1.3010 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=2.0294 mean=0.8171 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master liveTwist=2.31457 seg=18 segResolved=1 segYaw=-2.53452 bodyYaw=1.43408 twistDelta=2.31458 parent=05641608 parentIdx=4 joints=05641068 jointsDirty=0
[launchframe] master liveTwist=2.31457 seg=18 segResolved=1 segYaw=-2.53452 bodyYaw=1.43408 twistDelta=2.31458 parent=05641608 parentIdx=4 joints=05641068 jointsDirty=0
[launchframe] master liveTwist=2.31457 seg=18 segResolved=1 segYaw=-2.53452 bodyYaw=1.43408 twistDelta=2.31458 parent=05641608 parentIdx=4 joints=05641068 jointsDirty=0
[launchframe] master liveTwist=2.31457 seg=18 segResolved=1 segYaw=-2.53452 bodyYaw=1.43408 twistDelta=2.31458 parent=05641608 parentIdx=4 joints=05641068 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=2.44215 bodyYaw=2.44215 twistDelta=0 parent=0587C2D8 parentIdx=4 joints=058121B0 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=2.44215 bodyYaw=2.44215 twistDelta=0 parent=0587C2D8 parentIdx=4 joints=058121B0 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=2.44215 bodyYaw=2.44215 twistDelta=0 parent=0587C2D8 parentIdx=4 joints=058121B0 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=2.44215 bodyYaw=2.44215 twistDelta=0 parent=0587C2D8 parentIdx=4 joints=058121B0 jointsDirty=0
+141
View File
@@ -0,0 +1,141 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1200
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1208/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1208/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1213/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1213/winpid
+ break
+ sleep 5
+ RELAY=1216
+ sleep 170
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1216
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1200 ']'
+ read -r pid
+ '[' -n 11216 ']'
+ taskkill //F //PID 11216
+ read -r pid
+ '[' -n 15384 ']'
+ taskkill //F //PID 15384
+ read -r pid
+ '[' -n 7796 ']'
+ taskkill //F //PID 7796
+ read -r pid
+ '[' -n 16628 ']'
+ taskkill //F //PID 16628
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1200
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1527 mean=1.2839 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=1.8644 mean=0.7978 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master liveTwist=2.15269 seg=18 segResolved=1 segYaw=1.21365 bodyYaw=-0.939042 twistDelta=2.15269 parent=051B0658 parentIdx=4 joints=051C9CD0 jointsDirty=0
[launchframe] master liveTwist=2.15269 seg=18 segResolved=1 segYaw=1.21365 bodyYaw=-0.939042 twistDelta=2.15269 parent=051B0658 parentIdx=4 joints=051C9CD0 jointsDirty=0
[launchframe] master liveTwist=2.15269 seg=18 segResolved=1 segYaw=1.21365 bodyYaw=-0.939042 twistDelta=2.15269 parent=051B0658 parentIdx=4 joints=051C9CD0 jointsDirty=0
[launchframe] master liveTwist=2.15269 seg=18 segResolved=1 segYaw=1.21365 bodyYaw=-0.939042 twistDelta=2.15269 parent=051B0658 parentIdx=4 joints=051C9CD0 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.535875 bodyYaw=0.535875 twistDelta=0 parent=0E3A3CF0 parentIdx=4 joints=057C3E90 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.535875 bodyYaw=0.535875 twistDelta=0 parent=0E3A3CF0 parentIdx=4 joints=057C3E90 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.535875 bodyYaw=0.535875 twistDelta=0 parent=0E3A3CF0 parentIdx=4 joints=057C3E90 jointsDirty=0
[launchframe] REPLICANT liveTwist=0 seg=18 segResolved=1 segYaw=0.535875 bodyYaw=0.535875 twistDelta=0 parent=0E3A3CF0 parentIdx=4 joints=057C3E90 jointsDirty=0
+135
View File
@@ -0,0 +1,135 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1331
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1339/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1339/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1344/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1344/winpid
+ break
+ sleep 5
+ RELAY=1347
+ sleep 170
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1347
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1331 ']'
+ read -r pid
+ '[' -n 11516 ']'
+ taskkill //F //PID 11516
+ read -r pid
+ '[' -n 9948 ']'
+ taskkill //F //PID 9948
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1331
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1166 mean=1.2771 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=0.0000 mean=0.0000 >0.10rad: 0 (0%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=2.10084 bodyYaw=-0.0158049 twistDelta=2.11665
[launchframe] master seg=18 segResolved=1 segYaw=2.10084 bodyYaw=-0.0158049 twistDelta=2.11665
[launchframe] master seg=18 segResolved=1 segYaw=2.10084 bodyYaw=-0.0158049 twistDelta=2.11665
[launchframe] master seg=18 segResolved=1 segYaw=2.10084 bodyYaw=-0.0158049 twistDelta=2.11665
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.352289 bodyYaw=-0.352289 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.352289 bodyYaw=-0.352289 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.352289 bodyYaw=-0.352289 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.352289 bodyYaw=-0.352289 twistDelta=0
+138
View File
@@ -0,0 +1,138 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.966
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/974/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/974/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/979/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/979/winpid
+ break
+ sleep 5
+ RELAY=982
+ sleep 170
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 982
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.966 ']'
+ read -r pid
+ '[' -n 2684 ']'
+ taskkill //F //PID 2684
+ read -r pid
+ '[' -n 9476 ']'
+ taskkill //F //PID 9476
+ read -r pid
+ '[' -n 11016 ']'
+ taskkill //F //PID 11016
+ read -r pid
+ rm -f /tmp/bt_bench_pids.966
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1469 mean=1.2911 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=0.0000 mean=0.0000 >0.10rad: 0 (0%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=2.14788 bodyYaw=0.000994747 twistDelta=2.14688
[launchframe] master seg=18 segResolved=1 segYaw=2.14788 bodyYaw=0.000994747 twistDelta=2.14688
[launchframe] master seg=18 segResolved=1 segYaw=2.14788 bodyYaw=0.000994747 twistDelta=2.14688
[launchframe] master seg=18 segResolved=1 segYaw=2.14788 bodyYaw=0.000994747 twistDelta=2.14688
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.345495 bodyYaw=0.345495 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.345495 bodyYaw=0.345495 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.345495 bodyYaw=0.345495 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.345495 bodyYaw=0.345495 twistDelta=0
+141
View File
@@ -0,0 +1,141 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1058
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1066/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1066/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1071/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1071/winpid
+ break
+ sleep 5
+ RELAY=1074
+ sleep 170
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1074
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1058 ']'
+ read -r pid
+ '[' -n 18316 ']'
+ taskkill //F //PID 18316
+ read -r pid
+ '[' -n 7332 ']'
+ taskkill //F //PID 7332
+ read -r pid
+ '[' -n 11324 ']'
+ taskkill //F //PID 11324
+ read -r pid
+ '[' -n 7604 ']'
+ taskkill //F //PID 7604
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1058
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.3659 mean=1.2569 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=2.3634 mean=0.8452 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=-2.369 bodyYaw=1.75263 twistDelta=2.16156 parent=0558FEA0 parentIdx=4 joints=05595E68 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.369 bodyYaw=1.75263 twistDelta=2.16156 parent=0558FEA0 parentIdx=4 joints=05595E68 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.369 bodyYaw=1.75263 twistDelta=2.16156 parent=0558FEA0 parentIdx=4 joints=05595E68 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.369 bodyYaw=1.75263 twistDelta=2.16156 parent=0558FEA0 parentIdx=4 joints=05595E68 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.40812 bodyYaw=2.40812 twistDelta=0 parent=05D182E0 parentIdx=4 joints=05D8F1E0 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.40812 bodyYaw=2.40812 twistDelta=0 parent=05D182E0 parentIdx=4 joints=05D8F1E0 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.40812 bodyYaw=2.40812 twistDelta=0 parent=05D182E0 parentIdx=4 joints=05D8F1E0 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.40812 bodyYaw=2.40812 twistDelta=0 parent=05D182E0 parentIdx=4 joints=05D8F1E0 jointsDirty=0
+135
View File
@@ -0,0 +1,135 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1018
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1 BT_TORSO_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ BT_TORSO_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1026/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1026/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1031/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1031/winpid
+ break
+ sleep 5
+ RELAY=1034
+ sleep 170
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1034
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1018 ']'
+ read -r pid
+ '[' -n 2460 ']'
+ taskkill //F //PID 2460
+ read -r pid
+ '[' -n 9912 ']'
+ taskkill //F //PID 9912
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1018
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1393 mean=1.2776 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=1.8684 mean=0.8019 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=-2.32494 bodyYaw=1.81899 twistDelta=2.13925 parent=0590CAF8 parentIdx=4 joints=05919BF8 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.32494 bodyYaw=1.81899 twistDelta=2.13925 parent=0590CAF8 parentIdx=4 joints=05919BF8 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.32494 bodyYaw=1.81899 twistDelta=2.13925 parent=0590CAF8 parentIdx=4 joints=05919BF8 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.32494 bodyYaw=1.81899 twistDelta=2.13925 parent=0590CAF8 parentIdx=4 joints=05919BF8 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.683565 bodyYaw=0.683565 twistDelta=0 parent=0590B158 parentIdx=4 joints=0597A588 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.683565 bodyYaw=0.683565 twistDelta=0 parent=0590B158 parentIdx=4 joints=0597A588 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.683565 bodyYaw=0.683565 twistDelta=0 parent=0590B158 parentIdx=4 joints=0597A588 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.683565 bodyYaw=0.683565 twistDelta=0 parent=0590B158 parentIdx=4 joints=0597A588 jointsDirty=0
+140
View File
@@ -0,0 +1,140 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.513
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/521/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/521/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/526/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/526/winpid
+ break
+ sleep 5
+ RELAY=529
+ sleep 300
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 529
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.513 ']'
+ read -r pid
+ '[' -n 10492 ']'
+ taskkill //F //PID 10492
+ read -r pid
+ '[' -n 18156 ']'
+ taskkill //F //PID 18156
+ read -r pid
+ '[' -n 12744 ']'
+ taskkill //F //PID 12744
+ read -r pid
+ '[' -n 3768 ']'
+ taskkill //F //PID 3768
+ read -r pid
+ rm -f /tmp/bt_bench_pids.513
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1389 mean=1.2718 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=1.9426 mean=0.8051 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=0.907792 bodyYaw=-1.23116 twistDelta=2.13895 parent=0511BC80 parentIdx=4 joints=051329D0 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=0.907792 bodyYaw=-1.23116 twistDelta=2.13895 parent=0511BC80 parentIdx=4 joints=051329D0 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=0.907792 bodyYaw=-1.23116 twistDelta=2.13895 parent=0511BC80 parentIdx=4 joints=051329D0 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=0.907792 bodyYaw=-1.23116 twistDelta=2.13895 parent=0511BC80 parentIdx=4 joints=051329D0 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.683553 bodyYaw=-0.683553 twistDelta=0 parent=057E8AB0 parentIdx=4 joints=0E501BA8 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.683553 bodyYaw=-0.683553 twistDelta=0 parent=057E8AB0 parentIdx=4 joints=0E501BA8 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.683553 bodyYaw=-0.683553 twistDelta=0 parent=057E8AB0 parentIdx=4 joints=0E501BA8 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.683553 bodyYaw=-0.683553 twistDelta=0 parent=057E8AB0 parentIdx=4 joints=0E501BA8 jointsDirty=0
+134
View File
@@ -0,0 +1,134 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.61
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/69/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/69/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/74/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/74/winpid
+ break
+ sleep 5
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ RELAY=77
+ sleep 300
+ kill 77
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.61 ']'
+ read -r pid
+ '[' -n 9356 ']'
+ taskkill //F //PID 9356
+ read -r pid
+ '[' -n 16352 ']'
+ taskkill //F //PID 16352
+ read -r pid
+ rm -f /tmp/bt_bench_pids.61
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1673 mean=1.2718 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=1.9025 mean=0.8003 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=-1.87628 bodyYaw=2.23956 twistDelta=2.16735
[launchframe] master seg=18 segResolved=1 segYaw=-1.87628 bodyYaw=2.23956 twistDelta=2.16735
[launchframe] master seg=18 segResolved=1 segYaw=-1.87628 bodyYaw=2.23956 twistDelta=2.16735
[launchframe] master seg=18 segResolved=1 segYaw=-1.87628 bodyYaw=2.23956 twistDelta=2.16735
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.688103 bodyYaw=0.688103 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.688103 bodyYaw=0.688103 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.688103 bodyYaw=0.688103 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=0.688103 bodyYaw=0.688103 twistDelta=0
+134
View File
@@ -0,0 +1,134 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1758
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1766/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1766/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1771/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1771/winpid
+ break
+ sleep 5
+ RELAY=1774
+ sleep 300
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1774
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1758 ']'
+ read -r pid
+ '[' -n 2656 ']'
+ taskkill //F //PID 2656
+ read -r pid
+ '[' -n 17820 ']'
+ taskkill //F //PID 17820
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1758
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.2257 mean=1.2697 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=2.0975 mean=0.8118 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=0.656998 bodyYaw=-1.4899 twistDelta=2.14689 parent=055546E8 parentIdx=4 joints=05557BB8 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=0.656998 bodyYaw=-1.4899 twistDelta=2.14689 parent=055546E8 parentIdx=4 joints=05557BB8 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=0.656998 bodyYaw=-1.4899 twistDelta=2.14689 parent=055546E8 parentIdx=4 joints=05557BB8 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=0.656998 bodyYaw=-1.4899 twistDelta=2.14689 parent=055546E8 parentIdx=4 joints=05557BB8 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.706257 bodyYaw=-0.706257 twistDelta=0 parent=053D50D0 parentIdx=4 joints=054B6620 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.706257 bodyYaw=-0.706257 twistDelta=0 parent=053D50D0 parentIdx=4 joints=054B6620 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.706257 bodyYaw=-0.706257 twistDelta=0 parent=053D50D0 parentIdx=4 joints=054B6620 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-0.706257 bodyYaw=-0.706257 twistDelta=0 parent=053D50D0 parentIdx=4 joints=054B6620 jointsDirty=0
+134
View File
@@ -0,0 +1,134 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1094
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1102/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1102/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1107/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1107/winpid
+ break
+ sleep 5
+ RELAY=1110
+ sleep 300
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1110
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1094 ']'
+ read -r pid
+ '[' -n 18468 ']'
+ taskkill //F //PID 18468
+ read -r pid
+ '[' -n 3284 ']'
+ taskkill //F //PID 3284
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1094
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1448 mean=1.2572 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=2.1145 mean=0.8252 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=-2.2415 bodyYaw=1.89694 twistDelta=2.14475 parent=05865A10 parentIdx=4 joints=0118D310 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.2415 bodyYaw=1.89694 twistDelta=2.14475 parent=05865A10 parentIdx=4 joints=0118D310 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.2415 bodyYaw=1.89694 twistDelta=2.14475 parent=05865A10 parentIdx=4 joints=0118D310 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-2.2415 bodyYaw=1.89694 twistDelta=2.14475 parent=05865A10 parentIdx=4 joints=0118D310 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=1.2582 bodyYaw=1.2582 twistDelta=0 parent=057D3D10 parentIdx=4 joints=011FC118 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=1.2582 bodyYaw=1.2582 twistDelta=0 parent=057D3D10 parentIdx=4 joints=011FC118 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=1.2582 bodyYaw=1.2582 twistDelta=0 parent=057D3D10 parentIdx=4 joints=011FC118 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=1.2582 bodyYaw=1.2582 twistDelta=0 parent=057D3D10 parentIdx=4 joints=011FC118 jointsDirty=0
+134
View File
@@ -0,0 +1,134 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1041
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1049/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1049/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1054/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1054/winpid
+ break
+ sleep 5
+ RELAY=1057
+ sleep 300
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1057
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1041 ']'
+ read -r pid
+ '[' -n 12860 ']'
+ taskkill //F //PID 12860
+ read -r pid
+ '[' -n 12316 ']'
+ taskkill //F //PID 12316
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1041
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.2962 mean=1.2283 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=0.0000 mean=0.0000 >0.10rad: 0 (0%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=-1.79044 bodyYaw=2.95733 twistDelta=1.53541
[launchframe] master seg=18 segResolved=1 segYaw=-1.79044 bodyYaw=2.95733 twistDelta=1.53541
[launchframe] master seg=18 segResolved=1 segYaw=-1.79044 bodyYaw=2.95733 twistDelta=1.53541
[launchframe] master seg=18 segResolved=1 segYaw=-1.79044 bodyYaw=2.95733 twistDelta=1.53541
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.77682 bodyYaw=2.77682 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.77682 bodyYaw=2.77682 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.77682 bodyYaw=2.77682 twistDelta=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=2.77682 bodyYaw=2.77682 twistDelta=0
+134
View File
@@ -0,0 +1,134 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1359
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf_a.log mf_b.log mf_relay.log
+ bt_expert_egg MP.EGG MF.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_PROJ_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_b.log MF.EGG 0x0C -net 1601
+ local log=mf_b.log egg=MF.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1367/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1601
+ cat /proc/1367/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=150
+ BT_GOTO=enemy
+ BT_GOTO_STOP=150
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=7
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=7
+ export BT_LOCK_SWEEP=0.35
+ BT_LOCK_SWEEP=0.35
+ export BT_PROJ_LOG=1 BT_TORSO_LOG=1 BT_MP_LOG=1
+ BT_PROJ_LOG=1
+ BT_TORSO_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf_a.log MF.EGG 0x03 -net 1501
+ local log=mf_a.log egg=MF.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf_a.log BT_AFFINITY=0x03
+ BT_LOG=mf_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1372/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF.EGG -net 1501
+ cat /proc/1372/winpid
+ break
+ sleep 5
+ RELAY=1375
+ sleep 300
+ python ../tools/btconsole.py MF.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1375
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1359 ']'
+ read -r pid
+ '[' -n 6352 ']'
+ taskkill //F //PID 6352
+ read -r pid
+ '[' -n 13128 ']'
+ taskkill //F //PID 13128
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1359
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #141 MISSILE LAUNCH FRAME ==================='
=================== #141 MISSILE LAUNCH FRAME ===================
+ echo '--- did A fire, and did B mirror? ---'
--- did A fire, and did B mirror? ---
+ echo -n ' A [launchframe] master lines ....... '
A [launchframe] master lines ....... + grep -ac 'launchframe\] master' mf_a.log
165
+ echo -n ' B [launchframe] REPLICANT lines .... '
B [launchframe] REPLICANT lines .... + grep -ac 'launchframe\] REPLICANT' mf_b.log
165
+ echo
+ echo '--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---'
--- did the segment RESOLVE on each side? (segResolved=0 would be the bug) ---
+ echo -n ' A segResolved=0 ... '
A segResolved=0 ... + grep -a 'launchframe\] master' mf_a.log
+ grep -ac segResolved=0
0
+ echo -n ' B segResolved=0 ... '
B segResolved=0 ... + grep -a 'launchframe\] REPLICANT' mf_b.log
+ grep -ac segResolved=0
0
+ echo
+ echo '--- THE COMPARISON: twistDelta spread on each side ---'
--- THE COMPARISON: twistDelta spread on each side ---
+ python -
master n=165 |twistDelta| max=2.1719 mean=1.2781 >0.10rad: 165 (100%)
REPLICANT n=165 |twistDelta| max=2.0907 mean=0.8201 >0.10rad: 105 (64%)
VERDICT: master twisted + REPLICANT pinned near 0 => #141 CONFIRMED.
both twisted alike => NOT reproduced.
+ echo
+ echo '--- sample lines, both sides ---'
--- sample lines, both sides ---
+ grep -a 'launchframe\] master' mf_a.log
+ head -4
[launchframe] master seg=18 segResolved=1 segYaw=-0.994858 bodyYaw=3.11638 twistDelta=2.17195 parent=05C76218 parentIdx=4 joints=05C7B428 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-0.994858 bodyYaw=3.11638 twistDelta=2.17195 parent=05C76218 parentIdx=4 joints=05C7B428 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-0.994858 bodyYaw=3.11638 twistDelta=2.17195 parent=05C76218 parentIdx=4 joints=05C7B428 jointsDirty=0
[launchframe] master seg=18 segResolved=1 segYaw=-0.994858 bodyYaw=3.11638 twistDelta=2.17195 parent=05C76218 parentIdx=4 joints=05C7B428 jointsDirty=0
+ grep -a 'launchframe\] REPLICANT' mf_b.log
+ head -4
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-2.63973 bodyYaw=-2.63973 twistDelta=0 parent=054F98D8 parentIdx=4 joints=0561D1F0 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-2.63973 bodyYaw=-2.63973 twistDelta=0 parent=054F98D8 parentIdx=4 joints=0561D1F0 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-2.63973 bodyYaw=-2.63973 twistDelta=0 parent=054F98D8 parentIdx=4 joints=0561D1F0 jointsDirty=0
[launchframe] REPLICANT seg=18 segResolved=1 segYaw=-2.63973 bodyYaw=-2.63973 twistDelta=0 parent=054F98D8 parentIdx=4 joints=0561D1F0 jointsDirty=0
+118
View File
@@ -0,0 +1,118 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.25
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f tr_a.log tr_b.log tr_relay.log
+ bt_expert_egg MP.EGG TR.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' TR.EGG
+ export BT_AUTODRIVE=0.6
+ BT_AUTODRIVE=0.6
+ export BT_DEATH_LOG=1 BT_MP_LOG=1 BT_KEY_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_KEY_LOG=1
+ bt_launch tr_b.log TR.EGG 0x0C -net 1601
+ local log=tr_b.log egg=TR.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=tr_b.log BT_AFFINITY=0x0C
+ BT_LOG=tr_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/33/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TR.EGG -net 1601
+ cat /proc/33/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.8 BT_SELF_DAMAGE=8
+ BT_AUTODRIVE=0.8
+ BT_SELF_DAMAGE=8
+ export BT_DEATH_LOG=1 BT_MP_LOG=1 BT_KEY_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ BT_KEY_LOG=1
+ bt_launch tr_a.log TR.EGG 0x03 -net 1501
+ local log=tr_a.log egg=TR.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=tr_a.log BT_AFFINITY=0x03
+ BT_LOG=tr_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/38/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg TR.EGG -net 1501
+ cat /proc/38/winpid
+ break
+ sleep 5
+ RELAY=41
+ sleep 280
+ python ../tools/btconsole.py TR.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 41
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.25 ']'
+ read -r pid
+ '[' -n 17232 ']'
+ taskkill //F //PID 17232
+ read -r pid
+ '[' -n 17632 ']'
+ taskkill //F //PID 17632
+ read -r pid
+ rm -f /tmp/bt_bench_pids.25
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #146 THROTTLE RELEASE ON RESPAWN ==================='
=================== #146 THROTTLE RELEASE ON RESPAWN ===================
+ echo '--- A: how many respawns, how many releases? (must be 1:1) ---'
--- A: how many respawns, how many releases? (must be 1:1) ---
+ echo -n ' A Mech::Reset .......... '
A Mech::Reset .......... + grep -ac Mech::Reset tr_a.log
2
+ echo -n ' A throttle released .... '
A throttle released .... + grep -ac 'desktop throttle released' tr_a.log
2
+ echo
+ echo '--- B: the VIEWPOINT GATE. Must be 0 releases despite seeing A respawn. ---'
--- B: the VIEWPOINT GATE. Must be 0 releases despite seeing A respawn. ---
+ echo -n ' B Mech::Reset (incl. replicant) .... '
B Mech::Reset (incl. replicant) .... + grep -ac Mech::Reset tr_b.log
1
+ echo -n ' B throttle released (MUST BE 0) .... '
B throttle released (MUST BE 0) .... + grep -ac 'desktop throttle released' tr_b.log
1
+ echo
+ echo '--- A: the release must sit INSIDE the reset block ---'
--- A: the release must sit INSIDE the reset block ---
+ grep -aE 'Mech::Reset|desktop throttle released' tr_a.log
+ head -8
[respawn] desktop throttle released (all-stop queued)
[respawn] Mech::Reset 2:162 healed+moved to (-436.639,0,148.713) alive=1 zones=22 subsys=32
[respawn] desktop throttle released (all-stop queued)
[respawn] Mech::Reset 2:162 healed+moved to (342.148,0,-804.299) alive=1 zones=22 subsys=32
+ echo
+ echo '--- B: same window, to show B saw the respawn and still did not release ---'
--- B: same window, to show B saw the respawn and still did not release ---
+ grep -aE 'Mech::Reset|desktop throttle released' tr_b.log
+ head -8
[respawn] desktop throttle released (all-stop queued)
[respawn] Mech::Reset 3:161 healed+moved to (-429.819,0,-763.438) alive=1 zones=22 subsys=32
+3
View File
@@ -0,0 +1,3 @@
RESULT
with NO RSTAT
without NO RSTAT
+28
View File
@@ -0,0 +1,28 @@
#!/usr/bin/env bash
. /c/git/bt411/scratchpad/night6/bench_common.sh
cd /c/git/bt411/content || exit 1
for tag in with without; do
taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 2
[ $tag = without ] && sed -i 's/^\(.*bduck\.pcc.*\)$/#BDUCKAB \1/' GAUGE/L4GAUGE.CFG
rm -f ab_$tag.log
bt_expert_egg MP.EGG AB.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" AB.EGG
( export BT_GLASS_PANELS=1 BT_POD_SURFACES=1 BT_AUTODRIVE=0.5 BT_KEY_NOFOCUS=1
bt_launch ab_$tag.log AB.EGG 0x0F )
sleep 80
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 2
sed -i 's/^#BDUCKAB //' GAUGE/L4GAUGE.CFG
done
echo RESULT
python - <<'PY'
import re,io,statistics
for tag in ['with','without']:
rs=[]
for l in io.open(r"C:\git\bt411\content\ab_%s.log"%tag,encoding='latin-1',errors='replace'):
m=re.search(r'\[rstat\] frames=\d+ avg=([\d.]+)ms maxDraw=([\d.]+) maxPresent=([\d.]+)',l)
if m: rs.append((float(m.group(1)),float(m.group(2)),float(m.group(3))))
if rs:
print('%-8s n=%d avg-med=%.2f draw-med=%.2f present-med=%.2f'%(tag,len(rs),
statistics.median([a for a,_,_ in rs]),statistics.median([d for _,d,_ in rs]),statistics.median([p for _,_,p in rs])))
else: print(tag,'NO RSTAT')
PY
+76
View File
@@ -0,0 +1,76 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1377
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f c42_a.log
+ bt_expert_egg MP.EGG C42.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' C42.EGG
+ export BT_MODECYCLE_EVERY=400 BT_TWIST_PULSE=150
+ BT_MODECYCLE_EVERY=400
+ BT_TWIST_PULSE=150
+ export BT_BTNTEST=0x42,900,1150 BT_BTNTEST2=0x42,1500,1750
+ BT_BTNTEST=0x42,900,1150
+ BT_BTNTEST2=0x42,1500,1750
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1 BT_KEY_BRIDGE=0
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ BT_KEY_BRIDGE=0
+ bt_launch c42_a.log C42.EGG 0x03
+ local log=c42_a.log egg=C42.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=c42_a.log BT_AFFINITY=0x03
+ BT_LOG=c42_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1385/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg C42.EGG
+ cat /proc/1385/winpid
+ break
+ sleep 130
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1377 ']'
+ read -r pid
+ '[' -n 8708 ']'
+ taskkill //F //PID 8708
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1377
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '============ RESULT ============'
============ RESULT ============
+ grep -a '\[mode\] control mode' c42_a.log
+ head -4
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
+ echo '--- ctrCmd seen (want some =1 during the 0x42 holds) ---'
--- ctrCmd seen (want some =1 during the 0x42 holds) ---
+ grep -ao 'ctrCmd=[01]' c42_a.log
+ sort
+ uniq -c
309 ctrCmd=0
+ echo '--- twist trajectory around the first hold ---'
--- twist trajectory around the first hold ---
+ grep -aE 'twistpulse|ctrCmd=1' c42_a.log
+ head -8
[twistpulse] phase=deflect axis=0.6 twist=0.370708 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=0.637743 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=0.904779 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=1.17182 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=1.43885 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.44775 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.44775 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.44775 ctrCmd=0 recen=0
+77
View File
@@ -0,0 +1,77 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.96
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f c42_a.log
+ bt_expert_egg MP.EGG C42.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' C42.EGG
+ export BT_MODECYCLE_EVERY=400 BT_TWIST_PULSE=150
+ BT_MODECYCLE_EVERY=400
+ BT_TWIST_PULSE=150
+ export BT_BTNTEST=0x42,900,1150 BT_BTNTEST2=0x42,1500,1750
+ BT_BTNTEST=0x42,900,1150
+ BT_BTNTEST2=0x42,1500,1750
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1 BT_KEY_BRIDGE=0
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ BT_KEY_BRIDGE=0
+ bt_launch c42_a.log C42.EGG 0x03
+ local log=c42_a.log egg=C42.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=c42_a.log BT_AFFINITY=0x03
+ BT_LOG=c42_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/104/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg C42.EGG
+ cat /proc/104/winpid
+ break
+ sleep 130
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.96 ']'
+ read -r pid
+ '[' -n 9120 ']'
+ taskkill //F //PID 9120
+ read -r pid
+ rm -f /tmp/bt_bench_pids.96
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '============ RESULT ============'
============ RESULT ============
+ grep -a '\[mode\] control mode' c42_a.log
+ head -4
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
+ echo '--- ctrCmd seen (want some =1 during the 0x42 holds) ---'
--- ctrCmd seen (want some =1 during the 0x42 holds) ---
+ grep -ao 'ctrCmd=[01]' c42_a.log
+ sort
+ uniq -c
297 ctrCmd=0
14 ctrCmd=1
+ echo '--- twist trajectory around the first hold ---'
--- twist trajectory around the first hold ---
+ grep -aE 'twistpulse|ctrCmd=1' c42_a.log
+ head -8
[twistpulse] phase=deflect axis=0.6 twist=0.354476 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=0.621512 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=0.889594 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=1.15715 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=1.42419 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.43309 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.43309 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.43309 ctrCmd=0 recen=0
+82
View File
@@ -0,0 +1,82 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1244
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f c42_a.log
+ bt_expert_egg MP.EGG C42.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' C42.EGG
+ export BT_MODECYCLE_EVERY=400 BT_TWIST_PULSE=150
+ BT_MODECYCLE_EVERY=400
+ BT_TWIST_PULSE=150
+ export BT_BTNTEST=0x42,900,1150 BT_BTNTEST2=0x42,1500,1750
+ BT_BTNTEST=0x42,900,1150
+ BT_BTNTEST2=0x42,1500,1750
+ export BT_TORSO_LOG=1 BT_KEY_NOFOCUS=1 BT_KEY_BRIDGE=0
+ BT_TORSO_LOG=1
+ BT_KEY_NOFOCUS=1
+ BT_KEY_BRIDGE=0
+ bt_launch c42_a.log C42.EGG 0x03
+ local log=c42_a.log egg=C42.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=c42_a.log BT_AFFINITY=0x03
+ BT_LOG=c42_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1252/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg C42.EGG
+ cat /proc/1252/winpid
+ break
+ sleep 130
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1244 ']'
+ read -r pid
+ '[' -n 17048 ']'
+ taskkill //F //PID 17048
+ read -r pid
+ '[' -n 7508 ']'
+ taskkill //F //PID 7508
+ read -r pid
+ '[' -n 6636 ']'
+ taskkill //F //PID 6636
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1244
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '============ RESULT ============'
============ RESULT ============
+ grep -a '\[mode\] control mode' c42_a.log
+ head -4
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 2 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 0 (0=Basic 1=Standard 2=Veteran)
[mode] control mode -> 1 (0=Basic 1=Standard 2=Veteran)
+ echo '--- ctrCmd seen (want some =1 during the 0x42 holds) ---'
--- ctrCmd seen (want some =1 during the 0x42 holds) ---
+ grep -ao 'ctrCmd=[01]' c42_a.log
+ sort
+ uniq -c
29 ctrCmd=0
+ echo '--- twist trajectory around the first hold ---'
--- twist trajectory around the first hold ---
+ grep -aE 'twistpulse|ctrCmd=1' c42_a.log
+ head -8
[twistpulse] phase=deflect axis=0.6 twist=0.372802 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=0.639838 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=0.9341 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=1.20114 ctrCmd=0 recen=0
[twistpulse] phase=deflect axis=0.6 twist=1.46974 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.47865 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.47865 ctrCmd=0 recen=0
[twistpulse] phase=RELEASE axis=0 twist=1.47865 ctrCmd=0 recen=0
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+22
View File
@@ -0,0 +1,22 @@
#!/usr/bin/env bash
# retry gatesolo arms until each succeeds once (max 6 tries each), box-wedge tolerant
. /c/git/bt411/scratchpad/night6/bench_common.sh
cd /c/git/bt411/content || exit 1
try () { # $1 tag $2 sweep
for n in 1 2 3 4 5 6; do
taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 5
rm -f gr_${1}.log
bt_expert_egg MP.EGG GR.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" GR.EGG
( export BT_GLASS_PANELS=1 BT_PLATFORM=glass BT_GLASS_SWEEP=${2}
export BT_AUTODRIVE=0.6 BT_KEY_NOFOCUS=1
bt_launch gr_${1}.log GR.EGG 0x03 )
sleep 140
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe >/dev/null 2>&1
if [ "$(grep -ac glassperf gr_${1}.log)" -gt 5 ]; then echo "$1 OK on try $n"; return; fi
echo "$1 wedged (try $n)"
done
}
try gated 0
try legacy 1
echo DONE
+35
View File
@@ -0,0 +1,35 @@
#!/usr/bin/env bash
. /c/git/bt411/scratchpad/night6/bench_common.sh
cd /c/git/bt411/content || exit 1
run () { # $1 tag $2 sweep
taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 2
rm -f gs_${1}.log
bt_expert_egg MP.EGG GS.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" GS.EGG
( export BT_GLASS_PANELS=1 BT_PLATFORM=glass BT_GLASS_SWEEP=${2}
export BT_AUTODRIVE=0.6 BT_BTNTEST=0x42,900,1150 BT_KEY_NOFOCUS=1
bt_launch gs_${1}.log GS.EGG 0x03 )
sleep 150
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 2
}
run gated 0
run legacy 1
echo RESULT
python - <<'PY'
import re, io, statistics
for tag in ['gated','legacy']:
gp=[]; per={}
for l in io.open(r"C:\git\bt411\content\gs_%s.log"%tag, encoding="latin-1", errors="replace"):
m=re.search(r"\[glassperf\] ticks=(\d+) tickMs=([\d.]+) skip=(\d+)(.*)",l)
if m:
gp.append((float(m.group(2)),int(m.group(3))))
for w,n,ms in re.findall(r"\| ([\w /]+) n=(\d+) ms=([\d.]+)", m.group(4)):
per.setdefault(w.strip(),[0,0.0]); per[w.strip()][0]+=int(n); per[w.strip()][1]+=float(ms)
if gp:
tms=[t for t,_ in gp]; sk=[s for _,s in gp]
print("%-7s windows=%d tickMs med=%6.1f worst=%6.1f skip med=%d" %
(tag,len(gp),statistics.median(tms),max(tms),statistics.median(sk)))
for w,(n,ms) in sorted(per.items(), key=lambda kv:-kv[1][1])[:7]:
print(" %-18s paints=%-5d ms=%.1f" % (w,n,ms))
else: print(tag,"NO GLASSPERF")
PY
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
. /c/git/bt411/scratchpad/night6/bench_common.sh
cd /c/git/bt411/content || exit 1
run () { # $1 tag $2 sweep
taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 2
rm -f gs_${1}.log
bt_expert_egg MP.EGG GS.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" GS.EGG
( export BT_GLASS_PANELS=1 BT_PLATFORM=glass BT_GLASS_SWEEP=${2}
export BT_AUTODRIVE=0.6 BT_BTNTEST=0x42,900,1150 BT_KEY_NOFOCUS=1
bt_launch gs_${1}.log GS.EGG 0x03 )
sleep 150
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 2
}
run legacy 1
sleep 20
run gated 0
echo RESULT
python - <<'PY'
import re, io, statistics
for tag in ['gated','legacy']:
gp=[]; per={}
for l in io.open(r"C:\git\bt411\content\gs_%s.log"%tag, encoding="latin-1", errors="replace"):
m=re.search(r"\[glassperf\] ticks=(\d+) tickMs=([\d.]+) skip=(\d+)(.*)",l)
if m:
gp.append((float(m.group(2)),int(m.group(3))))
for w,n,ms in re.findall(r"\| ([\w /]+) n=(\d+) ms=([\d.]+)", m.group(4)):
per.setdefault(w.strip(),[0,0.0]); per[w.strip()][0]+=int(n); per[w.strip()][1]+=float(ms)
if gp:
tms=[t for t,_ in gp]; sk=[s for _,s in gp]
print("%-7s windows=%d tickMs med=%6.1f worst=%6.1f skip med=%d" %
(tag,len(gp),statistics.median(tms),max(tms),statistics.median(sk)))
for w,(n,ms) in sorted(per.items(), key=lambda kv:-kv[1][1])[:7]:
print(" %-18s paints=%-5d ms=%.1f" % (w,n,ms))
else: print(tag,"NO GLASSPERF")
PY
+42
View File
@@ -0,0 +1,42 @@
#!/usr/bin/env bash
. /c/git/bt411/scratchpad/night6/bench_common.sh
cd /c/git/bt411/content || exit 1
run () { # $1 tag $2 sweepenv $3 portA $4 portB
taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 2
rm -f gv_${1}_a.log gv_${1}_b.log gv_${1}_r.log
bt_expert_egg MP.EGG GV.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" GV.EGG
( export BT_GOTO=enemy BT_GOTO_STOP=150 BT_MP_LOG=1
bt_launch gv_${1}_b.log GV.EGG 0x0C -net ${4} )
sleep 2
( export BT_GOTO=enemy BT_GOTO_STOP=150 BT_MP_LOG=1
export BT_GLASS_PANELS=1 BT_PLATFORM=glass BT_GLASS_SWEEP=${2}
export BT_BTNTEST=0x42,900,1150
bt_launch gv_${1}_a.log GV.EGG 0x03 -net ${3} )
sleep 5
python ../tools/btconsole.py GV.EGG 127.0.0.1:${3} 127.0.0.1:${4} > gv_${1}_r.log 2>&1 &
R=$!; sleep 170; kill $R 2>/dev/null; sleep 2
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe >/dev/null 2>&1; sleep 2
}
run gated 0 1501 1601
run legacy 1 1701 1801
echo RESULT
python - <<'PY'
import re, io, statistics
for tag in ['gated','legacy']:
gp=[]
per={}
for l in io.open(r"C:\git\bt411\content\gv_%s_a.log"%tag, encoding="latin-1", errors="replace"):
m=re.search(r"\[glassperf\] ticks=(\d+) tickMs=([\d.]+) skip=(\d+)(.*)",l)
if m:
gp.append((float(m.group(2)),int(m.group(3))))
for w,n,ms in re.findall(r"\| ([\w /]+) n=(\d+) ms=([\d.]+)", m.group(4)):
per.setdefault(w.strip(),[0,0.0]); per[w.strip()][0]+=int(n); per[w.strip()][1]+=float(ms)
if gp:
tms=[t for t,_ in gp]; sk=[s for _,s in gp]
print("%-7s windows=%d tickMs med=%6.1f worst=%6.1f skip med=%d" %
(tag,len(gp),statistics.median(tms),max(tms),statistics.median(sk)))
for w,(n,ms) in sorted(per.items(), key=lambda kv:-kv[1][1])[:7]:
print(" %-18s paints=%-5d ms=%.1f" % (w,n,ms))
else: print(tag,"NO GLASSPERF")
PY
+100
View File
@@ -0,0 +1,100 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.563
+ cd /c/git/bt411/content
+ run_one gp 1
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f sp_gp_a.log sp_gp_b.log sp_gp_relay.log
+ bt_expert_egg MP.EGG SP.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' SP.EGG
+ export BT_GOTO=enemy BT_GOTO_STOP=120 BT_AUTOFIRE=1 BT_AF_PERIOD=3
+ BT_GOTO=enemy
+ BT_GOTO_STOP=120
+ BT_AUTOFIRE=1
+ BT_AF_PERIOD=3
+ export BT_MP_LOG=1
+ BT_MP_LOG=1
+ bt_launch sp_gp_b.log SP.EGG 0x0C -net 1601
+ local log=sp_gp_b.log egg=SP.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sp_gp_b.log BT_AFFINITY=0x0C
+ BT_LOG=sp_gp_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/571/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SP.EGG -net 1601
+ cat /proc/571/winpid
+ break
+ sleep 2
+ export BT_GOTO=enemy BT_GOTO_STOP=120 BT_AUTOFIRE=1 BT_AF_PERIOD=3
+ BT_GOTO=enemy
+ BT_GOTO_STOP=120
+ BT_AUTOFIRE=1
+ BT_AF_PERIOD=3
+ export BT_MP_LOG=1 BT_GLASS_PANELS=1 BT_PLATFORM=glass
+ BT_MP_LOG=1
+ BT_GLASS_PANELS=1
+ BT_PLATFORM=glass
+ export BT_BEAM_SEGFRESH=1
+ BT_BEAM_SEGFRESH=1
+ bt_launch sp_gp_a.log SP.EGG 0x03 -net 1501
+ local log=sp_gp_a.log egg=SP.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=sp_gp_a.log BT_AFFINITY=0x03
+ BT_LOG=sp_gp_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/576/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg SP.EGG -net 1501
+ cat /proc/576/winpid
+ break
+ sleep 5
+ local RELAY=579
+ sleep 180
+ python ../tools/btconsole.py SP.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 579
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.563 ']'
+ read -r pid
+ '[' -n 17064 ']'
+ taskkill //F //PID 17064
+ read -r pid
+ '[' -n 1532 ']'
+ taskkill //F //PID 1532
+ read -r pid
+ rm -f /tmp/bt_bench_pids.563
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #149 SEGPERF A/B ==================='
=================== #149 SEGPERF A/B ===================
+ for t in fresh legacy
+ echo '--- fresh ---'
--- fresh ---
+ python -
rstat blocks=116 avg-med=10.46ms maxDraw-med=15.79 maxDraw-worst=729.8 blocks>50ms=0
segperf windows=116 calls-med=471 dirty-med=38 ms-med=0.97 ms-worst=9.06
+ for t in fresh legacy
+ echo '--- legacy ---'
--- legacy ---
+ python -
rstat blocks=121 avg-med=11.21ms maxDraw-med=13.43 maxDraw-worst=645.6 blocks>50ms=0
segperf windows=121 calls-med=364 dirty-med=4 ms-med=0.57 ms-worst=13.45
+74
View File
@@ -0,0 +1,74 @@
#!/usr/bin/env bash
# =========================================================================
# #149 -- 817 -> 857 stall regression (Oracle: 97 blocks >50ms, all in the
# mission-load window, maxDraw up to 518ms; zero such blocks on 817, same
# machine). My filed suspect was the #141 segment-cache sweep -- but that is
# a HYPOTHESIS, and #137 just taught us what plausible-but-unmeasured
# theories are worth. So: measure first.
#
# INSTRUMENTATION (this build):
# [segperf] calls=<GetSegmentToWorld entries> dirty=<mark-every-segment
# invalidation passes> ms=<time inside the accessor> -- per rstat window,
# BT_PERF_LOG-gated. The DIRTY count is the tell: if the beam path
# multiplies invalidations, dirty >> mechs-per-frame and ms tracks maxDraw.
#
# A/B: identical 2-node runs, beams firing continuously.
# run A: default (swept behaviour: beam muzzle via GetSegmentToWorld)
# run B: BT_BEAM_SEGFRESH=0 (pre-sweep plain compose at the BEAM site only)
# If A's stalls/dirty collapse in B, the beam-site sweep is the regression.
# If A == B and both are clean, the suspect is EXONERATED and the real 857
# load-stall cause is elsewhere (next: diff the load path).
# =========================================================================
set -x
. /c/git/bt411/scratchpad/night6/bench_common.sh
cd /c/git/bt411/content || exit 1
run_one () { # $1 = tag, $2 = extra env value for BT_BEAM_SEGFRESH
taskkill //F //IM btl4.exe > /dev/null 2>&1
sleep 2
rm -f sp_${1}_a.log sp_${1}_b.log sp_${1}_relay.log
bt_expert_egg MP.EGG SP.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" SP.EGG
( export BT_GOTO=enemy BT_GOTO_STOP=120 BT_AUTOFIRE=1 BT_AF_PERIOD=3
export BT_MP_LOG=1
bt_launch sp_${1}_b.log SP.EGG 0x0C -net 1601 )
sleep 2
( export BT_GOTO=enemy BT_GOTO_STOP=120 BT_AUTOFIRE=1 BT_AF_PERIOD=3
export BT_MP_LOG=1 BT_GLASS_PANELS=1 BT_PLATFORM=glass
export BT_BEAM_SEGFRESH=${2}
bt_launch sp_${1}_a.log SP.EGG 0x03 -net 1501 )
sleep 5
python ../tools/btconsole.py SP.EGG 127.0.0.1:1501 127.0.0.1:1601 > sp_${1}_relay.log 2>&1 &
local RELAY=$!
sleep 180
kill $RELAY 2>/dev/null
sleep 3
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe > /dev/null 2>&1; sleep 3
}
run_one gp 1
echo "=================== #149 SEGPERF A/B ==================="
for t in fresh legacy; do
echo "--- $t ---"
python - <<PY
import re, io
v=[]; seg=[]
for ln in io.open(r"C:\git\bt411\content\sp_${t}_a.log", encoding="latin-1", errors="replace"):
m=re.search(r"\[rstat\] frames=\d+ avg=([\d.]+)ms maxDraw=([\d.]+)", ln)
if m: v.append((float(m.group(1)), float(m.group(2))))
m=re.search(r"\[segperf\] calls=(\d+) dirty=(\d+) ms=([\d.]+)", ln)
if m: seg.append((int(m.group(1)), int(m.group(2)), float(m.group(3))))
if v:
import statistics
avgs=[a for a,_ in v]; draws=[d for _,d in v]
stall=sum(1 for a,_ in v if a>50)
print(" rstat blocks=%d avg-med=%.2fms maxDraw-med=%.2f maxDraw-worst=%.1f blocks>50ms=%d"
% (len(v), statistics.median(avgs), statistics.median(draws), max(draws), stall))
if seg:
c=[x[0] for x in seg]; d=[x[1] for x in seg]; ms=[x[2] for x in seg]
print(" segperf windows=%d calls-med=%d dirty-med=%d ms-med=%.2f ms-worst=%.2f"
% (len(seg), sorted(c)[len(c)//2], sorted(d)[len(d)//2], sorted(ms)[len(ms)//2], max(ms)))
PY
done
+3
View File
@@ -0,0 +1,3 @@
gated OK on try 1
legacy OK on try 1
DONE
+10
View File
@@ -0,0 +1,10 @@
RESULT
gated windows=103 tickMs med= 64.3 worst= 460.6 skip med=6
Secondary / Radar paints=2227 ms=11445.3
Heat MFD paints=1243 ms=7188.7
Engineering paints=1182 ms=6949.9
Comm MFD paints=1177 ms=6265.3
Right Weapons paints=1199 ms=6202.4
Left Weapons paints=1194 ms=5798.6
Flight Controls paints=1150 ms=5011.5
legacy NO GLASSPERF
+3
View File
@@ -0,0 +1,3 @@
RESULT
gated NO GLASSPERF
legacy NO GLASSPERF
+3
View File
@@ -0,0 +1,3 @@
RESULT
gated NO GLASSPERF
legacy NO GLASSPERF
+3
View File
@@ -0,0 +1,3 @@
RESULT
gated NO GLASSPERF
legacy NO GLASSPERF
+10
View File
@@ -0,0 +1,10 @@
RESULT
gated NO GLASSPERF
legacy windows=98 tickMs med= 329.9 worst= 435.8 skip med=0
Secondary / Radar paints=2280 ms=21399.0
Flight Controls paints=2264 ms=16424.9
Heat MFD paints=2325 ms=12492.0
Right Weapons paints=2306 ms=12057.1
Engineering paints=2308 ms=11656.5
Comm MFD paints=2315 ms=10859.6
Left Weapons paints=2272 ms=10338.7
+3
View File
@@ -0,0 +1,3 @@
RESULT
gated NO GLASSPERF
legacy NO GLASSPERF
+3
View File
@@ -0,0 +1,3 @@
RESULT
gated NO GLASSPERF
legacy NO GLASSPERF
View File
+10
View File
@@ -0,0 +1,10 @@
RESULT
gated windows=124 tickMs med= 223.9 worst= 453.9 skip med=1
Secondary / Radar paints=2508 ms=14390.8
Heat MFD paints=2529 ms=6830.0
Right Weapons paints=2560 ms=6410.6
Flight Controls paints=959 ms=6163.1
Engineering paints=2544 ms=6049.8
Comm MFD paints=2528 ms=5785.7
Left Weapons paints=2523 ms=5720.6
legacy NO GLASSPERF
+3
View File
@@ -0,0 +1,3 @@
RESULT
gated NO GLASSPERF
legacy NO GLASSPERF
+10
View File
@@ -0,0 +1,10 @@
RESULT
gated NO GLASSPERF
legacy windows=149 tickMs med= 280.8 worst= 424.1 skip med=0
Flight Controls paints=2915 ms=17009.7
Secondary / Radar paints=2903 ms=13143.4
Heat MFD paints=2907 ms=6106.8
Engineering paints=2905 ms=5355.3
Right Weapons paints=2900 ms=4991.2
Comm MFD paints=2876 ms=4950.3
Left Weapons paints=2895 ms=4758.5
+3
View File
@@ -0,0 +1,3 @@
RESULT
gated NO GLASSPERF
legacy NO GLASSPERF
+21
View File
@@ -0,0 +1,21 @@
#!/usr/bin/env bash
. /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 gvc_a.log gvc_b.log gvc_r.log /c/git/bt411/scratchpad/night14/crash_*.dmp /c/git/bt411/scratchpad/night14/pd_*.txt
bt_expert_egg MP.EGG GVC.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" GVC.EGG
( export BT_MP_LOG=1; bt_launch gvc_b.log GVC.EGG 0x0C -net 1601 )
sleep 2
( export BT_MP_LOG=1 BT_GLASS_PANELS=1 BT_PLATFORM=glass
bt_launch gvc_a.log GVC.EGG 0x03 -net 1501 )
sleep 2
PD=/c/git/bt411/scratchpad/night6/procdump.exe
for pid in $(C:/Windows/System32/tasklist.exe //FI "IMAGENAME eq btl4.exe" //NH | awk '{print $2}'); do
"$PD" -accepteula -e -ma $pid /c/git/bt411/scratchpad/night14/crash_$pid.dmp > /c/git/bt411/scratchpad/night14/pd_$pid.txt 2>&1 &
done
sleep 3
python ../tools/btconsole.py GVC.EGG 127.0.0.1:1501 127.0.0.1:1601 > gvc_r.log 2>&1 &
R=$!; sleep 100; kill $R 2>/dev/null
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe >/dev/null 2>&1
ls -la /c/git/bt411/scratchpad/night14/crash_*.dmp 2>/dev/null | awk '{print $9, $5}'
+111
View File
@@ -0,0 +1,111 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1485
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1493/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/1493/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.5 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.5
+ BT_SELF_DAMAGE=7
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1498/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/1498/winpid
+ break
+ sleep 5
+ RELAY=1501
+ sleep 330
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1501
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1485 ']'
+ read -r pid
+ '[' -n 4744 ']'
+ taskkill //F //PID 4744
+ read -r pid
+ '[' -n 14216 ']'
+ taskkill //F //PID 14216
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1485
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
2
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
1
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
1
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
at-reset Myomers T= 77.0 fail= 2000.0 effect=0.0000 -> STALE CACHE (temp fine, effect 0)
zero-effect samples: 1
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] post-reset CHAIN MAX=1
[myofreeze] at-reset Myomers T=77 deg=1000 fail=2000 speedEffect=0 <<<< STALE (cold but zero)
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (-429.819,0,-763.438) alive=1 zones=22 subsys=32
[myofreeze] post-reset Myomers T=77.1327 deg=1000 fail=2000 speedEffect=1
[myofreeze] post-reset CHAIN MAX=1
[myofreeze] post-reset Myomers T=341.519 deg=1000 fail=2000 speedEffect=1
[myofreeze] post-reset CHAIN MAX=1
[myofreeze] post-reset Myomers T=325.208 deg=1000 fail=2000 speedEffect=1
+125
View File
@@ -0,0 +1,125 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.563
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/571/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/571/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/576/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/576/winpid
+ break
+ sleep 5
+ RELAY=579
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 579
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.563 ']'
+ read -r pid
+ '[' -n 3636 ']'
+ taskkill //F //PID 3636
+ read -r pid
+ '[' -n 16892 ']'
+ taskkill //F //PID 16892
+ read -r pid
+ rm -f /tmp/bt_bench_pids.563
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
7
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
39
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
3
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
zero-effect samples: 0
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] at-death LRM15_1 T=77 E=7.931e+06 pend=-89686.3 fail=2000
[myofreeze] at-death LRM15_2 T=77 E=7.931e+06 pend=-55001.5 fail=2000
[myofreeze] at-death CHAIN MAX=0 <<<< FROZEN
[myofreeze] at-reset HeatSink T=77 E=1.0703e+08 pend=711767 fail=2000
[myofreeze] at-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] at-reset Condenser1 T=77 E=3.234e+07 pend=25255.9 fail=2000
[myofreeze] at-reset Condenser2 T=77 E=3.234e+07 pend=25842.1 fail=2000
[myofreeze] at-reset Condenser3 T=77 E=3.234e+07 pend=25106 fail=2000
[myofreeze] at-reset Condenser4 T=77 E=3.234e+07 pend=33541.5 fail=2000
--
[myofreeze] at-reset LRM15_1 T=77 E=7.931e+06 pend=-510.754 fail=2000
[myofreeze] at-reset LRM15_2 T=77 E=7.931e+06 pend=-564.598 fail=2000
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (-241.894,0,-904.136) alive=1 zones=22 subsys=32
[myofreeze] post-reset HeatSink T=94.9576 E=1.31991e+08 pend=1.88598e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=79.1949 E=3.32619e+07 pend=140499 fail=2000
[myofreeze] post-reset Condenser2 T=76.5869 E=3.21665e+07 pend=-14204 fail=2000
[myofreeze] post-reset Condenser3 T=82.3238 E=3.4576e+07 pend=345635 fail=2000
--
+125
View File
@@ -0,0 +1,125 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.694
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/702/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/702/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ '[' -f /proc/707/winpid ']'
+ cat /proc/707/winpid
+ break
+ sleep 5
+ RELAY=710
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 710
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.694 ']'
+ read -r pid
+ '[' -n 13372 ']'
+ taskkill //F //PID 13372
+ read -r pid
+ '[' -n 8116 ']'
+ taskkill //F //PID 8116
+ read -r pid
+ rm -f /tmp/bt_bench_pids.694
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
4
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
18
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
2
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
zero-effect samples: 0
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] at-death LRM15_1 T=77 E=7.931e+06 pend=-200895 fail=2000
[myofreeze] at-death LRM15_2 T=77 E=7.931e+06 pend=-66214.7 fail=2000
[myofreeze] at-death CHAIN MAX=0 <<<< FROZEN
[myofreeze] at-reset HeatSink T=77 E=1.0703e+08 pend=365867 fail=2000
[myofreeze] at-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] at-reset Condenser1 T=77 E=3.234e+07 pend=5079.02 fail=2000
[myofreeze] at-reset Condenser2 T=77 E=3.234e+07 pend=5091.99 fail=2000
[myofreeze] at-reset Condenser3 T=77 E=3.234e+07 pend=5127.7 fail=2000
[myofreeze] at-reset Condenser4 T=77 E=3.234e+07 pend=2977.15 fail=2000
--
[myofreeze] at-reset LRM15_1 T=77 E=7.931e+06 pend=-1005.97 fail=2000
[myofreeze] at-reset LRM15_2 T=77 E=7.931e+06 pend=-1160.02 fail=2000
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (982.019,0,45.6493) alive=1 zones=22 subsys=32
[myofreeze] post-reset HeatSink T=94.0199 E=1.30688e+08 pend=1.61468e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=78.982 E=3.31724e+07 pend=117190 fail=2000
[myofreeze] post-reset Condenser2 T=76.5582 E=3.21544e+07 pend=-12176.6 fail=2000
[myofreeze] post-reset Condenser3 T=81.874 E=3.43871e+07 pend=286848 fail=2000
--
+124
View File
@@ -0,0 +1,124 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.609
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/617/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/617/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/622/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/622/winpid
+ break
+ sleep 5
+ RELAY=625
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 625
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.609 ']'
+ read -r pid
+ '[' -n 6216 ']'
+ taskkill //F //PID 6216
+ read -r pid
+ '[' -n 6532 ']'
+ taskkill //F //PID 6532
+ read -r pid
+ rm -f /tmp/bt_bench_pids.609
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
7
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
2
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
2
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
zero-effect samples: 0
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] at-death LRM15_1 T=77 E=7.931e+06 pend=-131417 fail=2000
[myofreeze] at-death LRM15_2 T=77 E=7.931e+06 pend=-118506 fail=2000
[myofreeze] at-death CHAIN MAX=0 <<<< FROZEN
[myofreeze] at-reset HeatSink T=77 E=1.0703e+08 pend=294207 fail=2000
[myofreeze] at-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] at-reset Condenser1 T=77 E=3.234e+07 pend=10253.7 fail=2000
[myofreeze] at-reset Condenser2 T=77 E=3.234e+07 pend=10490.3 fail=2000
[myofreeze] at-reset Condenser3 T=77 E=3.234e+07 pend=10159.4 fail=2000
[myofreeze] at-reset Condenser4 T=77 E=3.234e+07 pend=13452.5 fail=2000
--
[myofreeze] at-reset LRM15_1 T=77 E=7.931e+06 pend=-199.061 fail=2000
[myofreeze] at-reset LRM15_2 T=77 E=7.931e+06 pend=-178.664 fail=2000
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (249.205,0,-807.875) alive=1 zones=22 subsys=32
[myofreeze] post-reset HeatSink T=89.57 E=1.24502e+08 pend=1.22022e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=78.1125 E=3.28072e+07 pend=71595.9 fail=2000
[myofreeze] post-reset Condenser2 T=76.6829 E=3.22068e+07 pend=-9621.78 fail=2000
[myofreeze] post-reset Condenser3 T=79.7416 E=3.34915e+07 pend=170582 fail=2000
+125
View File
@@ -0,0 +1,125 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1394
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1402/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/1402/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1407/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/1407/winpid
+ break
+ sleep 5
+ RELAY=1410
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1410
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1394 ']'
+ read -r pid
+ '[' -n 11804 ']'
+ taskkill //F //PID 11804
+ read -r pid
+ '[' -n 12040 ']'
+ taskkill //F //PID 12040
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1394
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
7
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
42
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
2
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
zero-effect samples: 0
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] at-death LRM15_1 T=77 E=7.931e+06 pend=-130815 fail=2000
[myofreeze] at-death LRM15_2 T=77 E=7.931e+06 pend=-26198.8 fail=2000
[myofreeze] at-death CHAIN MAX=0 <<<< FROZEN
[myofreeze] at-reset HeatSink T=77 E=1.0703e+08 pend=282477 fail=2000
[myofreeze] at-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] at-reset Condenser1 T=77 E=3.234e+07 pend=3991.15 fail=2000
[myofreeze] at-reset Condenser2 T=77 E=3.234e+07 pend=3896.84 fail=2000
[myofreeze] at-reset Condenser3 T=77 E=3.234e+07 pend=4005.65 fail=2000
[myofreeze] at-reset Condenser4 T=77 E=3.234e+07 pend=2326.69 fail=2000
--
[myofreeze] at-reset LRM15_1 T=77 E=7.931e+06 pend=-858.522 fail=2000
[myofreeze] at-reset LRM15_2 T=77 E=7.931e+06 pend=-955.264 fail=2000
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (435.09,0,-800.724) alive=1 zones=22 subsys=32
[myofreeze] post-reset HeatSink T=91.211 E=1.26783e+08 pend=2.41602e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=78.4097 E=3.29321e+07 pend=155032 fail=2000
[myofreeze] post-reset Condenser2 T=76.6251 E=3.21825e+07 pend=-18554 fail=2000
[myofreeze] post-reset Condenser3 T=80.4762 E=3.38e+07 pend=372597 fail=2000
--
+125
View File
@@ -0,0 +1,125 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.365
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/373/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/373/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/378/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/378/winpid
+ break
+ sleep 5
+ RELAY=381
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 381
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.365 ']'
+ read -r pid
+ '[' -n 14384 ']'
+ taskkill //F //PID 14384
+ read -r pid
+ '[' -n 1552 ']'
+ taskkill //F //PID 1552
+ read -r pid
+ rm -f /tmp/bt_bench_pids.365
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
3
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
10
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
2
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
zero-effect samples: 0
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] at-death LRM15_1 T=77 E=7.931e+06 pend=-116239 fail=2000
[myofreeze] at-death LRM15_2 T=77 E=7.931e+06 pend=12888 fail=2000
[myofreeze] at-death CHAIN MAX=0 <<<< FROZEN
[myofreeze] at-reset HeatSink T=77 E=1.0703e+08 pend=299360 fail=2000
[myofreeze] at-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] at-reset Condenser1 T=77 E=3.234e+07 pend=4215.87 fail=2000
[myofreeze] at-reset Condenser2 T=77 E=3.234e+07 pend=4114.88 fail=2000
[myofreeze] at-reset Condenser3 T=77 E=3.234e+07 pend=4224.22 fail=2000
[myofreeze] at-reset Condenser4 T=77 E=3.234e+07 pend=2550.22 fail=2000
--
[myofreeze] at-reset LRM15_1 T=77 E=7.931e+06 pend=-924.355 fail=2000
[myofreeze] at-reset LRM15_2 T=77 E=7.931e+06 pend=-1044.38 fail=2000
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (342.148,0,-804.299) alive=1 zones=22 subsys=32
[myofreeze] post-reset HeatSink T=94.7841 E=1.3175e+08 pend=1.81783e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=79.1431 E=3.32401e+07 pend=136152 fail=2000
[myofreeze] post-reset Condenser2 T=76.5367 E=3.21454e+07 pend=-13563.2 fail=2000
[myofreeze] post-reset Condenser3 T=82.2829 E=3.45588e+07 pend=335116 fail=2000
--
+137
View File
@@ -0,0 +1,137 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1959
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1967/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/1967/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1972/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/1972/winpid
+ break
+ sleep 5
+ RELAY=1975
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1975
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1959 ']'
+ read -r pid
+ '[' -n 15524 ']'
+ taskkill //F //PID 15524
+ read -r pid
+ '[' -n 15016 ']'
+ taskkill //F //PID 15016
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1959
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
4
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
17
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
1
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
at-reset Myomers T= 77.0 fail= 2000.0 effect=0.0000 -> STALE CACHE (temp fine, effect 0)
post-reset Myomers T= 9297.8 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 11620.4 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 11089.8 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 10537.2 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 9937.0 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 9321.3 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 8837.9 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 8435.0 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 4531.0 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 5390.5 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 4992.6 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
zero-effect samples: 17
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] post-reset CHAIN MAX=1
[myofreeze] at-reset Myomers T=77 deg=1000 fail=2000 speedEffect=0 <<<< STALE (cold but zero)
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (611.147,0,905.11) alive=1 zones=22 subsys=32
[myofreeze] post-reset Myomers T=77.1408 deg=1000 fail=2000 speedEffect=1
[myofreeze] post-reset CHAIN MAX=1
[myofreeze] post-reset Myomers T=324.574 deg=1000 fail=2000 speedEffect=1
[myofreeze] post-reset CHAIN MAX=1
[myofreeze] post-reset Myomers T=310.368 deg=1000 fail=2000 speedEffect=1
--
[respawn] Mech::Reset 2:162 healed+moved to (156.263,0,-811.45) alive=1 zones=22 subsys=32
[myofreeze] post-reset Myomers T=9297.76 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=11620.4 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=11089.8 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=10537.2 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=9937 deg=1000 fail=2000 speedEffect=0
+138
View File
@@ -0,0 +1,138 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1657
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1665/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/1665/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_MYO_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_MYO_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1670/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/1670/winpid
+ break
+ sleep 5
+ RELAY=1673
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1673
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1657 ']'
+ read -r pid
+ '[' -n 2028 ']'
+ taskkill //F //PID 2028
+ read -r pid
+ '[' -n 3880 ']'
+ taskkill //F //PID 3880
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1657
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
6
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
32
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
0
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
post-reset Myomers T= 10790.5 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 13811.7 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 13199.4 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 12424.5 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 11677.0 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 11120.9 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 10549.4 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 9909.7 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 3104.4 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 3992.3 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 3775.7 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
post-reset Myomers T= 3576.6 fail= 2000.0 effect=0.0000 -> TEMP >= fail (reset did not take / re-heated)
zero-effect samples: 32
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[respawn] Mech::Reset 2:162 healed+moved to (-408.233,0,515.267) alive=1 zones=22 subsys=32
[myofreeze] post-reset Myomers T=10790.5 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=13811.7 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=13199.4 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=12424.5 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=11677 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=11120.9 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=10549.4 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset Myomers T=9909.71 deg=1000 fail=2000 speedEffect=0
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] at-reset Myomers T=77 deg=1000 fail=2000 speedEffect=1
[myofreeze] at-reset CHAIN MAX=1
[respawn] Mech::Reset 2:162 healed+moved to (-310.114,0,721.614) alive=1 zones=22 subsys=32
+125
View File
@@ -0,0 +1,125 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.1044
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1052/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/1052/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/1057/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/1057/winpid
+ break
+ sleep 5
+ RELAY=1060
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 1060
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.1044 ']'
+ read -r pid
+ '[' -n 14124 ']'
+ taskkill //F //PID 14124
+ read -r pid
+ '[' -n 9340 ']'
+ taskkill //F //PID 9340
+ read -r pid
+ rm -f /tmp/bt_bench_pids.1044
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
7
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
28
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
4
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
zero-effect samples: 0
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] at-death LRM15_1 T=77 E=7.931e+06 pend=-147771 fail=2000
[myofreeze] at-death LRM15_2 T=77 E=7.931e+06 pend=-122578 fail=2000
[myofreeze] at-death CHAIN MAX=0 <<<< FROZEN
[myofreeze] at-reset HeatSink T=77 E=1.0703e+08 pend=296465 fail=2000
[myofreeze] at-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] at-reset Condenser1 T=77 E=3.234e+07 pend=10365.8 fail=2000
[myofreeze] at-reset Condenser2 T=77 E=3.234e+07 pend=10631 fail=2000
[myofreeze] at-reset Condenser3 T=77 E=3.234e+07 pend=10315.6 fail=2000
[myofreeze] at-reset Condenser4 T=77 E=3.234e+07 pend=13638 fail=2000
--
[myofreeze] at-reset LRM15_1 T=77 E=7.931e+06 pend=-173.33 fail=2000
[myofreeze] at-reset LRM15_2 T=77 E=7.931e+06 pend=-188.252 fail=2000
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (1076.81,0,-61.8947) alive=1 zones=22 subsys=32
[myofreeze] post-reset HeatSink T=90.7067 E=1.26082e+08 pend=1.92501e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=78.3226 E=3.28955e+07 pend=120445 fail=2000
[myofreeze] post-reset Condenser2 T=76.654 E=3.21947e+07 pend=-14933.1 fail=2000
[myofreeze] post-reset Condenser3 T=80.2444 E=3.37027e+07 pend=288608 fail=2000
--
+124
View File
@@ -0,0 +1,124 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.310
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/318/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/318/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/323/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/323/winpid
+ break
+ sleep 5
+ RELAY=326
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 326
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.310 ']'
+ read -r pid
+ '[' -n 16016 ']'
+ taskkill //F //PID 16016
+ read -r pid
+ '[' -n 8468 ']'
+ taskkill //F //PID 8468
+ read -r pid
+ rm -f /tmp/bt_bench_pids.310
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
2
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
2
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
2
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
zero-effect samples: 0
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] at-death LRM15_1 T=77 E=7.931e+06 pend=-34588.3 fail=2000
[myofreeze] at-death LRM15_2 T=77 E=7.931e+06 pend=-12542.9 fail=2000
[myofreeze] at-death CHAIN MAX=0 <<<< FROZEN
[myofreeze] at-reset HeatSink T=77 E=1.0703e+08 pend=270781 fail=2000
[myofreeze] at-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] at-reset Condenser1 T=77 E=3.234e+07 pend=10408.9 fail=2000
[myofreeze] at-reset Condenser2 T=77 E=3.234e+07 pend=10656.7 fail=2000
[myofreeze] at-reset Condenser3 T=77 E=3.234e+07 pend=10420.4 fail=2000
[myofreeze] at-reset Condenser4 T=77 E=3.234e+07 pend=15280.4 fail=2000
--
[myofreeze] at-reset LRM15_1 T=77 E=7.931e+06 pend=-175.726 fail=2000
[myofreeze] at-reset LRM15_2 T=77 E=7.931e+06 pend=-197.963 fail=2000
[myofreeze] at-reset CHAIN MAX=0 <<<< FROZEN
[respawn] Mech::Reset 2:162 healed+moved to (-241.894,0,-904.136) alive=1 zones=22 subsys=32
[myofreeze] post-reset HeatSink T=95.2699 E=1.32425e+08 pend=1.74407e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=79.306 E=3.33085e+07 pend=132495 fail=2000
[myofreeze] post-reset Condenser2 T=76.5392 E=3.21465e+07 pend=-12960.5 fail=2000
[myofreeze] post-reset Condenser3 T=82.6407 E=3.47091e+07 pend=327336 fail=2000
+125
View File
@@ -0,0 +1,125 @@
+ . /c/git/bt411/scratchpad/night6/bench_common.sh
++ BT_ROOT=/c/git/bt411
++ BT_EXE=/c/git/bt411/build/Release/btl4.exe
++ BT_PIDFILE=/tmp/bt_bench_pids.410
+ cd /c/git/bt411/content
+ taskkill //F //IM btl4.exe
+ sleep 2
+ rm -f mf137_a.log mf137_b.log mf137_relay.log
+ bt_expert_egg MP.EGG MF137.EGG
+ sed 's/^experience=.*/experience=expert/' MP.EGG
+ sed -i 's/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/' MF137.EGG
+ export BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_b.log MF137.EGG 0x0C -net 1601
+ local log=mf137_b.log egg=MF137.EGG aff=0x0C
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_b.log BT_AFFINITY=0x0C
+ BT_LOG=mf137_b.log
+ BT_AFFINITY=0x0C
+ for _i in 1 2 3 4 5
+ '[' -f /proc/418/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1601
+ cat /proc/418/winpid
+ break
+ sleep 2
+ export BT_AUTODRIVE=0.95 BT_SELF_DAMAGE=7
+ BT_AUTODRIVE=0.95
+ BT_SELF_DAMAGE=7
+ export BT_AUTOFIRE=1 BT_AF_MISSILE=1 BT_AF_PERIOD=4
+ BT_AUTOFIRE=1
+ BT_AF_MISSILE=1
+ BT_AF_PERIOD=4
+ export BT_HEAT_LOG=1 BT_DEATH_LOG=1 BT_MP_LOG=1
+ BT_HEAT_LOG=1
+ BT_DEATH_LOG=1
+ BT_MP_LOG=1
+ bt_launch mf137_a.log MF137.EGG 0x03 -net 1501
+ local log=mf137_a.log egg=MF137.EGG aff=0x03
+ shift 3
+ bt_player_env
+ export BT_PLATFORM=glass
+ BT_PLATFORM=glass
+ export BT_START_INSIDE=1
+ BT_START_INSIDE=1
+ export BT_DEV_GAUGES=1
+ BT_DEV_GAUGES=1
+ export BT_LOG=mf137_a.log BT_AFFINITY=0x03
+ BT_LOG=mf137_a.log
+ BT_AFFINITY=0x03
+ for _i in 1 2 3 4 5
+ '[' -f /proc/423/winpid ']'
+ /c/git/bt411/build/Release/btl4.exe -egg MF137.EGG -net 1501
+ cat /proc/423/winpid
+ break
+ sleep 5
+ RELAY=426
+ sleep 540
+ python ../tools/btconsole.py MF137.EGG 127.0.0.1:1501 127.0.0.1:1601
+ kill 426
+ sleep 3
+ bt_kill_ours
+ '[' -f /tmp/bt_bench_pids.410 ']'
+ read -r pid
+ '[' -n 1680 ']'
+ taskkill //F //PID 1680
+ read -r pid
+ '[' -n 716 ']'
+ taskkill //F //PID 716
+ read -r pid
+ rm -f /tmp/bt_bench_pids.410
+ sleep 2
+ taskkill //F //IM btl4.exe
+ sleep 3
+ echo '=================== #137 MYOMER FREEZE ==================='
=================== #137 MYOMER FREEZE ===================
+ echo -n 'respawns: '
respawns: + grep -ac Mech::Reset mf137_a.log
4
+ echo -n 'post-reset FROZEN samples: '
post-reset FROZEN samples: + grep -ac FROZEN mf137_a.log
16
+ echo -n 'STALE (cold but zero) samples: '
STALE (cold but zero) samples: + grep -ac 'STALE (cold but zero)' mf137_a.log
0
+ echo
+ echo '--- any reset where the myomers came back AT or OVER the failure temp? ---'
--- any reset where the myomers came back AT or OVER the failure temp? ---
+ python -
zero-effect samples: 0
+ echo
+ echo '--- the first frozen episode in context ---'
--- the first frozen episode in context ---
+ grep -aE 'Mech::Reset|myofreeze' mf137_a.log
+ grep -aB2 -A6 FROZEN
+ head -20
[myofreeze] post-reset LRM15_1 T=77.0085 E=7.93188e+06 pend=228.932 fail=2000
[myofreeze] post-reset LRM15_2 T=77.0229 E=7.93335e+06 pend=559.402 fail=2000
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset HeatSink T=107.531 E=1.49469e+08 pend=1.48001e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=82.5938 E=3.46894e+07 pend=131781 fail=2000
[myofreeze] post-reset Condenser2 T=76.276 E=3.20359e+07 pend=-9088.43 fail=2000
[myofreeze] post-reset Condenser3 T=91.1037 E=3.82636e+07 pend=358244 fail=2000
[myofreeze] post-reset Condenser4 T=76.2225 E=3.20134e+07 pend=-10863.8 fail=2000
--
[myofreeze] post-reset LRM15_1 T=77.0953 E=7.94082e+06 pend=989.671 fail=2000
[myofreeze] post-reset LRM15_2 T=77.2378 E=7.9555e+06 pend=2506.24 fail=2000
[myofreeze] post-reset CHAIN MAX=0 <<<< FROZEN
[myofreeze] post-reset HeatSink T=122.558 E=1.70356e+08 pend=1.36197e+06 fail=2000
[myofreeze] post-reset Reservoir T=77 E=2.6334e+08 pend=0 fail=2000
[myofreeze] post-reset Condenser1 T=87.1475 E=3.66019e+07 pend=125792 fail=2000
[myofreeze] post-reset Condenser2 T=75.9995 E=3.19198e+07 pend=-6689.65 fail=2000
[myofreeze] post-reset Condenser3 T=104.285 E=4.37997e+07 pend=390519 fail=2000
[myofreeze] post-reset Condenser4 T=75.8761 E=3.1868e+07 pend=-8898.85 fail=2000
--
+172
View File
@@ -0,0 +1,172 @@
import sys
sys.path.insert(0, r"C:\git\bt411\scratchpad\night7")
import gitea
OK = ("**Field-verified by Oracle (2026-08-10, annotated open-issues sweep, key: "
"'OK means IMO the issue can be closed'):** ")
# ---- straight fix-verified closes -------------------------------------
simple = {
18: "OK.", 20: "OK.", 22: "OK.", 32: "OK.", 36: "OK.", 40: "OK.",
43: "OK.", 48: "OK.", 51: "OK.", 53: "OK.", 54: "OK.", 58: "OK.",
59: "OK.", 61: "OK.", 62: "OK.", 70: "OK.", 114: "OK.", 131: "OK.",
137: "OK.", 138: "OK.", 146: "OK.", 152: "OK (the CENTER-button fix; the "
"1995 Mid/Adv auto-recentre era question got 'Don't know' -- stays "
"answered by the binary: no auto-recentre outside the stuck-cell bug).",
}
for n, extra in simple.items():
gitea.comment(n, OK + extra + " Closing.")
gitea.close(n)
# ---- closes with more story -------------------------------------------
gitea.comment(47, OK + "OK -- including the annunciation flow as shipped. "
"Reopen if a weapon JAM is ever confirmed NOT to flash the ENG button.")
gitea.close(47)
gitea.comment(50, "Oracle's sweep closes the loop on this one: *\"Fails for me "
"only on Engineering and Weapon MFDs every time the Panic button is lit\"* "
"-- i.e. the ORIGINAL all-MFDs-dead misalignment (fixed with #56's device-"
"reset resize) is gone, and what remains is exactly **#155's panic-armed "
"keypad capture** (he drew the connection himself). Closing as superseded; "
"the live symptom continues in #155.")
gitea.close(50)
gitea.comment(35, "Oracle's sweep: *\"No repro as of late.\"* Nobody has seen "
"an Owens laser crash since the device-loss fix era. Closing as "
"unreproducible -- Conn Man, reopen instantly if it ever recurs.")
gitea.close(35)
gitea.comment(93, "Oracle's sweep: *\"No recent observations.\"* No end-of-"
"round crash reported since 674 across many sessions, and the #157 "
"forensics showed clean teardowns on all four machines on night 14. "
"Closing as aged out; reopen on any teardown crash.")
gitea.close(93)
gitea.comment(100, "Oracle (the reporter): *\"OK probably operator error.\"* "
"Closing per the reporter.")
gitea.close(100)
gitea.comment(101, "Oracle (the reporter): OK -- never repeated. Closing as a "
"one-off; reopen with clock value + drop if it ever recurs.")
gitea.close(101)
gitea.comment(119, "Oracle accepts the authentic verdict (OK). Closing -- the "
"leak-edge phrase restart is 1995 behavior.")
gitea.close(119)
gitea.comment(120, "Era testimony SPLIT resolved toward as-built: Oracle, "
"precisely: *\"Can only flush to the line, only leaks can go below the "
"line.\"* That matches our port exactly (flush stops at the line; leaks "
"drain below). Closing as authentic-as-built. Lynx/Rajel: if your "
"flush-to-empty memory comes with a scenario (mech? damage state?), "
"reopen with it.")
gitea.close(120)
gitea.comment(122, "**Solved by the reporter, and the knowledge is worth "
"keeping:** Oracle: *\"I changed the throttle axis mapping to remove the "
"defaulted 'deadzone 2' argument and it fixed my issue.\"* The default "
"deadzone on a bound throttle AXIS compresses the top of the travel -- "
"HOTAS users binding throttle should drop the deadzone argument. Closing; "
"noting in the bindings guidance.")
gitea.close(122)
gitea.comment(127, "Oracle: *\"It is now working as I remember it\"* -- the "
"weapon-MFD eject presentation matches his era memory on the current "
"build (likely restored incidentally by the weapon-page work). Closing.")
gitea.close(127)
gitea.comment(139, "**Root cause found by the reporter:** Oracle: *\"Issue was "
"due to comment made in L4GAUGE.cfg file\"* -- the silent exit between "
"'lobby up' and the room screen was his locally-edited gauge config (the "
"same parser fragility class as the night-13 bduck crashes: the CFG "
"parser dies on malformed/comment lines in element spans). Closing as "
"local-config; the parser-hardening idea stays on the wishlist.")
gitea.close(139)
gitea.comment(157, "Oracle accepts the not-a-crash verdict (OK). The "
"remediation set (foreground handoff, clean-exit markers, bat rewording) "
"ships in the next zip. Closing.")
gitea.close(157)
gitea.comment(66, "Oracle's sweep concurs (OK) with the operator's earlier "
"field evidence: people use joyconfig.bat without issue. Closing the "
"stale audit claim.")
gitea.close(66)
# ---- substantive keep-open notes ---------------------------------------
gitea.comment(27, "Oracle's sweep: *\"Retest\"* -- he wants another pass on "
"ballistic feel/scoring before calling it. Staying open for one more "
"session's verdict.")
gitea.comment(149, "Oracle's sweep marks this **'Test'** -- correctly: the "
"dirty-skip fix has never been FIELDED (his annotated copy ran pre-876). "
"It ships in the next zip; this ticket stays open until his glass rig "
"verdicts it. (The #138 flash-rate half he confirmed OK and is closed.)")
gitea.comment(150, "Oracle's sweep: *\"Not OK, multiple players seeing 2 kills "
"awarded in build 868\"* -- **expected**: the fix (46ff8dd) has never "
"been fielded; 868 predates it. First fielded build carrying it is the "
"next zip. Verify then: kill with a volley -> +1 exactly.")
gitea.comment(128, "Oracle's sweep: still **Not OK** -- terrain ram = instant "
"coolant leak remains live. Stays high on the fix list.")
gitea.comment(135, "Oracle's sweep: still **Not OK** -- coolant leak with no "
"flashing annunciators remains live (both screen modes).")
gitea.comment(136, "Oracle's sweep says *\"Clarify\"* -- Oracle, when you get "
"a minute: is the ask what EXACT toggle order reproduces it, or is the "
"described behavior itself unclear? One more pass at the description "
"and we will chase it.")
gitea.comment(154, "Oracle's sweep refines this substantially: (1) the "
"stuck-forever generator did NOT reproduce (*\"waited until completely "
"cooled... several minutes... could not repro\"*); (2) **era rule:** gens "
"should come back online at HALF-cooled -- when the red portion of the "
"heat bar is gone -- worth checking our recovery threshold against the "
"decomp; (3) **the real bug isolated:** *\"Generator Out warning emits "
"only when gen comes back online\"* -- the annunciator fires on the "
"RECOVERY edge instead of the TRIP edge. Retitling focus to the "
"wrong-edge warning + threshold audit.")
gitea.comment(155, "Oracle's sweep confirms the dead-bank set precisely while "
"PANIC is lit: *\"Score, Radar and Coolant MFDs respond, others do not. "
"Is this effectively the same as #50?\"* -- yes: #50's residual was this "
"exact capture and is now closed into here. So: Eng + Weapon banks "
"captured by the panic-armed mode; Score/Radar/Coolant stay live. Next "
"step is grounding WHICH banks the 1995 eject mode legitimately owns "
"(decomp: the 0x200000 keypad routing) -- authentic capture vs our "
"routing bug.")
gitea.comment(104, "Era testimony converges, and the decomp arbitrates: "
"Oracle: *\"NARC and Streak were both added in a late/final release for "
"Tesla 4.x\"*; Ronin recalled never working on them. Our 4.10 manifest + "
"decomp have ZERO NARC hits -- **both are right**: NARC postdates our "
"4.10 binary, so the Mad Dog's 'NARC 15' label is content anachronism "
"for a launcher our engine fires as an LRM. Disposition: rename the "
"loadout label to match what it fires (content fix), no weapon work.")
gitea.comment(105, "Oracle's era spec for sensor damage: *\"HUD flicker / "
"loss of HUD, loss of radar, not sure if radar flickered.\"* That plus "
"Lynx's earlier description gives the implementation target: flickering/"
"dropout of HUD and radar under sensor damage. Ready for a decomp pass "
"on the sensor-condition consumers when this gets picked up.")
gitea.comment(115, "Oracle era testimony on gating: *\"I don't remember a hot "
"box being available in Expert mode... It was there in Standard, not "
"sure about Veteran\"* -- matches the 1995 manual (hotbox = Standard sim "
"mode). Our decomp finding stands that the 4.10 HUD reads no experience "
"flag, so reconcile carefully when wiring the hotbox: manual + memory "
"vs binary behavior.")
gitea.comment(133, "Oracle: *\"an X was shown on the gens under certain "
"circumstances\"* (which circumstances unknown). Standing question "
"stays: X-out condition = destroyed only, or also offline/overheat. "
"Decomp: the engineering-panel X overlay condition is the arbiter.")
gitea.comment(23, "Oracle's design input for the non-glass layout: widescreen-"
"aware dimensions -- world view larger (full width, taller, moved up) "
"and allowed to overlap the radar somewhat. Concrete enough to "
"prototype when this design-review item gets picked up.")
print("sweep complete")
+15
View File
@@ -0,0 +1,15 @@
#!/usr/bin/env bash
. /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 pc_a.log
bt_expert_egg MP.EGG PC.EGG
sed -i "s/^map=.*/map=grass/; s/^time=.*/time=day/; s/^vehicle=.*/vehicle=madcat/" PC.EGG
( export BT_GLASS_PANELS=1 BT_POD_SURFACES=1 BT_KEY_NOFOCUS=1
bt_launch pc_a.log PC.EGG 0x0F )
sleep 60
echo -n "process alive at 60s: "; C:/Windows/System32/tasklist.exe //FI "IMAGENAME eq btl4.exe" //NH | grep -c btl4
bt_kill_ours; sleep 2; taskkill //F //IM btl4.exe >/dev/null 2>&1
echo -n "mission ticked: "; grep -ac "\[tick\] subsystems" pc_a.log
echo -n "glass panels: "; grep -ac "glasswin" pc_a.log
echo -n "crash/Fail: "; grep -acEi "fail\(|exception|crash" pc_a.log
+4
View File
@@ -0,0 +1,4 @@
process alive at 60s: 1
mission ticked: 2
glass panels: 9
crash/Fail: 0
Binary file not shown.
Binary file not shown.
+49
View File
@@ -0,0 +1,49 @@
import sys
sys.path.insert(0, r"C:\git\bt411\scratchpad\night7")
import gitea
body = (
"**VERDICT: not a crash. No process on any of the four staged machines crashed that night.** "
"The original framing of this ticket (mine: 'a crash at teardown') was wrong -- full forensics below.\n\n"
"**1. The ~23:59 event (Oracle: 'Conn Man crashed when drop ended').** Drop 2 was the 20:00 drop, "
"GO 23:41:03, clock expiry 00:01:33 -- santo's own log shows the mission running to term and the "
"teardown byte-for-byte identical to the other three machines (lamp sweep, SVGA16 dtor stats, "
"'RunMissions returned', menu relaunch). The peers' logs show his mech (5:21) alive and taking "
"zone-effect hits into the final seconds. His auto-relaunched menu booted at 00:01:33, the same "
"second as dave's and michael's, auto-brought the lobby back, and he played drops 3 AND 4 to the "
"end of the night. There is no crash, disconnect, or even a steamnet retry anywhere in his block.\n\n"
"**2. The 'Did not exit cleanly' / lastrun evidence.** The staged lastrun_steam.txt stops at the "
"00:01:33 generation while the log continues to 00:31 -- the file was captured (or opened by an "
"app holding a write lock) at ~00:02-00:09, i.e. santo was live-troubleshooting AT the drop-2 "
"boundary; later generations' appends silently no-op once the open fails. And the phrase itself "
"is our bat's sign-off talking: play_steam.bat prints 'The game has exited. If it closed "
"unexpectedly, send the operator BOTH...' after ANY end of the process chain, including a normal "
"quit. Santo did exactly what the console told him to.\n\n"
"**3. What he actually experienced: the authentic arcade round-end.** At clock expiry the mission "
"process EXITS and relaunches the menu (the 1995 pod rebooted to attract mode between rounds). "
"On a desktop, a fullscreen game vanishing to desktop at an unexpected moment reads as a crash -- "
"and santo was the newest arrival (23:35), so drop 2 was his first natural full-drop boundary of "
"the night; the veterans had each seen 3-7 of them. A likely aggravator: the relaunched menu can "
"open WITHOUT foreground (Windows denies SetForegroundWindow to a process spawned from a dying "
"background parent -- the fe calls it, but the OS may refuse; needs a local repro to confirm) "
"[T3], so his screen may genuinely have shown bare desktop until he found the window.\n\n"
"**4. The 00:31 'crash' (the last log lines).** All FOUR machines end the night with an identical "
"4-line menu stub at 00:31:2x. The steam lobby is click-driven (steamAction, btl4fe.cpp) and a "
"menu closed without any click logs exactly 4 boot lines and exits 0 -- that is four players "
"closing the between-rounds menu at bedtime, synchronized because the last drop's clock expired "
"at 00:31. The crash filter (armed before the first log line, writes a [crash] block + stack on "
"any unhandled exception) printed nothing on any machine all night.\n\n"
"**Proposed dispositions** (operator's call):\n"
"- Make the quit paths self-documenting: append 'menu closed by player -- clean exit' to "
"lastrun_<stem>.txt on the menu-quit path, so the file itself answers 'crash or quit?' next time.\n"
"- Grant foreground across the relaunch (AllowSetForegroundWindow on the child before "
"ExitProcess) so the menu reliably lands in front at round end.\n"
"- A round-end bridge ('MISSION COMPLETE -- returning to menu') -- same complaint family as #156 "
"(missing fade-to-black), which makes the cut feel even more abrupt.\n"
"- Split the OTHER half of this ticket ('lagging + missiles hitting empty space') into its own "
"issue -- that one is real, separate, and worth chasing with the same logs.\n\n"
"Leaving open for the disposition decision; there is nothing to fix on the 'crash' itself."
)
gitea.comment(157, body)
print("posted 157")

Some files were not shown because too many files have changed in this diff Show More