summaryrefslogtreecommitdiffstats
path: root/apps/plugins/sokoban.c
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-10-08 09:47:40 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-10-11 16:37:17 -0400
commit2a471e288c16b91a7186a60b3fb84dd55a494c7a (patch)
tree3e746212c5fa69b59f61d19b6e29d11aa8a5e31b /apps/plugins/sokoban.c
parent5efaa9ef8073bb216e3dcdbb4476f2fa7c672b76 (diff)
downloadrockbox-2a471e288c.tar.gz
rockbox-2a471e288c.zip
New port: AIGO EROS Q / EROS K
The Q and K have a slightly different case, but the hardware under the shell is completely identical. These models are rebadged versions: * Hifiwalker H2 (== Q) * AGPTek H3 (== K) * Surfans F20 (== K) Other notes: * Significant improvements in the shared Hiby-platform launcher/loader * SD card can theoretically be hot-swapped now * Support external USB mass storage! * Some consolidation of Hiby-platform targets * Some consolidation of plugin keymaps Todo/known issues: * Keymaps need to be gone over properly * Convert to HAVE_SCROLLWHEEL? Change-Id: I5a8a4f22c38a5b69392ca7c0a8ad8c4e07d9523c
Diffstat (limited to 'apps/plugins/sokoban.c')
-rw-r--r--apps/plugins/sokoban.c62
1 files changed, 23 insertions, 39 deletions
diff --git a/apps/plugins/sokoban.c b/apps/plugins/sokoban.c
index da3c303ace..e779722790 100644
--- a/apps/plugins/sokoban.c
+++ b/apps/plugins/sokoban.c
@@ -631,23 +631,7 @@
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"
-#elif CONFIG_KEYPAD == XDUOO_X3II_PAD
-#define SOKOBAN_LEFT BUTTON_PREV
-#define SOKOBAN_RIGHT BUTTON_NEXT
-#define SOKOBAN_UP BUTTON_HOME
-#define SOKOBAN_DOWN BUTTON_OPTION
-#define SOKOBAN_MENU BUTTON_POWER
-#define SOKOBAN_UNDO_PRE BUTTON_PLAY
-#define SOKOBAN_UNDO (BUTTON_PLAY | BUTTON_REL)
-#define SOKOBAN_REDO (BUTTON_POWER | BUTTON_PLAY)
-#define SOKOBAN_LEVEL_DOWN BUTTON_VOL_DOWN
-#define SOKOBAN_LEVEL_REPEAT (BUTTON_PLAY | BUTTON_NEXT)
-#define SOKOBAN_LEVEL_UP BUTTON_VOL_UP
-#define SOKOBAN_PAUSE BUTTON_PLAY
-#define BUTTON_SAVE BUTTON_PLAY
-#define BUTTON_SAVE_NAME "PLAY"
-
-#elif CONFIG_KEYPAD == XDUOO_X20_PAD
+#elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD
#define SOKOBAN_LEFT BUTTON_PREV
#define SOKOBAN_RIGHT BUTTON_NEXT
#define SOKOBAN_UP BUTTON_HOME
@@ -679,7 +663,7 @@
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"
-#elif CONFIG_KEYPAD == IHIFI_770_PAD
+#elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD
#define SOKOBAN_LEFT BUTTON_HOME
#define SOKOBAN_RIGHT BUTTON_VOL_DOWN
#define SOKOBAN_UP BUTTON_PREV
@@ -695,18 +679,18 @@
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"
-#elif CONFIG_KEYPAD == IHIFI_800_PAD
-#define SOKOBAN_LEFT BUTTON_HOME
-#define SOKOBAN_RIGHT BUTTON_VOL_DOWN
+#elif CONFIG_KEYPAD == EROSQ_PAD
+#define SOKOBAN_LEFT BUTTON_SCROLL_BACK
+#define SOKOBAN_RIGHT BUTTON_SCROLL_FWD
#define SOKOBAN_UP BUTTON_PREV
#define SOKOBAN_DOWN BUTTON_NEXT
-#define SOKOBAN_MENU BUTTON_POWER
+#define SOKOBAN_MENU BUTTON_MENU
#define SOKOBAN_UNDO_PRE BUTTON_PLAY
#define SOKOBAN_UNDO (BUTTON_PLAY | BUTTON_REL)
#define SOKOBAN_REDO (BUTTON_POWER | BUTTON_PLAY)
-#define SOKOBAN_LEVEL_DOWN (BUTTON_POWER | BUTTON_VOL_DOWN)
-#define SOKOBAN_LEVEL_REPEAT (BUTTON_POWER | BUTTON_HOME)
-#define SOKOBAN_LEVEL_UP (BUTTON_POWER | BUTTON_VOL_UP)
+#define SOKOBAN_LEVEL_DOWN BUTTON_VOL_DOWN
+#define SOKOBAN_LEVEL_REPEAT BUTTON_BACK
+#define SOKOBAN_LEVEL_UP BUTTON_VOL_UP
#define SOKOBAN_PAUSE BUTTON_PLAY
#define BUTTON_SAVE BUTTON_PLAY
#define BUTTON_SAVE_NAME "PLAY"
@@ -1286,56 +1270,56 @@ static void update_screen(void)
case ' ': /* floor */
rb->lcd_bitmap_part(sokoban_tiles, 0, 0*SOKOBAN_TILESIZE,
- STRIDE( SCREEN_MAIN,
+ STRIDE( SCREEN_MAIN,
BMPWIDTH_sokoban_tiles,
- BMPHEIGHT_sokoban_tiles),
+ BMPHEIGHT_sokoban_tiles),
c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE);
break;
case '#': /* wall */
rb->lcd_bitmap_part(sokoban_tiles, 0, 1*SOKOBAN_TILESIZE,
- STRIDE( SCREEN_MAIN,
- BMPWIDTH_sokoban_tiles,
+ STRIDE( SCREEN_MAIN,
+ BMPWIDTH_sokoban_tiles,
BMPHEIGHT_sokoban_tiles),
c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE);
break;
case '$': /* box */
rb->lcd_bitmap_part(sokoban_tiles, 0, 2*SOKOBAN_TILESIZE,
- STRIDE( SCREEN_MAIN,
- BMPWIDTH_sokoban_tiles,
+ STRIDE( SCREEN_MAIN,
+ BMPWIDTH_sokoban_tiles,
BMPHEIGHT_sokoban_tiles),
c, r, SOKOBAN_TILESIZE,SOKOBAN_TILESIZE);
break;
case '*': /* box on goal */
rb->lcd_bitmap_part(sokoban_tiles, 0, 3*SOKOBAN_TILESIZE,
- STRIDE( SCREEN_MAIN,
- BMPWIDTH_sokoban_tiles,
+ STRIDE( SCREEN_MAIN,
+ BMPWIDTH_sokoban_tiles,
BMPHEIGHT_sokoban_tiles),
c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE);
break;
case '.': /* goal */
rb->lcd_bitmap_part(sokoban_tiles, 0, 4*SOKOBAN_TILESIZE,
- STRIDE( SCREEN_MAIN,
- BMPWIDTH_sokoban_tiles,
+ STRIDE( SCREEN_MAIN,
+ BMPWIDTH_sokoban_tiles,
BMPHEIGHT_sokoban_tiles),
c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE);
break;
case '@': /* player */
rb->lcd_bitmap_part(sokoban_tiles, 0, 5*SOKOBAN_TILESIZE,
- STRIDE( SCREEN_MAIN,
- BMPWIDTH_sokoban_tiles,
+ STRIDE( SCREEN_MAIN,
+ BMPWIDTH_sokoban_tiles,
BMPHEIGHT_sokoban_tiles),
c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE);
break;
case '+': /* player on goal */
rb->lcd_bitmap_part(sokoban_tiles, 0, 6*SOKOBAN_TILESIZE,
- STRIDE( SCREEN_MAIN,
- BMPWIDTH_sokoban_tiles,
+ STRIDE( SCREEN_MAIN,
+ BMPWIDTH_sokoban_tiles,
BMPHEIGHT_sokoban_tiles),
c, r, SOKOBAN_TILESIZE, SOKOBAN_TILESIZE);
break;