summaryrefslogtreecommitdiff
path: root/apps/plugins/credits.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/credits.c')
-rw-r--r--apps/plugins/credits.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/apps/plugins/credits.c b/apps/plugins/credits.c
index 12bfa60a8f..b726771edc 100644
--- a/apps/plugins/credits.c
+++ b/apps/plugins/credits.c
@@ -58,7 +58,7 @@ void roll_credits(void)
58{ 58{
59 int numnames = sizeof(credits)/sizeof(char*); 59 int numnames = sizeof(credits)/sizeof(char*);
60 int curr_name = 0; 60 int curr_name = 0;
61 int curr_len = rb->strlen(credits[0]); 61 int curr_len = rb->utf8length(credits[0]);
62 int curr_index = 0; 62 int curr_index = 0;
63 int curr_line = 0; 63 int curr_line = 0;
64 int name, len, new_len, line, x; 64 int name, len, new_len, line, x;
@@ -77,19 +77,20 @@ void roll_credits(void)
77 int x2; 77 int x2;
78 78
79 if (x < 0) 79 if (x < 0)
80 rb->lcd_puts(0, line, credits[name] - x); 80 rb->lcd_puts(0, line, credits[name] + rb->utf8seek(credits[name], -x));
81 else 81 else
82 rb->lcd_puts(x, line, credits[name]); 82 rb->lcd_puts(x, line, credits[name]);
83 83
84 if (++name >= numnames) 84 if (++name >= numnames)
85 break; 85 break;
86
86 line ^= 1; 87 line ^= 1;
87 88
88 x2 = x + len/2; 89 x2 = x + len/2;
89 if ((unsigned)x2 < 11) 90 if ((unsigned)x2 < 11)
90 rb->lcd_putc(x2, line, '*'); 91 rb->lcd_putc(x2, line, '*');
91 92
92 new_len = rb->strlen(credits[name]); 93 new_len = rb->utf8length(credits[name]);
93 x += MAX(len/2 + 2, len - new_len/2 + 1); 94 x += MAX(len/2 + 2, len - new_len/2 + 1);
94 len = new_len; 95 len = new_len;
95 } 96 }
@@ -101,7 +102,7 @@ void roll_credits(void)
101 { 102 {
102 if (++curr_name >= numnames) 103 if (++curr_name >= numnames)
103 break; 104 break;
104 new_len = rb->strlen(credits[curr_name]); 105 new_len = rb->utf8length(credits[curr_name]);
105 curr_index -= MAX(curr_len/2 + 2, curr_len - new_len/2 + 1); 106 curr_index -= MAX(curr_len/2 + 2, curr_len - new_len/2 + 1);
106 curr_len = new_len; 107 curr_len = new_len;
107 curr_line ^= 1; 108 curr_line ^= 1;