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.zip
rockbox-29361abf744ed116cec04ca03e754ddd2794b76c.tar.gz
rockbox-29361abf744ed116cec04ca03e754ddd2794b76c.tar.bz2
rockbox-29361abf744ed116cec04ca03e754ddd2794b76c.tar.xz
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 c68b924..f414761 100644
--- a/apps/plugins/snake.c
+++ b/apps/plugins/snake.c
@@ -38,18 +38,24 @@ PLUGIN_HEADER
/* variable button definitions */
#if CONFIG_KEYPAD == RECORDER_PAD
#define SNAKE_QUIT BUTTON_OFF
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif CONFIG_KEYPAD == ARCHOS_AV300_PAD
#define SNAKE_QUIT BUTTON_OFF
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif CONFIG_KEYPAD == ONDIO_PAD
#define SNAKE_QUIT BUTTON_OFF
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_MENU
@@ -57,6 +63,8 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == IRIVER_H100_PAD) || \
(CONFIG_KEYPAD == IRIVER_H300_PAD)
#define SNAKE_QUIT BUTTON_OFF
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_ON
@@ -67,18 +75,24 @@ PLUGIN_HEADER
(CONFIG_KEYPAD == IPOD_3G_PAD) || \
(CONFIG_KEYPAD == IPOD_1G2G_PAD)
#define SNAKE_QUIT (BUTTON_SELECT|BUTTON_MENU)
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_MENU
#define SNAKE_DOWN BUTTON_PLAY
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif (CONFIG_KEYPAD == IAUDIO_X5M5_PAD)
#define SNAKE_QUIT BUTTON_POWER
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
#define SNAKE_QUIT BUTTON_POWER
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
@@ -86,28 +100,46 @@ PLUGIN_HEADER
#elif (CONFIG_KEYPAD == SANSA_E200_PAD) || \
(CONFIG_KEYPAD == SANSA_C200_PAD)
#define SNAKE_QUIT BUTTON_POWER
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
#define SNAKE_QUIT BUTTON_POWER
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_SCROLL_UP
#define SNAKE_DOWN BUTTON_SCROLL_DOWN
#define SNAKE_PLAYPAUSE BUTTON_PLAY
#elif (CONFIG_KEYPAD == GIGABEAT_S_PAD)
#define SNAKE_QUIT BUTTON_BACK
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
#elif (CONFIG_KEYPAD == MROBE100_PAD)
#define SNAKE_QUIT BUTTON_POWER
+#define SNAKE_LEFT BUTTON_LEFT
+#define SNAKE_RIGHT BUTTON_RIGHT
#define SNAKE_UP BUTTON_UP
#define SNAKE_DOWN BUTTON_DOWN
#define SNAKE_PLAYPAUSE BUTTON_SELECT
+#elif CONFIG_KEYPAD == IAUDIO_M3_PAD
+#define SNAKE_QUIT BUTTON_RC_REC
+#define SNAKE_LEFT BUTTON_RC_REW
+#define SNAKE_RIGHT BUTTON_RC_FF
+#define SNAKE_UP BUTTON_RC_VOL_UP
+#define SNAKE_DOWN BUTTON_RC_VOL_DOWN
+#define SNAKE_PLAYPAUSE BUTTON_RC_PLAY
+
+#define SNAKE_RC_QUIT BUTTON_REC
+
#else
#error No keymap defined!
#endif
@@ -308,13 +340,13 @@ void game (void) {
case SNAKE_UP:
if (dir!=2) dir=0;
break;
- case BUTTON_RIGHT:
+ case SNAKE_RIGHT:
if (dir!=3) dir=1;
break;
case SNAKE_DOWN:
if (dir!=0) dir=2;
break;
- case BUTTON_LEFT:
+ case SNAKE_LEFT:
if (dir!=1) dir=3;
break;
#ifdef SNAKE_RC_QUIT