papermario/tools/build/img/header.py
Marijn van der Werf 5511e18133
Clean executable files (#1047)
* Mark headers as non-executable

* Update shebangs
2023-05-04 18:03:02 +09:00

35 lines
937 B
Python
Executable File

#!/usr/bin/env python3
from sys import argv
import re
import png
if __name__ == "__main__":
infile, outfile = argv[1:3]
if len(argv) > 3 and argv[3]:
cname = argv[3]
else:
cname = re.sub(r"[^0-9a-zA-Z_]", "_", infile)
if cname.startswith("ver_"):
cname = "_".join(cname.split("_")[2:])
if cname.startswith("src_"):
cname = cname[4:]
elif cname.startswith("assets_"):
cname = "_".join(cname.split("_")[2:])
img = png.Reader(infile)
width, height, rows, info = img.read()
with open(outfile, "w") as f:
f.write("// Generated file, do not edit.\n")
f.write(f"#ifndef _{cname.upper()}_\n")
f.write(f"#define _{cname.upper()}_\n")
f.write(f"\n")
f.write(f"#define {cname}_width {width}\n")
f.write(f"#define {cname}_height {height}\n")
f.write(f"\n")
f.write(f"#endif\n")