#include "AssetDumperPixelShader.h" #include using namespace IW4; bool AssetDumperPixelShader::ShouldDump(XAssetInfo* asset) { return true; } void AssetDumperPixelShader::DumpAsset(AssetDumpingContext& context, XAssetInfo* asset) { const auto* pixelShader = asset->Asset(); std::ostringstream ss; ss << "shader_bin/ps_" << pixelShader->name << ".cso"; const auto shaderFile = context.OpenAssetFile(ss.str()); if (!shaderFile) return; shaderFile->write(reinterpret_cast(pixelShader->prog.loadDef.program), static_cast(pixelShader->prog.loadDef.programSize) * 4u); }