X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Fcommon.h;h=4945f5ecfda4b43ba755a90a91c38617d48f8b23;hb=5d239ae7a46330845af01f9e5f429e78a099fbd9;hp=9653db1fba195988b8433e47b09df5a8fa39b6d1;hpb=b846453101c070b93938dd2224f0cca130a55e8c;p=libpicofe.git diff --git a/common/common.h b/common/common.h index 9653db1..4945f5e 100644 --- a/common/common.h +++ b/common/common.h @@ -26,6 +26,8 @@ void menu_flip(void); #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() \ @@ -39,11 +41,33 @@ void menu_flip(void); #elif defined(__GIZ__) -// TODO -//#include "../gizmondo/giz.h" -#define SCREEN_WIDTH 321 -#define SCREEN_BUFFER menu_screen -extern unsigned char *menu_screen; +#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) // ------------------------------------ @@ -67,9 +91,53 @@ void menu_draw_end(void); #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