diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-03-01 21:30:00 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-03-01 21:30:00 +0000 |
| commit | 8a14d60d2078b4bcdfc789b1b9794e2008979f02 (patch) | |
| tree | a6095da867303ec71fed55a952ecd45fc0835417 /src/screen_choiceArena.c | |
| parent | f5258aed755575c1abf269348e4e335cdcb17a3b (diff) | |
- screen na vyberanie aren
- areny z povodnych tuxancov boli prescriptovane do tuxanci-ng, treba este dopisat teleporty a rury
git-svn-id: http://opensvn.csie.org/tuxanci_ng@7 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/screen_choiceArena.c')
| -rw-r--r-- | src/screen_choiceArena.c | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/src/screen_choiceArena.c b/src/screen_choiceArena.c new file mode 100644 index 0000000..c3637f1 --- /dev/null +++ b/src/screen_choiceArena.c @@ -0,0 +1,165 @@ + +#include <stdio.h> +#include <assert.h> + +#include "main.h" +#include "interface.h" +#include "list.h" +#include "screen.h" +#include "image.h" +#include "music.h" +#include "arenaFile.h" +#include "screen_mainMenu.h" +#include "screen_choiceArena.h" + +#include "widget_label.h" +#include "widget_button.h" +#include "widget_image.h" +#include "widget_buttonimage.h" + +static widget_image_t *image_backgorund; + +static widget_button_t *button_play; +static widget_button_t *button_back; + +static list_t *listWidgetButtonimage; +static int choiceArenaId; + +void startScreenChoiceArena() +{ + playMusic("menu", MUSIC_GROUP_BASE); +} + +void drawScreenChoiceArena() +{ + int i; + + drawWidgetImage(image_backgorund); + + drawWidgetButton(button_play); + drawWidgetButton(button_back); + + for( i = 0 ; i < listWidgetButtonimage->count ; i++ ) + { + widget_buttonimage_t *this; + this = (widget_buttonimage_t *) listWidgetButtonimage->list[i]; + drawWidgetButtonimage(this); + } +} + +void eventScreenChoiceArena() +{ + int i; + + eventWidgetButton(button_play); + eventWidgetButton(button_back); + + for( i = 0 ; i < listWidgetButtonimage->count ; i++ ) + { + widget_buttonimage_t *this; + this = (widget_buttonimage_t *) listWidgetButtonimage->list[i]; + eventWidgetButtonimage(this); + } +} + +void stopScreenChoiceArena() +{ +} + +static void eventWidgetButtonImage(void *p) +{ + widget_buttonimage_t *buttonimage; + int i; + + buttonimage = (widget_buttonimage_t *)(p); + + for( i = 0 ; i < listWidgetButtonimage->count ; i++ ) + { + widget_buttonimage_t *this; + + this = (widget_buttonimage_t *)(listWidgetButtonimage->list[i]); + + if( buttonimage == this ) + { + this->active = 1; + choiceArenaId = i; + } + else + { + this->active = 0; + } + } +} + +int getChoiceArenaId() +{ + return choiceArenaId; +} + +static void eventWidget(void *p) +{ + widget_button_t *button; + + button = (widget_button_t *)(p); + + if( button == button_play ) + { + setScreen("world"); + } + + if( button == button_back ) + { + setScreen("gameType"); + } +} + +void initScreenChoiceArena() +{ + SDL_Surface *image; + int i; + + image = addImageData("screen_main.png", IMAGE_NO_ALPHA, "screen_main", IMAGE_GROUP_BASE); + image_backgorund = newWidgetImage(0, 0, image); + + button_back = newWidgetButton("Back", 100, WINDOW_SIZE_Y-100, eventWidget); + button_play = newWidgetButton("Play", WINDOW_SIZE_X-200, WINDOW_SIZE_Y-100, eventWidget); + + addMusic("menu.ogg", "menu", MUSIC_GROUP_BASE); + + registerScreen( newScreen("chiceArena", startScreenChoiceArena, eventScreenChoiceArena, + drawScreenChoiceArena, stopScreenChoiceArena) ); + + listWidgetButtonimage = newList(); + choiceArenaId = 0; + + for( i = 0 ; i < getArenaCount() ; i++ ) + { + SDL_Surface *image; + widget_buttonimage_t *widget_buttonimage; + int x, y; + + image = addImageData(getArenaImage(i), IMAGE_NO_ALPHA, "none", IMAGE_GROUP_BASE); + + x = 100 + 200 * ( i - 3 * ( i/3 ) ); + y = 150 + 200*(i/3); + + widget_buttonimage = newWidgetButtonimage(image, + x, y, eventWidgetButtonImage); + + if( i == choiceArenaId ) + { + widget_buttonimage->active = 1; + } + + addList( listWidgetButtonimage, widget_buttonimage); + } +} + +void quitScreenChoiceArena() +{ + destroyWidgetImage(image_backgorund); + + destroyWidgetButton(button_play); + destroyWidgetButton(button_back); +} + |