summaryrefslogtreecommitdiff
path: root/tools/xor_compress.py
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2020-09-14 15:41:29 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2020-09-14 15:41:29 -0400
commitdd94ccb01ea4e7eac63509f41314e2a7847665e4 (patch)
tree63e0a34e900211c13833c7ce944387053f39dc62 /tools/xor_compress.py
parent46b7c8acf4cdb06a2cbe72ecf4b7d51d74026c5c (diff)
xor_compress.py takes multiple input filenames (avoids having to cat tilemap+attrmap pairs)
Diffstat (limited to 'tools/xor_compress.py')
-rw-r--r--tools/xor_compress.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/tools/xor_compress.py b/tools/xor_compress.py
index 5b3e6a2..6deb2aa 100644
--- a/tools/xor_compress.py
+++ b/tools/xor_compress.py
@@ -1,14 +1,16 @@
#!/usr/bin/env python3
-# Usage: ./xor_compress.py [source.bin] [dest.bin.xor]
+# Usage: ./xor_compress.py sources.bin... > dest.bin.xor
import sys
-with (open(sys.argv[1], 'rb') if len(sys.argv) > 1 else sys.stdin) as f:
- data = f.read()
+data = bytearray()
+for filename in sys.argv[1:]:
+ with open(filename, 'rb') as f:
+ data.extend(f.read())
n = len(data)
-output = []
+output = bytearray()
v = 0x00
i = 0
@@ -42,5 +44,4 @@ while i < n:
output.append(len(buffer) - 1)
output.extend(buffer)
-with (open(sys.argv[2], 'wb') if len(sys.argv) > 2 else sys.stdout) as f:
- f.write(bytes(output))
+sys.stdout.buffer.write(output)