|
@@ -1900,16 +1900,32 @@ static void *video_logo(void)
|
|
sprintf(info, " %s", version_string);
|
|
sprintf(info, " %s", version_string);
|
|
|
|
|
|
#ifndef CONFIG_HIDE_LOGO_VERSION
|
|
#ifndef CONFIG_HIDE_LOGO_VERSION
|
|
- space = (VIDEO_LINE_LEN / 2 - VIDEO_INFO_X) / VIDEO_FONT_WIDTH;
|
|
|
|
|
|
+ space = (VIDEO_COLS - VIDEO_INFO_X) / VIDEO_FONT_WIDTH;
|
|
len = strlen(info);
|
|
len = strlen(info);
|
|
|
|
|
|
if (len > space) {
|
|
if (len > space) {
|
|
- video_drawchars(VIDEO_INFO_X, VIDEO_INFO_Y,
|
|
|
|
- (uchar *) info, space);
|
|
|
|
- video_drawchars(VIDEO_INFO_X + VIDEO_FONT_WIDTH,
|
|
|
|
- VIDEO_INFO_Y + VIDEO_FONT_HEIGHT,
|
|
|
|
- (uchar *) info + space, len - space);
|
|
|
|
- y_off = 1;
|
|
|
|
|
|
+ int xx = VIDEO_INFO_X, yy = VIDEO_INFO_Y;
|
|
|
|
+ uchar *p = (uchar *) info;
|
|
|
|
+
|
|
|
|
+ while (len) {
|
|
|
|
+ if (len > space) {
|
|
|
|
+ video_drawchars(xx, yy, p, space);
|
|
|
|
+ len -= space;
|
|
|
|
+
|
|
|
|
+ p = (uchar *)p + space;
|
|
|
|
+
|
|
|
|
+ if (!y_off) {
|
|
|
|
+ xx += VIDEO_FONT_WIDTH;
|
|
|
|
+ space--;
|
|
|
|
+ }
|
|
|
|
+ yy += VIDEO_FONT_HEIGHT;
|
|
|
|
+
|
|
|
|
+ y_off++;
|
|
|
|
+ } else {
|
|
|
|
+ video_drawchars(xx, yy, p, len);
|
|
|
|
+ len = 0;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
} else
|
|
} else
|
|
video_drawstring(VIDEO_INFO_X, VIDEO_INFO_Y, (uchar *) info);
|
|
video_drawstring(VIDEO_INFO_X, VIDEO_INFO_Y, (uchar *) info);
|
|
|
|
|