f579f7b8 |
1 | // platform specific things for common menu code |
2 | |
3 | #ifdef __GP2X__ |
4 | #include "../gp2x/gp2x.h" |
5 | |
e5ab6faf |
6 | #define PBTN_UP GP2X_UP |
7 | #define PBTN_DOWN GP2X_DOWN |
8 | #define PBTN_LEFT GP2X_LEFT |
9 | #define PBTN_RIGHT GP2X_RIGHT |
10 | |
11 | #define PBTN_NORTH GP2X_Y |
12 | #define PBTN_SOUTH GP2X_X |
13 | #define PBTN_WEST GP2X_A |
14 | #define PBTN_EAST GP2X_B |
15 | #define PBTN_L GP2X_L |
16 | #define PBTN_R GP2X_R |
f579f7b8 |
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 | |
84100c0f |
44 | #include "../gizmondo/giz.h" |
45 | |
e5ab6faf |
46 | #define PBTN_NORTH PBTN_STOP |
47 | #define PBTN_SOUTH PBTN_PLAY |
48 | #define PBTN_WEST PBTN_REW |
49 | #define PBTN_EAST PBTN_FWD |
84100c0f |
50 | |
51 | unsigned long wait_for_input(unsigned int interesting); |
52 | void menu_draw_begin(int use_bgbuff); |
53 | void menu_darken_bg(void *dst, const void *src, int pixels, int darker); |
54 | void menu_draw_end(void); |
55 | |
56 | #define SCREEN_WIDTH 321 |
57 | #define SCREEN_HEIGHT 240 |
58 | #define SCREEN_BUFFER ((giz_screen != NULL) ? giz_screen : menu_screen) |
59 | extern void *menu_screen; |
60 | extern void *giz_screen; |
61 | |
62 | #define read_buttons(which) \ |
63 | wait_for_input(which) |
64 | #define read_buttons_async(which) 0 |
65 | #define menu_draw_begin() \ |
66 | menu_draw_begin(1) |
67 | #define clear_screen() \ |
68 | memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2) |
69 | #define darken_screen() \ |
70 | menu_darken_bg(menu_screen, menu_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0) |
f579f7b8 |
71 | |
72 | // ------------------------------------ |
73 | |
74 | #elif defined(PSP) |
75 | |
76 | #include "../psp/psp.h" |
77 | |
e5ab6faf |
78 | #define PBTN_NORTH PBTN_TRIANGLE |
79 | #define PBTN_SOUTH PBTN_X |
80 | #define PBTN_WEST PBTN_SQUARE |
81 | #define PBTN_EAST PBTN_CIRCLE |
f579f7b8 |
82 | |
83 | unsigned long wait_for_input(unsigned int interesting, int is_key_config); |
84 | void menu_draw_begin(void); |
85 | void menu_darken_bg(void *dst, const void *src, int pixels, int darker); |
86 | void menu_draw_end(void); |
87 | |
88 | #define SCREEN_WIDTH 512 |
89 | #define SCREEN_HEIGHT 272 |
90 | #define SCREEN_BUFFER psp_screen |
91 | |
92 | #define read_buttons(which) \ |
93 | wait_for_input(which, 0) |
1413b9a1 |
94 | #define read_buttons_async(which) \ |
95 | (psp_pad_read(0) & (which)) |
f579f7b8 |
96 | #define clear_screen() \ |
97 | memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2) |
98 | #define darken_screen() \ |
99 | menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0) |
100 | |
3a3947cd |
101 | // ------------------------------------ |
102 | |
103 | #elif defined(PANDORA) |
104 | |
105 | // TODO |
106 | |
107 | #include "../gp2x/gp2x.h" |
108 | |
e5ab6faf |
109 | #define PBTN_UP 0 |
110 | #define PBTN_DOWN 0 |
111 | #define PBTN_LEFT 0 |
112 | #define PBTN_RIGHT 0 |
113 | |
114 | #define PBTN_NORTH 0 |
115 | #define PBTN_SOUTH 0 |
116 | #define PBTN_WEST 0 |
117 | #define PBTN_EAST 0 |
118 | #define PBTN_L 0 |
119 | #define PBTN_R 0 |
3a3947cd |
120 | |
121 | unsigned long wait_for_input(unsigned long interesting); |
122 | void gp2x_pd_clone_buffer2(void); |
123 | void menu_darken_bg(void *dst, int pixels, int darker); |
124 | void menu_flip(void); |
125 | |
e55f0cbb |
126 | #define SCREEN_WIDTH 800 |
127 | #define SCREEN_HEIGHT 480 |
3a3947cd |
128 | #define SCREEN_BUFFER gp2x_screen |
129 | |
130 | #define read_buttons(which) \ |
131 | wait_for_input(which) |
132 | #define read_buttons_async(which) \ |
133 | (gp2x_joystick_read(0) & (which)) |
134 | #define menu_draw_begin() \ |
135 | gp2x_pd_clone_buffer2() |
136 | #define clear_screen() \ |
e55f0cbb |
137 | memset(gp2x_screen, 0, 800*480*2) |
3a3947cd |
138 | #define darken_screen() \ |
e55f0cbb |
139 | menu_darken_bg(gp2x_screen, 800*480, 0) |
3a3947cd |
140 | #define menu_draw_end() \ |
141 | menu_flip() |
142 | |
f579f7b8 |
143 | #endif |