summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorBarry Wardell <rockbox@barrywardell.net>2007-01-15 20:40:48 +0000
committerBarry Wardell <rockbox@barrywardell.net>2007-01-15 20:40:48 +0000
commit41ee9e33041dd2020e7ee3c44b81cef538b6592f (patch)
tree80dea3488f41fd0c78512760daf86e1a00dd3f32 /apps
parent6de815be5cb06e9e8df46fcfdfbf611bce24c99c (diff)
downloadrockbox-41ee9e33041dd2020e7ee3c44b81cef538b6592f.tar.gz
rockbox-41ee9e33041dd2020e7ee3c44b81cef538b6592f.zip
FS#6539 - Thanks to Tom Ross
Add Jewels, Spacerocks, Wormlet, Rockboy and Sudoku for the e200. Also Includes manual changes for plugins. Add X5 keymappings for wormlet to the manual. Add help text for Jewels on the H10 and give a warning if help text is not defined. Fix bug in spacerocks lives drawing on large screens (larger than Ondio). Change spacerocks comments to C style. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12018 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/SOURCES6
-rw-r--r--apps/plugins/SUBDIRS3
-rw-r--r--apps/plugins/bitmaps/native/SOURCES8
-rw-r--r--apps/plugins/jewels.c26
-rw-r--r--apps/plugins/rockboy/rockboy.c7
-rw-r--r--apps/plugins/rockboy/sys_rockbox.c3
-rw-r--r--apps/plugins/spacerocks.c83
-rw-r--r--apps/plugins/sudoku/SOURCES2
-rw-r--r--apps/plugins/sudoku/sudoku.c12
-rw-r--r--apps/plugins/sudoku/sudoku.h5
-rw-r--r--apps/plugins/wormlet.c5
11 files changed, 108 insertions, 52 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index f3967298a4..f00ac71bed 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -55,9 +55,7 @@ brickmania.c
55calculator.c 55calculator.c
56chip8.c 56chip8.c
57demystify.c 57demystify.c
58#ifndef SANSA_E200
59jewels.c 58jewels.c
60#endif
61minesweeper.c 59minesweeper.c
62oscilloscope.c 60oscilloscope.c
63pong.c 61pong.c
@@ -72,7 +70,7 @@ starfield.c
72video.c 70video.c
73#endif 71#endif
74vu_meter.c 72vu_meter.c
75#if !defined(IRIVER_H10_5GB) && !defined(SANSA_E200) 73#if !defined(IRIVER_H10_5GB)
76wormlet.c 74wormlet.c
77#endif 75#endif
78 76
@@ -95,9 +93,7 @@ rockboy.c
95fireworks.c 93fireworks.c
96xobox.c 94xobox.c
97#endif 95#endif
98#if !defined(SANSA_E200)
99spacerocks.c 96spacerocks.c
100#endif
101#if LCD_DEPTH >= 16 97#if LCD_DEPTH >= 16
102rockpaint.c 98rockpaint.c
103#endif 99#endif
diff --git a/apps/plugins/SUBDIRS b/apps/plugins/SUBDIRS
index 686c4674f3..aff4a21d36 100644
--- a/apps/plugins/SUBDIRS
+++ b/apps/plugins/SUBDIRS
@@ -8,7 +8,8 @@
8 (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ 8 (CONFIG_KEYPAD == IRIVER_H300_PAD) || \
9 defined(IPOD_COLOR) || \ 9 defined(IPOD_COLOR) || \
10 defined(IPOD_VIDEO) || \ 10 defined(IPOD_VIDEO) || \
11 defined(TOSHIBA_GIGABEAT_F) 11 defined(TOSHIBA_GIGABEAT_F) || \
12 defined(SANSA_E200)
12rockboy 13rockboy
13#endif 14#endif
14 15
diff --git a/apps/plugins/bitmaps/native/SOURCES b/apps/plugins/bitmaps/native/SOURCES
index 568597c95a..b98377e846 100644
--- a/apps/plugins/bitmaps/native/SOURCES
+++ b/apps/plugins/bitmaps/native/SOURCES
@@ -66,6 +66,8 @@ jewels.160x128x16.bmp
66jewels.160x128x16.bmp 66jewels.160x128x16.bmp
67#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176) 67#elif (LCD_WIDTH == 220) && (LCD_HEIGHT == 176)
68jewels.220x176x16.bmp 68jewels.220x176x16.bmp
69#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 220)
70jewels.220x176x16.bmp
69#elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320) 71#elif (LCD_WIDTH == 240) && (LCD_HEIGHT == 320)
70jewels.320x240x16.bmp 72jewels.320x240x16.bmp
71#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) 73#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
@@ -254,7 +256,11 @@ sudoku_normal.320x240x16.bmp
254sudoku_inverse.320x240x16.bmp 256sudoku_inverse.320x240x16.bmp
255#endif 257#endif
256#else 258#else
257#if (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 320) && (LCD_DEPTH == 16) 259#if ((LCD_WIDTH == 176) && (LCD_HEIGHT == 220) && (LCD_DEPTH == 16))
260sudoku_start.220x176x16.bmp
261sudoku_normal.220x176x16.bmp
262sudoku_inverse.220x176x16.bmp
263#elif (LCD_WIDTH >= 240) && (LCD_HEIGHT >= 320) && (LCD_DEPTH == 16)
258sudoku_start.320x240x16.bmp 264sudoku_start.320x240x16.bmp
259sudoku_normal.320x240x16.bmp 265sudoku_normal.320x240x16.bmp
260sudoku_inverse.320x240x16.bmp 266sudoku_inverse.320x240x16.bmp
diff --git a/apps/plugins/jewels.c b/apps/plugins/jewels.c
index ba74879359..d0bf1af5e1 100644
--- a/apps/plugins/jewels.c
+++ b/apps/plugins/jewels.c
@@ -123,7 +123,8 @@ PLUGIN_HEADER
123#define NUM_SCORES 10 123#define NUM_SCORES 10
124 124
125/* use 22x22 tiles (H300, iPod Color) */ 125/* use 22x22 tiles (H300, iPod Color) */
126#elif ((LCD_HEIGHT == 176) && (LCD_WIDTH == 220)) 126#elif ((LCD_HEIGHT == 176) && (LCD_WIDTH == 220)) || \
127 ((LCD_HEIGHT == 220) && (LCD_WIDTH == 176))
127#define TILE_WIDTH 22 128#define TILE_WIDTH 22
128#define TILE_HEIGHT 22 129#define TILE_HEIGHT 22
129#define YOFS 0 130#define YOFS 0
@@ -1306,6 +1307,29 @@ static int jewels_main(struct game_context* bj) {
1306 rb->lcd_puts(0, 9, "SELECT to select"); 1307 rb->lcd_puts(0, 9, "SELECT to select");
1307 rb->lcd_puts(0, 10, "Long SELECT to show menu"); 1308 rb->lcd_puts(0, 10, "Long SELECT to show menu");
1308 rb->lcd_puts(0, 11, "A to cancel"); 1309 rb->lcd_puts(0, 11, "A to cancel");
1310#elif CONFIG_KEYPAD == SANSA_E200_PAD
1311 rb->lcd_puts(0, 2, "Swap pairs of jewels to");
1312 rb->lcd_puts(0, 3, "form connected segments");
1313 rb->lcd_puts(0, 4, "of three or more of the");
1314 rb->lcd_puts(0, 5, "same type.");
1315 rb->lcd_puts(0, 7, "Controls:");
1316 rb->lcd_puts(0, 8, "Directions to move");
1317 rb->lcd_puts(0, 9, "SELECT to select");
1318 rb->lcd_puts(0, 10, "Long SELECT to show menu");
1319 rb->lcd_puts(0, 11, "POWER to cancel");
1320#elif CONFIG_KEYPAD == IRIVER_H10_PAD
1321 rb->lcd_puts(0, 2, "Swap pairs of jewels");
1322 rb->lcd_puts(0, 3, "to form connected");
1323 rb->lcd_puts(0, 4, "segments of three or ");
1324 rb->lcd_puts(0, 5, "more of the");
1325 rb->lcd_puts(0, 6, "same type.");
1326 rb->lcd_puts(0, 8, "Controls:");
1327 rb->lcd_puts(0, 9, "Directions or scroll to move");
1328 rb->lcd_puts(0, 10, "PLAY to select");
1329 rb->lcd_puts(0, 11, "Long PLAY for menu");
1330 rb->lcd_puts(0, 12, "POWER to cancel");
1331#else
1332 #warning: missing help text.
1309#endif 1333#endif
1310 rb->lcd_update(); 1334 rb->lcd_update();
1311 while(true) { 1335 while(true) {
diff --git a/apps/plugins/rockboy/rockboy.c b/apps/plugins/rockboy/rockboy.c
index cce0f8c863..d7dd4d8898 100644
--- a/apps/plugins/rockboy/rockboy.c
+++ b/apps/plugins/rockboy/rockboy.c
@@ -129,6 +129,13 @@ void setoptions (void)
129 options.START=BUTTON_POWER; 129 options.START=BUTTON_POWER;
130 options.SELECT=BUTTON_SELECT; 130 options.SELECT=BUTTON_SELECT;
131 options.MENU=BUTTON_MENU; 131 options.MENU=BUTTON_MENU;
132
133#elif CONFIG_KEYPAD == SANSA_E200_PAD
134 options.A=BUTTON_SELECT;
135 options.B=BUTTON_REC;
136 options.START=BUTTON_SCROLL_UP;
137 options.SELECT=BUTTON_SCROLL_DOWN;
138 options.MENU=BUTTON_POWER;
132#endif 139#endif
133 140
134 options.maxskip=4; 141 options.maxskip=4;
diff --git a/apps/plugins/rockboy/sys_rockbox.c b/apps/plugins/rockboy/sys_rockbox.c
index 431fe130a0..fb118162b2 100644
--- a/apps/plugins/rockboy/sys_rockbox.c
+++ b/apps/plugins/rockboy/sys_rockbox.c
@@ -181,7 +181,8 @@ void ev_poll(void)
181#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 181#if (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
182 (CONFIG_KEYPAD == IRIVER_H300_PAD) || \ 182 (CONFIG_KEYPAD == IRIVER_H300_PAD) || \
183 (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 183 (CONFIG_KEYPAD == IPOD_4G_PAD) || \
184 (CONFIG_KEYPAD == GIGABEAT_PAD) 184 (CONFIG_KEYPAD == GIGABEAT_PAD) || \
185 (CONFIG_KEYPAD == SANSA_E200_PAD)
185#ifdef HAVE_WHEEL_POSITION 186#ifdef HAVE_WHEEL_POSITION
186 rb->wheel_send_events(true); 187 rb->wheel_send_events(true);
187#endif 188#endif
diff --git a/apps/plugins/spacerocks.c b/apps/plugins/spacerocks.c
index 0143af97b7..879a5696da 100644
--- a/apps/plugins/spacerocks.c
+++ b/apps/plugins/spacerocks.c
@@ -120,17 +120,17 @@ static struct plugin_api* rb; /* global api struct pointer */
120#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT 120#define AST_FIRE_REP BUTTON_SELECT | BUTTON_REPEAT
121 121
122#elif (CONFIG_KEYPAD == SANSA_E200_PAD) 122#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
123#define AST_PAUSE BUTTON_SELECT 123#define AST_PAUSE BUTTON_REC
124#define AST_QUIT BUTTON_POWER 124#define AST_QUIT BUTTON_POWER
125#define AST_THRUST_REP BUTTON_UP | BUTTON_RIGHT 125#define AST_THRUST_REP (BUTTON_UP | BUTTON_REPEAT)
126#define AST_THRUST BUTTON_UP 126#define AST_THRUST BUTTON_UP
127#define AST_HYPERSPACE BUTTON_DOWN 127#define AST_HYPERSPACE BUTTON_DOWN
128#define AST_LEFT BUTTON_LEFT 128#define AST_LEFT BUTTON_LEFT
129#define AST_LEFT_REP BUTTON_LEFT | BUTTON_RIGHT 129#define AST_LEFT_REP (BUTTON_LEFT | BUTTON_REPEAT)
130#define AST_RIGHT BUTTON_RIGHT 130#define AST_RIGHT BUTTON_RIGHT
131#define AST_RIGHT_REP (BUTTON_RIGHT | BUTTON_RIGHT) 131#define AST_RIGHT_REP (BUTTON_RIGHT | BUTTON_REPEAT)
132#define AST_FIRE BUTTON_SELECT 132#define AST_FIRE BUTTON_SELECT
133#define AST_FIRE_REP BUTTON_SELECT | BUTTON_RIGHT 133#define AST_FIRE_REP (BUTTON_SELECT | BUTTON_REPEAT)
134 134
135#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 135#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
136#define AST_PAUSE BUTTON_PLAY 136#define AST_PAUSE BUTTON_PLAY
@@ -161,7 +161,8 @@ static struct plugin_api* rb; /* global api struct pointer */
161 (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 161 (CONFIG_KEYPAD == IPOD_4G_PAD) || \
162 (CONFIG_KEYPAD == GIGABEAT_PAD)|| \ 162 (CONFIG_KEYPAD == GIGABEAT_PAD)|| \
163 (CONFIG_KEYPAD == ARCHOS_AV300_PAD)|| \ 163 (CONFIG_KEYPAD == ARCHOS_AV300_PAD)|| \
164 (CONFIG_KEYPAD == IRIVER_H10_PAD) 164 (CONFIG_KEYPAD == IRIVER_H10_PAD)|| \
165 (CONFIG_KEYPAD == SANSA_E200_PAD)
165 #define ENEMY_MISSILE_SURVIVAL_LENGTH 140 166 #define ENEMY_MISSILE_SURVIVAL_LENGTH 140
166 #define MISSILE_SURVIVAL_LENGTH 40 167 #define MISSILE_SURVIVAL_LENGTH 40
167 #define ASTEROID_SPEED 15 168 #define ASTEROID_SPEED 15
@@ -595,7 +596,7 @@ void create_trail_blaze(int colour, struct Point* position)
595 yadd = ship.position.y; 596 yadd = ship.position.y;
596 } 597 }
597 598
598 //give the point a random countdown timer, so they dissapears at different times 599 /* give the point a random countdown timer, so they dissapears at different times */
599 tpoint = trailPoints; 600 tpoint = trailPoints;
600 n = NUM_TRAIL_POINTS; 601 n = NUM_TRAIL_POINTS;
601 while(--n) 602 while(--n)
@@ -603,9 +604,9 @@ void create_trail_blaze(int colour, struct Point* position)
603 if(tpoint->alive <= 0 && numtoadd) 604 if(tpoint->alive <= 0 && numtoadd)
604 { 605 {
605 numtoadd--; 606 numtoadd--;
606 //take a random x point anywhere between 607 /* take a random x point anywhere between bottom two points of ship. */
607 //bottom two points of ship. 608 /* ship.position.x; */
608 tpoint->position.x = (ship.vertices[2].x + (rb->rand()%18000)-9000) + position->x; //ship.position.x; 609 tpoint->position.x = (ship.vertices[2].x + (rb->rand()%18000)-9000) + position->x;
609 tpoint->position.y = (ship.vertices[2].y + (rb->rand()%18000)-9000) + position->y; 610 tpoint->position.y = (ship.vertices[2].y + (rb->rand()%18000)-9000) + position->y;
610 611
611 switch(colour) 612 switch(colour)
@@ -643,9 +644,9 @@ void create_trail_blaze(int colour, struct Point* position)
643 tpoint->dec = 4; 644 tpoint->dec = 4;
644 break; 645 break;
645 } 646 }
646 //add a proportional bit to the x and y based on dx and dy 647 /* add a proportional bit to the x and y based on dx and dy */
647 648
648 //give the points a speed based on direction of travel - i.e. opposite 649 /* give the points a speed based on direction of travel - i.e. opposite */
649 tpoint->position.dx += position->dx; 650 tpoint->position.dx += position->dx;
650 tpoint->position.dy += position->dy; 651 tpoint->position.dy += position->dy;
651 652
@@ -653,17 +654,17 @@ void create_trail_blaze(int colour, struct Point* position)
653 } 654 }
654 tpoint++; 655 tpoint++;
655 } 656 }
656 //find a space in the array of trail_points that is NULL or DEAD or whatever. 657 /* find a space in the array of trail_points that is NULL or DEAD or whatever.
657 //and place this one here. 658 and place this one here. */
658 659
659} 660}
660 661
661void draw_trail_blaze(void) 662void draw_trail_blaze(void)
662{ 663{
663 struct TrailPoint* tpoint; 664 struct TrailPoint* tpoint;
664 //loop through, if alive then move and draw. 665 /* loop through, if alive then move and draw.
665 //when drawn, countdown it's timer. 666 when drawn, countdown it's timer.
666 //if zero kill it! 667 if zero kill it! */
667 tpoint = trailPoints; 668 tpoint = trailPoints;
668 int n = NUM_TRAIL_POINTS; 669 int n = NUM_TRAIL_POINTS;
669 670
@@ -677,7 +678,7 @@ void draw_trail_blaze(void)
677 move_point(&(tpoint->position)); 678 move_point(&(tpoint->position));
678 } 679 }
679 #ifdef HAVE_LCD_COLOR 680 #ifdef HAVE_LCD_COLOR
680 //intensity = tpoint->alive/2; 681 /* intensity = tpoint->alive/2; */
681 if(tpoint->r>0)tpoint->r-=tpoint->dec; 682 if(tpoint->r>0)tpoint->r-=tpoint->dec;
682 if(tpoint->g>0)tpoint->g-=tpoint->dec; 683 if(tpoint->g>0)tpoint->g-=tpoint->dec;
683 if(tpoint->b>0)tpoint->b-=tpoint->dec; 684 if(tpoint->b>0)tpoint->b-=tpoint->dec;
@@ -875,8 +876,8 @@ void draw_and_move_enemy(void)
875 else 876 else
876 { 877 {
877 878
878 //animate_and_draw_explosion(enemy.vertices, NUM_ENEMY_VERTICES, 879 /* animate_and_draw_explosion(enemy.vertices, NUM_ENEMY_VERTICES,
879 // enemy_x, enemy.position.y/SCALE); 880 enemy_x, enemy.position.y/SCALE); */
880 if(game_state != PAUSE_MODE) 881 if(game_state != PAUSE_MODE)
881 { 882 {
882 enemy.explode_countdown--; 883 enemy.explode_countdown--;
@@ -1002,7 +1003,7 @@ bool is_point_within_enemy(struct Point* point)
1002 current_score += 5; 1003 current_score += 5;
1003 /*enemy_missile.survived = 0;*/ 1004 /*enemy_missile.survived = 0;*/
1004 enemy.explode_countdown = EXPLOSION_LENGTH; 1005 enemy.explode_countdown = EXPLOSION_LENGTH;
1005 // initialise_explosion(enemy.vertices, NUM_ENEMY_VERTICES); 1006 /* initialise_explosion(enemy.vertices, NUM_ENEMY_VERTICES); */
1006 create_trail_blaze(ENEMY_EXPLOSION_COLOUR, &enemy.position); 1007 create_trail_blaze(ENEMY_EXPLOSION_COLOUR, &enemy.position);
1007 return true; 1008 return true;
1008 } 1009 }
@@ -1092,7 +1093,7 @@ void check_collisions(void)
1092 { 1093 {
1093 /*blow up ship*/ 1094 /*blow up ship*/
1094 ship.explode_countdown = EXPLOSION_LENGTH; 1095 ship.explode_countdown = EXPLOSION_LENGTH;
1095 // initialise_explosion(ship.vertices, NUM_SHIP_VERTICES); 1096 /* initialise_explosion(ship.vertices, NUM_SHIP_VERTICES); */
1096 create_trail_blaze(SHIP_EXPLOSION_COLOUR, &ship.position); 1097 create_trail_blaze(SHIP_EXPLOSION_COLOUR, &ship.position);
1097 } 1098 }
1098 1099
@@ -1130,7 +1131,7 @@ void check_collisions(void)
1130 if(is_point_within_enemy(&ship.position)) 1131 if(is_point_within_enemy(&ship.position))
1131 { 1132 {
1132 ship.explode_countdown = EXPLOSION_LENGTH; 1133 ship.explode_countdown = EXPLOSION_LENGTH;
1133 //initialise_explosion(ship.vertices, NUM_SHIP_VERTICES); 1134 /* initialise_explosion(ship.vertices, NUM_SHIP_VERTICES); */
1134 create_trail_blaze(SHIP_EXPLOSION_COLOUR, &ship.position); 1135 create_trail_blaze(SHIP_EXPLOSION_COLOUR, &ship.position);
1135 create_trail_blaze(ENEMY_EXPLOSION_COLOUR, &enemy.position); 1136 create_trail_blaze(ENEMY_EXPLOSION_COLOUR, &enemy.position);
1136 } 1137 }
@@ -1157,7 +1158,7 @@ void check_collisions(void)
1157 enemy_missile.position.y - ship.position.y)) 1158 enemy_missile.position.y - ship.position.y))
1158 { 1159 {
1159 ship.explode_countdown = EXPLOSION_LENGTH; 1160 ship.explode_countdown = EXPLOSION_LENGTH;
1160 //initialise_explosion(ship.vertices, NUM_SHIP_VERTICES); 1161 /* initialise_explosion(ship.vertices, NUM_SHIP_VERTICES); */
1161 create_trail_blaze(SHIP_EXPLOSION_COLOUR, &ship.position); 1162 create_trail_blaze(SHIP_EXPLOSION_COLOUR, &ship.position);
1162 enemy_missile.survived = 0; 1163 enemy_missile.survived = 0;
1163 enemy_missile.position.x = enemy_missile.position.y = 0; 1164 enemy_missile.position.x = enemy_missile.position.y = 0;
@@ -1304,7 +1305,11 @@ void draw_lives(void)
1304{ 1305{
1305 int n; 1306 int n;
1306 int px = (LCD_WIDTH - num_lives*4 - 1); 1307 int px = (LCD_WIDTH - num_lives*4 - 1);
1308 #if(LARGE_LCD)
1309 int py = (LCD_HEIGHT-6);
1310 #else
1307 int py = (LCD_HEIGHT-4); 1311 int py = (LCD_HEIGHT-4);
1312 #endif
1308 1313
1309 SET_FG(COL_PLAYER); 1314 SET_FG(COL_PLAYER);
1310 1315
@@ -1312,7 +1317,11 @@ void draw_lives(void)
1312 while(--n) 1317 while(--n)
1313 { 1318 {
1314 draw_polygon(lives_points, px, py, NUM_SHIP_VERTICES); 1319 draw_polygon(lives_points, px, py, NUM_SHIP_VERTICES);
1320 #if(LARGE_LCD)
1321 px += 8;
1322 #else
1315 px += 6; 1323 px += 6;
1324 #endif
1316 } 1325 }
1317} 1326}
1318 1327
@@ -1402,9 +1411,9 @@ void initialise_asteroid(struct Asteroid* asteroid, enum asteroid_type type)
1402 1411
1403 asteroid->radius += 6*SCALE; 1412 asteroid->radius += 6*SCALE;
1404 if(asteroid->type == SMALL) 1413 if(asteroid->type == SMALL)
1405 asteroid->radius /= 3;//2 1414 asteroid->radius /= 3;/*2*/
1406 else if(asteroid->type == LARGE) 1415 else if(asteroid->type == LARGE)
1407 asteroid->radius += 3*SCALE;//2 1416 asteroid->radius += 3*SCALE;/*2*/
1408 b = true; 1417 b = true;
1409 while(b) 1418 while(b)
1410 { 1419 {
@@ -1520,9 +1529,9 @@ void draw_and_move_ship(void)
1520 } 1529 }
1521 else 1530 else
1522 { 1531 {
1523 // animate_and_draw_explosion(ship.vertices, NUM_SHIP_VERTICES, 1532 /* animate_and_draw_explosion(ship.vertices, NUM_SHIP_VERTICES,
1524 // ship.position.x/SCALE, 1533 ship.position.x/SCALE,
1525 // ship.position.y/SCALE); 1534 ship.position.y/SCALE); */
1526 if(game_state != PAUSE_MODE) 1535 if(game_state != PAUSE_MODE)
1527 { 1536 {
1528 ship.explode_countdown--; 1537 ship.explode_countdown--;
@@ -1550,8 +1559,9 @@ void thrust_ship(void)
1550 { 1559 {
1551 ship.position.dx += ( ship.vertices[0].x - ship.vertices[2].x )/20; 1560 ship.position.dx += ( ship.vertices[0].x - ship.vertices[2].x )/20;
1552 ship.position.dy += ( ship.vertices[0].y - ship.vertices[2].y )/20; 1561 ship.position.dy += ( ship.vertices[0].y - ship.vertices[2].y )/20;
1553 /*if dx and dy are below a certain threshold, then set 'em to 0*/ 1562 /*if dx and dy are below a certain threshold, then set 'em to 0
1554 //but to do this we need to ascertain if the spacehip as moved on screen for more than a certain amount. 1563 but to do this we need to ascertain if the spacehip as moved on screen
1564 for more than a certain amount. */
1555 1565
1556 create_trail_blaze(THRUST_COLOUR, &ship.position); 1566 create_trail_blaze(THRUST_COLOUR, &ship.position);
1557 } 1567 }
@@ -1620,10 +1630,10 @@ void draw_and_move_asteroids(void)
1620 } 1630 }
1621 else if(asteroid->explode_countdown) 1631 else if(asteroid->explode_countdown)
1622 { 1632 {
1623 // animate_and_draw_explosion(asteroid->vertices, 1633 /* animate_and_draw_explosion(asteroid->vertices,
1624 // NUM_ASTEROID_VERTICES, 1634 NUM_ASTEROID_VERTICES,
1625 // asteroid->position.x/SCALE, 1635 asteroid->position.x/SCALE,
1626 // asteroid->position.y/SCALE); 1636 asteroid->position.y/SCALE); */
1627 asteroid->explode_countdown--; 1637 asteroid->explode_countdown--;
1628 } 1638 }
1629 } 1639 }
@@ -1655,7 +1665,8 @@ void create_stars(void)
1655 } 1665 }
1656 1666
1657 1667
1658 //give the point a random countdown timer, so they dissapears at different times 1668 /* give the point a random countdown timer, so they dissapears at different
1669 times */
1659 tpoint = trailPoints; 1670 tpoint = trailPoints;
1660 n = NUM_TRAIL_POINTS; 1671 n = NUM_TRAIL_POINTS;
1661 while(--n) 1672 while(--n)
diff --git a/apps/plugins/sudoku/SOURCES b/apps/plugins/sudoku/SOURCES
index 8b344bdfeb..7cce555c93 100644
--- a/apps/plugins/sudoku/SOURCES
+++ b/apps/plugins/sudoku/SOURCES
@@ -1,5 +1,3 @@
1#if !defined(SANSA_E200)
2sudoku.c 1sudoku.c
3generator.c 2generator.c
4templates.c 3templates.c
5#endif
diff --git a/apps/plugins/sudoku/sudoku.c b/apps/plugins/sudoku/sudoku.c
index 9a3a147889..218a544f8c 100644
--- a/apps/plugins/sudoku/sudoku.c
+++ b/apps/plugins/sudoku/sudoku.c
@@ -129,8 +129,7 @@ static const char default_game[9][9] =
129#define CELL_WIDTH 12 129#define CELL_WIDTH 12
130#define CELL_HEIGHT 12 130#define CELL_HEIGHT 12
131 131
132#elif ((LCD_HEIGHT==176) && (LCD_WIDTH==220)) || \ 132#elif ((LCD_HEIGHT==176) && (LCD_WIDTH==220))
133 ((LCD_HEIGHT==220) && (LCD_WIDTH==176))
134/* Iriver h300, iPod Color/Photo - 220x176, 9 cells @ 16x16 with 14 border lines */ 133/* Iriver h300, iPod Color/Photo - 220x176, 9 cells @ 16x16 with 14 border lines */
135 134
136/* Internal dimensions of a cell */ 135/* Internal dimensions of a cell */
@@ -151,7 +150,14 @@ static const char default_game[9][9] =
151#else /* Vertical layout, scratchpad at the bottom */ 150#else /* Vertical layout, scratchpad at the bottom */
152#define VERTICAL_LAYOUT 151#define VERTICAL_LAYOUT
153 152
154#if (LCD_HEIGHT>=320) && (LCD_WIDTH>=240) 153#if ((LCD_HEIGHT==220) && (LCD_WIDTH==176))
154/* e200, 9 cells @ 16x16 with 14 border lines */
155
156/* Internal dimensions of a cell */
157#define CELL_WIDTH 16
158#define CELL_HEIGHT 16
159
160#elif (LCD_HEIGHT>=320) && (LCD_WIDTH>=240)
155/* Gigabeat - 240x320, 9 cells @ 24x24 with 14 border lines */ 161/* Gigabeat - 240x320, 9 cells @ 24x24 with 14 border lines */
156 162
157/* Internal dimensions of a cell */ 163/* Internal dimensions of a cell */
diff --git a/apps/plugins/sudoku/sudoku.h b/apps/plugins/sudoku/sudoku.h
index 2628e3254f..04923be18e 100644
--- a/apps/plugins/sudoku/sudoku.h
+++ b/apps/plugins/sudoku/sudoku.h
@@ -116,8 +116,9 @@
116#define SUDOKU_BUTTON_DOWN BUTTON_DOWN 116#define SUDOKU_BUTTON_DOWN BUTTON_DOWN
117#define SUDOKU_BUTTON_LEFT BUTTON_LEFT 117#define SUDOKU_BUTTON_LEFT BUTTON_LEFT
118#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT 118#define SUDOKU_BUTTON_RIGHT BUTTON_RIGHT
119#define SUDOKU_BUTTON_TOGGLE BUTTON_SELECT 119#define SUDOKU_BUTTON_TOGGLEBACK BUTTON_SCROLL_UP
120#define SUDOKU_BUTTON_MENU (BUTTON_SELECT|BUTTON_REPEAT) 120#define SUDOKU_BUTTON_TOGGLE BUTTON_SCROLL_DOWN
121#define SUDOKU_BUTTON_MENU BUTTON_SELECT
121#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC 122#define SUDOKU_BUTTON_POSSIBLE BUTTON_REC
122 123
123#elif 124#elif
diff --git a/apps/plugins/wormlet.c b/apps/plugins/wormlet.c
index 5afefb77a8..b301a8ae11 100644
--- a/apps/plugins/wormlet.c
+++ b/apps/plugins/wormlet.c
@@ -200,6 +200,11 @@ PLUGIN_HEADER
200#define ARGH_SIZE 6 200#define ARGH_SIZE 6
201#define SPEED 4 201#define SPEED 4
202#define MAX_WORM_SEGMENTS 512 202#define MAX_WORM_SEGMENTS 512
203#elif (LCD_WIDTH == 176) && (LCD_HEIGHT == 220)
204#define FOOD_SIZE 5
205#define ARGH_SIZE 6
206#define SPEED 4
207#define MAX_WORM_SEGMENTS 512
203#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240) 208#elif (LCD_WIDTH == 320) && (LCD_HEIGHT == 240)
204#define FOOD_SIZE 7 209#define FOOD_SIZE 7
205#define ARGH_SIZE 8 210#define ARGH_SIZE 8