Both fixes the previous run's caveats asked for, plus one the run itself forced. axis_probe.py now: - PINS which non-forward row is up and which is right, by comparing world-Y across the rows in level flight, and says CONFIDENT or WEAK. entities2 measures row 2 = forward against velocity, but the other two were labelled by the D3D convention, and yaw/pitch SWAP if that is wrong -- so the previous run's last two columns were named on an assumption. - checks the craft is ALIVE between inputs, and ABORTS with a message instead of reporting the clean zeros a destroyed craft produces. The first run ended on GAME OVER and only said so afterwards. - measures the UNKNOWN inputs (rx, ry, LB, RB) first while the craft is healthy, keeping the established lx/ly as controls at the end. fly_stage.sh now WAITS for the stage load instead of sleeping a fixed guess. The fixed sleeps worked until they didn't: one load ran long, the script pressed START into a black screen, and every later step went to nothing while the screenshots recorded a plausible-looking sequence. It now polls for a non-black frame and aborts with a pointer to the log if the load hangs (PhysicalHeap::Release failures) rather than continuing blind. The probe itself did not run this iteration -- the stage load hung -- so there is no new axis data, and none is claimed.
7.2 KiB
Executable File
7.2 KiB
Executable File