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>
14 lines
639 B
Python
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]}")
|