summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Basha <benbasha@rockbox.org>2006-02-20 18:56:34 +0000
committerBen Basha <benbasha@rockbox.org>2006-02-20 18:56:34 +0000
commit265d1a0936eafa90c6f466795fe1f7826fe4af9c (patch)
tree73892cb8a90c311ccf61c37ed8b1cd6a6920ea78
parent5991f02e1ca1a28398b79cd850da65775700a17e (diff)
downloadrockbox-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
-rw-r--r--apps/plugins/SOURCES4
-rw-r--r--apps/plugins/bitmaps/native/SOURCES19
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_ball.176x132x16.bmpbin0 -> 134 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_break.176x132x16.bmpbin0 -> 1720 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_bricks.176x132x16.bmpbin0 -> 2604 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_gameover.176x132x16.bmpbin0 -> 17318 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_help.176x132x16.bmpbin0 -> 1232 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_menu_bg.176x132x16.bmpbin0 -> 69752 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_no_resume.176x132x16.bmpbin0 -> 3020 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_pads.176x132x16.bmpbin0 -> 1854 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_powerups.176x132x16.bmpbin0 -> 1400 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_quit.176x132x16.bmpbin0 -> 1120 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_resume.176x132x16.bmpbin0 -> 3020 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_sel_help.176x132x16.bmpbin0 -> 1232 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_sel_quit.176x132x16.bmpbin0 -> 1120 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_sel_resume.176x132x16.bmpbin0 -> 3020 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_sel_start.176x132x16.bmpbin0 -> 4344 bytes
-rwxr-xr-xapps/plugins/bitmaps/native/brickmania_start.176x132x16.bmpbin0 -> 4344 bytes
-rw-r--r--apps/plugins/brickmania.c78
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
35solitaire.c 35solitaire.c
36bejeweled.c 36bejeweled.c
37bounce.c 37bounce.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))
40brickmania.c 40brickmania.c
41#endif 41#endif
42calculator.c 42calculator.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
78brickmania_sel_start.160x128x2.bmp 78brickmania_sel_start.160x128x2.bmp
79brickmania_start.160x128x2.bmp 79brickmania_start.160x128x2.bmp
80brickmania_break.160x128x2.bmp 80brickmania_break.160x128x2.bmp
81
82#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 132) && (LCD_DEPTH == 16)
83brickmania_ball.176x132x16.bmp
84brickmania_bricks.176x132x16.bmp
85brickmania_gameover.176x132x16.bmp
86brickmania_help.176x132x16.bmp
87brickmania_menu_bg.176x132x16.bmp
88brickmania_no_resume.176x132x16.bmp
89brickmania_pads.176x132x16.bmp
90brickmania_powerups.176x132x16.bmp
91brickmania_quit.176x132x16.bmp
92brickmania_resume.176x132x16.bmp
93brickmania_sel_help.176x132x16.bmp
94brickmania_sel_resume.176x132x16.bmp
95brickmania_sel_quit.176x132x16.bmp
96brickmania_sel_start.176x132x16.bmp
97brickmania_start.176x132x16.bmp
98brickmania_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;