From 46038b77ac7c99c5b50668e1fb15d8323767beb9 Mon Sep 17 00:00:00 2001 From: Hipstercat Date: Mon, 24 Feb 2020 01:07:35 +0100 Subject: [PATCH] update --- extract.py | 22 +++++++++ read_gzp.py | 134 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 156 insertions(+) create mode 100644 read_gzp.py 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()