import struct data = open(r'C:\git\bt411\content\BTL4.RES', 'rb').read() labOnly, maxID = struct.unpack_from(' len(payload): continue tail = payload[len(payload) - need:] ys = [struct.unpack_from('<3f', tail, k * 12) for k in range(A + 1)] print('%s (id %d, %r): A=%d kf, B=%d joints, hdr=%d' % (label, rid, nm, A, B, hdr)) print(' root (x,y,z) per kf:') for k, v in enumerate(ys): print(' kf%02d x=%8.3f y=%8.3f z=%8.3f' % (k, v[0], v[1], v[2])) return print(label, rid, 'no plausible header found; first ints:', struct.unpack_from('<8i', blob, 40)) root_y(908, 'blhbmp (knockdown)') print() root_y(898, 'blhwwl (walk-left, baseline)')