mirror of
https://github.com/pmret/papermario.git
synced 2024-11-08 20:12:30 +01:00
ae66312d8c
* Add Python linter to github actions * wip * Add back splat_ext * Format files * C++ -> C * format 2 files * split workflow into separate file, line length 120, fix excludes * -l 120 in ci * update black locally and apply formatting changes * pyproject.toject --------- Co-authored-by: Ethan Roseman <ethteck@gmail.com>
55 lines
1.1 KiB
Python
Executable File
55 lines
1.1 KiB
Python
Executable File
#!/usr/bin/env python3
|
|
|
|
from sys import argv
|
|
|
|
if __name__ == "__main__":
|
|
argv.pop(0) # python3
|
|
|
|
if len(argv) > 4:
|
|
out, img1, img2, img3, img2_pal = argv
|
|
else:
|
|
out, img1, img2, img3 = argv
|
|
img2_pal = None
|
|
|
|
with open(img1, "rb") as f:
|
|
img1 = f.read()
|
|
|
|
with open(img2, "rb") as f:
|
|
img2 = f.read()
|
|
|
|
with open(img3, "rb") as f:
|
|
img3 = f.read()
|
|
|
|
if img2_pal:
|
|
with open(img2_pal, "rb") as f:
|
|
img2_pal = f.read()
|
|
|
|
with open(out, "wb") as f:
|
|
f.seek(0x10)
|
|
|
|
pos2 = f.tell()
|
|
f.write(img2)
|
|
|
|
if img2_pal:
|
|
pos2_pal = f.tell()
|
|
f.write(img2_pal)
|
|
else:
|
|
pos2_pal = None
|
|
|
|
pos3 = f.tell()
|
|
f.write(img3)
|
|
|
|
pos1 = f.tell()
|
|
f.write(img1)
|
|
|
|
if img2_pal:
|
|
# jp padding?
|
|
f.write(b"\x00" * 0x10)
|
|
|
|
f.seek(0)
|
|
f.write(pos1.to_bytes(4, byteorder="big"))
|
|
f.write(pos2.to_bytes(4, byteorder="big"))
|
|
f.write(pos3.to_bytes(4, byteorder="big"))
|
|
if pos2_pal:
|
|
f.write(pos2_pal.to_bytes(4, byteorder="big"))
|