techkaczynski.dev / code

summaryrefslogtreecommitdiff
path: root/ent.h
diff options
context:
space:
mode:
authortech kaczynski <tk@techkaczynski.dev>2026-10-22 06:17:20 +1000
committertech kaczynski <tk@techkaczynski.dev>2026-10-22 06:17:20 +1000
commitf5259b6c44b5902a0ca35de113fe16b9275ea13e (patch)
treede42321bd5148bf8c87fc288a8bfd6c26e812bbc /ent.h
parent6bdb9fa5f2214f816b4195922b0b2b85f667e364 (diff)
added scene stats to default layout.
Diffstat (limited to 'ent.h')
-rw-r--r--ent.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/ent.h b/ent.h
index 81ac395..0b6a1bc 100644
--- a/ent.h
+++ b/ent.h
@@ -6,14 +6,6 @@
#define ENTITY_INVALID_IDX UINT32_MAX
-// typedef enum {
-// ENT_COMP_TRANSFORM,
-// ENT_COMP_MODEL,
-// ENT_COMP_PHYSICS,
-// ENT_COMP_EDITOR,
-// ENT_COMP_CNT,
-// } EntityComponentType;
-
typedef struct {
u64 parent;
u64 first_child;
@@ -23,9 +15,21 @@ typedef struct {
Quaternion rot;
} TransformCmp;
+typedef enum {
+ MAT_PROP_TEXTURE,
+ MAT_PROP_SHADER,
+} MaterialProperty;
+
+typedef struct {
+ char *tex_key;
+ char *shader_key;
+} MaterialOverride;
+
typedef struct {
char *key;
Model *mdl;
+ MaterialOverride *materials;
+ u32 mat_cnt;
bool has, draw;
} ModelCmp;
@@ -97,6 +101,10 @@ Quaternion entity_world_rot(u64 id);
void entity_set_world_pos(Entity*, Vec3);
void entity_set_world_rot(Entity*, Quaternion);
+/* model component data */
+ModelCmp entity_model_copy(const ModelCmp*);
+void entity_model_free(ModelCmp*);
+
/* physics component data */
PhysicsCmp entity_physics_copy(const PhysicsCmp*);
void entity_physics_build(u64 id);