37 lines
1.0 KiB
C
37 lines
1.0 KiB
C
#include "god/slang.h"
|
|
#include "god/utils.h"
|
|
#include "god/common.h"
|
|
|
|
void build_shader(char *name, enum slang_stage stage)
|
|
{
|
|
struct slang_settings shadercc = {
|
|
.entry = string_clone("funnyassets/gfx_shaders/%s.slang", name),
|
|
.stage = stage,
|
|
.output_type = SLANG_OUTPUT_SPIRV,
|
|
};
|
|
char *file = slang_compile(shadercc);
|
|
mv(string_clone("funnyassets/_rtt/gfx/%s.spv",name),file);
|
|
};
|
|
|
|
void makepak(char *name)
|
|
{
|
|
struct run_project rp = run_new("python");
|
|
run_add_arg(&rp, "tools/makepak64.py");
|
|
run_add_arg(&rp, string_clone("funnyassets/_%s",name));
|
|
run_add_arg(&rp, string_clone("build/"GAME_NAME"/game/"GAME_NAME"/%s.pak", name));
|
|
run_run(&rp);
|
|
};
|
|
|
|
void assets_build(struct build_data b)
|
|
{
|
|
remove("funnyassets/_rtt");
|
|
makedir("funnyassets/_rtt/gfx");
|
|
build_shader("brush_frag", SLANG_STAGE_FRAGMENT);
|
|
build_shader("brush_vert", SLANG_STAGE_VERTEX);
|
|
mv("funnyassets/_rtt/","funnyassets/maps");
|
|
mv("funnyassets/_rtt/","funnyassets/gfx");
|
|
mv("funnyassets/_rtt/","funnyassets/textures");
|
|
mv("funnyassets/_rtt/","funnyassets/materials");
|
|
makepak("rtt");
|
|
}
|