Thu, 21 Mar 2024 23:01:09 +0100
fix iteration order when drawing nodes
src/scene.c | file | annotate | diff | comparison | revisions |
1.1 --- a/src/scene.c Thu Mar 21 23:00:39 2024 +0100 1.2 +++ b/src/scene.c Thu Mar 21 23:01:09 2024 +0100 1.3 @@ -49,6 +49,13 @@ 1.4 ); 1.5 } 1.6 1.7 +static CxTreeVisitor asc_scene_node_visitor(AscSceneNode *node) { 1.8 + return cx_tree_visitor(node, 1.9 + offsetof(AscSceneNode, children), 1.10 + offsetof(AscSceneNode, next) 1.11 + ); 1.12 +} 1.13 + 1.14 void asc_scene_init(AscScene *scene) { 1.15 if (scene->root != NULL) { 1.16 asc_error("Scene is already initialized."); 1.17 @@ -95,7 +102,7 @@ 1.18 scene->rg_sprites_blended_size = 0; 1.19 1.20 // skip the root node deliberately, we know it's just the container 1.21 - CxTreeIterator iter = asc_scene_node_iterator(scene->root, false); 1.22 + CxTreeVisitor iter = asc_scene_node_visitor(scene->root); 1.23 cxIteratorNext(iter); 1.24 1.25 // update the children and add them to the render groups