diff options
Diffstat (limited to 'apps/plugins/sokoban.c')
-rw-r--r-- | apps/plugins/sokoban.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c index 76eb6288cd..f085e1bff2 100644 --- a/apps/plugins/sokoban.c +++ b/apps/plugins/sokoban.c | |||
@@ -495,7 +495,8 @@ | |||
495 | #define SOKOBAN_RIGHT BUTTON_RIGHT | 495 | #define SOKOBAN_RIGHT BUTTON_RIGHT |
496 | #define SOKOBAN_UP BUTTON_UP | 496 | #define SOKOBAN_UP BUTTON_UP |
497 | #define SOKOBAN_DOWN BUTTON_DOWN | 497 | #define SOKOBAN_DOWN BUTTON_DOWN |
498 | #define SOKOBAN_MENU BUTTON_PLAY | 498 | #define SOKOBAN_MENU_PRE BUTTON_PLAY |
499 | #define SOKOBAN_MENU (BUTTON_PLAY | BUTTON_REL) | ||
499 | #define SOKOBAN_UNDO BUTTON_REW | 500 | #define SOKOBAN_UNDO BUTTON_REW |
500 | #define SOKOBAN_REDO BUTTON_FFWD | 501 | #define SOKOBAN_REDO BUTTON_FFWD |
501 | #define SOKOBAN_LEVEL_DOWN (BUTTON_PLAY | BUTTON_DOWN) | 502 | #define SOKOBAN_LEVEL_DOWN (BUTTON_PLAY | BUTTON_DOWN) |
@@ -1690,7 +1691,7 @@ static bool sokoban_loop(void) | |||
1690 | { | 1691 | { |
1691 | bool moved; | 1692 | bool moved; |
1692 | int i = 0, button = 0; | 1693 | int i = 0, button = 0; |
1693 | #if defined(SOKOBAN_UNDO_PRE) | 1694 | #if defined(SOKOBAN_UNDO_PRE) || defined(SOKOBAN_MENU_PRE) |
1694 | int lastbutton = 0; | 1695 | int lastbutton = 0; |
1695 | #endif | 1696 | #endif |
1696 | int w, h; | 1697 | int w, h; |
@@ -1703,10 +1704,15 @@ static bool sokoban_loop(void) | |||
1703 | 1704 | ||
1704 | switch(button) | 1705 | switch(button) |
1705 | { | 1706 | { |
1707 | case SOKOBAN_MENU: | ||
1708 | #ifdef SOKOBAN_MENU_PRE | ||
1709 | if (lastbutton != SOKOBAN_MENU_PRE) | ||
1710 | break; | ||
1711 | /* fallthrough */ | ||
1712 | #endif | ||
1706 | #ifdef SOKOBAN_RC_MENU | 1713 | #ifdef SOKOBAN_RC_MENU |
1707 | case SOKOBAN_RC_MENU: | 1714 | case SOKOBAN_RC_MENU: |
1708 | #endif | 1715 | #endif |
1709 | case SOKOBAN_MENU: | ||
1710 | switch (sokoban_menu()) { | 1716 | switch (sokoban_menu()) { |
1711 | case 5: /* Quit */ | 1717 | case 5: /* Quit */ |
1712 | case 6: /* Save & quit */ | 1718 | case 6: /* Save & quit */ |
@@ -1794,7 +1800,7 @@ static bool sokoban_loop(void) | |||
1794 | return PLUGIN_USB_CONNECTED; | 1800 | return PLUGIN_USB_CONNECTED; |
1795 | break; | 1801 | break; |
1796 | } | 1802 | } |
1797 | #if defined(SOKOBAN_UNDO_PRE) | 1803 | #if defined(SOKOBAN_UNDO_PRE) || defined(SOKOBAN_MENU_PRE) |
1798 | lastbutton = button; | 1804 | lastbutton = button; |
1799 | #endif | 1805 | #endif |
1800 | 1806 | ||