MP-front scout (task #45): P6 survives the combat rework; LAN-fight gap map
One-box smoke test re-run on the current build: console egg -> mesh -> RunningMission both instances, 174+ x144-byte update records each side, 2 mech trees per instance, 0 crashes (~6 min). The movement-replication milestone is intact after all the targeting/weapon/death changes. Gap map to a first playable LAN fight recorded in context/multiplayer.md (wiring order): (1) generalize the world-pick from gEnemyMech to all peer mechs; (2) exercise the Dispatch reroute for cross-pod TakeDamage; (3) victim state visuals on the shooter's screen (zone replication or a death event); (4) cross-pod beam visuals via the AUTHENTIC beam-keepalive messages (FUN_0041c350, templates @0x511e6c/78 -- already stubbed in emitter.cpp); (5) 2-window driving + DEATHS scoring; respawn deferred to the P5 teardown debt. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
fa88f74c68
commit
48191d6fdf
@@ -58,6 +58,29 @@ Cross-pod COMBAT (target a replicant + route damage to the owning master — Ent
|
||||
reroutes); interactive 2-window driving; replicant GAIT animation (derive from replicated velocity);
|
||||
the pod-LAN config (real IPs, bare-IP pilot entries). See [[open-questions]]. [T3]
|
||||
|
||||
## MP-front scout (task #45, 2026-07-09) — the P6 chain SURVIVES the combat/HUD rework [T2]
|
||||
Re-ran the one-box smoke test on the current build (world-pick targeting, weapon groups, death
|
||||
transition, HUD all landed since P6): console egg → mesh → RunningMission on BOTH instances, 174+
|
||||
×144-byte update records EACH side (msgID=6), 2 mech trees per instance, 0 crashes over ~6 min.
|
||||
**Gap map to a first playable LAN fight** (in wiring order):
|
||||
1. **Enemy selection**: the world-pick tests only `gEnemyMech` (the solo dummy, btplayer.cpp:791).
|
||||
MP: the pick must test every OTHER mech (the peer replicants) — generalize to a candidate walk
|
||||
(mech entities != viewpoint). Small.
|
||||
2. **Cross-pod damage**: dispatch TakeDamage at the REPLICANT → verify the engine reroute carries
|
||||
it to the owning master (the KB claims Dispatch reroutes; not yet exercised with our STEP-6
|
||||
handler). The master takes real zone damage + runs its own death transition (task #42 placed the
|
||||
death dispatch victim-side — MP-correct by construction).
|
||||
3. **Victim visuals on the shooter's screen**: the wreck swap gates on zone/graphic state the
|
||||
REPLICANT copy may never see (zone damage may not replicate — only pose updates confirmed).
|
||||
Check DamageZone/subsystem state in the update stream; else replicate the death as an event.
|
||||
4. **Cross-pod beam visuals**: replicant emitters don't run the local trigger sim, so the peer's
|
||||
beams never draw today. ⭐ The authentic path exists: ServiceDischarge/ContinueDischarge SEND
|
||||
**beam-keepalive messages** (`FUN_0041c350`, templates @0x511e6c/@0x511e78, emitter.cpp already
|
||||
stubs them) — decode + route those to drive replicant beam draws.
|
||||
5. **2-window driving**: input gates on window focus (alternate windows; `BT_KEY_NOFOCUS` for
|
||||
harness). DEATHS scoring should light via the existing BTPostKillScore MP branch. Respawn =
|
||||
the P5 teardown debt (deferred until needed).
|
||||
|
||||
## Key Relationships
|
||||
- Base: [[wintesla-port]] (L4NET). Depends on: [[locomotion]] (update writer), [[combat-damage]]
|
||||
(entity lifecycle). Detail: `docs/HARD_PROBLEMS.md` (P6).
|
||||
|
||||
Reference in New Issue
Block a user