summaryrefslogtreecommitdiff
path: root/tools/asset_packer.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-08 07:00:28 +0100
committerskal <pascal.massimino@gmail.com>2026-02-08 07:00:28 +0100
commit1bc1cf8cd2c66bbae615a5ddba883b7cd55bd67f (patch)
tree15d989e9ff31c1a691bfaa840f661f3eed92a6b2 /tools/asset_packer.cc
parentef3839ac767057d80feb55aaaf3f4ededfe69e91 (diff)
feat(3d): Implement Blender export and binary scene loading pipeline
Diffstat (limited to 'tools/asset_packer.cc')
-rw-r--r--tools/asset_packer.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/asset_packer.cc b/tools/asset_packer.cc
index 32742bd..42dfa7a 100644
--- a/tools/asset_packer.cc
+++ b/tools/asset_packer.cc
@@ -127,6 +127,7 @@ int main(int argc, char* argv[]) {
fprintf(
assets_data_cc_file,
"// This file is auto-generated by asset_packer.cc. Do not edit.\n\n");
+ fprintf(assets_data_cc_file, "#include <cstring>\n");
fprintf(assets_data_cc_file, "#include \"util/asset_manager.h\"\n");
fprintf(assets_data_cc_file, "#include \"%s\"\n",
generated_header_name.c_str());
@@ -499,6 +500,14 @@ int main(int argc, char* argv[]) {
fprintf(assets_data_cc_file, " return %zu;\n", asset_build_infos.size());
fprintf(assets_data_cc_file, "}\n\n");
+ fprintf(assets_data_cc_file, "AssetId GetAssetIdByName(const char* name) {\n");
+ for (const auto& info : asset_build_infos) {
+ fprintf(assets_data_cc_file, " if (std::strcmp(name, \"%s\") == 0) return AssetId::ASSET_%s;\n",
+ info.name.c_str(), info.name.c_str());
+ }
+ fprintf(assets_data_cc_file, " return AssetId::ASSET_LAST_ID;\n");
+ fprintf(assets_data_cc_file, "}\n\n");
+
std::fclose(assets_data_cc_file);
printf("Asset packer successfully generated records for %zu assets.\n",