2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-01-19 15:01:49 +00:00

refactor: add AssetMarker headers to zcg marker template

This commit is contained in:
Jan Laupetin
2026-01-05 16:48:33 +00:00
parent 660f34df69
commit e7f126265d
15 changed files with 141 additions and 265 deletions

View File

@@ -11,22 +11,19 @@ namespace
{
constexpr int TAG_SOURCE = 1;
class Template final : BaseTemplate
class PerAsset final : BaseTemplate
{
public:
Template(std::ostream& stream, const OncePerAssetRenderingContext& context)
: BaseTemplate(stream, context)
PerAsset(std::ostream& stream, const OncePerAssetRenderingContext& context)
: BaseTemplate(stream),
m_env(context)
{
}
void Source()
{
LINE("// ====================================================================")
LINE("// This file has been generated by ZoneCodeGenerator.")
LINE("// Do not modify.")
LINE("// Any changes will be discarded when regenerating.")
LINE("// ====================================================================")
LINE("")
AddGeneratedHint();
LINEF("#include \"Game/{0}/{0}.h\"", m_env.m_game)
LINE("")
LINE("#include <catch2/catch_test_macros.hpp>")
@@ -78,6 +75,8 @@ namespace
m_intendation--;
LINE("}")
}
const OncePerAssetRenderingContext& m_env;
};
} // namespace
@@ -88,14 +87,14 @@ std::vector<CodeTemplateFile> AssetStructTestsTemplate::GetFilesToRenderOncePerA
auto assetName = context.m_asset->m_definition->m_name;
utils::MakeStringLowerCase(assetName);
files.emplace_back(std::format("{0}/{0}_struct_test.cpp", assetName), TAG_SOURCE);
files.emplace_back(std::format("XAssets/{0}/{0}_struct_test.cpp", assetName), TAG_SOURCE);
return files;
}
void AssetStructTestsTemplate::RenderOncePerAssetFile(std::ostream& stream, const CodeTemplateFileTag fileTag, const OncePerAssetRenderingContext& context)
{
Template t(stream, context);
PerAsset t(stream, context);
assert(fileTag == TAG_SOURCE);
if (fileTag == TAG_SOURCE)