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
+4 -4
View File
@@ -11,16 +11,16 @@ project.addProject("../base");
project.addSources("../armorpaint/sources");
project.addSources("../armorpaint/sources/nodes");
project.addShaders("../armorpaint/shaders/*.glsl", { embed: flags.embed });
project.addShaders("../armorpaint/shaders/*.glsl");
project.addSources("sources");
project.addSources("sources/nodes");
project.addShaders("shaders/*.glsl", { embed: flags.embed });
project.addAssets("assets/*", { destination: "data/{name}", embed: flags.embed });
project.addShaders("shaders/*.glsl");
project.addAssets("assets/*", { destination: "data/{name}" });
project.addAssets("assets/keymap_presets/*", { destination: "data/keymap_presets/{name}" });
project.addAssets("assets/licenses/**", { destination: "data/licenses/{name}" });
project.addAssets("assets/plugins/*", { destination: "data/plugins/{name}" });
project.addAssets("../armorpaint/assets/plugins/hello_world.js", { destination: "data/plugins/{name}" });
project.addAssets("assets/meshes/*", { destination: "data/meshes/{name}" });
project.addAssets("assets/meshes/*", { destination: "data/meshes/{name}", noembed: true });
project.addAssets("assets/readme/readme.txt", { destination: "{name}" });
return project;
+3 -3
View File
@@ -10,8 +10,8 @@ project.addProject("../base");
project.addSources("sources");
project.addSources("sources/nodes");
project.addShaders("shaders/*.glsl", { embed: flags.embed });
project.addAssets("assets/*", { destination: "data/{name}", embed: flags.embed });
project.addShaders("shaders/*.glsl");
project.addAssets("assets/*", { destination: "data/{name}" });
project.addAssets("../armorpaint/assets/export_presets/*", { destination: "data/export_presets/{name}" });
project.addAssets("assets/keymap_presets/*", { destination: "data/keymap_presets/{name}" });
project.addAssets("assets/licenses/**", { destination: "data/licenses/{name}" });
@@ -19,7 +19,7 @@ project.addAssets("assets/plugins/*", { destination: "data/plugins/{name}" });
project.addAssets("../armorpaint/assets/plugins/hello_world.js", { destination: "data/plugins/{name}" });
project.addAssets("../armorpaint/assets/plugins/hello_node_brush.js", { destination: "data/plugins/{name}" });
project.addAssets("../armorpaint/assets/plugins/import_svg.js", { destination: "data/plugins/{name}" });
project.addAssets("assets/meshes/*", { destination: "data/meshes/{name}" });
project.addAssets("assets/meshes/*", { destination: "data/meshes/{name}", noembed: true });
project.addAssets("assets/models/*.onnx", { destination: "data/models/{name}" });
project.addAssets("assets/models/LICENSE.txt", { destination: "data/models/LICENSE.txt" });
project.addAssets("assets/readme/readme.txt", { destination: "{name}" });
+3 -3
View File
@@ -9,13 +9,13 @@ project.addProject("../base");
project.addSources("sources");
project.addSources("sources/nodes");
project.addShaders("shaders/*.glsl", { embed: flags.embed });
project.addAssets("assets/*", { destination: "data/{name}", embed: flags.embed });
project.addShaders("shaders/*.glsl");
project.addAssets("assets/*", { destination: "data/{name}" });
project.addAssets("assets/export_presets/*", { destination: "data/export_presets/{name}" });
project.addAssets("assets/keymap_presets/*", { destination: "data/keymap_presets/{name}" });
project.addAssets("assets/licenses/**", { destination: "data/licenses/{name}" });
project.addAssets("assets/plugins/*", { destination: "data/plugins/{name}" });
project.addAssets("assets/meshes/*", { destination: "data/meshes/{name}" });
project.addAssets("assets/meshes/*", { destination: "data/meshes/{name}", noembed: true });
project.addAssets("assets/readme/readme.txt", { destination: "{name}" });
project.flatten();
+3 -3
View File
@@ -11,13 +11,13 @@ project.addSources("../armorpaint/sources");
project.addSources("../armorpaint/sources/nodes");
project.addSources("sources");
project.addSources("sources/nodes");
project.addShaders("shaders/*.glsl", { embed: flags.embed });
project.addAssets("assets/*", { destination: "data/{name}", embed: flags.embed });
project.addShaders("shaders/*.glsl");
project.addAssets("assets/*", { destination: "data/{name}" });
project.addAssets("assets/keymap_presets/*", { destination: "data/keymap_presets/{name}" });
project.addAssets("assets/licenses/**", { destination: "data/licenses/{name}" });
project.addAssets("assets/plugins/*", { destination: "data/plugins/{name}" });
project.addAssets("../armorpaint/assets/plugins/hello_world.js", { destination: "data/plugins/{name}" });
project.addAssets("assets/meshes/*", { destination: "data/meshes/{name}" });
project.addAssets("assets/meshes/*", { destination: "data/meshes/{name}", noembed: true });
project.addAssets("assets/readme/readme.txt", { destination: "{name}" });
return project;
+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();
-106
View File
@@ -1,19 +1,6 @@
function main() {
// ///if (is_paint || is_sculpt)
// main_embed(["default_material.arm"]);
// ///end
// ///if is_lab
// main_embed(["placeholder.k"]);
// ///end
// ///if (iron_direct3d12 || iron_vulkan || iron_metal)
// main_embed_raytrace();
// ///if is_paint
// main_embed_raytrace_bake();
// ///end
// Used to locate external application data folder
iron_set_app_name(manifest_title);
config_load();
@@ -49,97 +36,4 @@ function main() {
base_init();
}
///if arm_embed
function main_embed(additional: string[]) {
let global: any = globalThis;
resource_embed_raw("Scene", "Scene.arm", global["data/Scene.arm"]);
global["data/Scene.arm"] = null;
resource_embed_raw("shader_datas", "shader_datas.arm", global["data/shader_datas.arm"]);
global["data/shader_datas.arm"] = null;
resource_embed_font("font.ttf", global["data/font.ttf"]);
global["data/font.ttf"] = null;
resource_embed_font("font_mono.ttf", global["data/font_mono.ttf"]);
global["data/font_mono.ttf"] = null;
let files: string[] = [
"ltc_mag.arm",
"ltc_mat.arm",
"default_brush.arm",
"World_irradiance.arm",
"World_radiance.k",
"World_radiance_0.k",
"World_radiance_1.k",
"World_radiance_2.k",
"World_radiance_3.k",
"World_radiance_4.k",
"World_radiance_5.k",
"World_radiance_6.k",
"World_radiance_7.k",
"World_radiance_8.k",
"brdf.k",
"color_wheel.k",
"color_wheel_gradient.k",
"cursor.k",
"icons.k",
"icons2x.k",
"badge.k",
"noise256.k",
"smaa_search.k",
"smaa_area.k",
"text_coloring.json",
"version.json"
];
for (let i: i32 = 0; i < additional.length; ++i) {
let add: string = additional[i];
array_push(files, add);
}
for (let i: i32 = 0; i < files.length; ++i) {
let file: string = files[i];
resource_embed_blob(file, global["data/" + file]);
global["data/" + file] = null;
}
}
///if (iron_direct3d12 || iron_vulkan || iron_metal)
function main_embed_raytrace() {
let global: any = globalThis;
let files: string[] = [
"bnoise_rank.k",
"bnoise_scramble.k",
"bnoise_sobol.k",
"raytrace_brute_core" + render_path_raytrace_ext,
"raytrace_brute_full" + render_path_raytrace_ext
];
for (let i: i32 = 0; i < files.length; ++i) {
let file: string = files[i];
resource_embed_blob(file, global["data/" + file]);
global["data/" + file] = null;
}
}
function main_embed_raytrace_bake() {
let global: any = globalThis;
let files: string[] = [
"raytrace_bake_ao" + render_path_raytrace_ext,
"raytrace_bake_bent" + render_path_raytrace_ext,
"raytrace_bake_light" + render_path_raytrace_ext,
"raytrace_bake_thick" + render_path_raytrace_ext
];
for (let i: i32 = 0; i < files.length; ++i) {
let file: string = files[i];
resource_embed_blob(file, global["data/" + file]);
global["data/" + file] = null;
}
}
///end
///end
main();
-16
View File
@@ -31,22 +31,6 @@ function resource_tile18(img: image_t, x: i32, y: i32): rect_t {
return r;
}
///if arm_embed
function resource_embed_raw(handle: string, name: string, file: buffer_t) {
map_set(data_cached_blobs, name, file);
data_get_scene_raw(handle);
map_delete(data_cached_blobs, name);
}
function resource_embed_blob(name: string, file: buffer_t) {
map_set(data_cached_blobs, name, file);
}
function resource_embed_font(name: string, file: buffer_t) {
map_set(data_cached_fonts, name, g2_font_create(file));
}
///end
type rect_t = {
x?: i32;
y?: i32;