mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-23 01:25:51 +00:00
26 lines
700 B
C++
26 lines
700 B
C++
#include "AssetDumperVertexShader.h"
|
|
|
|
#include <sstream>
|
|
|
|
using namespace IW4;
|
|
|
|
bool AssetDumperVertexShader::ShouldDump(XAssetInfo<MaterialVertexShader>* asset)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
void AssetDumperVertexShader::DumpAsset(AssetDumpingContext& context, XAssetInfo<MaterialVertexShader>* asset)
|
|
{
|
|
const auto* vertexShader = asset->Asset();
|
|
|
|
std::ostringstream ss;
|
|
ss << "shader_bin/vs_" << vertexShader->name << ".cso";
|
|
|
|
const auto shaderFile = context.OpenAssetFile(ss.str());
|
|
|
|
if (!shaderFile)
|
|
return;
|
|
|
|
shaderFile->write(reinterpret_cast<const char*>(vertexShader->prog.loadDef.program), static_cast<std::streamsize>(vertexShader->prog.loadDef.programSize) * 4u);
|
|
}
|