introduces ios support? still needs metal

This commit is contained in:
2025-06-29 01:21:55 +03:00
parent af4f0c3cad
commit cdeaac7c0c
79 changed files with 2176 additions and 1349 deletions

View File

@@ -1,39 +0,0 @@
#include "god/build.h"
#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(struct build_data b, 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);
build_shader("mesh_frag", SLANG_STAGE_FRAGMENT);
build_shader("mesh_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(b, "rtt");
}

View File

@@ -7,15 +7,12 @@
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));
IFileSystem2::MakeDirectory(CUtlString("build/funnygame/assets/gfx"));
CUtlVector<CUtlString> slang_args = {
CUtlString("funnyassets/gfx_shaders/%s.slang", szName),
"-o",
CUtlString("build/%s/assets/gfx/%s.spv", szGameName, szName),
CUtlString("build/funnygame/assets/gfx/%s.spv", szName),
};
IRunner::Run("slangc", slang_args);
@@ -25,21 +22,19 @@ void build_shader( const char *szName )
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");
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/maps");
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/gfx");
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "funnyassets/textures");
IFileSystem2::CopyDirectory(CUtlString("build/funnygame/assets"), "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"),
CUtlString("build/funnygame/assets"),
CUtlString("%s/funnygame/%s.pak", szOutputDir.GetString(), "rtt"),
};
IRunner::Run("python", python_args);
return 0;

Binary file not shown.

View File

@@ -261849,5 +261849,5 @@
}
{
"classname" "info_player_start"
"origin" "10 -50 20"
"origin" "10 -50 3"
}