48 lines
1.5 KiB
C++
48 lines
1.5 KiB
C++
#include "helper.h"
|
|
#include "c.h"
|
|
#include "ld.h"
|
|
#include "runner.h"
|
|
#include "tier1/utlstring.h"
|
|
#include "tier1/commandline.h"
|
|
|
|
void build_shader( const char *szName )
|
|
{
|
|
const char *szGameName = ICommandLine::ParamValue("-game");
|
|
if (szGameName == NULL)
|
|
szGameName = "funnygame";
|
|
IFileSystem2::MakeDirectory(CUtlString("build/%s/assets/gfx",szGameName));
|
|
|
|
CUtlVector<CUtlString> slang_args = {
|
|
CUtlString("funnyassets/gfx_shaders/%s.slang", szName),
|
|
"-o",
|
|
CUtlString("build/%s/assets/gfx/%s.spv", szGameName, szName),
|
|
};
|
|
|
|
IRunner::Run("slangc", slang_args);
|
|
|
|
};
|
|
|
|
int assets_build()
|
|
{
|
|
IFileSystem2::CopyDirectory("build", "tools");
|
|
const char *szGameName = ICommandLine::ParamValue("-game");
|
|
if (szGameName == NULL)
|
|
szGameName = "funnygame";
|
|
IFileSystem2::CopyDirectory(CUtlString("build/%s/assets",szGameName), "funnyassets/maps");
|
|
IFileSystem2::CopyDirectory(CUtlString("build/%s/assets",szGameName), "funnyassets/gfx");
|
|
IFileSystem2::CopyDirectory(CUtlString("build/%s/assets",szGameName), "funnyassets/textures");
|
|
IFileSystem2::CopyDirectory(CUtlString("build/%s/assets",szGameName), "funnyassets/materials");
|
|
build_shader("mesh_frag");
|
|
build_shader("mesh_vert");
|
|
build_shader("agx_comp");
|
|
build_shader("mesh_edge_detection_comp");
|
|
CUtlVector<CUtlString> python_args = {
|
|
"build/tools/makepak64.py",
|
|
CUtlString("build/%s/assets", szGameName),
|
|
CUtlString("build/%s/game/%s/%s.pak", szGameName, szGameName, "rtt"),
|
|
};
|
|
IRunner::Run("python", python_args);
|
|
return 0;
|
|
};
|
|
DECLARE_BUILD_STAGE(assets, assets_build);
|