X-Git-Url: http://git.shiar.nl/netris.git/blobdiff_plain/1462010f0cd5937383b14e1e35a2a163087007f0..c464ec173a4931ee5bdea783324b159492abd866:/curses.c diff --git a/curses.c b/curses.c index 7c95782..bb3834e 100644 --- a/curses.c +++ b/curses.c @@ -37,7 +37,6 @@ static MyEventType KeyGenFunc(EventGenRec *gen, MyEvent *event); static EventGenRec keyGen = { -// NULL, 0, FT_read, STDIN_FILENO, KeyGenFunc, EM_key NULL, 0, FT_read, STDIN_FILENO, KeyGenFunc, EM_key }; @@ -68,7 +67,7 @@ void InitScreens(void) * Ctrl-C during initialization might leave the terminal in a bad state. */ BlockSignals(&oldMask, SIGINT, 0); - initscr(); //start curses + initscr(); //start curses #ifdef CURSES_HACK { @@ -85,14 +84,14 @@ void InitScreens(void) char type; short color; } myColorTable[] = { - { BT_white, COLOR_WHITE }, - { BT_blue, COLOR_BLUE }, - { BT_magenta, COLOR_MAGENTA }, - { BT_cyan, COLOR_CYAN }, - { BT_yellow, COLOR_YELLOW }, - { BT_green, COLOR_GREEN }, - { BT_red, COLOR_RED }, - { BT_none, 0 } + { BT_T, COLOR_WHITE }, + { BT_I, COLOR_BLUE }, + { BT_O, COLOR_MAGENTA }, + { BT_L, COLOR_CYAN }, + { BT_J, COLOR_YELLOW }, + { BT_S, COLOR_GREEN }, + { BT_Z, COLOR_RED }, + { BT_none, 0 } }; //myColorTable int i = 0; @@ -211,12 +210,11 @@ void DrawTitle(void) standout(); #endif getmaxyx(stdscr, rows, cols); - sprintf(s, " NETRIS %s", version_string); + sprintf(s, " " MSG_TITLE " %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); + if (cols > strlen(MSG_TITLE) + 2 + strlen(version_string) + 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); standend(); //normal text } @@ -289,8 +287,8 @@ void InitFields(void) messageXPos = 2; messageYPos = 24; - if ((messageWidth = x - messageXPos - 2) > MSG_WIDTH) messageWidth = MSG_WIDTH; - if ((messageHeight = y - messageYPos - 1) > MSG_HEIGHT) messageHeight = MSG_HEIGHT; + messageWidth = MIN(x - messageXPos - 2, MSG_WIDTH); + messageHeight = MIN(y - messageYPos - 1, MSG_HEIGHT); if (messageHeight <= 0) { messageWidth = 27; messageHeight = y - 3; @@ -300,7 +298,7 @@ void InitFields(void) DrawBox(messageXPos - 2, messageYPos - 1, messageXPos + messageWidth + 1, messageYPos+messageHeight); if (msgwin = subwin(stdscr, messageHeight, messageWidth, - messageYPos, messageXPos)) + messageYPos, messageXPos)) scrollok(msgwin, 1); //allow scrolling wmove(msgwin, messageHeight - 2, 0); for (scr = messageHeight - 2; scr >= 0; scr--) //display message history @@ -352,7 +350,7 @@ void DisplayMessage(char *p) while (psearch = strchr(p, '\\')) { *psearch = '\0'; waddstr(msgwin, p); - c = atoi(++psearch)+1; + c = atoi(++psearch) + 1; if (haveColor) wattrset(msgwin, A_REVERSE | COLOR_PAIR(c)); p = ++psearch; } //search for color escapes (\) @@ -514,8 +512,8 @@ void ShowScore(int scr, struct _Score score) mvaddstr(13, statusXPos, MSG_NEXT " "); mvaddstr(14, statusXPos + 5, " "); - ShapeIterate(Players[scr].nextShape, scr, - 8, statusXPos/2 + (Players[scr].nextShape/4 == 5 ? 3 : 4), + ShapeIterate(Players[scr].nextShape, scr, 8, + statusXPos/2 + (Players[scr].nextShape/4 == 5 ? 3 : 4), GlanceFunc); //draw; stick one more to the left mvprintw(3, statusXPos, MSG_LEVEL, score.level); mvprintw(5, statusXPos, MSG_SCORE, score.score);