Join bats: same glass-preference treatment as play_solo
join.bat + join_lan.bat + the btoperator.py generator template now prefer build-glass\Release\btl4.exe when present and set BT_PLATFORM=glass with it -- so MP sessions on a dev checkout get PadRIO (mouse-clickable cockpit buttons: trigger config, MFD banks, radar rails) and the bindings.txt keymap, identical to solo play. Player zips (which ship only build\) fall back to the pod build exactly as before. Verified: 2-node loopback MP smoke on the GLASS build (the documented procedure: A -egg MP.EGG -net 1501 + B -net 1601 + tools/btconsole.py) -- both nodes cross-connected (GameMachineHost 1502/1602), ~150 sim ticks each, no errors. btoperator.py syntax-checked; regenerated bats carry the same guard. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
0e013fd82d
commit
3b17b60c19
+12
-4
@@ -786,7 +786,15 @@ class Operator(QMainWindow):
|
||||
def guarded(header, sets, run, tail):
|
||||
return ("@echo off\n" + header +
|
||||
"cd /d %~dp0\n"
|
||||
"if not exist \"build\\Release\\btl4.exe\" goto badpath\n"
|
||||
# Prefer the GLASS build when present (dev checkout): PadRIO
|
||||
# makes the cockpit buttons mouse-clickable; the pod build's
|
||||
# clicks are a no-op. Player zips ship only build\\.
|
||||
"set GAME=build\\Release\\btl4.exe\n"
|
||||
"if exist \"build-glass\\Release\\btl4.exe\" (\n"
|
||||
" set GAME=build-glass\\Release\\btl4.exe\n"
|
||||
" set BT_PLATFORM=glass\n"
|
||||
")\n"
|
||||
"if not exist \"%GAME%\" goto badpath\n"
|
||||
"if not exist \"content\\" + egg_name +
|
||||
"\" goto badpath\n" +
|
||||
sets +
|
||||
@@ -826,7 +834,7 @@ class Operator(QMainWindow):
|
||||
"set BT_RELAY=%s:%d\nset BT_LOG=join.log\n"
|
||||
"set BT_START_INSIDE=1\nset BT_DEV_GAUGES=1\n"
|
||||
% (host, self.f_port.value()),
|
||||
"..\\build\\Release\\btl4.exe -egg %s -net 1501\n" % egg_name,
|
||||
"..\\%GAME% -egg %s -net 1501\n" % egg_name,
|
||||
net_tail))
|
||||
lan_ip = _detect_lan_ip()
|
||||
lan_relay = ("%s:%d" % (lan_ip, self.f_port.value())) if lan_ip else "auto"
|
||||
@@ -843,7 +851,7 @@ class Operator(QMainWindow):
|
||||
"rem Joining over the INTERNET? Use join.bat instead.\n",
|
||||
"set BT_RELAY=%s\nset BT_LOG=join.log\n"
|
||||
"set BT_START_INSIDE=1\nset BT_DEV_GAUGES=1\n" % lan_relay,
|
||||
"..\\build\\Release\\btl4.exe -egg %s -net 1501\n" % egg_name,
|
||||
"..\\%GAME% -egg %s -net 1501\n" % egg_name,
|
||||
net_tail))
|
||||
with open(os.path.join(out_dir, "play_solo.bat"), "w",
|
||||
newline="\r\n") as f:
|
||||
@@ -854,7 +862,7 @@ class Operator(QMainWindow):
|
||||
"(ARENA2/DBASE/FOGDAY/...).\n",
|
||||
"set BT_START_INSIDE=1\nset BT_DEV_GAUGES=1\n"
|
||||
"set BT_LOG=join.log\n",
|
||||
"..\\build\\Release\\btl4.exe -egg ARENA1.EGG\n",
|
||||
"..\\%GAME% -egg ARENA1.EGG\n",
|
||||
"echo.\necho The game has exited. If it closed unexpectedly,\n"
|
||||
"echo send the operator content\\join.log.\npause\n"))
|
||||
self.log.appendPlainText(
|
||||
|
||||
Reference in New Issue
Block a user