diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-08-22 16:37:04 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-08-22 16:37:04 +0000 |
| commit | b56004caaa4e1c2b682e5f3391239321acc41b8a (patch) | |
| tree | f41e23c631b06ca160ff10717ce6ab702ccf06d7 /src/base/arena.c | |
| parent | 1e656ce31aca56aa802245b220850ebba6672d93 (diff) | |
- moznost nastavit ako sa ma screen splitnut tuxanci-svn --split-vertical alebo tuxanci-svn --split-horizontal
git-svn-id: http://opensvn.csie.org/tuxanci_ng@239 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/base/arena.c')
| -rw-r--r-- | src/base/arena.c | 50 |
1 files changed, 46 insertions, 4 deletions
diff --git a/src/base/arena.c b/src/base/arena.c index 1284e95..3a72eba 100644 --- a/src/base/arena.c +++ b/src/base/arena.c @@ -18,6 +18,7 @@ #endif static arena_t *currentArena; +static int splitType; void setCurrentArena(arena_t *p) { @@ -29,6 +30,23 @@ arena_t* getCurrentArena() return currentArena; } +void initArena() +{ + splitType = SCREEN_SPLIT_VERTICAL; + + if( getParam("--split-vertical") ) + { + splitType = SCREEN_SPLIT_VERTICAL; + printf("SCREEN_SPLIT_VERTICAL\n"); + } + + if( getParam("--split-horizontal") ) + { + splitType = SCREEN_SPLIT_HORIZONTAL; + printf("SCREEN_SPLIT_HORIZONTAL\n"); + } +} + arena_t* newArena(int w, int h) { arena_t *new; @@ -191,12 +209,28 @@ static void drawSplitArenaForTux(arena_t *arena, tux_t *tux, int location_x, int { int screen_x, screen_y; - getCenterScreen(&screen_x, &screen_y, tux->x, tux->y, WINDOW_SIZE_X/2, WINDOW_SIZE_Y); - + switch( splitType ) + { + case SCREEN_SPLIT_HORIZONTAL : + getCenterScreen(&screen_x, &screen_y, tux->x, tux->y, WINDOW_SIZE_X, WINDOW_SIZE_Y/2); + break; + case SCREEN_SPLIT_VERTICAL : + getCenterScreen(&screen_x, &screen_y, tux->x, tux->y, WINDOW_SIZE_X/2, WINDOW_SIZE_Y); + break; + } + drawBackground(arena, screen_x, screen_y); drawObjects(arena, screen_x, screen_y); - drawLayerSplit(location_x, location_y, screen_x, screen_y, WINDOW_SIZE_X/2, WINDOW_SIZE_Y); + switch( splitType ) + { + case SCREEN_SPLIT_HORIZONTAL : + drawLayerSplit(location_x, location_y, screen_x, screen_y, WINDOW_SIZE_X, WINDOW_SIZE_Y/2); + break; + case SCREEN_SPLIT_VERTICAL : + drawLayerSplit(location_x, location_y, screen_x, screen_y, WINDOW_SIZE_X/2, WINDOW_SIZE_Y); + break; + } } void drawSplitArena(arena_t *arena) @@ -207,7 +241,15 @@ void drawSplitArena(arena_t *arena) if( tux != NULL ) { - drawSplitArenaForTux(arena, tux, WINDOW_SIZE_X/2, 0); + switch( splitType ) + { + case SCREEN_SPLIT_HORIZONTAL : + drawSplitArenaForTux(arena, tux, 0, WINDOW_SIZE_Y/2); + break; + case SCREEN_SPLIT_VERTICAL : + drawSplitArenaForTux(arena, tux, WINDOW_SIZE_X/2, 0); + break; + } } tux = getControlTux(TUX_CONTROL_KEYBOARD_LEFT); |