refactor: generate asset code once per asset/variant combination

This commit is contained in:
Jan Laupetin committed 2026-10-22 20:01:04 +02:00
1 parent bf88f781d3
commit 367c87bdea
12 files changed
+380 -312

No files matched your search

@@ -32,7 +32,11 @@ namespace
for (const auto* asset : m_env.m_assets)
{
LINEF("#include \"Game/{0}/XAssets/{1}/{1}_{2}_write_db.h\"", m_env.m_game, Lower(asset->m_definition->m_name), Lower(m_env.m_game))
LINEF("#include \"Game/{0}/XAssets/{1}/{1}_{2}_{3}_write_db.h\"",
m_env.m_game,
Lower(asset->m_definition->m_name),
Lower(m_env.m_game),
Lower(m_env.m_variant->m_name))
}
}
@@ -157,7 +161,7 @@ namespace
{
AddGeneratedHint();
LINEF("#include \"{0}_{1}_write_db.h\"", Lower(m_env.m_asset->m_definition->m_name), Lower(m_env.m_game))
LINEF("#include \"{0}_{1}_{2}_write_db.h\"", Lower(m_env.m_asset->m_definition->m_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
if (!m_env.m_referenced_assets.empty())
{
@@ -165,7 +169,7 @@ namespace
LINE("// Referenced Assets:")
for (const auto* type : m_env.m_referenced_assets)
{
LINEF("#include \"../{0}/{0}_{1}_write_db.h\"", Lower(type->m_type->m_name), Lower(m_env.m_game))
LINEF("#include \"../{0}/{0}_{1}_{2}_write_db.h\"", Lower(type->m_type->m_name), Lower(m_env.m_game), Lower(m_env.m_variant->m_name))
}
}
@@ -1666,8 +1670,11 @@ std::vector<CodeTemplateFile> ZoneWriteTemplate::GetFilesToRenderOncePerAsset(co
auto gameName = context.m_game;
utils::MakeStringLowerCase(gameName);
files.emplace_back(std::format("XAssets/{0}/{0}_{1}_write_db.h", assetName, gameName), TAG_HEADER);
files.emplace_back(std::format("XAssets/{0}/{0}_{1}_write_db.cpp", assetName, gameName), TAG_SOURCE);
auto variantName = context.m_variant->m_name;
utils::MakeStringLowerCase(variantName);
files.emplace_back(std::format("XAssets/{0}/{0}_{1}_{2}_write_db.h", assetName, gameName, variantName), TAG_HEADER);
files.emplace_back(std::format("XAssets/{0}/{0}_{1}_{2}_write_db.cpp", assetName, gameName, variantName), TAG_SOURCE);
return files;
}