Combat: AUTHENTIC weapon groups -- streamed per-mech button bindings + the real fire chain (task #5)

The recovered system: fire channels = LBE4ControlsManager buttonGroups
(0x40/0x45/0x46/0x47); default groups = the per-mech type-6 controls-map
resource in BTL4.RES, installed by the T0 CreateStreamedMappings the port
already called -- it needed only the TriggerState attribute (id 0x13 PINNED
to the binary value; fireImpulse@0x31C is the binary's TriggerState) and an
input feed.  Keyboard/harness now push press/release edges into the button
groups; the gBT*Trigger bypasses, per-type keyboard split and 1,0 pulse
hack are retired -- weapons sharing a button fire TOGETHER (madcat Trigger
= 4 weapons).  Myomers @4b9550/@4b95b8 misattribution corrected (they are
MechWeapon ConfigureMappables/ChooseButton).  Verified 2-node: kill through
the authentic chain (12 hits vs ~36 pre-groups).  Config-mode session
(regrouping UI) = the remaining stage, KB-scoped.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
arcattack
2026-07-11 13:06:29 -05:00
co-authored by Claude Fable 5
parent 4554ea543a
commit 8ed6184d65
582 changed files with 6546 additions and 42 deletions
+4
View File
@@ -89,6 +89,10 @@ Simulation::AttributeIndexSet MechWeapon::AttributeIndex; // legacy empty member
const MechWeapon::IndexEntry
MechWeapon::AttributePointers[]=
{
// The authentic entry (binary table @0x511890): the streamed controls maps
// bind the pod fire buttons directly onto this Scalar -- fireImpulse IS the
// binary's "TriggerState" (the edge-detected fire channel destination).
ATTRIBUTE_ENTRY(MechWeapon, TriggerState, fireImpulse), // @0x31C id 0x13
ATTRIBUTE_ENTRY(MechWeapon, OutputVoltage, rechargeLevel), // @0x320 (charge/ready level)
ATTRIBUTE_ENTRY(MechWeapon, PercentDone, rechargeLevel) // @0x320 (recharge dial fraction)
};