diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/plugins/pegbox.c | 69 |
1 files changed, 56 insertions, 13 deletions
diff --git a/apps/plugins/pegbox.c b/apps/plugins/pegbox.c index 390c72f202..1ca3a0a058 100644 --- a/apps/plugins/pegbox.c +++ b/apps/plugins/pegbox.c | |||
@@ -18,7 +18,7 @@ | |||
18 | ****************************************************************************/ | 18 | ****************************************************************************/ |
19 | #include "plugin.h" | 19 | #include "plugin.h" |
20 | 20 | ||
21 | #if (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 110) | 21 | #if (LCD_WIDTH >= 138) && (LCD_HEIGHT >= 110) |
22 | #include "pegbox_menu_top.h" | 22 | #include "pegbox_menu_top.h" |
23 | #include "pegbox_menu_items.h" | 23 | #include "pegbox_menu_items.h" |
24 | #include "pegbox_header.h" | 24 | #include "pegbox_header.h" |
@@ -128,19 +128,17 @@ PLUGIN_HEADER | |||
128 | #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD | 128 | #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD |
129 | #define PEGBOX_SELECT BUTTON_SELECT | 129 | #define PEGBOX_SELECT BUTTON_SELECT |
130 | #define PEGBOX_QUIT BUTTON_POWER | 130 | #define PEGBOX_QUIT BUTTON_POWER |
131 | #define PEGBOX_SAVE (BUTTON_PLAY | BUTTON_RIGHT) | 131 | #define PEGBOX_SAVE BUTTON_PLAY |
132 | #define PEGBOX_RESTART (BUTTON_PLAY | BUTTON_LEFT) | 132 | #define PEGBOX_RESTART BUTTON_REC |
133 | #define PEGBOX_LVL_UP (BUTTON_PLAY | BUTTON_UP) | ||
134 | #define PEGBOX_LVL_DOWN (BUTTON_PLAY | BUTTON_DOWN) | ||
135 | #define PEGBOX_UP BUTTON_UP | 133 | #define PEGBOX_UP BUTTON_UP |
136 | #define PEGBOX_DOWN BUTTON_DOWN | 134 | #define PEGBOX_DOWN BUTTON_DOWN |
137 | #define PEGBOX_RIGHT BUTTON_RIGHT | 135 | #define PEGBOX_RIGHT BUTTON_RIGHT |
138 | #define PEGBOX_LEFT BUTTON_LEFT | 136 | #define PEGBOX_LEFT BUTTON_LEFT |
139 | 137 | ||
140 | #define RESTART_TEXT "PLAY+LEFT" | 138 | #define RESTART_TEXT "REC" |
141 | #define LVL_UP_TEXT "PLAY+UP" | 139 | #define LVL_UP_TEXT "-" |
142 | #define LVL_DOWN_TEXT "PLAY+DOWN" | 140 | #define LVL_DOWN_TEXT "-" |
143 | #define SAVE_TEXT "PLAY+RIGHT" | 141 | #define SAVE_TEXT "PLAY" |
144 | #define QUIT_TEXT "OFF" | 142 | #define QUIT_TEXT "OFF" |
145 | 143 | ||
146 | #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD | 144 | #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD |
@@ -184,8 +182,8 @@ PLUGIN_HEADER | |||
184 | #define PEGBOX_QUIT BUTTON_POWER | 182 | #define PEGBOX_QUIT BUTTON_POWER |
185 | #define PEGBOX_SAVE BUTTON_REC | 183 | #define PEGBOX_SAVE BUTTON_REC |
186 | #define PEGBOX_RESTART BUTTON_SELECT | 184 | #define PEGBOX_RESTART BUTTON_SELECT |
187 | #define PEGBOX_LVL_UP BUTTON_SCROLL_UP | 185 | #define PEGBOX_LVL_UP BUTTON_SCROLL_BACK |
188 | #define PEGBOX_LVL_DOWN BUTTON_SCROLL_DOWN | 186 | #define PEGBOX_LVL_DOWN BUTTON_SCROLL_FWD |
189 | #define PEGBOX_UP BUTTON_UP | 187 | #define PEGBOX_UP BUTTON_UP |
190 | #define PEGBOX_DOWN BUTTON_DOWN | 188 | #define PEGBOX_DOWN BUTTON_DOWN |
191 | #define PEGBOX_RIGHT BUTTON_RIGHT | 189 | #define PEGBOX_RIGHT BUTTON_RIGHT |
@@ -250,6 +248,41 @@ PLUGIN_HEADER | |||
250 | #define LVL_DOWN_TEXT "VOL-" | 248 | #define LVL_DOWN_TEXT "VOL-" |
251 | #define SAVE_TEXT "REC+SELECT" | 249 | #define SAVE_TEXT "REC+SELECT" |
252 | #define QUIT_TEXT "POWER" | 250 | #define QUIT_TEXT "POWER" |
251 | |||
252 | #elif CONFIG_KEYPAD == IAUDIO_M3_PAD | ||
253 | #define PEGBOX_SELECT BUTTON_RC_PLAY | ||
254 | #define PEGBOX_QUIT BUTTON_RC_REC | ||
255 | #define PEGBOX_SAVE BUTTON_RC_MENU | ||
256 | #define PEGBOX_RESTART BUTTON_RC_MODE | ||
257 | #define PEGBOX_LVL_UP BUTTON_VOL_UP | ||
258 | #define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN | ||
259 | #define PEGBOX_UP BUTTON_RC_VOL_UP | ||
260 | #define PEGBOX_DOWN BUTTON_RC_VOL_DOWN | ||
261 | #define PEGBOX_RIGHT BUTTON_RC_FF | ||
262 | #define PEGBOX_LEFT BUTTON_RC_REW | ||
263 | |||
264 | #define RESTART_TEXT "REM. MODE" | ||
265 | #define LVL_UP_TEXT "VOL+" | ||
266 | #define LVL_DOWN_TEXT "VOL-" | ||
267 | #define SAVE_TEXT "REM. PLAY" | ||
268 | #define QUIT_TEXT "REM. REC" | ||
269 | |||
270 | #elif CONFIG_KEYPAD == COWOND2_PAD | ||
271 | #define PEGBOX_SELECT BUTTON_SELECT | ||
272 | #define PEGBOX_QUIT BUTTON_POWER | ||
273 | #define PEGBOX_SAVE BUTTON_MENU | ||
274 | #define PEGBOX_RESTART BUTTON_MINUS | ||
275 | #define PEGBOX_LVL_UP BUTTON_PLUS | ||
276 | #define PEGBOX_UP BUTTON_UP | ||
277 | #define PEGBOX_DOWN BUTTON_DOWN | ||
278 | #define PEGBOX_RIGHT BUTTON_RIGHT | ||
279 | #define PEGBOX_LEFT BUTTON_LEFT | ||
280 | |||
281 | #define RESTART_TEXT "MINUS" | ||
282 | #define LVL_UP_TEXT "PLUS" | ||
283 | #define LVL_DOWN_TEXT "-" | ||
284 | #define SAVE_TEXT "MENU" | ||
285 | #define QUIT_TEXT "POWER" | ||
253 | #endif | 286 | #endif |
254 | 287 | ||
255 | #if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) | 288 | #if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) |
@@ -844,7 +877,7 @@ static unsigned int pegbox_menu(struct game_context* pb) { | |||
844 | can_resume = true; | 877 | can_resume = true; |
845 | 878 | ||
846 | while(!breakout){ | 879 | while(!breakout){ |
847 | #if (LCD_WIDTH >= 128) && (LCD_HEIGHT >= 110) | 880 | #if (LCD_WIDTH >= 138) && (LCD_HEIGHT >= 110) |
848 | rb->lcd_clear_display(); | 881 | rb->lcd_clear_display(); |
849 | rb->lcd_bitmap(pegbox_menu_top,0,0,LCD_WIDTH, BMPHEIGHT_pegbox_menu_top); | 882 | rb->lcd_bitmap(pegbox_menu_top,0,0,LCD_WIDTH, BMPHEIGHT_pegbox_menu_top); |
850 | 883 | ||
@@ -959,7 +992,7 @@ static unsigned int pegbox_menu(struct game_context* pb) { | |||
959 | #endif | 992 | #endif |
960 | rb->snprintf(str, 28, "Start on level %d of %d", startlevel, | 993 | rb->snprintf(str, 28, "Start on level %d of %d", startlevel, |
961 | pb->highlevel); | 994 | pb->highlevel); |
962 | #if LCD_HEIGHT > 110 | 995 | #if (LCD_WIDTH >= 138) && (LCD_HEIGHT >= 110) |
963 | rb->lcd_putsxy(0, BMPHEIGHT_pegbox_menu_top+4* | 996 | rb->lcd_putsxy(0, BMPHEIGHT_pegbox_menu_top+4* |
964 | (BMPHEIGHT_pegbox_menu_items/9)+8, str); | 997 | (BMPHEIGHT_pegbox_menu_items/9)+8, str); |
965 | #elif LCD_WIDTH > 112 | 998 | #elif LCD_WIDTH > 112 |
@@ -1118,21 +1151,28 @@ static int pegbox(struct game_context* pb) { | |||
1118 | draw_board(pb); | 1151 | draw_board(pb); |
1119 | break; | 1152 | break; |
1120 | 1153 | ||
1154 | #ifdef PEGBOX_LVL_UP | ||
1121 | case PEGBOX_LVL_UP: | 1155 | case PEGBOX_LVL_UP: |
1156 | case (PEGBOX_LVL_UP|BUTTON_REPEAT): | ||
1122 | if(pb->level < pb->highlevel) { | 1157 | if(pb->level < pb->highlevel) { |
1123 | pb->level++; | 1158 | pb->level++; |
1124 | load_level(pb); | 1159 | load_level(pb); |
1125 | draw_board(pb); | 1160 | draw_board(pb); |
1126 | } | 1161 | } |
1127 | break; | 1162 | break; |
1163 | #endif | ||
1128 | 1164 | ||
1165 | #ifdef PEGBOX_LVL_DOWN | ||
1129 | case PEGBOX_LVL_DOWN: | 1166 | case PEGBOX_LVL_DOWN: |
1167 | case (PEGBOX_LVL_DOWN|BUTTON_REPEAT): | ||
1130 | if(pb->level > 1) { | 1168 | if(pb->level > 1) { |
1131 | pb->level--; | 1169 | pb->level--; |
1132 | load_level(pb); | 1170 | load_level(pb); |
1133 | draw_board(pb); | 1171 | draw_board(pb); |
1134 | } | 1172 | } |
1135 | break; | 1173 | break; |
1174 | #endif | ||
1175 | |||
1136 | } | 1176 | } |
1137 | 1177 | ||
1138 | if(pb->num_left == 0) { | 1178 | if(pb->num_left == 0) { |
@@ -1169,6 +1209,9 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) { | |||
1169 | rb = api; | 1209 | rb = api; |
1170 | 1210 | ||
1171 | rb->lcd_setfont(FONT_SYSFIXED); | 1211 | rb->lcd_setfont(FONT_SYSFIXED); |
1212 | #if LCD_DEPTH > 1 | ||
1213 | rb->lcd_set_backdrop(NULL); | ||
1214 | #endif | ||
1172 | #ifdef HAVE_LCD_COLOR | 1215 | #ifdef HAVE_LCD_COLOR |
1173 | rb->lcd_set_foreground(LCD_WHITE); | 1216 | rb->lcd_set_foreground(LCD_WHITE); |
1174 | rb->lcd_set_background(BG_COLOR); | 1217 | rb->lcd_set_background(BG_COLOR); |