NET-NOTES: post-mission egress hold decoded (RIO lamps + StopMission exit codes)
Wire + source answer to "what happens after the mission ends": the game fades to the black hold, commands the RIO egress lamps (T 84 LampRequest caught on the serial tap), and holds while its StateResponse to the console's 1/s StateQuery flips to state 2. The hold ends only when the console sends Application__StopMissionMessage with an ExitCodeID -- a full remote-operations menu (run game/test patterns/ResetRIO/Norton/ SoftwareReset/camera/mission review) that the game hands to netnub as its exit code for the pod loop to dispatch. The egress-hold length is entirely the console's decision. Also documented the seat-trim-inside- hull z-fighting lookalike (not a render bug). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -551,6 +551,45 @@ Modern console + net_loop.conf pod = a fully autonomous mission loop;
|
||||
the only operator action is queueing the next mission. (Console 4.10
|
||||
by contrast needs an app relaunch per mission.)
|
||||
|
||||
## Post-mission egress hold — decoded live + from source (2026-07-09 late)
|
||||
|
||||
The period flow after a mission timer expires (user memory: "lights come
|
||||
on so the customer can leave the cockpit, then the pod closes out"),
|
||||
confirmed on the wire and in CODE/:
|
||||
|
||||
1. Game fades the view to the black hold (fog sweep to 0.01/0.05 rgb 0)
|
||||
and sends the wrap-up to the console (ConsolePlayerMechScoreUpdate /
|
||||
team scores / RankAndScore -- BTCNSL.CPP message set).
|
||||
2. **Game commands the RIO egress lamps**: `T 84` = LampRequest on the
|
||||
serial tap right at mission end. RIO SetLamp(lamp, state), states =
|
||||
solid/flashSlow/flashMed/flashFast + two brightness channels
|
||||
(L4RIO.HPP RIOCommand/LampState enums).
|
||||
3. Game HOLDS (RIO polling continues, view stays black). Its 1/s
|
||||
StateQuery->StateResponse exchange with the console flips a state
|
||||
field to 2 (= mission-over/hold; it reads 0 in the ready phase).
|
||||
Console polls per Stationary.ini loadQueryInterval=1.
|
||||
4. **The console ends the hold: Application__StopMissionMessage carrying
|
||||
an ExitCodeID** (APPMSG.HPP: console msg set = StateQuery/CheckLoad/
|
||||
RunMission/StopMission/KeyCommand/Suspend/Resume/LoadMission/Abort).
|
||||
ExitCodeID is a remote-ops menu: Abort, RunRedPlanet/BattleTech (+
|
||||
SinglePlayer variants), test patterns, TestPlasmaDisplay, ResetRIO,
|
||||
RunAudioTest, RunNortonDiskDoctor, CheckDiskUsage, Refresh*,
|
||||
ChangeScreenMode, SoftwareReset, ClearCrashlog, KillSpoolFile,
|
||||
RunCamera/MissionReview -- the game exits through netnub with that
|
||||
code and the pod's GO.BAT-era loop dispatches it. Handler impl is
|
||||
compiled-only (StopMissionMessageHandler declared in BTL4APP.HPP;
|
||||
body not in the archive).
|
||||
Observed: Console 4.10 closed the hold within seconds; the .NET
|
||||
console left the pod holding for minutes until it sent its close.
|
||||
The hold length is entirely the console's call = the customer-egress
|
||||
window.
|
||||
|
||||
Also caught live: sliding the bridge seat trim far back (forward -10)
|
||||
puts the eye inside the mech's hull meshes -- z-fighting reads as a
|
||||
"smeared" render and the canopy cage disappears (you are behind it).
|
||||
Not a render bug; trim back to the per-mech eye position (Mad Cat ~
|
||||
-1.8) restores the view.
|
||||
|
||||
## Open questions / notes
|
||||
- Exact TCP listen port(s) — not in the source grep; get from NETNUB.EXE
|
||||
or a capture at milestone 3.
|
||||
|
||||
Reference in New Issue
Block a user