diff options
Diffstat (limited to 'apps/plugins/sokoban.c')
-rw-r--r-- | apps/plugins/sokoban.c | 43 |
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 |