--- a/demo/snake/snake.c Sun Nov 30 16:52:33 2025 +0100 +++ b/demo/snake/snake.c Wed Dec 31 17:50:20 2025 +0100 @@ -256,7 +256,7 @@ game.field->tile_data[x][y] = GAME_FIELD_TILE_EXISTS_FLAG; game.field->nodes[x][y] = tile; - asc_scene_node_link(node, tile); + asc_scene_node_add(node, tile); } } asc_scene_node_set_zindex(node, -2); @@ -274,13 +274,13 @@ asc_uniform_loc color; } PlayerShader; -static void player_shader_init(AscShaderProgram *p, cx_attr_unused int flags) { +static void player_shader_init(AscShaderProgram *p, CX_UNUSED int flags) { asc_shader_set_uniform_loc_by_name(p, PlayerShader, map_albedo); asc_shader_set_uniform_loc_by_name(p, PlayerShader, map_color); asc_shader_set_uniform_loc_by_name(p, PlayerShader, color); } -static AscShaderProgram *player_shader_create(cx_attr_unused int unused) { +static AscShaderProgram *player_shader_create(CX_UNUSED int unused) { return asc_shader_create((AscShaderCodes) { .vtx = {.source_file = "sprite_vtx.glsl"}, .frag = {.source_file = "player.glsl",}, @@ -484,8 +484,8 @@ player->number = 1; player->health = 100; player->color = ASC_RGB(1, 0, 0); - player->trace = cxLinkedListCreateSimple(sizeof(asc_vec2u)); - cxDefineDestructor(player->trace, player_trace_release_tile); + player->trace = cxLinkedListCreate(NULL, sizeof(asc_vec2u)); + cxSetDestructor(player->trace, player_trace_release_tile); node->draw_func = player_draw; node->user_data_free_func = (cx_destructor_func2)player_destroy;