From df48dc23a405a8a2be6c35c3b3622688f6305e55 Mon Sep 17 00:00:00 2001 From: Will Xyen L Date: Wed, 21 Jun 2017 04:22:09 -0400 Subject: [PATCH] Fix nodebuf offset --- bin_xml.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/bin_xml.py b/bin_xml.py index 290b921..36de777 100644 --- a/bin_xml.py +++ b/bin_xml.py @@ -220,7 +220,7 @@ class kbinxml(): header = ByteBuffer() header.append_u16(SIGNATURE) header.append_u8(4 << 5) # SHIFT-JIS TODO make encoding variable - header.append_u8(0x7F) # TODO what does this do as 7f or ff + header.append_u8(0x7F) # Binary negation of encoding variable self.nodeBuf = ByteBuffer() self.dataBuf = ByteBuffer() self.dataByteBuf = ByteBuffer(self.dataBuf.data) @@ -230,7 +230,9 @@ class kbinxml(): self._node_to_binary(child) self.nodeBuf.append_u8(xml_types['endSection'] | 64) - self.align_dataBuf() + # align nodeBuf + while len(self.nodeBuf) % 4 != 0: + self.nodeBuf.append_u8(0) header.append_u32(len(self.nodeBuf)) self.nodeBuf.append_u32(len(self.dataBuf)) return bytes(header.data + self.nodeBuf.data + self.dataBuf.data)