void DrawTitle(void)
{
int rows, cols;
- char s[255];
+ char *s;
#ifdef HAVE_NCURSES
attrset(A_REVERSE);
standout();
#endif
getmaxyx(stdscr, rows, cols);
- sprintf(s, " NETRIS %s", version_string);
- memset(&s[strlen(s)], ' ', 254 - strlen(s));
- if (cols > 56 + strlen(version_string))
- memcpy(&s[cols - 48],
- "(C)1994-1996,1999 Mark H. Weaver, (C)2002 Shiar \0", 49);
- else memcpy(&s[cols], "\0", 1);
+ s = malloc(cols + 1);
+ sprintf(s, " " MSG_TITLE " %s", version_string);
+ const int titlelen = strlen(s);
+ memset(&s[titlelen], ' ', cols - strlen(MSG_TITLE)); // pad
+ if (cols > titlelen + 1 + strlen(MSG_TITLESUB))
+ memcpy(&s[cols - 1 - strlen(MSG_TITLESUB)], MSG_TITLESUB, sizeof(MSG_TITLESUB) - 1);
+ memcpy(&s[cols], "\0", 1);
mvaddstr(0, 0, s);
+ free(s);
standend(); //normal text
}
DrawField(scr);
}
-void CleanupScreen(int scr)
-{
-}
-
void DisplayMessage(char *p)
{
char s[MSG_WIDTH];