diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-09-12 18:22:43 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-09-12 18:22:43 +0000 |
| commit | 44f8cf9519a45f732613d76fc09a97648fd6e1d7 (patch) | |
| tree | f112de28ae1fe62443e0ebf7a998255da4300867 /src/base/arena.c | |
| parent | 559fbf278ff86d803c466ff1be99c62476e7f62c (diff) | |
- oprava warnningov, ktore objavil scarabeus
git-svn-id: http://opensvn.csie.org/tuxanci_ng@280 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/base/arena.c')
| -rw-r--r-- | src/base/arena.c | 89 |
1 files changed, 55 insertions, 34 deletions
diff --git a/src/base/arena.c b/src/base/arena.c index 82c6c60..d8715e6 100644 --- a/src/base/arena.c +++ b/src/base/arena.c @@ -22,6 +22,29 @@ static arena_t *currentArena; static int splitType; +static int isBigArena(arena_t *arena) +{ + if( arena->w > WINDOW_SIZE_X || arena->h > WINDOW_SIZE_Y ) + { + return 1; + } + else + { + return 0; + } +} + +static int isTuxNear(tux_t *tux1, tux_t *tux2) +{ + if( abs(tux1->x - tux2->x) < WINDOW_SIZE_X && + abs(tux1->y - tux2->y) < WINDOW_SIZE_Y ) + { + return 1; + } + + return 0; +} + void setCurrentArena(arena_t *p) { currentArena = p; @@ -181,22 +204,33 @@ void getCenterScreen(int *screen_x, int *screen_y, int x, int y, int screen_size static void drawBackground(arena_t *arena, int screen_x, int screen_y) { - int i, j; - for( i = screen_y/arena->background->h ; - i <= screen_y/arena->background->h + WINDOW_SIZE_Y/arena->background->h+1 ; i++ ) + if( isBigArena(arena) ) { - for( j = screen_x/arena->background->w ; - j <= screen_x/arena->background->w + WINDOW_SIZE_X/arena->background->w+1 ; j++ ) + int i, j; + + for( i = screen_y/arena->background->h ; + i <= screen_y/arena->background->h + WINDOW_SIZE_Y/arena->background->h+1 ; i++ ) { - addLayer(arena->background, - j * arena->background->w, - i * arena->background->h, - 0, 0, arena->background->w, arena->background->h, -100); - - //count++; + for( j = screen_x/arena->background->w ; + j <= screen_x/arena->background->w + WINDOW_SIZE_X/arena->background->w+1 ; j++ ) + { + addLayer(arena->background, + j * arena->background->w, + i * arena->background->h, + 0, 0, arena->background->w, arena->background->h, -100); + + //count++; + } } } + else + { + addLayer(arena->background, + 0, 0, + 0, 0, + arena->background->w, arena->background->h, -100); + } } static void action_drawTux(space_t *space, tux_t *tux, void *p) @@ -240,6 +274,11 @@ static void drawSplitArenaForTux(arena_t *arena, tux_t *tux, int location_x, int case SCREEN_SPLIT_VERTICAL : getCenterScreen(&screen_x, &screen_y, tux->x, tux->y, WINDOW_SIZE_X/2, WINDOW_SIZE_Y); break; + default : + screen_x = -1; + screen_y = -1; + assert( ! "stupd error "); + break; } drawBackground(arena, screen_x, screen_y); @@ -253,6 +292,11 @@ static void drawSplitArenaForTux(arena_t *arena, tux_t *tux, int location_x, int case SCREEN_SPLIT_VERTICAL : drawLayerSplit(location_x, location_y, screen_x, screen_y, WINDOW_SIZE_X/2, WINDOW_SIZE_Y); break; + default : + screen_x = -1; + screen_y = -1; + assert( ! "stupd error "); + break; } } @@ -313,29 +357,6 @@ void drawSimpleArena(arena_t *arena) drawLayer(tux->x, tux->y); } -static int isBigArena(arena_t *arena) -{ - if( arena->w > WINDOW_SIZE_X || arena->h > WINDOW_SIZE_Y ) - { - return 1; - } - else - { - return 0; - } -} - -static int isTuxNear(tux_t *tux1, tux_t *tux2) -{ - if( abs(tux1->x - tux2->x) < WINDOW_SIZE_X && - abs(tux1->y - tux2->y) < WINDOW_SIZE_Y ) - { - return 1; - } - - return 0; -} - void drawArena(arena_t *arena) { if( isBigArena(arena) && |