summaryrefslogtreecommitdiff
path: root/src/screen/screen_mainMenu.c
diff options
context:
space:
mode:
authororoborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-06-28 16:38:35 +0000
committeroroborus <oroborus@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-06-28 16:38:35 +0000
commit2d776fcd61be168e1ff0ff2e4a5e71835e7cea19 (patch)
tree7cf274897bf540d5332d446f583ffd066e4e2e1d /src/screen/screen_mainMenu.c
parentb877ae23ac5d380ab3aa48d7724045cf4883b186 (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.c128
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);
+}
+