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
+20
-4
@@ -1,8 +1,8 @@
|
||||
[mission]
|
||||
adventure=BattleTech
|
||||
map=grass
|
||||
map=cavern
|
||||
scenario=freeforall
|
||||
time=day
|
||||
time=night
|
||||
weather=clear
|
||||
temperature=27
|
||||
length=600
|
||||
@@ -156,8 +156,9 @@ x=128
|
||||
y=32
|
||||
width=8
|
||||
[pilots]
|
||||
pilot=200.0.0.96
|
||||
[200.0.0.96]
|
||||
pilot=127.0.0.1:1502
|
||||
pilot=127.0.0.1:1602
|
||||
[127.0.0.1:1502]
|
||||
hostType=0
|
||||
advancedDamage=1
|
||||
loadzones=1
|
||||
@@ -171,6 +172,20 @@ dropzone=one
|
||||
vehicle=bhk1
|
||||
vehicleValue=1000
|
||||
color=White
|
||||
[127.0.0.1:1602]
|
||||
hostType=0
|
||||
advancedDamage=1
|
||||
loadzones=1
|
||||
name=Boreas
|
||||
bitmapindex=2
|
||||
experience=expert
|
||||
badge=VGL
|
||||
patch=Yellow
|
||||
role=Role::Default
|
||||
dropzone=one
|
||||
vehicle=bhk1
|
||||
vehicleValue=1000
|
||||
color=Red
|
||||
[largebitmap]
|
||||
bitmap=BitMap::Large::Aeolus
|
||||
[BitMap::Large::Aeolus]
|
||||
@@ -227,3 +242,4 @@ width=4
|
||||
model=dfltrole
|
||||
[Role::NoReturn]
|
||||
model=noretun
|
||||
|
||||
|
||||
@@ -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