src/scene.c

changeset 303
21ff357e773c
parent 292
25931abee09f
--- a/src/scene.c	Mon Apr 06 20:27:11 2026 +0200
+++ b/src/scene.c	Mon Apr 06 21:04:10 2026 +0200
@@ -43,7 +43,9 @@
 void asc_scene_init(AscScene *scene, const char *name, AscCamera *camera) {
     assert(scene->root == NULL);
     scene->camera = camera;
+    scene->nodes_dict = asc_scene_node_dict_create();
     scene->root = asc_scene_node_empty();
+    scene->root->dict = scene->nodes_dict;
     for (unsigned i = 0 ; i < ASC_RENDER_GROUP_COUNT ; i++) {
         scene->internal.render_groups[i] = cxArrayListCreate(NULL, CX_STORE_POINTERS, 32);
     }
@@ -61,6 +63,7 @@
         cxListFree(scene->internal.render_groups[i]);
         scene->internal.render_groups[i] = NULL;
     }
+    asc_scene_node_dict_free(scene->nodes_dict);
     asc_scene_node_free(scene->root);
     scene->root = NULL;
     asc_dprintf("Destroyed scene %"CX_PRIstr, CX_SFMT(scene->name));

mercurial