diff --git a/extract.py b/extract.py index e6e886d..1ce3f59 100644 --- a/extract.py +++ b/extract.py @@ -48,6 +48,25 @@ def main(): with fp as bin_file: byte = bin_file.read(1) while byte != b"": + angle_y = 0 + angle_z = 0 + scale = 1 + has_extended_angle = False + if byte == b'\x46': + has_extended_angle = True + model = struct.unpack("> decBits & 1) == 0: + decPos = ((buffer[i] + ((buffer[i + 1] & 0xF0) << 4) - buffStart - j) & 0xFFF) - 0x1000 + j + decLen = (buffer[i + 1] & 0xF) + 3 + i += 2 + + while decLen > 0: + if decPos >= 0: + # print("j:" +str(j)) + # print("decPos: "+str(decPos)) + res[j] = res[decPos] + else: + res[j] = 32 + + j += 1 + decPos += 1 + decLen -= 1 + else: + res[j] = buffer[i] + i += 1 + j += 1 + + decBits += 1 + + return res + + +if __name__ == '__main__': + main()