summaryrefslogtreecommitdiff
path: root/apps/plugins/maze.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/maze.c')
-rw-r--r--apps/plugins/maze.c82
1 files changed, 31 insertions, 51 deletions
diff --git a/apps/plugins/maze.c b/apps/plugins/maze.c
index 307f14d86a..465dfa9e84 100644
--- a/apps/plugins/maze.c
+++ b/apps/plugins/maze.c
@@ -37,56 +37,35 @@ PLUGIN_HEADER
37 37
38/* key assignments */ 38/* key assignments */
39 39
40#if (CONFIG_KEYPAD == IPOD_4G_PAD) || \ 40#if (CONFIG_KEYPAD == IPOD_3G_PAD)
41 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 41# define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT)
42# define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT) 42# define MAZE_NEW_PRE BUTTON_SELECT
43# define MAZE_NEW_PRE BUTTON_SELECT 43# define MAZE_QUIT BUTTON_MENU
44# define MAZE_QUIT (BUTTON_SELECT | BUTTON_MENU) 44# define MAZE_SOLVE (BUTTON_SELECT | BUTTON_PLAY)
45# define MAZE_SOLVE (BUTTON_SELECT | BUTTON_PLAY) 45# define MAZE_RIGHT BUTTON_RIGHT
46# define MAZE_RIGHT BUTTON_RIGHT 46# define MAZE_RIGHT_REPEAT BUTTON_RIGHT|BUTTON_REPEAT
47# define MAZE_LEFT BUTTON_LEFT 47# define MAZE_LEFT BUTTON_LEFT
48# define MAZE_UP BUTTON_MENU 48# define MAZE_LEFT_REPEAT BUTTON_LEFT|BUTTON_REPEAT
49# define MAZE_DOWN BUTTON_PLAY 49# define MAZE_UP BUTTON_SCROLL_BACK
50 50# define MAZE_UP_REPEAT BUTTON_SCROLL_BACK|BUTTON_REPEAT
51#elif (CONFIG_KEYPAD == IPOD_3G_PAD) 51# define MAZE_DOWN BUTTON_SCROLL_FWD
52# define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT) 52# define MAZE_DOWN_REPEAT BUTTON_SCROLL_FWD|BUTTON_REPEAT
53# define MAZE_NEW_PRE BUTTON_SELECT
54# define MAZE_QUIT BUTTON_MENU
55# define MAZE_SOLVE (BUTTON_SELECT | BUTTON_PLAY)
56# define MAZE_RIGHT BUTTON_RIGHT
57# define MAZE_LEFT BUTTON_LEFT
58# define MAZE_UP BUTTON_SCROLL_BACK
59# define MAZE_DOWN BUTTON_SCROLL_FWD
60
61#elif (CONFIG_KEYPAD == SANSA_FUZE_PAD)
62# define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT)
63# define MAZE_QUIT (BUTTON_HOME | BUTTON_REPEAT)
64# define MAZE_SOLVE BUTTON_SELECT
65# define MAZE_RIGHT BUTTON_RIGHT
66# define MAZE_LEFT BUTTON_LEFT
67# define MAZE_UP BUTTON_UP
68# define MAZE_DOWN BUTTON_DOWN
69
70#elif (CONFIG_KEYPAD == SANSA_E200_PAD)
71# define MAZE_NEW (BUTTON_SELECT | BUTTON_REPEAT)
72# define MAZE_QUIT BUTTON_POWER
73# define MAZE_SOLVE BUTTON_SELECT
74# define MAZE_RIGHT BUTTON_RIGHT
75# define MAZE_LEFT BUTTON_LEFT
76# define MAZE_UP BUTTON_UP
77# define MAZE_DOWN BUTTON_DOWN
78 53
79#else 54#else
80# include "lib/pluginlib_actions.h" 55# include "lib/pluginlib_actions.h"
81# define MAZE_NEW PLA_START 56# define MAZE_NEW PLA_SELECT_REPEAT
82# define MAZE_QUIT PLA_QUIT 57# define MAZE_QUIT PLA_CANCEL
83# define MAZE_SOLVE PLA_FIRE 58# define MAZE_SOLVE PLA_SELECT_REL
84# define MAZE_RIGHT PLA_RIGHT 59# define MAZE_RIGHT PLA_RIGHT
85# define MAZE_LEFT PLA_LEFT 60# define MAZE_RIGHT_REPEAT PLA_RIGHT_REPEAT
86# define MAZE_UP PLA_UP 61# define MAZE_LEFT PLA_LEFT
87# define MAZE_DOWN PLA_DOWN 62# define MAZE_LEFT_REPEAT PLA_LEFT_REPEAT
63# define MAZE_UP PLA_UP
64# define MAZE_UP_REPEAT PLA_UP_REPEAT
65# define MAZE_DOWN PLA_DOWN
66# define MAZE_DOWN_REPEAT PLA_DOWN_REPEAT
88static const struct button_mapping *plugin_contexts[] 67static const struct button_mapping *plugin_contexts[]
89= {generic_directions, generic_actions}; 68= {pla_main_ctx};
90 69
91#endif 70#endif
92 71
@@ -546,7 +525,8 @@ enum plugin_status plugin_start(const void* parameter)
546 525
547 while(!quit) { 526 while(!quit) {
548#ifdef __PLUGINLIB_ACTIONS_H__ 527#ifdef __PLUGINLIB_ACTIONS_H__
549 button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts, 2); 528 button = pluginlib_getaction(TIMEOUT_BLOCK, plugin_contexts,
529 ARRAYLEN(plugin_contexts));
550#else 530#else
551 button = rb->button_get(true); 531 button = rb->button_get(true);
552#endif 532#endif
@@ -567,25 +547,25 @@ enum plugin_status plugin_start(const void* parameter)
567 maze_draw(&maze, rb->screens[i]); 547 maze_draw(&maze, rb->screens[i]);
568 break; 548 break;
569 case MAZE_UP: 549 case MAZE_UP:
570 case (MAZE_UP|BUTTON_REPEAT): 550 case MAZE_UP_REPEAT:
571 maze_move_player_up(&maze); 551 maze_move_player_up(&maze);
572 FOR_NB_SCREENS(i) 552 FOR_NB_SCREENS(i)
573 maze_draw(&maze, rb->screens[i]); 553 maze_draw(&maze, rb->screens[i]);
574 break; 554 break;
575 case MAZE_RIGHT: 555 case MAZE_RIGHT:
576 case (MAZE_RIGHT|BUTTON_REPEAT): 556 case MAZE_RIGHT_REPEAT:
577 maze_move_player_right(&maze); 557 maze_move_player_right(&maze);
578 FOR_NB_SCREENS(i) 558 FOR_NB_SCREENS(i)
579 maze_draw(&maze, rb->screens[i]); 559 maze_draw(&maze, rb->screens[i]);
580 break; 560 break;
581 case MAZE_DOWN: 561 case MAZE_DOWN:
582 case (MAZE_DOWN|BUTTON_REPEAT): 562 case MAZE_DOWN_REPEAT:
583 maze_move_player_down(&maze); 563 maze_move_player_down(&maze);
584 FOR_NB_SCREENS(i) 564 FOR_NB_SCREENS(i)
585 maze_draw(&maze, rb->screens[i]); 565 maze_draw(&maze, rb->screens[i]);
586 break; 566 break;
587 case MAZE_LEFT: 567 case MAZE_LEFT:
588 case (MAZE_LEFT|BUTTON_REPEAT): 568 case MAZE_LEFT_REPEAT:
589 maze_move_player_left(&maze); 569 maze_move_player_left(&maze);
590 FOR_NB_SCREENS(i) 570 FOR_NB_SCREENS(i)
591 maze_draw(&maze, rb->screens[i]); 571 maze_draw(&maze, rb->screens[i]);