1
0
Fork 0
forked from len0rd/rockbox

pegbox stuff

- background colour fix for small colour targets
- button define fixes (no scroll wheel on ipod, no impossible combinations etc)
- collapsed two defines into one for easier assignment and documentation
- make levels wrap and make level-1 optional (for targets with few buttons)
- updated manual accordingly
- a couple more screenshots


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16963 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Kukla 2008-04-04 17:54:29 +00:00
parent 8399749412
commit 1b335ae961
5 changed files with 147 additions and 137 deletions

View file

@ -51,10 +51,9 @@ PLUGIN_HEADER
#define PLAYER 7 #define PLAYER 7
#if CONFIG_KEYPAD == RECORDER_PAD #if CONFIG_KEYPAD == RECORDER_PAD
#define PEGBOX_SELECT BUTTON_ON #define PEGBOX_SAVE BUTTON_ON
#define PEGBOX_QUIT BUTTON_OFF #define PEGBOX_QUIT BUTTON_OFF
#define PEGBOX_SAVE BUTTON_F2 #define PEGBOX_RESTART BUTTON_F2
#define PEGBOX_RESTART BUTTON_ON
#define PEGBOX_LVL_UP BUTTON_F1 #define PEGBOX_LVL_UP BUTTON_F1
#define PEGBOX_LVL_DOWN BUTTON_F3 #define PEGBOX_LVL_DOWN BUTTON_F3
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
@ -62,90 +61,85 @@ PLUGIN_HEADER
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "ON" #define SAVE_TEXT "ON"
#define QUIT_TEXT "OFF"
#define RESTART_TEXT "F2"
#define LVL_UP_TEXT "F1" #define LVL_UP_TEXT "F1"
#define LVL_DOWN_TEXT "F3" #define LVL_DOWN_TEXT "F3"
#define SAVE_TEXT "F2"
#define QUIT_TEXT "OFF"
#elif CONFIG_KEYPAD == ONDIO_PAD #elif CONFIG_KEYPAD == ONDIO_PAD
#define PEGBOX_SELECT BUTTON_MENU #define PEGBOX_SAVE BUTTON_OFF
#define PEGBOX_QUIT BUTTON_OFF #define PEGBOX_QUIT (BUTTON_MENU | BUTTON_LEFT)
#define PEGBOX_SAVE (BUTTON_MENU | BUTTON_UP) #define PEGBOX_RESTART (BUTTON_MENU | BUTTON_RIGHT)
#define PEGBOX_RESTART (BUTTON_MENU | BUTTON_DOWN) #define PEGBOX_LVL_UP (BUTTON_MENU | BUTTON_UP)
#define PEGBOX_LVL_UP (BUTTON_MENU | BUTTON_LEFT) #define PEGBOX_LVL_DOWN (BUTTON_MENU | BUTTON_DOWN)
#define PEGBOX_LVL_DOWN (BUTTON_MENU | BUTTON_RIGHT)
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
#define PEGBOX_DOWN BUTTON_DOWN #define PEGBOX_DOWN BUTTON_DOWN
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "M+DOWN" #define SAVE_TEXT "OFF"
#define LVL_UP_TEXT "M+RIGHT" #define QUIT_TEXT "M+LEFT"
#define LVL_DOWN_TEXT "M+LEFT" #define RESTART_TEXT "M+RIGHT"
#define SAVE_TEXT "M+UP" #define LVL_UP_TEXT "M+UP"
#define QUIT_TEXT "OFF" #define LVL_DOWN_TEXT "M+DOWN"
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ #elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD) (CONFIG_KEYPAD == IRIVER_H300_PAD)
#define PEGBOX_SELECT BUTTON_SELECT #define PEGBOX_SAVE BUTTON_SELECT
#define PEGBOX_QUIT BUTTON_OFF #define PEGBOX_QUIT BUTTON_OFF
#define PEGBOX_SAVE BUTTON_MODE #define PEGBOX_RESTART BUTTON_ON
#define PEGBOX_RESTART BUTTON_SELECT #define PEGBOX_LVL_UP BUTTON_MODE
#define PEGBOX_LVL_UP BUTTON_ON
#define PEGBOX_LVL_DOWN BUTTON_REC #define PEGBOX_LVL_DOWN BUTTON_REC
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
#define PEGBOX_DOWN BUTTON_DOWN #define PEGBOX_DOWN BUTTON_DOWN
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "NAVI" #define SAVE_TEXT "NAVI"
#define LVL_UP_TEXT "PLAY"
#define LVL_DOWN_TEXT "REC"
#define SAVE_TEXT "AB"
#define QUIT_TEXT "OFF" #define QUIT_TEXT "OFF"
#define RESTART_TEXT "ON"
#define LVL_UP_TEXT "AB"
#define LVL_DOWN_TEXT "REC"
#elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \ #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || \
(CONFIG_KEYPAD == IPOD_3G_PAD) || \ (CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD) (CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define PEGBOX_SELECT (BUTTON_SELECT|BUTTON_REL)
#define PEGBOX_QUIT (BUTTON_SELECT|BUTTON_MENU)
#define PEGBOX_SAVE (BUTTON_SELECT|BUTTON_RIGHT) #define PEGBOX_SAVE (BUTTON_SELECT|BUTTON_RIGHT)
#define PEGBOX_QUIT (BUTTON_SELECT|BUTTON_PLAY)
#define PEGBOX_RESTART (BUTTON_SELECT|BUTTON_LEFT) #define PEGBOX_RESTART (BUTTON_SELECT|BUTTON_LEFT)
#define PEGBOX_LVL_UP BUTTON_SCROLL_BACK #define PEGBOX_LVL_UP (BUTTON_SELECT|BUTTON_MENU)
#define PEGBOX_LVL_DOWN BUTTON_SCROLL_FWD
#define PEGBOX_UP BUTTON_MENU #define PEGBOX_UP BUTTON_MENU
#define PEGBOX_DOWN BUTTON_PLAY #define PEGBOX_DOWN BUTTON_PLAY
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "SELECT+LEFT"
#define LVL_UP_TEXT "SCROLL BACK"
#define LVL_DOWN_TEXT "SCROLL FWD"
#define SAVE_TEXT "SELECT+RIGHT" #define SAVE_TEXT "SELECT+RIGHT"
#define QUIT_TEXT "SELECT+MENU" #define QUIT_TEXT "SELECT+PLAY"
#define RESTART_TEXT "SELECT+LEFT"
#define LVL_UP_TEXT "SELECT+MENU"
#define LVL_DOWN_TEXT "-"
#elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD #elif CONFIG_KEYPAD == IAUDIO_X5M5_PAD
#define PEGBOX_SELECT BUTTON_SELECT #define PEGBOX_SAVE BUTTON_SELECT
#define PEGBOX_QUIT BUTTON_POWER #define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_SAVE BUTTON_PLAY
#define PEGBOX_RESTART BUTTON_REC #define PEGBOX_RESTART BUTTON_REC
#define PEGBOX_LVL_UP BUTTON_PLAY
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
#define PEGBOX_DOWN BUTTON_DOWN #define PEGBOX_DOWN BUTTON_DOWN
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "REC" #define SAVE_TEXT "SELECT"
#define LVL_UP_TEXT "-"
#define LVL_DOWN_TEXT "-"
#define SAVE_TEXT "PLAY"
#define QUIT_TEXT "OFF" #define QUIT_TEXT "OFF"
#define RESTART_TEXT "REC"
#define LVL_UP_TEXT "PLAY"
#define LVL_DOWN_TEXT "-"
#elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD
#define PEGBOX_SELECT BUTTON_MODE #define PEGBOX_SAVE BUTTON_MODE
#define PEGBOX_QUIT BUTTON_PLAY #define PEGBOX_QUIT BUTTON_PLAY
#define PEGBOX_SAVE (BUTTON_EQ|BUTTON_MODE) #define PEGBOX_RESTART (BUTTON_EQ|BUTTON_MODE)
#define PEGBOX_RESTART BUTTON_MODE
#define PEGBOX_LVL_UP (BUTTON_EQ|BUTTON_UP) #define PEGBOX_LVL_UP (BUTTON_EQ|BUTTON_UP)
#define PEGBOX_LVL_DOWN (BUTTON_EQ|BUTTON_DOWN) #define PEGBOX_LVL_DOWN (BUTTON_EQ|BUTTON_DOWN)
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
@ -153,16 +147,15 @@ PLUGIN_HEADER
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "MODE" #define SAVE_TEXT "MODE"
#define QUIT_TEXT "PLAY"
#define RESTART_TEXT "EQ+MODE"
#define LVL_UP_TEXT "EQ+UP" #define LVL_UP_TEXT "EQ+UP"
#define LVL_DOWN_TEXT "EQ+DOWN" #define LVL_DOWN_TEXT "EQ+DOWN"
#define SAVE_TEXT "EQ+MODE"
#define QUIT_TEXT "PLAY"
#elif CONFIG_KEYPAD == IRIVER_H10_PAD #elif CONFIG_KEYPAD == IRIVER_H10_PAD
#define PEGBOX_SELECT BUTTON_PLAY #define PEGBOX_SAVE BUTTON_PLAY
#define PEGBOX_QUIT BUTTON_POWER #define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_SAVE BUTTON_FF
#define PEGBOX_RESTART (BUTTON_FF|BUTTON_REPEAT) #define PEGBOX_RESTART (BUTTON_FF|BUTTON_REPEAT)
#define PEGBOX_LVL_UP (BUTTON_FF|BUTTON_SCROLL_UP) #define PEGBOX_LVL_UP (BUTTON_FF|BUTTON_SCROLL_UP)
#define PEGBOX_LVL_DOWN (BUTTON_FF|BUTTON_SCROLL_DOWN) #define PEGBOX_LVL_DOWN (BUTTON_FF|BUTTON_SCROLL_DOWN)
@ -171,17 +164,16 @@ PLUGIN_HEADER
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define SAVE_TEXT "PLAY"
#define QUIT_TEXT "OFF"
#define RESTART_TEXT "LONG FF" #define RESTART_TEXT "LONG FF"
#define LVL_UP_TEXT "FF+SCROLL_UP" #define LVL_UP_TEXT "FF+SCROLL_UP"
#define LVL_DOWN_TEXT "FF+SCROLL_DOWN" #define LVL_DOWN_TEXT "FF+SCROLL_DOWN"
#define SAVE_TEXT "FF"
#define QUIT_TEXT "OFF"
#elif CONFIG_KEYPAD == SANSA_E200_PAD #elif CONFIG_KEYPAD == SANSA_E200_PAD
#define PEGBOX_SELECT BUTTON_SELECT #define PEGBOX_SAVE BUTTON_SELECT
#define PEGBOX_QUIT BUTTON_POWER #define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_SAVE BUTTON_REC #define PEGBOX_RESTART BUTTON_REC
#define PEGBOX_RESTART BUTTON_SELECT
#define PEGBOX_LVL_UP BUTTON_SCROLL_BACK #define PEGBOX_LVL_UP BUTTON_SCROLL_BACK
#define PEGBOX_LVL_DOWN BUTTON_SCROLL_FWD #define PEGBOX_LVL_DOWN BUTTON_SCROLL_FWD
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
@ -189,16 +181,15 @@ PLUGIN_HEADER
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "SELECT" #define SAVE_TEXT "SELECT"
#define LVL_UP_TEXT "SCROLL_UP"
#define LVL_DOWN_TEXT "SCROLL_DOWN"
#define SAVE_TEXT "REC"
#define QUIT_TEXT "POWER" #define QUIT_TEXT "POWER"
#define RESTART_TEXT "REC"
#define LVL_UP_TEXT "SCROLL BACK"
#define LVL_DOWN_TEXT "SCROLL FWD"
#elif CONFIG_KEYPAD == GIGABEAT_PAD #elif CONFIG_KEYPAD == GIGABEAT_PAD
#define PEGBOX_SELECT BUTTON_SELECT #define PEGBOX_SAVE BUTTON_SELECT
#define PEGBOX_QUIT BUTTON_POWER #define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_SAVE BUTTON_MENU
#define PEGBOX_RESTART BUTTON_A #define PEGBOX_RESTART BUTTON_A
#define PEGBOX_LVL_UP BUTTON_VOL_UP #define PEGBOX_LVL_UP BUTTON_VOL_UP
#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN #define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
@ -207,35 +198,33 @@ PLUGIN_HEADER
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "POWER" #define SAVE_TEXT "SELECT"
#define QUIT_TEXT "POWER"
#define RESTART_TEXT "A"
#define LVL_UP_TEXT "VOL+" #define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-" #define LVL_DOWN_TEXT "VOL-"
#define SAVE_TEXT "MENU"
#define QUIT_TEXT "A"
#elif CONFIG_KEYPAD == MROBE100_PAD #elif CONFIG_KEYPAD == MROBE100_PAD
#define PEGBOX_SELECT BUTTON_SELECT #define PEGBOX_SAVE BUTTON_SELECT
#define PEGBOX_QUIT BUTTON_POWER #define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_SAVE BUTTON_MENU
#define PEGBOX_RESTART BUTTON_PLAY #define PEGBOX_RESTART BUTTON_PLAY
#define PEGBOX_LVL_UP (BUTTON_DISPLAY | BUTTON_REL) #define PEGBOX_LVL_UP BUTTON_MENU
#define PEGBOX_LVL_DOWN (BUTTON_DISPLAY | BUTTON_REPEAT) #define PEGBOX_LVL_DOWN BUTTON_DISPLAY
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
#define PEGBOX_DOWN BUTTON_DOWN #define PEGBOX_DOWN BUTTON_DOWN
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "PLAY" #define SAVE_TEXT "SELECT"
#define LVL_UP_TEXT "DISPLAY+UP"
#define LVL_DOWN_TEXT "DISPLAY+DOWN"
#define SAVE_TEXT "MENU"
#define QUIT_TEXT "POWER" #define QUIT_TEXT "POWER"
#define RESTART_TEXT "PLAY"
#define LVL_UP_TEXT "MENU"
#define LVL_DOWN_TEXT "DISPLAY"
#elif CONFIG_KEYPAD == SANSA_C200_PAD #elif CONFIG_KEYPAD == SANSA_C200_PAD
#define PEGBOX_SELECT BUTTON_SELECT #define PEGBOX_SAVE BUTTON_SELECT
#define PEGBOX_QUIT BUTTON_POWER #define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_SAVE (BUTTON_REC | BUTTON_SELECT) #define PEGBOX_RESTART BUTTON_REC
#define PEGBOX_RESTART (BUTTON_REC | BUTTON_REL)
#define PEGBOX_LVL_UP BUTTON_VOL_UP #define PEGBOX_LVL_UP BUTTON_VOL_UP
#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN #define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
@ -243,16 +232,15 @@ PLUGIN_HEADER
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define SAVE_TEXT "SELECT"
#define QUIT_TEXT "POWER"
#define RESTART_TEXT "REC" #define RESTART_TEXT "REC"
#define LVL_UP_TEXT "VOL+" #define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-" #define LVL_DOWN_TEXT "VOL-"
#define SAVE_TEXT "REC+SELECT"
#define QUIT_TEXT "POWER"
#elif CONFIG_KEYPAD == IAUDIO_M3_PAD #elif CONFIG_KEYPAD == IAUDIO_M3_PAD
#define PEGBOX_SELECT BUTTON_RC_PLAY #define PEGBOX_SAVE BUTTON_RC_PLAY
#define PEGBOX_QUIT BUTTON_RC_REC #define PEGBOX_QUIT BUTTON_RC_REC
#define PEGBOX_SAVE BUTTON_RC_MENU
#define PEGBOX_RESTART BUTTON_RC_MODE #define PEGBOX_RESTART BUTTON_RC_MODE
#define PEGBOX_LVL_UP BUTTON_VOL_UP #define PEGBOX_LVL_UP BUTTON_VOL_UP
#define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN #define PEGBOX_LVL_DOWN BUTTON_VOL_DOWN
@ -261,28 +249,28 @@ PLUGIN_HEADER
#define PEGBOX_RIGHT BUTTON_RC_FF #define PEGBOX_RIGHT BUTTON_RC_FF
#define PEGBOX_LEFT BUTTON_RC_REW #define PEGBOX_LEFT BUTTON_RC_REW
#define SAVE_TEXT "REM. PLAY"
#define QUIT_TEXT "REM. REC"
#define RESTART_TEXT "REM. MODE" #define RESTART_TEXT "REM. MODE"
#define LVL_UP_TEXT "VOL+" #define LVL_UP_TEXT "VOL+"
#define LVL_DOWN_TEXT "VOL-" #define LVL_DOWN_TEXT "VOL-"
#define SAVE_TEXT "REM. PLAY"
#define QUIT_TEXT "REM. REC"
#elif CONFIG_KEYPAD == COWOND2_PAD #elif CONFIG_KEYPAD == COWOND2_PAD
#define PEGBOX_SELECT BUTTON_SELECT #define PEGBOX_SAVE BUTTON_SELECT
#define PEGBOX_QUIT BUTTON_POWER #define PEGBOX_QUIT BUTTON_POWER
#define PEGBOX_SAVE BUTTON_MENU #define PEGBOX_RESTART BUTTON_MENU
#define PEGBOX_RESTART BUTTON_MINUS
#define PEGBOX_LVL_UP BUTTON_PLUS #define PEGBOX_LVL_UP BUTTON_PLUS
#define PEGBOX_LVL_DOWN BUTTON_MINUS
#define PEGBOX_UP BUTTON_UP #define PEGBOX_UP BUTTON_UP
#define PEGBOX_DOWN BUTTON_DOWN #define PEGBOX_DOWN BUTTON_DOWN
#define PEGBOX_RIGHT BUTTON_RIGHT #define PEGBOX_RIGHT BUTTON_RIGHT
#define PEGBOX_LEFT BUTTON_LEFT #define PEGBOX_LEFT BUTTON_LEFT
#define RESTART_TEXT "MINUS" #define SAVE_TEXT "SELECT"
#define LVL_UP_TEXT "PLUS"
#define LVL_DOWN_TEXT "-"
#define SAVE_TEXT "MENU"
#define QUIT_TEXT "POWER" #define QUIT_TEXT "POWER"
#define RESTART_TEXT "MENU"
#define LVL_UP_TEXT "PLUS"
#define LVL_DOWN_TEXT "MINUS"
#endif #endif
#if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240) #if (LCD_WIDTH >= 320) && (LCD_HEIGHT >= 240)
@ -618,6 +606,15 @@ static void draw_board(struct game_context* pb) {
#else #else
rb->lcd_clear_display(); rb->lcd_clear_display();
#ifdef HAVE_LCD_COLOR
rb->lcd_set_foreground(LCD_WHITE);
rb->lcd_fillrect((LCD_WIDTH-12*BMPWIDTH_pegbox_pieces)/2-1,0,
12*BMPWIDTH_pegbox_pieces+2,8*BMPWIDTH_pegbox_pieces+1);
rb->lcd_set_foreground(LCD_BLACK);
rb->lcd_set_background(TEXT_BG);
#endif
#endif #endif
for (r=0 ; r < ROWS ; r++) { for (r=0 ; r < ROWS ; r++) {
@ -708,7 +705,7 @@ static void new_piece(struct game_context* pb, unsigned int x_loc,
else else
pb->playboard[x_loc][y_loc] = CIRCLE; pb->playboard[x_loc][y_loc] = CIRCLE;
break; break;
case PEGBOX_SELECT: case PEGBOX_SAVE:
exit = true; exit = true;
break; break;
} }
@ -1006,7 +1003,8 @@ static unsigned int pegbox_menu(struct game_context* pb) {
button = rb->button_get(true); button = rb->button_get(true);
switch(button) { switch(button) {
case PEGBOX_SELECT: /* start playing */ case PEGBOX_SAVE: /* start playing */
case PEGBOX_RIGHT:
if (loc == 0) { if (loc == 0) {
breakout = true; breakout = true;
pb->level = startlevel; pb->level = startlevel;
@ -1032,13 +1030,13 @@ static unsigned int pegbox_menu(struct game_context* pb) {
RESTART_TEXT " to restart level\n" RESTART_TEXT " to restart level\n"
LVL_UP_TEXT " to go up a level\n" LVL_UP_TEXT " to go up a level\n"
LVL_DOWN_TEXT " to go down a level\n" LVL_DOWN_TEXT " to go down a level\n"
SAVE_TEXT " to save\n" SAVE_TEXT " to select/save\n"
QUIT_TEXT " to quit\n",true); QUIT_TEXT " to quit\n",true);
#else #else
RESTART_TEXT ": restart\n" RESTART_TEXT ": restart\n"
LVL_UP_TEXT ": level up\n" LVL_UP_TEXT ": level up\n"
LVL_DOWN_TEXT " level down\n" LVL_DOWN_TEXT " level down\n"
SAVE_TEXT " save game\n" SAVE_TEXT " select/save\n"
QUIT_TEXT " quit\n",true); QUIT_TEXT " quit\n",true);
#endif #endif
else if (loc == 3) else if (loc == 3)
@ -1071,8 +1069,8 @@ static unsigned int pegbox_menu(struct game_context* pb) {
} }
break; break;
case (PEGBOX_RIGHT|BUTTON_REPEAT): case (PEGBOX_LVL_UP|BUTTON_REPEAT):
case PEGBOX_RIGHT: /* increase starting level */ case PEGBOX_LVL_UP: /* increase starting level */
if(startlevel >= pb->highlevel) { if(startlevel >= pb->highlevel) {
startlevel = 1; startlevel = 1;
} else { } else {
@ -1080,15 +1078,17 @@ static unsigned int pegbox_menu(struct game_context* pb) {
} }
break; break;
case (PEGBOX_LEFT|BUTTON_REPEAT): /* only for targets with enough buttons */
case PEGBOX_LEFT: /* decrease starting level */ #ifdef PEGBOX_LVL_DOWN
case (PEGBOX_LVL_DOWN|BUTTON_REPEAT):
case PEGBOX_LVL_DOWN: /* decrease starting level */
if(startlevel <= 1) { if(startlevel <= 1) {
startlevel = pb->highlevel; startlevel = pb->highlevel;
} else { } else {
startlevel--; startlevel--;
} }
break; break;
#endif
default: default:
if(rb->default_event_handler_ex(button, pegbox_callback, if(rb->default_event_handler_ex(button, pegbox_callback,
(void*) pb) == SYS_USB_CONNECTED) (void*) pb) == SYS_USB_CONNECTED)
@ -1151,23 +1151,28 @@ static int pegbox(struct game_context* pb) {
draw_board(pb); draw_board(pb);
break; break;
#ifdef PEGBOX_LVL_UP case (PEGBOX_LVL_UP|BUTTON_REPEAT):
case PEGBOX_LVL_UP: case PEGBOX_LVL_UP:
if(pb->level < pb->highlevel) { if(pb->level >= pb->highlevel) {
pb->level = 1;
} else {
pb->level++; pb->level++;
load_level(pb);
draw_board(pb);
} }
load_level(pb);
draw_board(pb);
break; break;
#endif
/* only for targets with enough buttons */
#ifdef PEGBOX_LVL_DOWN #ifdef PEGBOX_LVL_DOWN
case (PEGBOX_LVL_DOWN|BUTTON_REPEAT):
case PEGBOX_LVL_DOWN: case PEGBOX_LVL_DOWN:
if(pb->level > 1) { if(pb->level <= 1) {
pb->level = pb->highlevel;
} else {
pb->level--; pb->level--;
load_level(pb);
draw_board(pb);
} }
load_level(pb);
draw_board(pb);
break; break;
#endif #endif

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 590 B

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View file

@ -9,28 +9,45 @@ block and crosses which allow you to choose a replacement block.
\begin{btnmap}{}{} \begin{btnmap}{}{}
\multicolumn{2}{c}{\textbf{In game}}\\\hline \multicolumn{2}{c}{\textbf{In game}}\\\hline
\opt{RECORDER_PAD,ARCHOS_AV300_PAD,ONDIO_PAD,IRIVER_H100_PAD,IRIVER_H300_PAD,IAUDIO_X5_PAD,GIGABEAT_PAD,MROBE100_PAD,SANSA_E200_PAD}{\ButtonUp, \ButtonDown, } \opt{RECORDER_PAD}{\ButtonUp, \ButtonDown, }
\opt{IPOD_4G_PAD,IPOD_3G_PAD}{\ButtonMenu, \ButtonPlay, } \opt{ONDIO_PAD}{\ButtonUp, \ButtonDown, }
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonUp, \ButtonDown, }
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonMenu, \ButtonPlay, }
\opt{IAUDIO_X5_PAD}{\ButtonUp, \ButtonDown, }
\opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown, } \opt{IRIVER_H10_PAD}{\ButtonScrollUp, \ButtonScrollDown, }
\ButtonLeft, \ButtonRight \opt{SANSA_E200_PAD}{\ButtonUp, \ButtonDown, }
\opt{GIGABEAT_PAD}{\ButtonUp, \ButtonDown, }
\opt{MROBE100_PAD}{\ButtonUp, \ButtonDown, }
\opt{SANSA_C200_PAD}{\ButtonUp, \ButtonDown, }
\opt{RECORDER_PAD}{\ButtonLeft, \ButtonRight}
\opt{ONDIO_PAD}{\ButtonLeft, \ButtonRight}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonLeft, \ButtonRight}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonLeft, \ButtonRight}
\opt{IAUDIO_X5_PAD}{\ButtonLeft, \ButtonRight}
\opt{IRIVER_H10_PAD}{\ButtonLeft, \ButtonRight}
\opt{SANSA_E200_PAD}{\ButtonLeft, \ButtonRight}
\opt{GIGABEAT_PAD}{\ButtonLeft, \ButtonRight}
\opt{MROBE100_PAD}{\ButtonLeft, \ButtonRight}
\opt{SANSA_C200_PAD}{\ButtonLeft, \ButtonRight}
& to move around\\ & to move around\\
\opt{RECORDER_PAD}{\ButtonOn} \opt{RECORDER_PAD}{\ButtonOn}
\opt{ONDIO_PAD}{\ButtonMenu} \opt{ONDIO_PAD}{\ButtonOff}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect} \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect} \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonRight}
\opt{IAUDIO_X5_PAD}{\ButtonSelect} \opt{IAUDIO_X5_PAD}{\ButtonSelect}
\opt{IRIVER_H10_PAD}{\ButtonPlay} \opt{IRIVER_H10_PAD}{\ButtonPlay}
\opt{SANSA_E200_PAD}{\ButtonSelect} \opt{SANSA_E200_PAD}{\ButtonSelect}
\opt{GIGABEAT_PAD}{\ButtonSelect} \opt{GIGABEAT_PAD}{\ButtonSelect}
\opt{MROBE100_PAD}{\ButtonSelect} \opt{MROBE100_PAD}{\ButtonSelect}
\opt{SANSA_C200_PAD}{\ButtonSelect} \opt{SANSA_C200_PAD}{\ButtonSelect}
& to select\\ & to select/save\\
\opt{RECORDER_PAD}{\ButtonOff} \opt{RECORDER_PAD}{\ButtonOff}
\opt{ONDIO_PAD}{\ButtonOFF} \opt{ONDIO_PAD}{\ButtonMenu + \ButtonOff}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOff} \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOFF}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonMenu} \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonPlay}
\opt{IAUDIO_X5_PAD}{\ButtonPower} \opt{IAUDIO_X5_PAD}{\ButtonPower}
\opt{IRIVER_H10_PAD}{\ButtonPower} \opt{IRIVER_H10_PAD}{\ButtonPower}
\opt{SANSA_E200_PAD}{\ButtonPower} \opt{SANSA_E200_PAD}{\ButtonPower}
@ -40,51 +57,39 @@ block and crosses which allow you to choose a replacement block.
& to quit\\ & to quit\\
\opt{RECORDER_PAD}{\ButtonF2} \opt{RECORDER_PAD}{\ButtonF2}
\opt{ONDIO_PAD}{\ButtonMenu + \ButtonUp} \opt{ONDIO_PAD}{\ButtonMenu + \ButtonRight}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode} \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonRight}
\opt{IAUDIO_X5_PAD}{\ButtonPlay + \ButtonRight}
\opt{IRIVER_H10_PAD}{\ButtonFf}
\opt{SANSA_E200_PAD}{\ButtonRec}
\opt{GIGABEAT_PAD}{\ButtonMenu}
\opt{MROBE100_PAD}{\ButtonMenu}
\opt{SANSA_C200_PAD}{\ButtonRec + \ButtonSelect}
& to save\\
\opt{RECORDER_PAD}{\ButtonOn}
\opt{ONDIO_PAD}{\ButtonMenu + \ButtonDown}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonSelect}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonLeft} \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonLeft}
\opt{IAUDIO_X5_PAD}{\ButtonPlay + \ButtonLeft} \opt{IAUDIO_X5_PAD}{\ButtonRec}
\opt{IRIVER_H10_PAD}{long \ButtonFf} \opt{IRIVER_H10_PAD}{long \ButtonFf}
\opt{SANSA_E200_PAD}{\ButtonSelect} \opt{SANSA_E200_PAD}{\ButtonRec}
\opt{GIGABEAT_PAD}{\ButtonA} \opt{GIGABEAT_PAD}{\ButtonA}
\opt{MROBE100_PAD}{\ButtonPlay} \opt{MROBE100_PAD}{\ButtonPlay}
\opt{SANSA_C200_PAD}{\ButtonRec} \opt{SANSA_C200_PAD}{\ButtonRec}
& to restart level\\ & to restart level\\
\opt{RECORDER_PAD}{\ButtonF1} \opt{RECORDER_PAD}{\ButtonF1}
\opt{ONDIO_PAD}{\ButtonMenu + \ButtonLeft} \opt{ONDIO_PAD}{\ButtonMenu + \ButtonUp}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonOn} \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonMode}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonScrollBack} \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonSelect + \ButtonMenu}
\opt{IAUDIO_X5_PAD}{-} \opt{IAUDIO_X5_PAD}{\ButtonPlay}
\opt{IRIVER_H10_PAD}{\ButtonFf + \ButtonScrollUp} \opt{IRIVER_H10_PAD}{\ButtonFf + \ButtonScrollUp}
\opt{SANSA_E200_PAD}{\ButtonScrollBack} \opt{SANSA_E200_PAD}{\ButtonScrollBack}
\opt{GIGABEAT_PAD}{\ButtonVolUp} \opt{GIGABEAT_PAD}{\ButtonVolUp}
\opt{MROBE100_PAD}{\ButtonDisplay} \opt{MROBE100_PAD}{\ButtonMenu}
\opt{SANSA_C200_PAD}{\ButtonRec + \ButtonVolUp} \opt{SANSA_C200_PAD}{\ButtonVolUp}
& to go up a level\\ & to go up a level\\
\opt{RECORDER_PAD}{\ButtonF3} \opt{RECORDER_PAD}{\ButtonF3}
\opt{ONDIO_PAD}{\ButtonMenu + \ButtonRight} \opt{ONDIO_PAD}{\ButtonMenu + \ButtonDown}
\opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec} \opt{IRIVER_H100_PAD,IRIVER_H300_PAD}{\ButtonRec}
\opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{\ButtonScrollFwd} \opt{IPOD_4G_PAD,IPOD_3G_PAD,IPOD_1G2G_PAD}{-}
\opt{IAUDIO_X5_PAD}{-} \opt{IAUDIO_X5_PAD}{-}
\opt{IRIVER_H10_PAD}{\ButtonFf + \ButtonScrollDown} \opt{IRIVER_H10_PAD}{\ButtonFf + \ButtonScrollDown}
\opt{SANSA_E200_PAD}{\ButtonScrollFwd} \opt{SANSA_E200_PAD}{\ButtonScrollFwd}
\opt{GIGABEAT_PAD}{\ButtonVolDown} \opt{GIGABEAT_PAD}{\ButtonVolDown}
\opt{MROBE100_PAD}{Long \ButtonDisplay} \opt{MROBE100_PAD}{\ButtonDisplay}
\opt{SANSA_C200_PAD}{\ButtonRec + \ButtonVolDown} \opt{SANSA_C200_PAD}{\ButtonVolDown}
& to go down a level\\ & to go down a level\\
\end{btnmap} \end{btnmap}