]> git.tdb.fi Git - libs/gl.git/blobdiff - scripts/resgen.py
Add a builtin module for standard shaders
[libs/gl.git] / scripts / resgen.py
diff --git a/scripts/resgen.py b/scripts/resgen.py
new file mode 100755 (executable)
index 0000000..16cfbfb
--- /dev/null
@@ -0,0 +1,41 @@
+#!/usr/bin/python
+
+import sys
+import os
+
+def makename(text):
+       result = ""
+       for c in text:
+               if c.isalnum():
+                       result += c
+               else:
+                       result += '_'
+       return result
+
+def escape(text):
+       result = ""
+       for c in text:
+               if c=='\t':
+                       result += "\\t"
+               elif c=='\n':
+                       result += "\\n"
+               elif c=='"':
+                       result += "\\\""
+               else:
+                       result += c
+       return result
+
+name = makename(os.path.split(sys.argv[1])[1])
+lines = open(sys.argv[1]).readlines()
+out = open(sys.argv[2], "w")
+out.write("""namespace Msp {
+namespace GL {
+""")
+out.write("extern const char {}_data[] =\n".format(name))
+for l in lines:
+       out.write("\t\"{}\"\n".format(escape(l)))
+out.write(""";
+
+} // namespace GL
+} // namespace Msp
+""")