summaryrefslogtreecommitdiffstats
path: root/matchblox/menu/menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'matchblox/menu/menu.c')
-rw-r--r--matchblox/menu/menu.c37
1 files changed, 35 insertions, 2 deletions
diff --git a/matchblox/menu/menu.c b/matchblox/menu/menu.c
index c92c2b8..8766ef8 100644
--- a/matchblox/menu/menu.c
+++ b/matchblox/menu/menu.c
@@ -7,9 +7,11 @@
#endif
#include <string.h>
-#include <GL/gl.h>
#include <GL/glut.h>
-#include <string.h>
+
+
+#include "message_queue.h"
+#include "message_input.h"
#include "menu.h"
#include "button.h"
@@ -251,6 +253,37 @@ void MenuRender(void)
} // MenuRender
+void MenuRun(void)
+{
+ struct messageq_s *message;
+ struct input_payload_keyboard *payload;
+
+ message = messageq_get(MESSAGE_MENU);
+ if (message) {
+ payload = message->payload;
+ printf("got a message! %c\n", (unsigned char)payload->key);
+ switch (payload->key) {
+ default:
+ case ' ':
+ MenuNext();
+ break;
+ case '0':
+ g_pCurMenu = &g_sMenuOff;
+ break;
+ case '1':
+ g_pCurMenu = &g_sMenuMain;
+ break;
+ case '2':
+ g_pCurMenu = &g_sMenuStart;
+ break;
+ case '3':
+ g_pCurMenu = &g_sMenuOptions;
+ break;
+ }
+ }
+}
+
+
int MenuCollision(struct ButtonStruct *f_sButton, int f_iXPos, int f_iYPos)
{
int l_bCollision;