#include "curses.h"
#include "util.h"
#include "board.h"
-#include "msg.en.h"
+#include "msg.h"
#ifdef NCURSES_VERSION
# define HAVE_NCURSES
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 - titlelen); // 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
}
messageYPos = 24;
messageWidth = MIN(x - messageXPos - 2, MSG_WIDTH);
messageHeight = MIN(y - messageYPos - 1, MSG_HEIGHT);
- if (messageHeight <= 0) {
- messageWidth = 27;
+ if (messageHeight < 3) {
+ messageWidth = MIN(x - statusXPos - 18, 27);
messageHeight = y - 3;
messageXPos = statusXPos + 16;
messageYPos = 2;
DrawField(scr);
}
-void CleanupScreen(int scr)
-{
-}
-
void DisplayMessage(char *p)
{
char s[MSG_WIDTH];