KB: pilotList MP claim corrected -- only the local row renders live (Gitea #43, rig-reproduced)
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0166KTsC7ADm7VXEi1HF1jNg
This commit is contained in:
co-authored by
Claude Opus 5
parent
ef5a15ae2c
commit
7494e2ec6c
@@ -304,6 +304,13 @@ screen paint over the shared Eng plane, pinning it on the highest screen). Pixel
|
||||
`BT_PRESET_TEST=<frame>`, `BT_CTRLMAP_LOG`.
|
||||
|
||||
## pilotList (Comm KILLS/DEATHS) row semantics + the −1 [T1/T2]
|
||||
**BUG (Gitea #43, 2026-07-24, rig-reproduced): in LIVE MP only the LOCAL row renders — remote
|
||||
players never get a row.** The "2-player MP = 2 rows" below is decomp row SEMANTICS [T1], not a
|
||||
verified MP observation (the audit's live evidence was solo-only). Suspect:
|
||||
`BuildPilotArray`'s count loop (mechmppr.cpp:1133) sizes the roster via the binary's RAW
|
||||
`entry+0x29 & 0x40` spectator-flag read on our compiled objects (databinding trap; the fill
|
||||
loop's same check was already TODO-removed) → pilotCount latches 1 (build-once latch),
|
||||
`GetPilot(1)` bounds-rejects the remote. Fix + MP re-verify pending — see the issue.
|
||||
One ROW PER PILOT in the mission (2-player MP = 2 rows — not duplicate displays). KILLS =
|
||||
`killCount` (the victim's ScoreMessageHandler credits the shooter cross-player, works for both
|
||||
rows); DEATHS = `Player::deathCount`: engine-inits to **−2** (PLAYER.cpp:759), the LOCAL
|
||||
|
||||
Reference in New Issue
Block a user