khafile.js 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. let project = new Project('ArmorPaint');
  2. project.addSources('Sources');
  3. project.addLibrary("iron");
  4. project.addLibrary("zui");
  5. project.addShaders("compiled/Shaders/*.glsl", { noembed: false});
  6. project.addAssets("compiled/Assets/**", { notinlist: true , destination: "data/{name}" });
  7. project.addAssets("compiled/Shaders/*.arm", { notinlist: true , destination: "data/{name}" });
  8. project.addAssets("Bundled/data/**", { notinlist: true , destination: "data/{name}" });
  9. project.addAssets("Bundled/defaults/**", { notinlist: true , destination: "data/defaults/{name}" });
  10. project.addAssets("Bundled/licenses/**", { notinlist: true , destination: "data/licenses/{name}" });
  11. project.addAssets("Bundled/plugins/**", { notinlist: true , destination: "data/plugins/{name}" });
  12. project.addAssets("Bundled/themes/**", { notinlist: true , destination: "data/themes/{name}" });
  13. project.addAssets("Bundled/readme.txt", { notinlist: true , destination: "{name}" });
  14. project.addAssets("Bundled/Assets/brdf.png", { notinlist: true , destination: "data/{name}" });
  15. project.addAssets("Bundled/Assets/noise256.png", { notinlist: true , destination: "data/{name}" });
  16. project.addAssets("Bundled/Assets/smaa_area.png", { notinlist: true , destination: "data/{name}" });
  17. project.addAssets("Bundled/Assets/smaa_search.png", { notinlist: true , destination: "data/{name}" });
  18. project.addAssets("Bundled/Assets/font_default.ttf", { notinlist: false , destination: "data/{name}" });
  19. project.addDefine('arm_deferred');
  20. project.addDefine('arm_voxelgi_revox');
  21. project.addDefine('arm_ltc');
  22. project.addDefine('rp_hdr');
  23. project.addDefine('rp_renderer=Deferred');
  24. project.addDefine('rp_background=World');
  25. project.addDefine('rp_render_to_texture');
  26. project.addDefine('rp_compositornodes');
  27. project.addDefine('rp_antialiasing=TAA');
  28. project.addDefine('arm_veloc');
  29. project.addDefine('arm_taa');
  30. project.addDefine('rp_supersampling=4');
  31. project.addDefine('rp_ssgi=RTAO');
  32. project.addDefine('rp_bloom');
  33. project.addDefine('rp_ssr');
  34. project.addDefine('rp_overlays');
  35. project.addDefine('rp_voxelao');
  36. project.addDefine('rp_voxelgi_resolution=256');
  37. project.addDefine('rp_voxelgi_resolution_z=1.0');
  38. project.addDefine('rp_gbuffer2');
  39. project.addDefine('arm_appwh');
  40. project.addDefine('arm_skip_envmap');
  41. project.addDefine('arm_particles');
  42. project.addDefine('arm_config');
  43. project.addDefine('arm_resizable');
  44. project.addDefine('arm_data_dir');
  45. project.addDefine('kha_no_ogg');
  46. // project.addDefine('arm_audio');
  47. // project.addDefine('arm_noembed');
  48. // project.addDefine('arm_soundcompress');
  49. // project.addDefine('arm_skin');
  50. project.addParameter('--macro include("arm.nodes.brush")');
  51. project.addParameter('-dce full');
  52. // project.addParameter('--no-inline');
  53. let debug = false;
  54. if (debug) {
  55. project.addDefine('arm_debug');
  56. project.addShaders("Bundled/Shaders/debug_draw/**");
  57. project.addParameter('--times');
  58. }
  59. let raytrace = process.argv.indexOf("direct3d12") >= 0;
  60. if (raytrace) {
  61. project.addAssets("Bundled/raytrace/**", { notinlist: true , destination: "data/{name}" });
  62. }
  63. if (process.platform === 'win32') {
  64. project.addShaders("compiled/Hlsl/*.glsl", { noprocessing: true, noembed: false });
  65. }
  66. else {
  67. project.addShaders("compiled/Glsl/*.glsl", { noembed: false });
  68. }
  69. if (process.platform === 'win32') {
  70. project.addDefine('krom_windows');
  71. project.addAssets("Bundled/cmft/cmft.exe", { notinlist: true , destination: "data/{name}" });
  72. }
  73. else if (process.platform === 'linux') {
  74. project.addDefine('krom_linux');
  75. project.addAssets("Bundled/cmft/cmft-linux64", { notinlist: true , destination: "data/{name}" });
  76. }
  77. else if (process.platform === 'darwin') {
  78. project.addDefine('krom_darwin');
  79. project.addAssets("Bundled/cmft/cmft-osx", { notinlist: true , destination: "data/{name}" });
  80. }
  81. resolve(project);