diff options
Diffstat (limited to 'tools/asset_packer.cc')
| -rw-r--r-- | tools/asset_packer.cc | 9 |
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", |
