summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorAntoine Cellerier <dionoea@videolan.org>2005-06-26 20:12:56 +0000
committerAntoine Cellerier <dionoea@videolan.org>2005-06-26 20:12:56 +0000
commit59df31244acb02d8ee4947f1ed71392683dfcbcd (patch)
treec563c3d67d372f7d7bd7bed67cf58f542acd426f /apps
parent65b840dbd18193ada85473c4894c25fc58ab02e1 (diff)
downloadrockbox-59df31244acb02d8ee4947f1ed71392683dfcbcd.tar.gz
rockbox-59df31244acb02d8ee4947f1ed71392683dfcbcd.zip
* use *rb->current_tick for srand
* don't truncate last column on players that have screens larger than the recorder's git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6879 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/plugins/solitaire.c47
1 files changed, 28 insertions, 19 deletions
diff --git a/apps/plugins/solitaire.c b/apps/plugins/solitaire.c
index 1ef1cf5c90..9f2fbfa4f2 100644
--- a/apps/plugins/solitaire.c
+++ b/apps/plugins/solitaire.c
@@ -830,6 +830,13 @@ unsigned char move_card(unsigned char dest_col, unsigned char src_card){
830#define SOLITAIRE_QUIT 1 830#define SOLITAIRE_QUIT 1
831#define SOLITAIRE_USB 2 831#define SOLITAIRE_USB 2
832 832
833#if ( LCD_WIDTH > ( CARD_WIDTH * 8 ) )
834# define BIG_SCREEN 1
835#else
836# define BIG_SCREEN 0
837#endif
838#define LCD_WIDTH2 (LCD_WIDTH - BIG_SCREEN)
839
833/* the game */ 840/* the game */
834int solitaire(void){ 841int solitaire(void){
835 842
@@ -838,11 +845,7 @@ int solitaire(void){
838 unsigned char c; 845 unsigned char c;
839 int biggest_col_length; 846 int biggest_col_length;
840 847
841 struct tm time; 848 rb->srand( *rb->current_tick );
842 time = *(rb->get_time());
843 rb->srand( ( ( ( time.tm_year + 365 * time.tm_yday ) * 24
844 + time.tm_hour ) * 60 + time.tm_min ) * 60 + time.tm_sec );
845
846 849
847 switch(solitaire_menu(MENU_BEFOREGAME)) { 850 switch(solitaire_menu(MENU_BEFOREGAME)) {
848 case MENU_QUIT: 851 case MENU_QUIT:
@@ -941,44 +944,50 @@ int solitaire(void){
941 } 944 }
942 } 945 }
943 if(c != NOT_A_CARD) { 946 if(c != NOT_A_CARD) {
944 rb->lcd_bitmap(numbers[deck[c].num], LCD_WIDTH - CARD_WIDTH+1, i*CARD_HEIGHT, 8, 8, true); 947 rb->lcd_bitmap(numbers[deck[c].num], LCD_WIDTH2 - CARD_WIDTH+1, i*CARD_HEIGHT, 8, 8, true);
945 } 948 }
946 rb->lcd_bitmap(colors[i], LCD_WIDTH - CARD_WIDTH+7, i*CARD_HEIGHT, 8, 8, true); 949 rb->lcd_bitmap(colors[i], LCD_WIDTH2 - CARD_WIDTH+7, i*CARD_HEIGHT, 8, 8, true);
947 /* draw a selected card */ 950 /* draw a selected card */
948 if(c != NOT_A_CARD) { 951 if(c != NOT_A_CARD) {
949 if(sel_card == c){ 952 if(sel_card == c){
950 rb->lcd_drawrect(LCD_WIDTH - CARD_WIDTH+1, i*CARD_HEIGHT + 1, CARD_WIDTH-1, CARD_HEIGHT-1); 953 rb->lcd_drawrect(LCD_WIDTH2 - CARD_WIDTH+1, i*CARD_HEIGHT + 1, CARD_WIDTH-1, CARD_HEIGHT-1);
951 } 954 }
952 } 955 }
953 rb->lcd_drawline(LCD_WIDTH - CARD_WIDTH+1,i*CARD_HEIGHT,LCD_WIDTH - 1,i*CARD_HEIGHT); 956 rb->lcd_drawline(LCD_WIDTH2 - CARD_WIDTH+1, i*CARD_HEIGHT,LCD_WIDTH2 - 1,i*CARD_HEIGHT);
954 rb->lcd_drawline(LCD_WIDTH - CARD_WIDTH,i*CARD_HEIGHT+1,LCD_WIDTH - CARD_WIDTH,(i+1)*CARD_HEIGHT-1); 957 rb->lcd_drawline(LCD_WIDTH2 - CARD_WIDTH,i*CARD_HEIGHT+1,LCD_WIDTH2 - CARD_WIDTH,(i+1)*CARD_HEIGHT-1);
955 rb->lcd_drawline(LCD_WIDTH - CARD_WIDTH+1,(i+1)*CARD_HEIGHT,LCD_WIDTH - 1,(i+1)*CARD_HEIGHT); 958 rb->lcd_drawline(LCD_WIDTH2 - CARD_WIDTH+1,(i+1)*CARD_HEIGHT,LCD_WIDTH2 - 1,(i+1)*CARD_HEIGHT);
959#if BIG_SCREEN
960 rb->lcd_drawline(LCD_WIDTH2,i*CARD_HEIGHT+1,LCD_WIDTH2,(i+1)*CARD_HEIGHT-1);
961#endif
956 /* draw the cursor on one of the stacks */ 962 /* draw the cursor on one of the stacks */
957 if(cur_col == STACKS_COL + i){ 963 if(cur_col == STACKS_COL + i){
958 rb->lcd_set_drawmode(DRMODE_COMPLEMENT); 964 rb->lcd_set_drawmode(DRMODE_COMPLEMENT);
959 rb->lcd_fillrect(LCD_WIDTH - CARD_WIDTH+1, i*CARD_HEIGHT + 1, CARD_WIDTH-1, CARD_HEIGHT-1); 965 rb->lcd_fillrect(LCD_WIDTH2 - CARD_WIDTH+1, i*CARD_HEIGHT + 1, CARD_WIDTH-1, CARD_HEIGHT-1);
960 rb->lcd_set_drawmode(DRMODE_SOLID); 966 rb->lcd_set_drawmode(DRMODE_SOLID);
961 } 967 }
962 } 968 }
963 969
964 /* draw the remains */ 970 /* draw the remains */
965 if(rem != NOT_A_CARD) { 971 if(rem != NOT_A_CARD) {
966 rb->lcd_drawline(LCD_WIDTH - CARD_WIDTH+1,LCD_HEIGHT-CARD_HEIGHT-1,LCD_WIDTH - 1,LCD_HEIGHT-CARD_HEIGHT-1); 972 rb->lcd_drawline(LCD_WIDTH2 - CARD_WIDTH+1,LCD_HEIGHT-CARD_HEIGHT-1,LCD_WIDTH2 - 1,LCD_HEIGHT-CARD_HEIGHT-1);
967 rb->lcd_drawline(LCD_WIDTH - CARD_WIDTH,LCD_HEIGHT-CARD_HEIGHT,LCD_WIDTH - CARD_WIDTH,LCD_HEIGHT-2); 973 rb->lcd_drawline(LCD_WIDTH2 - CARD_WIDTH,LCD_HEIGHT-CARD_HEIGHT,LCD_WIDTH2 - CARD_WIDTH,LCD_HEIGHT-2);
968 rb->lcd_drawline(LCD_WIDTH - CARD_WIDTH+1,LCD_HEIGHT-1,LCD_WIDTH - 1,LCD_HEIGHT-1); 974 rb->lcd_drawline(LCD_WIDTH2 - CARD_WIDTH+1,LCD_HEIGHT-1,LCD_WIDTH2 - 1,LCD_HEIGHT-1);
975#if BIG_SCREEN
976 rb->lcd_drawline(LCD_WIDTH2,LCD_HEIGHT-CARD_HEIGHT,LCD_WIDTH2,LCD_HEIGHT-2);
977#endif
969 if(cur_rem != NOT_A_CARD){ 978 if(cur_rem != NOT_A_CARD){
970 rb->lcd_bitmap(numbers[deck[cur_rem].num], LCD_WIDTH - CARD_WIDTH+1, LCD_HEIGHT-CARD_HEIGHT, 8, 8, true); 979 rb->lcd_bitmap(numbers[deck[cur_rem].num], LCD_WIDTH2 - CARD_WIDTH+1, LCD_HEIGHT-CARD_HEIGHT, 8, 8, true);
971 rb->lcd_bitmap(colors[deck[cur_rem].color], LCD_WIDTH - CARD_WIDTH+7, LCD_HEIGHT-CARD_HEIGHT, 8, 8, true); 980 rb->lcd_bitmap(colors[deck[cur_rem].color], LCD_WIDTH2 - CARD_WIDTH+7, LCD_HEIGHT-CARD_HEIGHT, 8, 8, true);
972 /* draw a selected card */ 981 /* draw a selected card */
973 if(sel_card == cur_rem){ 982 if(sel_card == cur_rem){
974 rb->lcd_drawrect(LCD_WIDTH - CARD_WIDTH+1, LCD_HEIGHT-CARD_HEIGHT,CARD_WIDTH-1, CARD_HEIGHT-1); 983 rb->lcd_drawrect(LCD_WIDTH2 - CARD_WIDTH+1, LCD_HEIGHT-CARD_HEIGHT,CARD_WIDTH-1, CARD_HEIGHT-1);
975 } 984 }
976 } 985 }
977 } 986 }
978 /* draw the cursor */ 987 /* draw the cursor */
979 if(cur_col == REM_COL){ 988 if(cur_col == REM_COL){
980 rb->lcd_set_drawmode(DRMODE_COMPLEMENT); 989 rb->lcd_set_drawmode(DRMODE_COMPLEMENT);
981 rb->lcd_fillrect(LCD_WIDTH - CARD_WIDTH+1, LCD_HEIGHT-CARD_HEIGHT,CARD_WIDTH-1, CARD_HEIGHT-1); 990 rb->lcd_fillrect(LCD_WIDTH2 - CARD_WIDTH+1, LCD_HEIGHT-CARD_HEIGHT,CARD_WIDTH-1, CARD_HEIGHT-1);
982 rb->lcd_set_drawmode(DRMODE_SOLID); 991 rb->lcd_set_drawmode(DRMODE_SOLID);
983 } 992 }
984 993