make_header.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #!/usr/bin/env python
  2. import os
  3. import glob
  4. import string
  5. enc = "utf-8"
  6. # Generate include files
  7. f = open("theme_data.h", "wb")
  8. f.write(b"// THIS FILE HAS BEEN AUTOGENERATED, DON\'T EDIT!!\n")
  9. # Generate png image block
  10. f.write(b"\n// png image block\n")
  11. pixmaps = glob.glob("*.png")
  12. pixmaps.sort()
  13. for x in pixmaps:
  14. var_str = x[:-4] + "_png"
  15. s = "\nstatic const unsigned char " + var_str + "[] = {\n\t"
  16. f.write(s.encode(enc))
  17. pngf = open(x, "rb")
  18. b = pngf.read(1)
  19. while(len(b) == 1):
  20. f.write(hex(ord(b)).encode(enc))
  21. b = pngf.read(1)
  22. if (len(b) == 1):
  23. f.write(b", ")
  24. f.write(b"\n};\n")
  25. pngf.close()
  26. # Generate shaders block
  27. f.write(b"\n// shaders block\n");
  28. shaders = glob.glob("*.gsl")
  29. shaders.sort()
  30. for x in shaders:
  31. var_str = x[:-4] + "_shader_code"
  32. s = "\nstatic const char *" + var_str + " = \n"
  33. f.write(s.encode(enc))
  34. sf = open(x, "rb")
  35. b = sf.readline()
  36. while(b != ""):
  37. if (b.endswith("\r\n")):
  38. b = b[:-2]
  39. if (b.endswith("\n")):
  40. b = b[:-1]
  41. s = ' \"' + b
  42. f.write(s.encode(enc))
  43. b = sf.readline()
  44. if (b != ""):
  45. f.write(b'"\n')
  46. f.write(b'";\n')
  47. sf.close()
  48. f.close()