#include "DumperMaterialT6.h" #include "Game/T6/Material/JsonMaterialWriterT6.h" #include "Game/T6/Material/MaterialConstantZoneStateT6.h" #include "Material/MaterialCommon.h" #include using namespace T6; void AssetDumperMaterial::DumpPool(AssetDumpingContext& context, AssetPool* pool) { auto* materialConstantState = context.GetZoneAssetDumperState(); materialConstantState->ExtractNamesFromZone(); AbstractAssetDumper::DumpPool(context, pool); } bool AssetDumperMaterial::ShouldDump(XAssetInfo* asset) { return true; } void AssetDumperMaterial::DumpAsset(AssetDumpingContext& context, XAssetInfo* asset) { const auto assetFile = context.OpenAssetFile(material::GetFileNameForAssetName(asset->m_name)); if (!assetFile) return; const auto* material = asset->Asset(); assert(material->info.gameFlags < 0x8000); assert(material->info.hashIndex == 0); DumpMaterialAsJson(*assetFile, *material, context); }