diff options
author | Brandon Low <lostlogic@rockbox.org> | 2006-03-12 18:46:05 +0000 |
---|---|---|
committer | Brandon Low <lostlogic@rockbox.org> | 2006-03-12 18:46:05 +0000 |
commit | fea567f9af5bf1de2611c97be8eff609eef63235 (patch) | |
tree | c8601634f628bdba8d46b6d0719152cc31ed36ec | |
parent | c91623b7801650d38a3492ca3e7ce66e3523b51c (diff) |
Fix dice on the player (sim at least, my player is acting up)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9014 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/plugins/dice.c | 47 |
1 files changed, 36 insertions, 11 deletions
diff --git a/apps/plugins/dice.c b/apps/plugins/dice.c index 1ee0e2ac17..7d4745ed00 100644 --- a/apps/plugins/dice.c +++ b/apps/plugins/dice.c @@ -31,18 +31,27 @@ use stop to exit #include "button.h" #include "lcd.h" -#define SELECTIONS_SIZE 7 -#define SELECTIONS_ROW 4 -#define LINE_LENGTH 26 -#if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == ONDIO_PAD) -#define START_DICE_ROW 0 -#define ROWS 3 -#else -#define START_DICE_ROW 7 -#define ROWS 2 -#endif #define MAX_DICE 12 #define NUM_SIDE_CHOICES 8 +#if (CONFIG_KEYPAD == PLAYER_PAD) + #define SELECTIONS_SIZE 9 + #define START_DICE_ROW 1 + #define ROWS 1 + #define LINE_LENGTH 50 + #define SELECTIONS_ROW 0 +#else + #define SELECTIONS_SIZE 7 + #define SELECTIONS_ROW 4 + #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == ONDIO_PAD) + #define START_DICE_ROW 0 + #define ROWS 3 + #define LINE_LENGTH 18 + #else + #define START_DICE_ROW 7 + #define ROWS 2 + #define LINE_LENGTH 26 + #endif +#endif /* Values for selected */ #define CHANGE_DICE 0 @@ -242,13 +251,16 @@ static void print_dice(const int dice[], const int total) { space -= count; } if (i > start) { - rb->lcd_puts(0,START_DICE_ROW+row,showdice); + rb->lcd_puts_scroll(0,START_DICE_ROW+row,showdice); } else { row--; break; } if (i < end || end == MAX_DICE) break; } +#if (CONFIG_KEYPAD == PLAYER_PAD) + (void)total; +#else rb->lcd_puts(0,START_DICE_ROW+(++row)," "); if (total > 0) { rb->snprintf(showdice,LINE_LENGTH,"Total: %4d",total); @@ -257,6 +269,7 @@ static void print_dice(const int dice[], const int total) { while (row < ROWS+2) { rb->lcd_puts(0,START_DICE_ROW+(++row)," "); } +#endif #ifdef HAVE_LCD_BITMAP rb->lcd_update(); #endif @@ -267,6 +280,12 @@ static void print_selections(const int selected, const int num_dice, const int side_index) { char buffer[SELECTIONS_SIZE]; +#if (CONFIG_KEYPAD == PLAYER_PAD) + rb->snprintf(buffer, SELECTIONS_SIZE, "%c%2dd%c%3d", + selected==CHANGE_DICE?'*':' ', num_dice, + selected==CHANGE_SIDES?'*':' ', SIDES[side_index]); + rb->lcd_puts(1,SELECTIONS_ROW,buffer); +#else rb->snprintf( buffer,SELECTIONS_SIZE,"%2dd%3d",num_dice,SIDES[side_index]); rb->lcd_puts(1,SELECTIONS_ROW,buffer); @@ -275,16 +294,22 @@ static void print_selections(const int selected, } else if (selected==CHANGE_SIDES) { rb->lcd_puts(1,SELECTIONS_ROW+1," ---"); } +#endif #ifdef HAVE_LCD_BITMAP rb->lcd_update(); #endif } static void print_help() { +#if (CONFIG_KEYPAD == PLAYER_PAD) + rb->lcd_puts_scroll(1,SELECTIONS_ROW, "</>, +/- setup"); + rb->lcd_puts_scroll(1,SELECTIONS_ROW+1, "on roll, menu exit"); +#else rb->lcd_puts(1,START_DICE_ROW,"</> pick dice/sides"); rb->lcd_puts(1,START_DICE_ROW+1,"+/- change"); rb->lcd_puts(1,START_DICE_ROW+2,"on/select roll"); rb->lcd_puts(1,START_DICE_ROW+3,"off exit"); +#endif #ifdef HAVE_LCD_BITMAP rb->lcd_update(); #endif |