From 08cb8d6a585dd552b69a488d9db1be123f01467a Mon Sep 17 00:00:00 2001 From: tech kaczynski Date: Tue, 22 Sep 2026 22:38:57 +1000 Subject: initial commit. --- res.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 res.h (limited to 'res.h') diff --git a/res.h b/res.h new file mode 100644 index 0000000..6824842 --- /dev/null +++ b/res.h @@ -0,0 +1,43 @@ +#ifndef RES_H +#define RES_H + +#include "common.h" + +typedef struct { + Shader sdr; + map_t(int) uniforms; +} FunShader; + +typedef enum { + ASSET_TAG_INVALID, + ASSET_TAG_MODEL, + ASSET_TAG_TEXTURE, + ASSET_TAG_SOUND, + ASSET_TAG_FONT, +} AssetTag; + +typedef struct { + AssetTag tag; + union { + Model mdl; + Texture tex; + Sound snd; + Font fnt; + }; + char *path; + u32 path_strlen, ref_cnt; + bool loaded; +} Asset; + +void res_init(void); +void res_exit(void); +void res_update(void); + +Asset* asset_get(cstr key); +FunShader* shader_get(cstr key); + +void fun_shader_create(cstr key, cstr vpath, cstr fpath); +void fun_shader_delete(FunShader*); +int fun_shader_uniform(cstr skey, cstr ukey); + +#endif -- cgit v1.2.3