From 8b93dd8dac51e28bb25ad341f594d21a955c3adb Mon Sep 17 00:00:00 2001 From: oroborus Date: Fri, 18 Jul 2008 19:19:10 +0000 Subject: - bezpecnejsie prepiannie screenov ( uz sa to nedeje v event() daneho screenu aj ked to on vyvolal ) - do laveho horneho rohu s nevypisuju blbiny - moduly pouzivaju funkcie actionSpace a actionSpaceFromLocation - dane funkcie sa pouzivaju aj pri vykreslovani objektov - btw. je jedno kolko zeru tuxanci top, na kerneli-2.6.25.* to zralo X a na kerneli 2.6.26 to zere 2*X git-svn-id: http://opensvn.csie.org/tuxanci_ng@159 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e --- src/base/arena.c | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) (limited to 'src/base/arena.c') diff --git a/src/base/arena.c b/src/base/arena.c index 5b069f1..4abf1f7 100644 --- a/src/base/arena.c +++ b/src/base/arena.c @@ -135,6 +135,21 @@ void getCenterScreen(int *screen_x, int *screen_y, int x, int y) #ifndef PUBLIC_SERVER +static void action_drawTux(space_t *space, tux_t *tux, void *p) +{ + drawTux(tux); +} + +static void action_drawItem(space_t *space, item_t *item, void *p) +{ + drawItem(item); +} + +static void action_drawShot(space_t *space, shot_t *shot, void *p) +{ + drawShot(shot); +} + void drawArena(arena_t *arena) { int screen_x, screen_y; @@ -168,17 +183,14 @@ void drawArena(arena_t *arena) } - listDoEmpty(listHelp); - getObjectFromSpace(arena->spaceTux, screen_x, screen_y, WINDOW_SIZE_X, WINDOW_SIZE_Y, listHelp); - drawListTux(listHelp); + actionSpaceFromLocation(arena->spaceTux, action_drawTux, NULL, + screen_x, screen_y, WINDOW_SIZE_X, WINDOW_SIZE_Y); - listDoEmpty(listHelp); - getObjectFromSpace(arena->spaceItem, screen_x, screen_y, WINDOW_SIZE_X, WINDOW_SIZE_Y, listHelp); - drawListItem(listHelp); + actionSpaceFromLocation(arena->spaceItem, action_drawItem, NULL, + screen_x, screen_y, WINDOW_SIZE_X, WINDOW_SIZE_Y); - listDoEmpty(listHelp); - getObjectFromSpace(arena->spaceShot, screen_x, screen_y, WINDOW_SIZE_X, WINDOW_SIZE_Y, listHelp); - drawListShot(listHelp); + actionSpaceFromLocation(arena->spaceShot, action_drawShot, NULL, + screen_x, screen_y, WINDOW_SIZE_X, WINDOW_SIZE_Y); //printSpace(arena->spaceShot); -- cgit v1.2.3