Files
BT411/scratchpad/dump_cop.py
T
arcattackandClaude Fable 5 8ed6184d65 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>
2026-07-11 13:06:29 -05:00

14 lines
639 B
Python

import struct,re
data=open("content/VIDEO/GEO/BLX_COP.BGF","rb").read()
print("BLX_COP.BGF",len(data),"bytes; magic:",data[:8])
# all ascii strings
print("\n=== ascii strings (material/texture/special names) ===")
for m in re.finditer(rb'[ -~]{3,}',data):
s=m.group().decode()
if s not in ("DIV-BIZ2",): print(f" @{m.start():5d} {s!r}")
# look for PUNCH / special keywords anywhere
print("\n=== keyword hits ===")
for kw in (b"PUNCH",b"punch",b"IMMUNE",b"SPECIAL",b"cop",b"canopy",b"glass",b"window"):
idxs=[m.start() for m in re.finditer(re.escape(kw),data)]
if idxs: print(f" {kw.decode()}: {len(idxs)} at {idxs[:5]}")