diff options
| author | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-06-28 16:38:35 +0000 |
|---|---|---|
| committer | oroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-06-28 16:38:35 +0000 |
| commit | 2d776fcd61be168e1ff0ff2e4a5e71835e7cea19 (patch) | |
| tree | 7cf274897bf540d5332d446f583ffd066e4e2e1d /src/screen/screen_mainMenu.c | |
| parent | b877ae23ac5d380ab3aa48d7724045cf4883b186 (diff) | |
- prekopanie adresarovej struktury, prva cast
git-svn-id: http://opensvn.csie.org/tuxanci_ng@77 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/screen/screen_mainMenu.c')
| -rw-r--r-- | src/screen/screen_mainMenu.c | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/src/screen/screen_mainMenu.c b/src/screen/screen_mainMenu.c new file mode 100644 index 0000000..bd3886f --- /dev/null +++ b/src/screen/screen_mainMenu.c @@ -0,0 +1,128 @@ + +#include <stdio.h> +#include <assert.h> + +#include "base/main.h" + +#include "client/game.h" +#include "client/interface.h" +#include "client/language.h" +#include "client/screen.h" +#include "client/image.h" + +#ifndef NO_SOUND +#include "audio/music.h" +#endif + +#include "screen/screen_mainMenu.h" +#include "screen/screen_setting.h" + +#include "widget/widget_label.h" +#include "widget/widget_button.h" +#include "widget/widget_textfield.h" +#include "widget/widget_check.h" +#include "widget/widget_image.h" + +static widget_image_t *image_backgorund; + +static widget_button_t *button_play; +static widget_button_t *button_setting; +static widget_button_t *button_table; +static widget_button_t *button_credits; +static widget_button_t *button_end; + +void startScreenMainMenu() +{ +#ifndef NO_SOUND + playMusic("menu", MUSIC_GROUP_BASE); +#endif +} + +void drawScreenMainMenu() +{ + drawWidgetImage(image_backgorund); + + drawWidgetButton(button_play); + drawWidgetButton(button_setting); + drawWidgetButton(button_table); + drawWidgetButton(button_credits); + drawWidgetButton(button_end); +} + +void eventScreenMainMenu() +{ + eventWidgetButton(button_play); + eventWidgetButton(button_setting); + eventWidgetButton(button_table); + eventWidgetButton(button_credits); + eventWidgetButton(button_end); +} + +void stopScreenMainMenu() +{ +} + +static void eventWidget(void *p) +{ + widget_button_t *button; + + button = (widget_button_t *)(p); + + if( button == button_play ) + { + setScreen("gameType"); + } + + if( button == button_setting ) + { + setScreen("setting"); + } + + if( button == button_table ) + { + setScreen("table"); + } + + if( button == button_credits ) + { + setScreen("credits"); + } + + if( button == button_end ) + { + quitGame(); + } +} + +void initScreenMainMenu() +{ + SDL_Surface *image; + + image = addImageData("screen_main.png", IMAGE_NO_ALPHA, "screen_main", IMAGE_GROUP_BASE); + image_backgorund = newWidgetImage(0, 0, image); + + button_play = newWidgetButton(getMyText("PLAY"), WINDOW_SIZE_X/2 -WIDGET_BUTTON_WIDTH/2, 200, eventWidget); + button_setting = newWidgetButton(getMyText("SETTING"), WINDOW_SIZE_X/2 -WIDGET_BUTTON_WIDTH/2, 250, eventWidget); + button_table = newWidgetButton(getMyText("TABLE"), WINDOW_SIZE_X/2 -WIDGET_BUTTON_WIDTH/2, 300, eventWidget); + button_credits = newWidgetButton(getMyText("CREDITS"), WINDOW_SIZE_X/2 -WIDGET_BUTTON_WIDTH/2, 350, eventWidget); + button_end = newWidgetButton(getMyText("END"), WINDOW_SIZE_X/2 -WIDGET_BUTTON_WIDTH/2, 400, eventWidget); + +#ifndef NO_SOUND + addMusic("menu.ogg", "menu", MUSIC_GROUP_BASE); +#endif + + registerScreen( newScreen("mainMenu", startScreenMainMenu, eventScreenMainMenu, + drawScreenMainMenu, stopScreenMainMenu) ); +} + +void quitScreenMainMenu() +{ + destroyWidgetImage(image_backgorund); + + destroyWidgetButton(button_play); + destroyWidgetButton(button_setting); + destroyWidgetButton(button_table); + destroyWidgetButton(button_credits); + destroyWidgetButton(button_end); +} + |