Files
BT411/players/joyconfig.bat
T
arcattackandClaude Opus 4.8 41e899a9d7 Issue #41: launch forensics in the player bats -- exit code + never-started detection
David's failures leave a 0-byte (or absent) join.log -- the exe can't
testify about a death before WinMain.  The bats now bracket it from
OUTSIDE: launch_report.txt records the launch timestamp, the exe's
EXIT CODE (fingerprints the failure class: 0xC0000135 DLL-not-found,
0xC0000005 AV, AV-kill signatures, our clean exits), whether join.log
was ever created (never-created = blocked before our first
instruction), and its size.  Verified with a synthetic -1073741819
exit.  The 'exited' message now asks players to send BOTH files.

With this + the 507 first-breath line + the crash self-report, every
failure mode now leaves evidence somewhere: bat report (pre-WinMain),
first-breath (WinMain reached), [crash] stack (anything after).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-24 10:02:51 -05:00

47 lines
2.0 KiB
Batchfile

@echo off
rem BT411 -- one-time JOYSTICK / HOTAS / pedals setup.
rem A console wizard asks you to move each control (stick, twist/rudder,
rem throttle, fire buttons); it detects what you moved and writes the
rem joystick section of content\bindings.txt. When it finishes the game
rem continues into the solo menu so you can try the bindings immediately.
rem Xbox-class controllers need NO setup -- they work out of the box.
rem Re-run this any time to redo the bindings.
cd /d %~dp0
set BT_PLATFORM=glass
if not exist "build\Release\btl4.exe" goto badpath
if not exist "content\OPERATOR.EGG" goto badpath
set BT_JOYCONFIG=1
set BT_START_INSIDE=1
set BT_DEV_GAUGES=1
rem one fresh log per bat run; the menu->game relaunch chain APPENDS
rem so every generation's lines survive (0-byte logs = killed pre-start)
if exist content\join.log del content\join.log
set BT_LOG=join.log
set BT_LOG_APPEND=1
set BT_FE_SOLO=1
cd content
rem LAUNCH FORENSICS (#41): bracket the exe from outside -- if it dies
rem before it can write its own log, this report still records when it
rem ran, how it exited, and whether it ever created its log at all.
echo [%DATE% %TIME%] launching btl4.exe > launch_report.txt
..\build\Release\btl4.exe
set BT_EXITCODE=%ERRORLEVEL%
echo [%DATE% %TIME%] btl4.exe exited with code %BT_EXITCODE% >> launch_report.txt
if not exist join.log echo join.log WAS NEVER CREATED: the exe was blocked before it could run (loader failure or antivirus) >> launch_report.txt
if exist join.log for %%A in (join.log) do echo join.log size: %%~zA bytes >> launch_report.txt
exit /b
:badpath
echo.
echo ==================================================
echo ERROR: this file is not in the right place.
echo.
echo It must sit in the EXTRACTED game folder, next to
echo the 'content' and 'build' folders.
echo.
echo Fix: right-click the .zip - Extract All, open the
echo extracted folder, and run this file from THERE.
echo (Do NOT run it from inside the zip.)
echo ==================================================
echo.
pause