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/solitaire.c | |
parent | 5efaa9ef8073bb216e3dcdbb4476f2fa7c672b76 (diff) | |
download | rockbox-2a471e288c16b91a7186a60b3fb84dd55a494c7a.tar.gz rockbox-2a471e288c16b91a7186a60b3fb84dd55a494c7a.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/solitaire.c')
-rw-r--r-- | apps/plugins/solitaire.c | 53 |
1 files changed, 17 insertions, 36 deletions
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c index 1996dc97e7..6c496663cf 100644 --- a/apps/plugins/solitaire.c +++ b/apps/plugins/solitaire.c | |||
@@ -646,26 +646,7 @@ CONFIG_KEYPAD == MROBE500_PAD | |||
646 | # define HK_CUR2STACK "DBL PLAY" | 646 | # define HK_CUR2STACK "DBL PLAY" |
647 | # define HK_REM2STACK "NEXT" | 647 | # define HK_REM2STACK "NEXT" |
648 | 648 | ||
649 | #elif CONFIG_KEYPAD == XDUOO_X3II_PAD | 649 | #elif CONFIG_KEYPAD == XDUOO_X3II_PAD || CONFIG_KEYPAD == XDUOO_X20_PAD |
650 | # define SOL_QUIT BUTTON_POWER | ||
651 | # define SOL_UP BUTTON_HOME | ||
652 | # define SOL_DOWN BUTTON_OPTION | ||
653 | # define SOL_LEFT BUTTON_PREV | ||
654 | # define SOL_RIGHT BUTTON_NEXT | ||
655 | # define SOL_MOVE_PRE BUTTON_PLAY | ||
656 | # define SOL_MOVE (BUTTON_PLAY | BUTTON_REL) | ||
657 | # define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT) | ||
658 | # define SOL_REM2CUR BUTTON_VOL_DOWN | ||
659 | # define SOL_CUR2STACK_PRE BUTTON_PLAY | ||
660 | # define SOL_CUR2STACK (BUTTON_PLAY | BUTTON_REPEAT) | ||
661 | # define SOL_REM2STACK BUTTON_VOL_UP | ||
662 | # define HK_MOVE "PLAY" | ||
663 | # define HK_DRAW "DBL HOME" | ||
664 | # define HK_REM2CUR "PREV" | ||
665 | # define HK_CUR2STACK "DBL PLAY" | ||
666 | # define HK_REM2STACK "NEXT" | ||
667 | |||
668 | #elif CONFIG_KEYPAD == XDUOO_X20_PAD | ||
669 | # define SOL_QUIT BUTTON_POWER | 650 | # define SOL_QUIT BUTTON_POWER |
670 | # define SOL_UP BUTTON_HOME | 651 | # define SOL_UP BUTTON_HOME |
671 | # define SOL_DOWN BUTTON_OPTION | 652 | # define SOL_DOWN BUTTON_OPTION |
@@ -703,7 +684,7 @@ CONFIG_KEYPAD == MROBE500_PAD | |||
703 | # define HK_CUR2STACK "DBL PLAY" | 684 | # define HK_CUR2STACK "DBL PLAY" |
704 | # define HK_REM2STACK "NEXT" | 685 | # define HK_REM2STACK "NEXT" |
705 | 686 | ||
706 | #elif CONFIG_KEYPAD == IHIFI_770_PAD | 687 | #elif CONFIG_KEYPAD == IHIFI_770_PAD || CONFIG_KEYPAD == IHIFI_800_PAD |
707 | # define SOL_QUIT BUTTON_POWER | 688 | # define SOL_QUIT BUTTON_POWER |
708 | # define SOL_UP BUTTON_PREV | 689 | # define SOL_UP BUTTON_PREV |
709 | # define SOL_DOWN BUTTON_NEXT | 690 | # define SOL_DOWN BUTTON_NEXT |
@@ -722,24 +703,24 @@ CONFIG_KEYPAD == MROBE500_PAD | |||
722 | # define HK_CUR2STACK "DBL PLAY" | 703 | # define HK_CUR2STACK "DBL PLAY" |
723 | # define HK_REM2STACK "POWER+" | 704 | # define HK_REM2STACK "POWER+" |
724 | 705 | ||
725 | #elif CONFIG_KEYPAD == IHIFI_800_PAD | 706 | #elif CONFIG_KEYPAD == EROSQ_PAD |
726 | # define SOL_QUIT BUTTON_POWER | 707 | # define SOL_QUIT BUTTON_POWER |
727 | # define SOL_UP BUTTON_PREV | 708 | # define SOL_UP BUTTON_PREV |
728 | # define SOL_DOWN BUTTON_NEXT | 709 | # define SOL_DOWN BUTTON_NEXT |
729 | # define SOL_LEFT BUTTON_HOME | 710 | # define SOL_LEFT BUTTON_SCROLL_BACK |
730 | # define SOL_RIGHT BUTTON_VOL_DOWN | 711 | # define SOL_RIGHT BUTTON_SCROLL_FWD |
731 | # define SOL_MOVE_PRE BUTTON_VOL_UP | 712 | # define SOL_MOVE_PRE BUTTON_PLAY |
732 | # define SOL_MOVE (BUTTON_PLAY | BUTTON_REL) | 713 | # define SOL_MOVE (BUTTON_PLAY | BUTTON_REL) |
733 | # define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT) | 714 | # define SOL_DRAW (BUTTON_POWER | BUTTON_REPEAT) |
734 | # define SOL_REM2CUR (BUTTON_POWER | BUTTON_VOL_DOWN) | 715 | # define SOL_REM2CUR BUTTON_VOL_DOWN |
735 | # define SOL_CUR2STACK_PRE BUTTON_PLAY | 716 | # define SOL_CUR2STACK_PRE BUTTON_PLAY |
736 | # define SOL_CUR2STACK (BUTTON_PLAY | BUTTON_REPEAT) | 717 | # define SOL_CUR2STACK (BUTTON_PLAY | BUTTON_REPEAT) |
737 | # define SOL_REM2STACK (BUTTON_POWER | BUTTON_VOL_UP) | 718 | # define SOL_REM2STACK BUTTON_VOL_UP |
738 | # define HK_MOVE "PLAY" | 719 | # define HK_MOVE "PLAY" |
739 | # define HK_DRAW "DBL POWER" | 720 | # define HK_DRAW "DBL HOME" |
740 | # define HK_REM2CUR "POWER" | 721 | # define HK_REM2CUR "PREV" |
741 | # define HK_CUR2STACK "DBL PLAY" | 722 | # define HK_CUR2STACK "DBL PLAY" |
742 | # define HK_REM2STACK "POWER+" | 723 | # define HK_REM2STACK "NEXT" |
743 | 724 | ||
744 | #else | 725 | #else |
745 | #error No keymap defined! | 726 | #error No keymap defined! |
@@ -950,8 +931,8 @@ static void draw_card( card_t *card, int x, int y, | |||
950 | if( card->known ) | 931 | if( card->known ) |
951 | { | 932 | { |
952 | rb->lcd_bitmap_part( card_deck, CARD_GFX_WIDTH * card->num, | 933 | rb->lcd_bitmap_part( card_deck, CARD_GFX_WIDTH * card->num, |
953 | CARD_GFX_HEIGHT * card->suit, | 934 | CARD_GFX_HEIGHT * card->suit, |
954 | STRIDE(SCREEN_MAIN, | 935 | STRIDE(SCREEN_MAIN, |
955 | BMPWIDTH_card_deck, BMPHEIGHT_card_deck), | 936 | BMPWIDTH_card_deck, BMPHEIGHT_card_deck), |
956 | x+1, y+1, CARD_GFX_WIDTH, CARD_GFX_HEIGHT ); | 937 | x+1, y+1, CARD_GFX_WIDTH, CARD_GFX_HEIGHT ); |
957 | } | 938 | } |
@@ -967,7 +948,7 @@ static void draw_card( card_t *card, int x, int y, | |||
967 | static void draw_empty_stack( int s, int x, int y, bool cursor ) | 948 | static void draw_empty_stack( int s, int x, int y, bool cursor ) |
968 | { | 949 | { |
969 | rb->lcd_bitmap_part( solitaire_suitsi, 0, | 950 | rb->lcd_bitmap_part( solitaire_suitsi, 0, |
970 | CARD_GFX_HEIGHT * s, | 951 | CARD_GFX_HEIGHT * s, |
971 | STRIDE( SCREEN_MAIN, | 952 | STRIDE( SCREEN_MAIN, |
972 | BMPWIDTH_solitaire_suitsi, BMPHEIGHT_solitaire_suitsi), | 953 | BMPWIDTH_solitaire_suitsi, BMPHEIGHT_solitaire_suitsi), |
973 | x+1, y+1, CARD_GFX_WIDTH, CARD_GFX_HEIGHT ); | 954 | x+1, y+1, CARD_GFX_WIDTH, CARD_GFX_HEIGHT ); |
@@ -1618,11 +1599,11 @@ static int save_game( void ) | |||
1618 | static int load_game( void ) | 1599 | static int load_game( void ) |
1619 | { | 1600 | { |
1620 | int checksum, retval; | 1601 | int checksum, retval; |
1621 | 1602 | ||
1622 | int fd = open_save_file( O_RDONLY ); | 1603 | int fd = open_save_file( O_RDONLY ); |
1623 | if( fd < 0 ) | 1604 | if( fd < 0 ) |
1624 | return -1; | 1605 | return -1; |
1625 | 1606 | ||
1626 | retval = 0; /* Assume good case */ | 1607 | retval = 0; /* Assume good case */ |
1627 | if( ( rb->lseek( fd, -(off_t)sizeof( int ), SEEK_END ) == -((ssize_t)sizeof( int ))-1 ) | 1608 | if( ( rb->lseek( fd, -(off_t)sizeof( int ), SEEK_END ) == -((ssize_t)sizeof( int ))-1 ) |
1628 | || ( rb->read( fd, &checksum, sizeof( int ) ) < ((ssize_t)sizeof( int )) ) | 1609 | || ( rb->read( fd, &checksum, sizeof( int ) ) < ((ssize_t)sizeof( int )) ) |
@@ -1646,7 +1627,7 @@ static int load_game( void ) | |||
1646 | rb->splash( 2*HZ, "Save file was corrupted. Aborting." ); | 1627 | rb->splash( 2*HZ, "Save file was corrupted. Aborting." ); |
1647 | retval = -3; | 1628 | retval = -3; |
1648 | } | 1629 | } |
1649 | 1630 | ||
1650 | rb->close( fd ); | 1631 | rb->close( fd ); |
1651 | delete_save_file(); | 1632 | delete_save_file(); |
1652 | return retval; | 1633 | return retval; |