godot/scene/resources/default_theme/make_header.py

73 lines
996 B
Python
Raw Normal View History

2014-02-10 09:10:30 +08:00
import os;
import glob;
import string;
#Generate include files
f=open("theme_data.h","wb")
f.write("// THIS FILE HAS BEEN AUTOGENERATED, DONT EDIT!!\n");
f.write("\n\n");
#Generate png image block
pixmaps = glob.glob("*.png");
pixmaps.sort();
2014-02-10 09:10:30 +08:00
f.write("\n\n\n");
for x in pixmaps:
2014-02-10 09:10:30 +08:00
var_str=x[:-4]+"_png";
2014-02-10 09:10:30 +08:00
f.write("static const unsigned char "+ var_str +"[]={\n");
2014-02-10 09:10:30 +08:00
pngf=open(x,"rb");
2014-02-10 09:10:30 +08:00
b=pngf.read(1);
while(len(b)==1):
f.write(hex(ord(b)))
b=pngf.read(1);
if (len(b)==1):
f.write(",")
2014-02-10 09:10:30 +08:00
f.write("\n};\n\n\n");
pngf.close();
#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();