KB: weapon groups decomp-anchored (ConfigureMappables/ChooseButton)
Answering "do lasers and PPCs fire together?": in the pod, grouping was a PILOT CHOICE. MechWeapon message handlers id 9 'ConfigureMappables' (FUN_004b9550) and id 10 'ChooseButton' (FUN_004b95b8), handler table @0x511860 (names read from the exe): ConfigureMappables binds the weapon's fireImpulse@0x31C to controls-mapper fire-channel #N (roster slot 0; vtable +0x38 register / +0x3c unregister / +0x44 choose), ChooseButton = the in-cockpit re-binding. Weapons sharing a button fire together. The port's SPACE=energy / CTRL=missiles split is a stand-in default; the authentic per-button channels are a tracked follow-up. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
4e7561714e
commit
ae8aca0f3f
@@ -88,6 +88,16 @@ authentic path scoped.
|
||||
- **MechControlsMapper look/eyepoint commit** — reconstructed but its offsets collide with declared
|
||||
members; arbitrate before enabling (no port consumer yet). The fire-trigger-through-mapper is
|
||||
still the `gBTWeaponTrigger` bring-up.
|
||||
- **Weapon groups / per-button fire channels (decomp-anchored 2026-07-09)** — MechWeapon message
|
||||
handlers id 9 **`ConfigureMappables`** (`FUN_004b9550`) and id 10 **`ChooseButton`**
|
||||
(`FUN_004b95b8`), table @0x511860 region: ConfigureMappables binds the weapon's
|
||||
`fireImpulse`@0x31C to mapper fire-channel #N (msg value 1-based; <1 unbinds; mapper = roster
|
||||
slot 0, vtable +0x38 register / +0x3c unregister; weapon+0x110 = the bound-state), ChooseButton
|
||||
re-binds (vtable +0x44) — the pod's in-cockpit weapon→button GROUPING. Weapons sharing a button
|
||||
fire together; grouping was a PILOT choice (heat management: alpha vs split). The port's
|
||||
SPACE=all-energy / CTRL=missiles split is a stand-in default; the authentic system needs the
|
||||
mapper channel registration + who SENDS the default ConfigureMappables (mission/player setup —
|
||||
not yet traced). Payoff: authentic weapon groups + a path to chain-fire.
|
||||
- **Myomers authentic coupling** — the structural un-stub is INERT (mover feed + heat-gen no-op).
|
||||
Real coupling needs the advanced-damage gate (`OwnerAdvancedDamage`/`FUN_004ad7d4` → the owning
|
||||
**BTPlayer** `mech+0x190`+0x260, NOT 0xBD3 — see the mech+0x190 item above) + `MoverAttach` routing
|
||||
|
||||
Reference in New Issue
Block a user