f579f7b8 |
1 | // platform specific things for common menu code |
2 | |
3 | #ifdef __GP2X__ |
4 | #include "../gp2x/gp2x.h" |
5 | |
6 | #define BTN_UP GP2X_UP |
7 | #define BTN_DOWN GP2X_DOWN |
8 | #define BTN_LEFT GP2X_LEFT |
9 | #define BTN_RIGHT GP2X_RIGHT |
10 | |
11 | #define BTN_NORTH GP2X_Y |
12 | #define BTN_SOUTH GP2X_X |
13 | #define BTN_WEST GP2X_A |
14 | #define BTN_EAST GP2X_B |
15 | #define BTN_L GP2X_L |
16 | #define BTN_R GP2X_R |
17 | |
18 | unsigned long wait_for_input(unsigned long interesting); |
19 | void gp2x_pd_clone_buffer2(void); |
20 | void menu_darken_bg(void *dst, int pixels, int darker); |
21 | void menu_flip(void); |
22 | |
23 | #define SCREEN_WIDTH 320 |
24 | #define SCREEN_HEIGHT 240 |
25 | #define SCREEN_BUFFER gp2x_screen |
26 | |
27 | #define read_buttons(which) \ |
28 | wait_for_input(which) |
1413b9a1 |
29 | #define read_buttons_async(which) \ |
30 | (gp2x_joystick_read(0) & (which)) |
f579f7b8 |
31 | #define menu_draw_begin() \ |
32 | gp2x_pd_clone_buffer2() |
33 | #define clear_screen() \ |
34 | memset(gp2x_screen, 0, 320*240*2) |
35 | #define darken_screen() \ |
36 | menu_darken_bg(gp2x_screen, 320*240, 0) |
37 | #define menu_draw_end() \ |
38 | menu_flip() |
39 | |
40 | // ------------------------------------ |
41 | |
42 | #elif defined(__GIZ__) |
43 | |
44 | // TODO |
45 | //#include "../gizmondo/giz.h" |
46 | #define SCREEN_WIDTH 321 |
47 | #define SCREEN_BUFFER menu_screen |
48 | extern unsigned char *menu_screen; |
49 | |
50 | // ------------------------------------ |
51 | |
52 | #elif defined(PSP) |
53 | |
54 | #include "../psp/psp.h" |
55 | |
56 | #define BTN_NORTH BTN_TRIANGLE |
57 | #define BTN_SOUTH BTN_X |
58 | #define BTN_WEST BTN_SQUARE |
59 | #define BTN_EAST BTN_CIRCLE |
60 | |
61 | unsigned long wait_for_input(unsigned int interesting, int is_key_config); |
62 | void menu_draw_begin(void); |
63 | void menu_darken_bg(void *dst, const void *src, int pixels, int darker); |
64 | void menu_draw_end(void); |
65 | |
66 | #define SCREEN_WIDTH 512 |
67 | #define SCREEN_HEIGHT 272 |
68 | #define SCREEN_BUFFER psp_screen |
69 | |
70 | #define read_buttons(which) \ |
71 | wait_for_input(which, 0) |
1413b9a1 |
72 | #define read_buttons_async(which) \ |
73 | (psp_pad_read(0) & (which)) |
f579f7b8 |
74 | #define clear_screen() \ |
75 | memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2) |
76 | #define darken_screen() \ |
77 | menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0) |
78 | |
3a3947cd |
79 | // ------------------------------------ |
80 | |
81 | #elif defined(PANDORA) |
82 | |
83 | // TODO |
84 | |
85 | #include "../gp2x/gp2x.h" |
86 | |
87 | #define BTN_UP 0 |
88 | #define BTN_DOWN 0 |
89 | #define BTN_LEFT 0 |
90 | #define BTN_RIGHT 0 |
91 | |
92 | #define BTN_NORTH 0 |
93 | #define BTN_SOUTH 0 |
94 | #define BTN_WEST 0 |
95 | #define BTN_EAST 0 |
96 | #define BTN_L 0 |
97 | #define BTN_R 0 |
98 | |
99 | unsigned long wait_for_input(unsigned long interesting); |
100 | void gp2x_pd_clone_buffer2(void); |
101 | void menu_darken_bg(void *dst, int pixels, int darker); |
102 | void menu_flip(void); |
103 | |
e55f0cbb |
104 | #define SCREEN_WIDTH 800 |
105 | #define SCREEN_HEIGHT 480 |
3a3947cd |
106 | #define SCREEN_BUFFER gp2x_screen |
107 | |
108 | #define read_buttons(which) \ |
109 | wait_for_input(which) |
110 | #define read_buttons_async(which) \ |
111 | (gp2x_joystick_read(0) & (which)) |
112 | #define menu_draw_begin() \ |
113 | gp2x_pd_clone_buffer2() |
114 | #define clear_screen() \ |
e55f0cbb |
115 | memset(gp2x_screen, 0, 800*480*2) |
3a3947cd |
116 | #define darken_screen() \ |
e55f0cbb |
117 | menu_darken_bg(gp2x_screen, 800*480, 0) |
3a3947cd |
118 | #define menu_draw_end() \ |
119 | menu_flip() |
120 | |
f579f7b8 |
121 | #endif |