summaryrefslogtreecommitdiff
path: root/apps/plugins/sokoban.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/sokoban.c')
-rw-r--r--apps/plugins/sokoban.c43
1 files changed, 38 insertions, 5 deletions
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index 70bc57e218..76eb6288cd 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -474,19 +474,34 @@
474#define SOKOBAN_MENU BUTTON_POWER 474#define SOKOBAN_MENU BUTTON_POWER
475#define SOKOBAN_MENU_NAME "[POWER]" 475#define SOKOBAN_MENU_NAME "[POWER]"
476 476
477#elif (CONFIG_KEYPAD == SAMSUNG_YH820_PAD) || \ 477#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
478 (CONFIG_KEYPAD == SAMSUNG_YH920_PAD)
479#define SOKOBAN_LEFT BUTTON_LEFT 478#define SOKOBAN_LEFT BUTTON_LEFT
480#define SOKOBAN_RIGHT BUTTON_RIGHT 479#define SOKOBAN_RIGHT BUTTON_RIGHT
481#define SOKOBAN_UP BUTTON_UP 480#define SOKOBAN_UP BUTTON_UP
482#define SOKOBAN_DOWN BUTTON_DOWN 481#define SOKOBAN_DOWN BUTTON_DOWN
483#define SOKOBAN_MENU BUTTON_REC 482#define SOKOBAN_MENU BUTTON_PLAY
483#define SOKOBAN_UNDO BUTTON_REW
484#define SOKOBAN_REDO BUTTON_FFWD
485#define SOKOBAN_LEVEL_DOWN (BUTTON_REC | BUTTON_DOWN)
486#define SOKOBAN_LEVEL_REPEAT (BUTTON_REC | BUTTON_RIGHT)
487#define SOKOBAN_LEVEL_UP (BUTTON_REC | BUTTON_UP)
488#define SOKOBAN_QUIT_REPLAY BUTTON_REW
489#define SOKOBAN_PAUSE BUTTON_PLAY
490#define BUTTON_SAVE BUTTON_PLAY
491#define BUTTON_SAVE_NAME "PLAY"
492
493#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
494#define SOKOBAN_LEFT BUTTON_LEFT
495#define SOKOBAN_RIGHT BUTTON_RIGHT
496#define SOKOBAN_UP BUTTON_UP
497#define SOKOBAN_DOWN BUTTON_DOWN
498#define SOKOBAN_MENU BUTTON_PLAY
484#define SOKOBAN_UNDO BUTTON_REW 499#define SOKOBAN_UNDO BUTTON_REW
485#define SOKOBAN_UNDO_PRE (BUTTON_REW | BUTTON_LEFT)
486#define SOKOBAN_REDO BUTTON_FFWD 500#define SOKOBAN_REDO BUTTON_FFWD
487#define SOKOBAN_LEVEL_DOWN (BUTTON_PLAY | BUTTON_DOWN) 501#define SOKOBAN_LEVEL_DOWN (BUTTON_PLAY | BUTTON_DOWN)
488#define SOKOBAN_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_RIGHT) 502#define SOKOBAN_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_RIGHT)
489#define SOKOBAN_LEVEL_UP (BUTTON_PLAY | BUTTON_UP) 503#define SOKOBAN_LEVEL_UP (BUTTON_PLAY | BUTTON_UP)
504#define SOKOBAN_QUIT_REPLAY BUTTON_REW
490#define SOKOBAN_PAUSE BUTTON_PLAY 505#define SOKOBAN_PAUSE BUTTON_PLAY
491#define BUTTON_SAVE BUTTON_PLAY 506#define BUTTON_SAVE BUTTON_PLAY
492#define BUTTON_SAVE_NAME "PLAY" 507#define BUTTON_SAVE_NAME "PLAY"
@@ -662,6 +677,10 @@
662#endif 677#endif
663#endif 678#endif
664 679
680#ifndef SOKOBAN_QUIT_REPLAY
681#define SOKOBAN_QUIT_REPLAY SOKOBAN_MENU
682#endif
683
665#define SOKOBAN_FONT FONT_SYSFIXED 684#define SOKOBAN_FONT FONT_SYSFIXED
666 685
667 686
@@ -1413,7 +1432,7 @@ static bool load(char *filename, bool silent)
1413 1432
1414 while ((button = rb->button_get(false)) || paused) { 1433 while ((button = rb->button_get(false)) || paused) {
1415 switch (button) { 1434 switch (button) {
1416 case SOKOBAN_MENU: 1435 case SOKOBAN_QUIT_REPLAY:
1417 /* Pretend the level is complete so we'll quit */ 1436 /* Pretend the level is complete so we'll quit */
1418 current_info.level.boxes_to_go = 0; 1437 current_info.level.boxes_to_go = 0;
1419 return true; 1438 return true;
@@ -1602,6 +1621,20 @@ static int sokoban_menu(void)
1602 rb->lcd_putsxy(3, 36, "[VOL-] Previous Level"); 1621 rb->lcd_putsxy(3, 36, "[VOL-] Previous Level");
1603 rb->lcd_putsxy(3, 46, "[NEXT+PREV] Restart Level"); 1622 rb->lcd_putsxy(3, 46, "[NEXT+PREV] Restart Level");
1604 rb->lcd_putsxy(3, 56, "[VOL+] Next Level"); 1623 rb->lcd_putsxy(3, 56, "[VOL+] Next Level");
1624#elif CONFIG_KEYPAD == SAMSUNG_YH920_PAD
1625 rb->lcd_putsxy(3, 6, "[PLAY] Menu");
1626 rb->lcd_putsxy(3, 16, "[REW] Undo");
1627 rb->lcd_putsxy(3, 26, "[FFWD] Redo");
1628 rb->lcd_putsxy(3, 36, "[PLAY+DOWN] Previous Level");
1629 rb->lcd_putsxy(3, 46, "[PLAY+RIGHT] Restart Level");
1630 rb->lcd_putsxy(3, 56, "[PLAY+UP] Next Level");
1631#elif CONFIG_KEYPAD == SAMSUNG_YH820_PAD
1632 rb->lcd_putsxy(3, 6, "[PLAY] Menu");
1633 rb->lcd_putsxy(3, 16, "[REW] Undo");
1634 rb->lcd_putsxy(3, 26, "[FFWD] Redo");
1635 rb->lcd_putsxy(3, 36, "[REC+DOWN] Prev. Lvl");
1636 rb->lcd_putsxy(3, 46, "[REC+RIGHT] Rest. Lvl");
1637 rb->lcd_putsxy(3, 56, "[REC+UP] Next Level");
1605#endif 1638#endif
1606 1639
1607#ifdef HAVE_TOUCHSCREEN 1640#ifdef HAVE_TOUCHSCREEN