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
};
* 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
{
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;
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;
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
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 (\)
case 16: addch(ACS_ULCORNER); addch(ACS_URCORNER); break;//top end
case 32: addch(ACS_LLCORNER); addch(ACS_LRCORNER); break;//bottom end
case 48: addch(ACS_VLINE); addch(ACS_VLINE); break; //vertical middle
- case 64: addch(' '); addch(ACS_HLINE); break; //left end
+ case 64: addch('['); addch(ACS_HLINE); break; //left end
case 80: addch(ACS_ULCORNER); addch(ACS_TTEE); break; //top left corner
case 96: addch(ACS_LLCORNER); addch(ACS_BTEE); break; //bottom left corner
case 112: addch(ACS_LTEE); addch(ACS_PLUS); break; //vertical+right
- case 128: addch(ACS_HLINE); addch(' '); break; //right end
+ case 128: addch(ACS_HLINE); addch(']'); break; //right end
case 144: addch(ACS_TTEE); addch(ACS_URCORNER); break; //top right corner
case 160: addch(ACS_BTEE); addch(ACS_LRCORNER); break; //bottom right corner
case 176: addch(ACS_PLUS); addch(ACS_RTEE); break; //vertical+left
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);