mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-21 02:52:50 -05:00
Chopper update. Fix endgame text not showing up and menu being invisible after first game, both on grayscale targets. Also fix endgame text being too long on Archos by using a splash to draw it. Also: X5's up button now works as 'fly' and Ondio mappings changed (Up/Menu = fly, Off = quit).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12345 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
6dbe772eb7
commit
5bebae83a6
1 changed files with 20 additions and 26 deletions
|
|
@ -49,7 +49,8 @@ PLUGIN_HEADER
|
||||||
#elif CONFIG_KEYPAD == IAUDIO_X5_PAD /* grayscale at the moment */
|
#elif CONFIG_KEYPAD == IAUDIO_X5_PAD /* grayscale at the moment */
|
||||||
|
|
||||||
#define QUIT BUTTON_POWER
|
#define QUIT BUTTON_POWER
|
||||||
#define ACTION BUTTON_SELECT
|
#define ACTION BUTTON_UP
|
||||||
|
#define ACTION2 BUTTON_SELECT
|
||||||
#define ACTIONTEXT "SELECT"
|
#define ACTIONTEXT "SELECT"
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
|
#elif CONFIG_KEYPAD == IRIVER_H10_PAD
|
||||||
|
|
@ -73,8 +74,9 @@ PLUGIN_HEADER
|
||||||
#define ACTIONTEXT "PLAY"
|
#define ACTIONTEXT "PLAY"
|
||||||
|
|
||||||
#elif CONFIG_KEYPAD == ONDIO_PAD
|
#elif CONFIG_KEYPAD == ONDIO_PAD
|
||||||
#define QUIT BUTTON_MENU
|
#define QUIT BUTTON_OFF
|
||||||
#define ACTION BUTTON_RIGHT
|
#define ACTION BUTTON_UP
|
||||||
|
#define ACTION BUTTON_MENU
|
||||||
#define ACTIONTEXT "RIGHT"
|
#define ACTIONTEXT "RIGHT"
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
@ -387,7 +389,6 @@ static void chopAddParticle(int x,int y,int sx,int sy)
|
||||||
mParticles[i].iWorldY = y;
|
mParticles[i].iWorldY = y;
|
||||||
mParticles[i].iSpeedX = sx;
|
mParticles[i].iSpeedX = sx;
|
||||||
mParticles[i].iSpeedY = sy;
|
mParticles[i].iSpeedY = sy;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void chopGenerateBlockIfNeeded(void)
|
static void chopGenerateBlockIfNeeded(void)
|
||||||
|
|
@ -458,19 +459,6 @@ static int chopParticleOffscreen(struct CParticle *mParticle)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void checkHighScore(void)
|
|
||||||
{
|
|
||||||
if (score > highscore) {
|
|
||||||
char scoretext[30];
|
|
||||||
int w;
|
|
||||||
highscore = score;
|
|
||||||
rb->snprintf(scoretext, sizeof(scoretext), "New High Score: %d",
|
|
||||||
highscore);
|
|
||||||
rb->lcd_getstringsize(scoretext, &w, NULL);
|
|
||||||
rb->lcd_putsxy(LCD_WIDTH/2 - w/2 ,LCD_HEIGHT/2 + 20, scoretext);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
static void chopKillPlayer(void)
|
static void chopKillPlayer(void)
|
||||||
{
|
{
|
||||||
int w, i, button;
|
int w, i, button;
|
||||||
|
|
@ -486,21 +474,24 @@ static void chopKillPlayer(void)
|
||||||
if (iPlayerAlive == 0) {
|
if (iPlayerAlive == 0) {
|
||||||
rb->lcd_set_drawmode(DRMODE_FG);
|
rb->lcd_set_drawmode(DRMODE_FG);
|
||||||
#if LCD_DEPTH >= 2
|
#if LCD_DEPTH >= 2
|
||||||
rb->lcd_set_foreground(LCD_WHITE);
|
rb->lcd_set_foreground(LCD_LIGHTGRAY);
|
||||||
#endif
|
#endif
|
||||||
checkHighScore();
|
rb->splash(HZ, true, "Game Over");
|
||||||
|
|
||||||
rb->lcd_getstringsize("Game Over", &w, NULL);
|
if (score > highscore) {
|
||||||
rb->lcd_putsxy(LCD_WIDTH/2 - w/2 ,LCD_HEIGHT/2 - 20, "Game Over");
|
char scoretext[30];
|
||||||
rb->lcd_getstringsize("Press " ACTIONTEXT " to continue", &w, NULL);
|
int w;
|
||||||
rb->lcd_putsxy(LCD_WIDTH/2 - w/2 ,LCD_HEIGHT/2,
|
highscore = score;
|
||||||
"Press " ACTIONTEXT " to continue");
|
rb->snprintf(scoretext, sizeof(scoretext), "New High Score: %d",
|
||||||
|
highscore);
|
||||||
|
rb->splash(HZ*2, true, scoretext);
|
||||||
|
}
|
||||||
|
|
||||||
|
rb->splash(HZ/4, true, "Press " ACTIONTEXT " to continue");
|
||||||
rb->lcd_update();
|
rb->lcd_update();
|
||||||
|
|
||||||
rb->lcd_set_drawmode(DRMODE_SOLID);
|
rb->lcd_set_drawmode(DRMODE_SOLID);
|
||||||
|
|
||||||
rb->sleep(HZ * 0.5);
|
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
button = rb->button_get(true);
|
button = rb->button_get(true);
|
||||||
if (button == ACTION
|
if (button == ACTION
|
||||||
|
|
@ -631,6 +622,9 @@ static int chopMenu(int menunum)
|
||||||
#if HAVE_LCD_COLOR
|
#if HAVE_LCD_COLOR
|
||||||
rb->lcd_set_foreground(LCD_WHITE);
|
rb->lcd_set_foreground(LCD_WHITE);
|
||||||
rb->lcd_set_background(LCD_BLACK);
|
rb->lcd_set_background(LCD_BLACK);
|
||||||
|
#elif LCD_DEPTH == 2
|
||||||
|
rb->lcd_set_foreground(LCD_BLACK);
|
||||||
|
rb->lcd_set_background(LCD_WHITE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rb->lcd_clear_display();
|
rb->lcd_clear_display();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue