summaryrefslogtreecommitdiff
path: root/apps/plugins/sliding_puzzle.c
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-03-22 10:24:28 +0000
committerJens Arnold <amiconn@rockbox.org>2008-03-22 10:24:28 +0000
commit29361abf744ed116cec04ca03e754ddd2794b76c (patch)
treed336dd19570faed037aef9064ce3c490c50ed6df /apps/plugins/sliding_puzzle.c
parentbca8edd856cee3a3b469ef9fe2770a191b590fde (diff)
downloadrockbox-29361abf744ed116cec04ca03e754ddd2794b76c.tar.gz
rockbox-29361abf744ed116cec04ca03e754ddd2794b76c.zip
Adapt most single-file plugins to the M3 keypad and screen. It's still preliminary, as many plugins now can't be left without the remote. The plugins need to be converted to use the action API (but not pluginlib actions). Plugins are not enabled yet. * Simplify the bitmap handling in the source of some plugins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16737 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/sliding_puzzle.c')
-rw-r--r--apps/plugins/sliding_puzzle.c35
1 files changed, 33 insertions, 2 deletions
diff --git a/apps/plugins/sliding_puzzle.c b/apps/plugins/sliding_puzzle.c
index 6da6b8bef1..8d57ede13c 100644
--- a/apps/plugins/sliding_puzzle.c
+++ b/apps/plugins/sliding_puzzle.c
@@ -25,6 +25,8 @@ PLUGIN_HEADER
25/* variable button definitions */ 25/* variable button definitions */
26#if CONFIG_KEYPAD == RECORDER_PAD 26#if CONFIG_KEYPAD == RECORDER_PAD
27#define PUZZLE_QUIT BUTTON_OFF 27#define PUZZLE_QUIT BUTTON_OFF
28#define PUZZLE_LEFT BUTTON_LEFT
29#define PUZZLE_RIGHT BUTTON_RIGHT
28#define PUZZLE_UP BUTTON_UP 30#define PUZZLE_UP BUTTON_UP
29#define PUZZLE_DOWN BUTTON_DOWN 31#define PUZZLE_DOWN BUTTON_DOWN
30#define PUZZLE_SHUFFLE BUTTON_F1 32#define PUZZLE_SHUFFLE BUTTON_F1
@@ -32,6 +34,8 @@ PLUGIN_HEADER
32 34
33#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD 35#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
34#define PUZZLE_QUIT BUTTON_OFF 36#define PUZZLE_QUIT BUTTON_OFF
37#define PUZZLE_LEFT BUTTON_LEFT
38#define PUZZLE_RIGHT BUTTON_RIGHT
35#define PUZZLE_UP BUTTON_UP 39#define PUZZLE_UP BUTTON_UP
36#define PUZZLE_DOWN BUTTON_DOWN 40#define PUZZLE_DOWN BUTTON_DOWN
37#define PUZZLE_SHUFFLE BUTTON_F1 41#define PUZZLE_SHUFFLE BUTTON_F1
@@ -39,6 +43,8 @@ PLUGIN_HEADER
39 43
40#elif CONFIG_KEYPAD == ONDIO_PAD 44#elif CONFIG_KEYPAD == ONDIO_PAD
41#define PUZZLE_QUIT BUTTON_OFF 45#define PUZZLE_QUIT BUTTON_OFF
46#define PUZZLE_LEFT BUTTON_LEFT
47#define PUZZLE_RIGHT BUTTON_RIGHT
42#define PUZZLE_UP BUTTON_UP 48#define PUZZLE_UP BUTTON_UP
43#define PUZZLE_DOWN BUTTON_DOWN 49#define PUZZLE_DOWN BUTTON_DOWN
44#define PUZZLE_SHUFFLE_PICTURE_PRE BUTTON_MENU 50#define PUZZLE_SHUFFLE_PICTURE_PRE BUTTON_MENU
@@ -48,6 +54,8 @@ PLUGIN_HEADER
48#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 54#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
49 (CONFIG_KEYPAD == IRIVER_H300_PAD) 55 (CONFIG_KEYPAD == IRIVER_H300_PAD)
50#define PUZZLE_QUIT BUTTON_OFF 56#define PUZZLE_QUIT BUTTON_OFF
57#define PUZZLE_LEFT BUTTON_LEFT
58#define PUZZLE_RIGHT BUTTON_RIGHT
51#define PUZZLE_UP BUTTON_UP 59#define PUZZLE_UP BUTTON_UP
52#define PUZZLE_DOWN BUTTON_DOWN 60#define PUZZLE_DOWN BUTTON_DOWN
53#define PUZZLE_SHUFFLE BUTTON_SELECT 61#define PUZZLE_SHUFFLE BUTTON_SELECT
@@ -59,6 +67,8 @@ PLUGIN_HEADER
59 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 67 (CONFIG_KEYPAD == IPOD_3G_PAD) || \
60 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 68 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
61#define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_MENU) 69#define PUZZLE_QUIT (BUTTON_SELECT | BUTTON_MENU)
70#define PUZZLE_LEFT BUTTON_LEFT
71#define PUZZLE_RIGHT BUTTON_RIGHT
62#define PUZZLE_UP BUTTON_MENU 72#define PUZZLE_UP BUTTON_MENU
63#define PUZZLE_DOWN BUTTON_PLAY 73#define PUZZLE_DOWN BUTTON_PLAY
64#define PUZZLE_SHUFFLE (BUTTON_SELECT | BUTTON_LEFT) 74#define PUZZLE_SHUFFLE (BUTTON_SELECT | BUTTON_LEFT)
@@ -66,6 +76,8 @@ PLUGIN_HEADER
66 76
67#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) 77#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
68#define PUZZLE_QUIT BUTTON_POWER 78#define PUZZLE_QUIT BUTTON_POWER
79#define PUZZLE_LEFT BUTTON_LEFT
80#define PUZZLE_RIGHT BUTTON_RIGHT
69#define PUZZLE_UP BUTTON_UP 81#define PUZZLE_UP BUTTON_UP
70#define PUZZLE_DOWN BUTTON_DOWN 82#define PUZZLE_DOWN BUTTON_DOWN
71#define PUZZLE_SHUFFLE BUTTON_REC 83#define PUZZLE_SHUFFLE BUTTON_REC
@@ -73,6 +85,8 @@ PLUGIN_HEADER
73 85
74#elif (CONFIG_KEYPAD == GIGABEAT_PAD) 86#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
75#define PUZZLE_QUIT BUTTON_POWER 87#define PUZZLE_QUIT BUTTON_POWER
88#define PUZZLE_LEFT BUTTON_LEFT
89#define PUZZLE_RIGHT BUTTON_RIGHT
76#define PUZZLE_UP BUTTON_UP 90#define PUZZLE_UP BUTTON_UP
77#define PUZZLE_DOWN BUTTON_DOWN 91#define PUZZLE_DOWN BUTTON_DOWN
78#define PUZZLE_SHUFFLE BUTTON_SELECT 92#define PUZZLE_SHUFFLE BUTTON_SELECT
@@ -81,6 +95,8 @@ PLUGIN_HEADER
81#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 95#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
82(CONFIG_KEYPAD == SANSA_C200_PAD) 96(CONFIG_KEYPAD == SANSA_C200_PAD)
83#define PUZZLE_QUIT BUTTON_POWER 97#define PUZZLE_QUIT BUTTON_POWER
98#define PUZZLE_LEFT BUTTON_LEFT
99#define PUZZLE_RIGHT BUTTON_RIGHT
84#define PUZZLE_UP BUTTON_UP 100#define PUZZLE_UP BUTTON_UP
85#define PUZZLE_DOWN BUTTON_DOWN 101#define PUZZLE_DOWN BUTTON_DOWN
86#define PUZZLE_SHUFFLE BUTTON_REC 102#define PUZZLE_SHUFFLE BUTTON_REC
@@ -88,6 +104,8 @@ PLUGIN_HEADER
88 104
89#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 105#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
90#define PUZZLE_QUIT BUTTON_POWER 106#define PUZZLE_QUIT BUTTON_POWER
107#define PUZZLE_LEFT BUTTON_LEFT
108#define PUZZLE_RIGHT BUTTON_RIGHT
91#define PUZZLE_UP BUTTON_SCROLL_UP 109#define PUZZLE_UP BUTTON_SCROLL_UP
92#define PUZZLE_DOWN BUTTON_SCROLL_DOWN 110#define PUZZLE_DOWN BUTTON_SCROLL_DOWN
93#define PUZZLE_SHUFFLE BUTTON_REW 111#define PUZZLE_SHUFFLE BUTTON_REW
@@ -95,6 +113,8 @@ PLUGIN_HEADER
95 113
96#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 114#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
97#define PUZZLE_QUIT BUTTON_BACK 115#define PUZZLE_QUIT BUTTON_BACK
116#define PUZZLE_LEFT BUTTON_LEFT
117#define PUZZLE_RIGHT BUTTON_RIGHT
98#define PUZZLE_UP BUTTON_UP 118#define PUZZLE_UP BUTTON_UP
99#define PUZZLE_DOWN BUTTON_DOWN 119#define PUZZLE_DOWN BUTTON_DOWN
100#define PUZZLE_SHUFFLE BUTTON_SELECT 120#define PUZZLE_SHUFFLE BUTTON_SELECT
@@ -102,11 +122,22 @@ PLUGIN_HEADER
102 122
103#elif (CONFIG_KEYPAD == MROBE100_PAD) 123#elif (CONFIG_KEYPAD == MROBE100_PAD)
104#define PUZZLE_QUIT BUTTON_POWER 124#define PUZZLE_QUIT BUTTON_POWER
125#define PUZZLE_LEFT BUTTON_LEFT
126#define PUZZLE_RIGHT BUTTON_RIGHT
105#define PUZZLE_UP BUTTON_UP 127#define PUZZLE_UP BUTTON_UP
106#define PUZZLE_DOWN BUTTON_DOWN 128#define PUZZLE_DOWN BUTTON_DOWN
107#define PUZZLE_SHUFFLE BUTTON_SELECT 129#define PUZZLE_SHUFFLE BUTTON_SELECT
108#define PUZZLE_PICTURE BUTTON_DISPLAY 130#define PUZZLE_PICTURE BUTTON_DISPLAY
109 131
132#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
133#define PUZZLE_QUIT BUTTON_RC_REC
134#define PUZZLE_LEFT BUTTON_RC_REW
135#define PUZZLE_RIGHT BUTTON_RC_FF
136#define PUZZLE_UP BUTTON_RC_VOL_UP
137#define PUZZLE_DOWN BUTTON_RC_VOL_DOWN
138#define PUZZLE_SHUFFLE BUTTON_RC_MODE
139#define PUZZLE_PICTURE BUTTON_RC_MENU
140
110#else 141#else
111#error No keymap defined! 142#error No keymap defined!
112#endif 143#endif
@@ -502,12 +533,12 @@ static int puzzle_loop(void)
502 draw_playfield(); 533 draw_playfield();
503 break; 534 break;
504 535
505 case BUTTON_LEFT: 536 case PUZZLE_LEFT:
506 if ((hole%SPOTS_X)<(SPOTS_X-1) && !puzzle_finished()) 537 if ((hole%SPOTS_X)<(SPOTS_X-1) && !puzzle_finished())
507 move_spot(-1, 0); 538 move_spot(-1, 0);
508 break; 539 break;
509 540
510 case BUTTON_RIGHT: 541 case PUZZLE_RIGHT:
511 if ((hole%SPOTS_X)>0 && !puzzle_finished()) 542 if ((hole%SPOTS_X)>0 && !puzzle_finished())
512 move_spot(1, 0); 543 move_spot(1, 0);
513 break; 544 break;