24z-2: rendersnap2 v6 attempts band-object LUT capture (A/B/gamma) — ctx+0x540678 is curve data not object ptr; band-object array discovery is next session opener

This commit is contained in:
2026-08-25 01:28:26 +03:00
parent 676d43d40a
commit 65ee61d540
2 changed files with 25 additions and 0 deletions
+15
View File
@@ -159,6 +159,21 @@ def main():
sv = np.frombuffer(scal, dtype='<f4')
store = {'fir_re': arr[0::2].copy(), 'fir_im': arr[1::2].copy(),
'scal': sv.copy()}
# band-object LUT params: band1 ptr @[ctx+0x540678]; sub@[band+0x180]
pb = rd(ctx + 0x540678, 8)
if pb:
bandobj = struct.unpack('<Q', pb)[0]
if bandobj > 0x10000:
sb = rd(bandobj + 0x180, 8)
if sb:
sub = struct.unpack('<Q', sb)[0]
if sub > 0x10000:
fb4 = rd(sub, 0x18)
if fb4:
store['lut_A'] = struct.unpack('<f', fb4[0:4])[0]
store['lut_B'] = struct.unpack('<f', fb4[4:8])[0]
store['lut_G'] = struct.unpack('<f', fb4[12:16])[0]
store['lut_mode'] = fb4[16]
for off in SLOTS[1:]:
q = rd(ctx + off, 8)
if not q: