Files
BT411/scratchpad/uv2.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

22 lines
826 B
Python

import struct
b=open("content/VIDEO/GEO/BLX_COP.BGF",'rb').read()
# (label, off, len)
chunks=[
("utorso.main",0x00ba,3920),("utorso.p2",0x146b,280),("utorso.p3",0x15ff,280),
("rtorso.main",0x17d2,3920),("rtorso.p2",0x2b81,140),("rtorso.p3",0x2c3f,140),
("ltorso.main",0x2d3e,3920),("ltorso.p2",0x40ed,140),("ltorso.p3",0x41ab,140),
]
total=0; totnz=0
for lab,off,ln in chunks:
n=ln//20; nz=0
zs=[]; nzlist=[]
for i in range(n):
x,y,z,u,v=struct.unpack_from('<5f',b,off+i*20)
if abs(u)>1e-6 or abs(v)>1e-6:
nz+=1; nzlist.append((i,x,y,z,u,v))
total+=n; totnz+=nz
print("%-12s verts=%3d nonzeroUV=%d"%(lab,n,nz))
for i,x,y,z,u,v in nzlist[:60]:
print(" %3d: %7.2f %7.2f %7.2f | u=%7.3f v=%7.3f"%(i,x,y,z,u,v))
print("TOTAL verts=%d nonzeroUV=%d"%(total,totnz))