aboutsummaryrefslogtreecommitdiff
path: root/src/scene/scene.c
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2025-10-31 20:12:53 -0700
committer3gg <3gg@shellblade.net>2025-10-31 20:12:53 -0700
commit5b0bb98688343657c437fd755051ec6f22d82095 (patch)
treec95963a82aeda14143facce7c7d089bf791c71e9 /src/scene/scene.c
parentd3d2bc0c97e5bd29094e1031391ada2ffb0a7153 (diff)
Simplify Scene
Diffstat (limited to 'src/scene/scene.c')
-rw-r--r--src/scene/scene.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/scene/scene.c b/src/scene/scene.c
index 8c53810..52ddb58 100644
--- a/src/scene/scene.c
+++ b/src/scene/scene.c
@@ -7,19 +7,25 @@
7 7
8Scene* gfx_make_scene(void) { 8Scene* gfx_make_scene(void) {
9 Scene* scene = mem_alloc_scene(); 9 Scene* scene = mem_alloc_scene();
10 scene->root = gfx_make_node(); 10 scene->root = mem_get_node_index(gfx_make_node());
11 return scene; 11 return scene;
12} 12}
13 13
14void gfx_destroy_scene(Scene** scene) { 14void gfx_destroy_scene(Scene** scene) {
15 assert(scene); 15 assert(scene);
16 if (*scene) { 16 if (*scene) {
17 gfx_destroy_node(&(*scene)->root); 17 SceneNode* node = mem_get_node((*scene)->root);
18 gfx_destroy_node(&node);
18 mem_free_scene(scene); 19 mem_free_scene(scene);
19 } 20 }
20} 21}
21 22
22SceneNode* gfx_get_scene_root(Scene* scene) { 23const SceneNode* gfx_get_scene_root(const Scene* scene) {
23 assert(scene); 24 assert(scene);
24 return scene->root; 25 return mem_get_node(scene->root);
26}
27
28SceneNode* gfx_get_scene_root_mut(Scene* scene) {
29 assert(scene);
30 return (SceneNode*)gfx_get_scene_root(scene);
25} 31}