2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-05-25 02:51:43 +00:00

chore: enable techset debugging on dumper creation level

This commit is contained in:
Jan Laupetin
2026-02-28 15:27:03 +01:00
parent 38cb7d3759
commit 5ab3fd7ca0
8 changed files with 60 additions and 28 deletions
+7 -1
View File
@@ -18,7 +18,13 @@ void ObjWriter::RegisterAssetDumpers(AssetDumpingContext& context)
// REGISTER_DUMPER(AssetDumperXAnimParts, m_xanim_parts)
RegisterAssetDumper(std::make_unique<xmodel::DumperT5>());
RegisterAssetDumper(std::make_unique<material::JsonDumperT5>());
RegisterAssetDumper(std::make_unique<techset::DumperT5>());
RegisterAssetDumper(std::make_unique<techset::DumperT5>(
#ifdef TECHSET_DEBUG
true
#else
false
#endif
));
RegisterAssetDumper(std::make_unique<image::DumperT5>());
// REGISTER_DUMPER(AssetDumperSndBank, m_sound_bank)
// REGISTER_DUMPER(AssetDumperSndPatch, m_sound_patch)
@@ -209,7 +209,7 @@ namespace
return commonTechnique;
}
void DumpTechniques(AssetDumpingContext& context, const MaterialTechniqueSet& techset)
void DumpTechniques(AssetDumpingContext& context, const MaterialTechniqueSet& techset, const bool debug)
{
auto* techniqueState = context.GetZoneAssetDumperState<techset::TechniqueDumpingZoneState>();
const auto* materialConstantState = context.GetZoneAssetDumperState<MaterialConstantZoneState>();
@@ -220,7 +220,7 @@ namespace
const auto commonTechnique = ConvertToCommonTechnique(*technique);
techset::DumpCommonTechnique(
context, commonTechnique, techset::DxVersion::DX9, commonCodeSourceInfos, commonRoutingInfos, *materialConstantState);
context, commonTechnique, techset::DxVersion::DX9, commonCodeSourceInfos, commonRoutingInfos, *materialConstantState, debug);
}
}
}
@@ -250,6 +250,11 @@ namespace
namespace techset
{
DumperT5::DumperT5(const bool debug)
: m_debug(debug)
{
}
void DumperT5::Dump(AssetDumpingContext& context)
{
context.GetZoneAssetDumperState<MaterialConstantZoneState>()->EnsureInitialized();
@@ -260,7 +265,7 @@ namespace techset
{
const auto* techniqueSet = asset.Asset();
DumpTechset(context, *techniqueSet);
DumpTechniques(context, *techniqueSet);
DumpTechniques(context, *techniqueSet, m_debug);
DumpShaders(context, *techniqueSet);
}
} // namespace techset
@@ -8,9 +8,14 @@ namespace techset
class DumperT5 final : public AbstractAssetDumper<T5::AssetTechniqueSet>
{
public:
explicit DumperT5(bool debug);
void Dump(AssetDumpingContext& context) override;
protected:
void DumpAsset(AssetDumpingContext& context, const XAssetInfo<T5::AssetTechniqueSet::Type>& asset) override;
private:
bool m_debug;
};
} // namespace techset
+7 -1
View File
@@ -35,7 +35,13 @@ void ObjWriter::RegisterAssetDumpers(AssetDumpingContext& context)
// REGISTER_DUMPER(AssetDumperXAnimParts, m_xanim_parts)
RegisterAssetDumper(std::make_unique<xmodel::DumperT6>());
RegisterAssetDumper(std::make_unique<material::JsonDumperT6>());
RegisterAssetDumper(std::make_unique<techset::DumperT6>());
RegisterAssetDumper(std::make_unique<techset::DumperT6>(
#ifdef TECHSET_DEBUG
true
#else
false
#endif
));
RegisterAssetDumper(std::make_unique<image::DumperT6>());
RegisterAssetDumper(std::make_unique<sound::SndBankDumperT6>());
// REGISTER_DUMPER(AssetDumperSndPatch, m_sound_patch)
@@ -260,7 +260,7 @@ namespace
return commonTechnique;
}
void DumpTechniques(AssetDumpingContext& context, const MaterialTechniqueSet& techset)
void DumpTechniques(AssetDumpingContext& context, const MaterialTechniqueSet& techset, const bool debug)
{
auto* techniqueState = context.GetZoneAssetDumperState<techset::TechniqueDumpingZoneState>();
const auto* materialConstantState = context.GetZoneAssetDumperState<MaterialConstantZoneState>();
@@ -271,7 +271,7 @@ namespace
const auto commonTechnique = ConvertToCommonTechnique(*technique);
techset::DumpCommonTechnique(
context, commonTechnique, techset::DxVersion::DX11, commonCodeSourceInfos, commonRoutingInfos, *materialConstantState);
context, commonTechnique, techset::DxVersion::DX11, commonCodeSourceInfos, commonRoutingInfos, *materialConstantState, debug);
}
}
}
@@ -300,6 +300,11 @@ namespace
namespace techset
{
DumperT6::DumperT6(const bool debug)
: m_debug(debug)
{
}
void DumperT6::Dump(AssetDumpingContext& context)
{
context.GetZoneAssetDumperState<MaterialConstantZoneState>()->EnsureInitialized();
@@ -310,7 +315,7 @@ namespace techset
{
const auto* techniqueSet = asset.Asset();
DumpTechset(context, *techniqueSet);
DumpTechniques(context, *techniqueSet);
DumpTechniques(context, *techniqueSet, m_debug);
DumpShaders(context, *techniqueSet);
}
} // namespace techset
@@ -8,9 +8,14 @@ namespace techset
class DumperT6 final : public AbstractAssetDumper<T6::AssetTechniqueSet>
{
public:
explicit DumperT6(bool debug);
void Dump(AssetDumpingContext& context) override;
protected:
void DumpAsset(AssetDumpingContext& context, const XAssetInfo<T6::AssetTechniqueSet::Type>& asset) override;
private:
bool m_debug;
};
} // namespace techset