From 1a0886d852bb8a0d9428dc6f54c1e503d06073a0 Mon Sep 17 00:00:00 2001 From: Oxore Date: Sun, 28 Jul 2019 21:23:27 +0300 Subject: Refactor idlist, move all global vars to local scope - Replace list_foreach with LIST_FOREACH macro. - Remove `game` global variable and make it local everywhere. - Move global vars `fld`, `nxt` and `texts` into `game` struct. - Add `static` qualifier to engine.c's specific global vars. - Move `sfRenderWindow window` global var to local scope --- src/painter.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/painter.c') diff --git a/src/painter.c b/src/painter.c index a9029b1..5c4a0db 100644 --- a/src/painter.c +++ b/src/painter.c @@ -248,7 +248,11 @@ static void draw_drawable(void *obj) void painter_draw() { sfRenderWindow_clear(window, (sfColor)UIBGCOLOR); - list_foreach(drawables, draw_drawable); + + LIST_FOREACH(drawables, drawable) { + draw_drawable(drawable->obj); + } + sfRenderWindow_display(window); } @@ -278,7 +282,10 @@ void painter_destroy_drawable(size_t id) void painter_destroy_drawables() { - list_foreach(drawables, destroy_drawable); + LIST_FOREACH(drawables, drawable) { + destroy_drawable(drawable->obj); + } + list_destroy(drawables); drawables = 0; } -- cgit v1.2.3