diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-10-08 09:47:40 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-10-11 16:37:17 -0400 |
commit | 2a471e288c16b91a7186a60b3fb84dd55a494c7a (patch) | |
tree | 3e746212c5fa69b59f61d19b6e29d11aa8a5e31b /apps/plugins/sokoban.c | |
parent | 5efaa9ef8073bb216e3dcdbb4476f2fa7c672b76 (diff) | |
download | rockbox-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.c | 62 |
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; |