godot/scene/resources/default_theme/make_header.py

72 lines
1.1 KiB
Python
Raw Normal View History

2014-02-10 02:10:30 +01:00
import os
import glob
import string
2014-02-10 02:10:30 +01:00
# Generate include files
2014-02-10 02:10:30 +01:00
f = open("theme_data.h", "wb")
2014-02-10 02:10:30 +01:00
f.write("// THIS FILE HAS BEEN AUTOGENERATED, DON'T EDIT!!\n")
2014-02-10 02:10:30 +01:00
f.write("\n\n")
2014-02-10 02:10:30 +01:00
# Generate png image block
pixmaps = glob.glob("*.png")
pixmaps.sort()
f.write("\n\n\n")
2014-02-10 02:10:30 +01:00
for x in pixmaps:
var_str = x[:-4] + "_png"
f.write("static const unsigned char " + var_str + "[]={\n")
pngf = open(x, "rb")
b = pngf.read(1)
while(len(b) == 1):
f.write(hex(ord(b)))
b = pngf.read(1)
if (len(b) == 1):
f.write(",")
f.write("\n};\n\n\n")
pngf.close()
2014-02-10 02:10:30 +01:00
# Generate shaders block
shaders = glob.glob("*.gsl")
shaders.sort()
f.write("\n\n\n")
for x in shaders:
var_str = x[:-4] + "_shader_code"
f.write("static const char *" + var_str + "=\n")
sf = open(x, "rb")
b = sf.readline()
while(b != ""):
if (b.endswith("\r\n")):
b = b[:-2]
if (b.endswith("\n")):
b = b[:-1]
f.write(" \"" + b)
b = sf.readline()
if (b != ""):
f.write("\"\n")
f.write("\";\n\n\n")
sf.close()
f.close()