summaryrefslogtreecommitdiff
path: root/apps/plugins/snake.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/snake.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/snake.c')
-rw-r--r--apps/plugins/snake.c36
1 files changed, 34 insertions, 2 deletions
diff --git a/apps/plugins/snake.c b/apps/plugins/snake.c
index c68b924da6..f414761ae3 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -38,18 +38,24 @@ PLUGIN_HEADER
38/* variable button definitions */ 38/* variable button definitions */
39#if CONFIG_KEYPAD == RECORDER_PAD 39#if CONFIG_KEYPAD == RECORDER_PAD
40#define SNAKE_QUIT BUTTON_OFF 40#define SNAKE_QUIT BUTTON_OFF
41#define SNAKE_LEFT BUTTON_LEFT
42#define SNAKE_RIGHT BUTTON_RIGHT
41#define SNAKE_UP BUTTON_UP 43#define SNAKE_UP BUTTON_UP
42#define SNAKE_DOWN BUTTON_DOWN 44#define SNAKE_DOWN BUTTON_DOWN
43#define SNAKE_PLAYPAUSE BUTTON_PLAY 45#define SNAKE_PLAYPAUSE BUTTON_PLAY
44 46
45#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD 47#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
46#define SNAKE_QUIT BUTTON_OFF 48#define SNAKE_QUIT BUTTON_OFF
49#define SNAKE_LEFT BUTTON_LEFT
50#define SNAKE_RIGHT BUTTON_RIGHT
47#define SNAKE_UP BUTTON_UP 51#define SNAKE_UP BUTTON_UP
48#define SNAKE_DOWN BUTTON_DOWN 52#define SNAKE_DOWN BUTTON_DOWN
49#define SNAKE_PLAYPAUSE BUTTON_SELECT 53#define SNAKE_PLAYPAUSE BUTTON_SELECT
50 54
51#elif CONFIG_KEYPAD == ONDIO_PAD 55#elif CONFIG_KEYPAD == ONDIO_PAD
52#define SNAKE_QUIT BUTTON_OFF 56#define SNAKE_QUIT BUTTON_OFF
57#define SNAKE_LEFT BUTTON_LEFT
58#define SNAKE_RIGHT BUTTON_RIGHT
53#define SNAKE_UP BUTTON_UP 59#define SNAKE_UP BUTTON_UP
54#define SNAKE_DOWN BUTTON_DOWN 60#define SNAKE_DOWN BUTTON_DOWN
55#define SNAKE_PLAYPAUSE BUTTON_MENU 61#define SNAKE_PLAYPAUSE BUTTON_MENU
@@ -57,6 +63,8 @@ PLUGIN_HEADER
57#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \ 63#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
58 (CONFIG_KEYPAD == IRIVER_H300_PAD) 64 (CONFIG_KEYPAD == IRIVER_H300_PAD)
59#define SNAKE_QUIT BUTTON_OFF 65#define SNAKE_QUIT BUTTON_OFF
66#define SNAKE_LEFT BUTTON_LEFT
67#define SNAKE_RIGHT BUTTON_RIGHT
60#define SNAKE_UP BUTTON_UP 68#define SNAKE_UP BUTTON_UP
61#define SNAKE_DOWN BUTTON_DOWN 69#define SNAKE_DOWN BUTTON_DOWN
62#define SNAKE_PLAYPAUSE BUTTON_ON 70#define SNAKE_PLAYPAUSE BUTTON_ON
@@ -67,18 +75,24 @@ PLUGIN_HEADER
67 (CONFIG_KEYPAD == IPOD_3G_PAD) || \ 75 (CONFIG_KEYPAD == IPOD_3G_PAD) || \
68 (CONFIG_KEYPAD == IPOD_1G2G_PAD) 76 (CONFIG_KEYPAD == IPOD_1G2G_PAD)
69#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU) 77#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU)
78#define SNAKE_LEFT BUTTON_LEFT
79#define SNAKE_RIGHT BUTTON_RIGHT
70#define SNAKE_UP BUTTON_MENU 80#define SNAKE_UP BUTTON_MENU
71#define SNAKE_DOWN BUTTON_PLAY 81#define SNAKE_DOWN BUTTON_PLAY
72#define SNAKE_PLAYPAUSE BUTTON_SELECT 82#define SNAKE_PLAYPAUSE BUTTON_SELECT
73 83
74#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD) 84#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
75#define SNAKE_QUIT BUTTON_POWER 85#define SNAKE_QUIT BUTTON_POWER
86#define SNAKE_LEFT BUTTON_LEFT
87#define SNAKE_RIGHT BUTTON_RIGHT
76#define SNAKE_UP BUTTON_UP 88#define SNAKE_UP BUTTON_UP
77#define SNAKE_DOWN BUTTON_DOWN 89#define SNAKE_DOWN BUTTON_DOWN
78#define SNAKE_PLAYPAUSE BUTTON_PLAY 90#define SNAKE_PLAYPAUSE BUTTON_PLAY
79 91
80#elif (CONFIG_KEYPAD == GIGABEAT_PAD) 92#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
81#define SNAKE_QUIT BUTTON_POWER 93#define SNAKE_QUIT BUTTON_POWER
94#define SNAKE_LEFT BUTTON_LEFT
95#define SNAKE_RIGHT BUTTON_RIGHT
82#define SNAKE_UP BUTTON_UP 96#define SNAKE_UP BUTTON_UP
83#define SNAKE_DOWN BUTTON_DOWN 97#define SNAKE_DOWN BUTTON_DOWN
84#define SNAKE_PLAYPAUSE BUTTON_SELECT 98#define SNAKE_PLAYPAUSE BUTTON_SELECT
@@ -86,28 +100,46 @@ PLUGIN_HEADER
86#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \ 100#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
87(CONFIG_KEYPAD == SANSA_C200_PAD) 101(CONFIG_KEYPAD == SANSA_C200_PAD)
88#define SNAKE_QUIT BUTTON_POWER 102#define SNAKE_QUIT BUTTON_POWER
103#define SNAKE_LEFT BUTTON_LEFT
104#define SNAKE_RIGHT BUTTON_RIGHT
89#define SNAKE_UP BUTTON_UP 105#define SNAKE_UP BUTTON_UP
90#define SNAKE_DOWN BUTTON_DOWN 106#define SNAKE_DOWN BUTTON_DOWN
91#define SNAKE_PLAYPAUSE BUTTON_SELECT 107#define SNAKE_PLAYPAUSE BUTTON_SELECT
92 108
93#elif (CONFIG_KEYPAD == IRIVER_H10_PAD) 109#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
94#define SNAKE_QUIT BUTTON_POWER 110#define SNAKE_QUIT BUTTON_POWER
111#define SNAKE_LEFT BUTTON_LEFT
112#define SNAKE_RIGHT BUTTON_RIGHT
95#define SNAKE_UP BUTTON_SCROLL_UP 113#define SNAKE_UP BUTTON_SCROLL_UP
96#define SNAKE_DOWN BUTTON_SCROLL_DOWN 114#define SNAKE_DOWN BUTTON_SCROLL_DOWN
97#define SNAKE_PLAYPAUSE BUTTON_PLAY 115#define SNAKE_PLAYPAUSE BUTTON_PLAY
98 116
99#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD) 117#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
100#define SNAKE_QUIT BUTTON_BACK 118#define SNAKE_QUIT BUTTON_BACK
119#define SNAKE_LEFT BUTTON_LEFT
120#define SNAKE_RIGHT BUTTON_RIGHT
101#define SNAKE_UP BUTTON_UP 121#define SNAKE_UP BUTTON_UP
102#define SNAKE_DOWN BUTTON_DOWN 122#define SNAKE_DOWN BUTTON_DOWN
103#define SNAKE_PLAYPAUSE BUTTON_SELECT 123#define SNAKE_PLAYPAUSE BUTTON_SELECT
104 124
105#elif (CONFIG_KEYPAD == MROBE100_PAD) 125#elif (CONFIG_KEYPAD == MROBE100_PAD)
106#define SNAKE_QUIT BUTTON_POWER 126#define SNAKE_QUIT BUTTON_POWER
127#define SNAKE_LEFT BUTTON_LEFT
128#define SNAKE_RIGHT BUTTON_RIGHT
107#define SNAKE_UP BUTTON_UP 129#define SNAKE_UP BUTTON_UP
108#define SNAKE_DOWN BUTTON_DOWN 130#define SNAKE_DOWN BUTTON_DOWN
109#define SNAKE_PLAYPAUSE BUTTON_SELECT 131#define SNAKE_PLAYPAUSE BUTTON_SELECT
110 132
133#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
134#define SNAKE_QUIT BUTTON_RC_REC
135#define SNAKE_LEFT BUTTON_RC_REW
136#define SNAKE_RIGHT BUTTON_RC_FF
137#define SNAKE_UP BUTTON_RC_VOL_UP
138#define SNAKE_DOWN BUTTON_RC_VOL_DOWN
139#define SNAKE_PLAYPAUSE BUTTON_RC_PLAY
140
141#define SNAKE_RC_QUIT BUTTON_REC
142
111#else 143#else
112#error No keymap defined! 144#error No keymap defined!
113#endif 145#endif
@@ -308,13 +340,13 @@ void game (void) {
308 case SNAKE_UP: 340 case SNAKE_UP:
309 if (dir!=2) dir=0; 341 if (dir!=2) dir=0;
310 break; 342 break;
311 case BUTTON_RIGHT: 343 case SNAKE_RIGHT:
312 if (dir!=3) dir=1; 344 if (dir!=3) dir=1;
313 break; 345 break;
314 case SNAKE_DOWN: 346 case SNAKE_DOWN:
315 if (dir!=0) dir=2; 347 if (dir!=0) dir=2;
316 break; 348 break;
317 case BUTTON_LEFT: 349 case SNAKE_LEFT:
318 if (dir!=1) dir=3; 350 if (dir!=1) dir=3;
319 break; 351 break;
320#ifdef SNAKE_RC_QUIT 352#ifdef SNAKE_RC_QUIT