diff options
author | Ben Basha <benbasha@rockbox.org> | 2006-02-20 18:56:34 +0000 |
---|---|---|
committer | Ben Basha <benbasha@rockbox.org> | 2006-02-20 18:56:34 +0000 |
commit | 265d1a0936eafa90c6f466795fe1f7826fe4af9c (patch) | |
tree | 73892cb8a90c311ccf61c37ed8b1cd6a6920ea78 | |
parent | 5991f02e1ca1a28398b79cd850da65775700a17e (diff) | |
download | rockbox-265d1a0936eafa90c6f466795fe1f7826fe4af9c.tar.gz rockbox-265d1a0936eafa90c6f466795fe1f7826fe4af9c.zip |
BrickMania for iPod Nano
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8750 a1c6a512-1295-4272-9138-f99709370657
19 files changed, 92 insertions, 9 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES index 3da7ad646b..c8939c6214 100644 --- a/apps/plugins/SOURCES +++ b/apps/plugins/SOURCES | |||
@@ -35,8 +35,8 @@ mandelbrot.c | |||
35 | solitaire.c | 35 | solitaire.c |
36 | bejeweled.c | 36 | bejeweled.c |
37 | bounce.c | 37 | bounce.c |
38 | /* H300 and iPod Color/Video only */ | 38 | /* H300, H100 and iPod Nano/Color/Video only */ |
39 | #if ((LCD_WIDTH >= 220) && (LCD_HEIGHT >= 176) && (LCD_DEPTH == 16)) || ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH==2)) | 39 | #if ((LCD_WIDTH >= 176) && (LCD_HEIGHT >= 132) && (LCD_DEPTH == 16)) || ((LCD_WIDTH == 160) && (LCD_HEIGHT == 128) && (LCD_DEPTH==2)) |
40 | brickmania.c | 40 | brickmania.c |
41 | #endif | 41 | #endif |
42 | calculator.c | 42 | calculator.c |
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES index bf725c1a3b..080cf4eedc 100644 --- a/apps/plugins/bitmaps/native/SOURCES +++ b/apps/plugins/bitmaps/native/SOURCES | |||
@@ -78,6 +78,25 @@ brickmania_sel_quit.160x128x2.bmp | |||
78 | brickmania_sel_start.160x128x2.bmp | 78 | brickmania_sel_start.160x128x2.bmp |
79 | brickmania_start.160x128x2.bmp | 79 | brickmania_start.160x128x2.bmp |
80 | brickmania_break.160x128x2.bmp | 80 | brickmania_break.160x128x2.bmp |
81 | |||
82 | #elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 132) && (LCD_DEPTH == 16) | ||
83 | brickmania_ball.176x132x16.bmp | ||
84 | brickmania_bricks.176x132x16.bmp | ||
85 | brickmania_gameover.176x132x16.bmp | ||
86 | brickmania_help.176x132x16.bmp | ||
87 | brickmania_menu_bg.176x132x16.bmp | ||
88 | brickmania_no_resume.176x132x16.bmp | ||
89 | brickmania_pads.176x132x16.bmp | ||
90 | brickmania_powerups.176x132x16.bmp | ||
91 | brickmania_quit.176x132x16.bmp | ||
92 | brickmania_resume.176x132x16.bmp | ||
93 | brickmania_sel_help.176x132x16.bmp | ||
94 | brickmania_sel_resume.176x132x16.bmp | ||
95 | brickmania_sel_quit.176x132x16.bmp | ||
96 | brickmania_sel_start.176x132x16.bmp | ||
97 | brickmania_start.176x132x16.bmp | ||
98 | brickmania_break.176x132x16.bmp | ||
99 | |||
81 | #endif | 100 | #endif |
82 | 101 | ||
83 | #endif /* HAVE_LCD_BITMAP */ | 102 | #endif /* HAVE_LCD_BITMAP */ |
diff --git a/apps/plugins/bitmaps/native/brickmania_ball.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_ball.176x132x16.bmp new file mode 100755 index 0000000000..97da97f4a7 --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_ball.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_break.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_break.176x132x16.bmp new file mode 100755 index 0000000000..179d76d77c --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_break.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_bricks.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_bricks.176x132x16.bmp new file mode 100755 index 0000000000..2d2b90c712 --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_bricks.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_gameover.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_gameover.176x132x16.bmp new file mode 100755 index 0000000000..d004433b5f --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_gameover.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_help.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_help.176x132x16.bmp new file mode 100755 index 0000000000..2eb711f16c --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_help.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_menu_bg.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_menu_bg.176x132x16.bmp new file mode 100755 index 0000000000..3f54bcf63b --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_menu_bg.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_no_resume.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_no_resume.176x132x16.bmp new file mode 100755 index 0000000000..7807b0480c --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_no_resume.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_pads.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_pads.176x132x16.bmp new file mode 100755 index 0000000000..5bd1e5dc57 --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_pads.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_powerups.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_powerups.176x132x16.bmp new file mode 100755 index 0000000000..91ece1048d --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_powerups.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_quit.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_quit.176x132x16.bmp new file mode 100755 index 0000000000..f75e1a6ce0 --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_quit.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_resume.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_resume.176x132x16.bmp new file mode 100755 index 0000000000..fbb9115f6b --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_resume.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_sel_help.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_sel_help.176x132x16.bmp new file mode 100755 index 0000000000..ba9750a68c --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_sel_help.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_sel_quit.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_sel_quit.176x132x16.bmp new file mode 100755 index 0000000000..e605a41835 --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_sel_quit.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_sel_resume.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_sel_resume.176x132x16.bmp new file mode 100755 index 0000000000..e5981c0143 --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_sel_resume.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_sel_start.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_sel_start.176x132x16.bmp new file mode 100755 index 0000000000..4d4c1d6e17 --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_sel_start.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/bitmaps/native/brickmania_start.176x132x16.bmp b/apps/plugins/bitmaps/native/brickmania_start.176x132x16.bmp new file mode 100755 index 0000000000..a7768eda86 --- /dev/null +++ b/apps/plugins/bitmaps/native/brickmania_start.176x132x16.bmp | |||
Binary files differ | |||
diff --git a/apps/plugins/brickmania.c b/apps/plugins/brickmania.c index ac6204ca8c..156cad6c89 100644 --- a/apps/plugins/brickmania.c +++ b/apps/plugins/brickmania.c | |||
@@ -89,7 +89,7 @@ extern const fb_data brickmania_bricks[]; | |||
89 | to 10ms. | 89 | to 10ms. |
90 | */ | 90 | */ |
91 | #define CYCLETIME 30 | 91 | #define CYCLETIME 30 |
92 | 92 | ||
93 | /* Offsets for LCDS > 220x176 */ | 93 | /* Offsets for LCDS > 220x176 */ |
94 | #define XOFS ((LCD_WIDTH-220)/2) | 94 | #define XOFS ((LCD_WIDTH-220)/2) |
95 | #define YOFS ((LCD_HEIGHT-176)/2) | 95 | #define YOFS ((LCD_HEIGHT-176)/2) |
@@ -217,6 +217,71 @@ extern const fb_data brickmania_bricks[]; | |||
217 | #define STRINGPOS_navi 100 | 217 | #define STRINGPOS_navi 100 |
218 | #define STRINGPOS_flipsides 100 | 218 | #define STRINGPOS_flipsides 100 |
219 | 219 | ||
220 | #elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 132) && (LCD_DEPTH==16) | ||
221 | /* The time (in ms) for one iteration through the game loop - decrease this | ||
222 | to speed up the game - note that current_tick is (currently) only accurate | ||
223 | to 10ms. | ||
224 | */ | ||
225 | #define CYCLETIME 30 | ||
226 | |||
227 | #define PAD_WIDTH 40 | ||
228 | #define PAD_HEIGHT 5 | ||
229 | #define PAD_POS_Y LCD_HEIGHT - 7 | ||
230 | #define BRICK_HEIGHT 7 | ||
231 | #define BRICK_WIDTH 17 | ||
232 | #define BALL 5 | ||
233 | #define LEFTMARGIN 3 | ||
234 | #define TOPMARGIN 21 | ||
235 | |||
236 | #define BMPHEIGHT_help 14 | ||
237 | #define BMPWIDTH_help 28 | ||
238 | |||
239 | #define BMPHEIGHT_sel_help 14 | ||
240 | #define BMPWIDTH_sel_help 28 | ||
241 | |||
242 | #define BMPHEIGHT_resume 13 | ||
243 | #define BMPWIDTH_resume 76 | ||
244 | |||
245 | #define BMPHEIGHT_no_resume 13 | ||
246 | #define BMPWIDTH_no_resume 76 | ||
247 | |||
248 | #define BMPHEIGHT_quit 14 | ||
249 | #define BMPWIDTH_quit 25 | ||
250 | |||
251 | #define BMPHEIGHT_sel_quit 14 | ||
252 | #define BMPWIDTH_sel_quit 25 | ||
253 | |||
254 | #define BMPHEIGHT_sel_resume 13 | ||
255 | #define BMPWIDTH_sel_resume 76 | ||
256 | |||
257 | #define BMPHEIGHT_sel_start 16 | ||
258 | #define BMPWIDTH_sel_start 89 | ||
259 | |||
260 | #define BMPHEIGHT_start 16 | ||
261 | #define BMPWIDTH_start 89 | ||
262 | |||
263 | #define BMPHEIGHT_powerup 6 | ||
264 | #define BMPWIDTH_powerup 10 | ||
265 | |||
266 | #define BMPHEIGHT_menu 132 | ||
267 | #define BMPWIDTH_menu 176 | ||
268 | |||
269 | #define BMPXOFS_start 44 | ||
270 | #define BMPYOFS_start 58 | ||
271 | #define BMPXOFS_resume 50 | ||
272 | #define BMPYOFS_resume 75 | ||
273 | #define BMPXOFS_help 74 | ||
274 | #define BMPYOFS_help 89 | ||
275 | #define BMPXOFS_quit 75 | ||
276 | #define BMPYOFS_quit 104 | ||
277 | #define HIGHSCORE_XPOS 7 | ||
278 | #define HIGHSCORE_YPOS 36 | ||
279 | |||
280 | #define STRINGPOS_finsh 100 | ||
281 | #define STRINGPOS_congrats 110 | ||
282 | #define STRINGPOS_navi 100 | ||
283 | #define STRINGPOS_flipsides 100 | ||
284 | |||
220 | #else | 285 | #else |
221 | #error Unsupported LCD Size | 286 | #error Unsupported LCD Size |
222 | #endif | 287 | #endif |
@@ -689,9 +754,8 @@ int game_menu(int when) | |||
689 | rb->lcd_bitmap(brickmania_quit,BMPXOFS_quit,BMPYOFS_quit, | 754 | rb->lcd_bitmap(brickmania_quit,BMPXOFS_quit,BMPYOFS_quit, |
690 | BMPWIDTH_quit,BMPHEIGHT_quit); | 755 | BMPWIDTH_quit,BMPHEIGHT_quit); |
691 | } | 756 | } |
692 | 757 | rb->lcd_set_drawmode(DRMODE_FG); | |
693 | /* high score */ | 758 | /* high score */ |
694 | rb->lcd_setfont(FONT_SYSFIXED); | ||
695 | #ifdef HAVE_LCD_COLOR | 759 | #ifdef HAVE_LCD_COLOR |
696 | rb->lcd_set_background(LCD_RGBPACK(0,0,140)); | 760 | rb->lcd_set_background(LCD_RGBPACK(0,0,140)); |
697 | rb->lcd_set_foreground(LCD_WHITE); | 761 | rb->lcd_set_foreground(LCD_WHITE); |
@@ -701,7 +765,7 @@ int game_menu(int when) | |||
701 | rb->lcd_getstringsize("High Score", &sw, NULL); | 765 | rb->lcd_getstringsize("High Score", &sw, NULL); |
702 | rb->lcd_getstringsize(str, &w, NULL); | 766 | rb->lcd_getstringsize(str, &w, NULL); |
703 | rb->lcd_putsxy(HIGHSCORE_XPOS+sw/2-w/2, HIGHSCORE_YPOS+9, str); | 767 | rb->lcd_putsxy(HIGHSCORE_XPOS+sw/2-w/2, HIGHSCORE_YPOS+9, str); |
704 | rb->lcd_setfont(FONT_UI); | 768 | rb->lcd_set_drawmode(DRMODE_SOLID); |
705 | 769 | ||
706 | rb->lcd_update(); | 770 | rb->lcd_update(); |
707 | 771 | ||
@@ -764,7 +828,6 @@ int help(int when) | |||
764 | int maxX=210; | 828 | int maxX=210; |
765 | 829 | ||
766 | while(true){ | 830 | while(true){ |
767 | rb->lcd_setfont(FONT_SYSFIXED); | ||
768 | #ifdef HAVE_LCD_COLOR | 831 | #ifdef HAVE_LCD_COLOR |
769 | rb->lcd_set_background(LCD_BLACK); | 832 | rb->lcd_set_background(LCD_BLACK); |
770 | rb->lcd_clear_display(); | 833 | rb->lcd_clear_display(); |
@@ -814,7 +877,6 @@ int help(int when) | |||
814 | button=rb->button_get(true); | 877 | button=rb->button_get(true); |
815 | switch (button) { | 878 | switch (button) { |
816 | case QUIT: | 879 | case QUIT: |
817 | rb->lcd_setfont(FONT_UI); | ||
818 | switch (game_menu(when)) { | 880 | switch (game_menu(when)) { |
819 | case 0: | 881 | case 0: |
820 | cur_level=0; | 882 | cur_level=0; |
@@ -1454,7 +1516,8 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
1454 | { | 1516 | { |
1455 | (void)parameter; | 1517 | (void)parameter; |
1456 | rb = api; | 1518 | rb = api; |
1457 | 1519 | ||
1520 | rb->lcd_setfont(FONT_SYSFIXED); | ||
1458 | /* Permanently enable the backlight (unless the user has turned it off) */ | 1521 | /* Permanently enable the backlight (unless the user has turned it off) */ |
1459 | if (rb->global_settings->backlight_timeout > 0) | 1522 | if (rb->global_settings->backlight_timeout > 0) |
1460 | rb->backlight_set_timeout(1); | 1523 | rb->backlight_set_timeout(1); |
@@ -1465,6 +1528,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parameter) | |||
1465 | configfile_save(HIGH_SCORE,config,1,0); | 1528 | configfile_save(HIGH_SCORE,config,1,0); |
1466 | 1529 | ||
1467 | /* Restore user's original backlight setting */ | 1530 | /* Restore user's original backlight setting */ |
1531 | rb->lcd_setfont(FONT_UI); | ||
1468 | rb->backlight_set_timeout(rb->global_settings->backlight_timeout); | 1532 | rb->backlight_set_timeout(rb->global_settings->backlight_timeout); |
1469 | 1533 | ||
1470 | return PLUGIN_OK; | 1534 | return PLUGIN_OK; |