-// platform specific things for common menu code
+/* random common definitions */
-#ifdef __GP2X__
-#include "../gp2x/gp2x.h"
+#define PBTN_UP (1 << 0)
+#define PBTN_DOWN (1 << 1)
+#define PBTN_LEFT (1 << 2)
+#define PBTN_RIGHT (1 << 3)
-#define BTN_UP GP2X_UP
-#define BTN_DOWN GP2X_DOWN
-#define BTN_LEFT GP2X_LEFT
-#define BTN_RIGHT GP2X_RIGHT
+#define PBTN_MOK (1 << 4)
+#define PBTN_MBACK (1 << 5)
+#define PBTN_MA2 (1 << 6) /* menu action 2 */
+#define PBTN_MA3 (1 << 7)
-#define BTN_NORTH GP2X_Y
-#define BTN_SOUTH GP2X_X
-#define BTN_WEST GP2X_A
-#define BTN_EAST GP2X_B
-#define BTN_L GP2X_L
-#define BTN_R GP2X_R
+#define PBTN_L (1 << 8)
+#define PBTN_R (1 << 9)
-unsigned long wait_for_input(unsigned long interesting);
-void gp2x_pd_clone_buffer2(void);
-void menu_darken_bg(void *dst, int pixels, int darker);
-void menu_flip(void);
+#define PBTN_MENU (1 << 10)
-#define SCREEN_WIDTH 320
-#define SCREEN_HEIGHT 240
-#define SCREEN_BUFFER gp2x_screen
-
-#define read_buttons(which) \
- wait_for_input(which)
-#define read_buttons_async(which) \
- (gp2x_joystick_read(0) & (which))
-#define menu_draw_begin() \
- gp2x_pd_clone_buffer2()
-#define clear_screen() \
- memset(gp2x_screen, 0, 320*240*2)
-#define darken_screen() \
- menu_darken_bg(gp2x_screen, 320*240, 0)
-#define menu_draw_end() \
- menu_flip()
-
-// ------------------------------------
-
-#elif defined(__GIZ__)
-
-#include "../gizmondo/giz.h"
-
-#define BTN_NORTH BTN_STOP
-#define BTN_SOUTH BTN_PLAY
-#define BTN_WEST BTN_REW
-#define BTN_EAST BTN_FWD
-
-unsigned long wait_for_input(unsigned int interesting);
-void menu_draw_begin(int use_bgbuff);
-void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
-void menu_draw_end(void);
-
-#define SCREEN_WIDTH 321
-#define SCREEN_HEIGHT 240
-#define SCREEN_BUFFER ((giz_screen != NULL) ? giz_screen : menu_screen)
-extern void *menu_screen;
-extern void *giz_screen;
-
-#define read_buttons(which) \
- wait_for_input(which)
-#define read_buttons_async(which) 0
-#define menu_draw_begin() \
- menu_draw_begin(1)
-#define clear_screen() \
- memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
-#define darken_screen() \
- menu_darken_bg(menu_screen, menu_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
-
-// ------------------------------------
-
-#elif defined(PSP)
-
-#include "../psp/psp.h"
-
-#define BTN_NORTH BTN_TRIANGLE
-#define BTN_SOUTH BTN_X
-#define BTN_WEST BTN_SQUARE
-#define BTN_EAST BTN_CIRCLE
-
-unsigned long wait_for_input(unsigned int interesting, int is_key_config);
-void menu_draw_begin(void);
-void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
-void menu_draw_end(void);
-
-#define SCREEN_WIDTH 512
-#define SCREEN_HEIGHT 272
-#define SCREEN_BUFFER psp_screen
-
-#define read_buttons(which) \
- wait_for_input(which, 0)
-#define read_buttons_async(which) \
- (psp_pad_read(0) & (which))
-#define clear_screen() \
- memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
-#define darken_screen() \
- menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
-
-// ------------------------------------
-
-#elif defined(PANDORA)
-
-// TODO
-
-#include "../gp2x/gp2x.h"
-
-#define BTN_UP 0
-#define BTN_DOWN 0
-#define BTN_LEFT 0
-#define BTN_RIGHT 0
-
-#define BTN_NORTH 0
-#define BTN_SOUTH 0
-#define BTN_WEST 0
-#define BTN_EAST 0
-#define BTN_L 0
-#define BTN_R 0
-
-unsigned long wait_for_input(unsigned long interesting);
-void gp2x_pd_clone_buffer2(void);
-void menu_darken_bg(void *dst, int pixels, int darker);
-void menu_flip(void);
-
-#define SCREEN_WIDTH 800
-#define SCREEN_HEIGHT 480
-#define SCREEN_BUFFER gp2x_screen
-
-#define read_buttons(which) \
- wait_for_input(which)
-#define read_buttons_async(which) \
- (gp2x_joystick_read(0) & (which))
-#define menu_draw_begin() \
- gp2x_pd_clone_buffer2()
-#define clear_screen() \
- memset(gp2x_screen, 0, 800*480*2)
-#define darken_screen() \
- menu_darken_bg(gp2x_screen, 800*480, 0)
-#define menu_draw_end() \
- menu_flip()
-
-#endif