src/scene_node.c

changeset 211
f181205da2c9
parent 210
3021616e5772
--- a/src/scene_node.c	Thu Jul 17 19:50:34 2025 +0200
+++ b/src/scene_node.c	Thu Jul 17 20:13:25 2025 +0200
@@ -48,9 +48,7 @@
 
 AscSceneNode *asc_scene_node_empty(void) {
     AscSceneNode *node = cxZallocDefault(sizeof(AscSceneNode));
-    node->render_group = ASC_RENDER_GROUP_NONE;
-    asc_transform_identity(node->transform);
-    asc_transform_identity(node->world_transform);
+    asc_scene_node_init(node, .render_group = ASC_RENDER_GROUP_NONE);
     return node;
 }
 
@@ -88,9 +86,11 @@
         asc_scene_node_name(node, args.name);
     }
     node->render_group = args.render_group;
-    assert(args.update_func != NULL);
-    assert(args.draw_func != NULL);
-    assert(args.destroy_func != NULL);
+    if (args.render_group != ASC_RENDER_GROUP_NONE) {
+        assert(args.update_func != NULL);
+        assert(args.draw_func != NULL);
+        assert(args.destroy_func != NULL);
+    }
     node->update_func = args.update_func;
     node->destroy_func = args.destroy_func;
     node->draw_func = args.draw_func;

mercurial