summaryrefslogtreecommitdiff
path: root/apps/plugins/solitaire.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/solitaire.c')
-rw-r--r--apps/plugins/solitaire.c53
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,
967static void draw_empty_stack( int s, int x, int y, bool cursor ) 948static 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 )
1618static int load_game( void ) 1599static 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;