Implement embed

This commit is contained in:
luboslenco
2024-09-06 21:11:06 +02:00
parent 91621cd8d8
commit 08705a515c
7 changed files with 26 additions and 150 deletions
+13 -15
View File
@@ -6,7 +6,7 @@ flags.d3d12 = os_argv().indexOf("direct3d12") >= 0;
flags.vulkan = os_argv().indexOf("vulkan") >= 0;
flags.metal = os_argv().indexOf("metal") >= 0;
flags.raytrace = flags.d3d12 || flags.vulkan || flags.metal;
flags.embed = os_argv().indexOf("--embed") >= 0;
flags.embed = os_argv().indexOf("--embed"); // os_argv().indexOf("--debug") == -1; // clang 19
flags.physics = os_argv().indexOf("--debug") == -1;
flags.voxels = !flags.raytrace && !flags.android && !flags.ios;
@@ -62,21 +62,19 @@ let project = new Project("Base");
project.addProject("../armorcore");
project.addSources("sources");
project.addSources("sources/nodes");
project.addShaders("../armorcore/shaders/*.glsl", { embed: flags.embed });
project.addShaders("shaders/*.glsl", { embed: flags.embed });
project.addAssets("assets/*", { destination: "data/{name}", embed: flags.embed });
project.addShaders("../armorcore/shaders/*.glsl");
project.addShaders("shaders/*.glsl");
project.addAssets("assets/*", { destination: "data/{name}" });
project.addAssets("assets/locale/*", { destination: "data/locale/{name}" });
project.addAssets("assets/licenses/**", { destination: "data/licenses/{name}" });
project.addAssets("assets/plugins/*", { destination: "data/plugins/{name}" });
project.addAssets("assets/themes/*.json", { destination: "data/themes/{name}" });
if (flags.embed) {
project.addDefine("WITH_EMBED");
project.addDefine("arm_embed");
project.addDefine("arm_image_embed");
project.addDefine("arm_shader_embed");
}
else {
project.addDefine("arm_noembed");
project.addAssets("assets/extra/*", { destination: "data/{name}" });
}
@@ -89,22 +87,22 @@ project.addDefine("arm_particles");
// project.addDefine("arm_audio");
if (flags.android) {
project.addDefine("iron_android_rmb");
project.addDefine("arm_android_rmb");
}
if (flags.raytrace) {
project.addAssets("assets/raytrace/*", { destination: "data/{name}", embed: flags.embed });
project.addAssets("assets/raytrace/*", { destination: "data/{name}" });
if (flags.d3d12) {
project.addAssets("shaders/raytrace/*.cso", { destination: "data/{name}", embed: flags.embed });
project.addAssets("shaders/raytrace/*.cso", { destination: "data/{name}" });
project.addAssets("assets/readme/readme_dxr.txt", { destination: "{name}" });
}
else if (flags.vulkan) {
project.addAssets("shaders/raytrace/*.spirv", { destination: "data/{name}", embed: flags.embed });
project.addAssets("shaders/raytrace/*.spirv", { destination: "data/{name}" });
project.addAssets("assets/readme/readme_vkrt.txt", { destination: "{name}" });
}
else if (flags.metal) {
project.addAssets("shaders/raytrace/*.metal", { destination: "data/{name}", embed: flags.embed });
project.addAssets("shaders/raytrace/*.metal", { destination: "data/{name}" });
}
}
@@ -112,10 +110,10 @@ if (flags.voxels) {
project.addDefine("arm_voxels");
if (os_platform() === "win32") {
project.addShaders("shaders/voxel_hlsl/*.glsl", { embed: flags.embed, noprocessing: true });
project.addShaders("shaders/voxel_hlsl/*.glsl", { noprocessing: true });
}
else {
project.addShaders("shaders/voxel_glsl/*.glsl", { embed: flags.embed });
project.addShaders("shaders/voxel_glsl/*.glsl");
}
}
@@ -128,7 +126,7 @@ if (export_version_info) {
fs_ensuredir(dir);
fs_writefile(dir + "/version.json", data);
// Adds version.json to embed.txt list
project.addAssets(dir + "/version.json", { destination: "data/{name}", embed: flags.embed });
project.addAssets(dir + "/version.json", { destination: "data/{name}" });
}
project.flatten();