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
{
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 (\)
}
#endif
switch (Sets.drawstyle) {
- case 2:
- switch (type & 192) {
- case 64: //right neighbour
- addstr("[[");
- break;
- case 128: //left
- addstr("]]");
- break;
- default: //both/none
- addstr("[]");
- break;
- } //horizontal stickiness
- break; //ascii horizontally grouped
- case 3:
- switch (type & 240) {
- case 48:
- addstr("||"); break; //middle
- case 64: case 80: case 96:
- addstr("[="); break; //left end
- case 112:
- addstr("|="); break;
- case 128: case 144: case 160:
- addstr("=]"); break; //right end
- case 176:
- addstr("=|"); break;
- case 192: case 208: case 224:
- addstr("=="); break;
- default:
- addstr("[]"); break; //top/bottom/mid
- } //neighbours
- break; //ascii semi-grouped
- case 7:
- switch (type & 240) {
- 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 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 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
- case 192: addch(ACS_HLINE); addch(ACS_HLINE); break; //horizontal middle
- case 208: addch(ACS_TTEE); addch(ACS_TTEE); break; //horizontal+down
- case 224: addch(ACS_BTEE); addch(ACS_BTEE); break; //horizontal+up
- default: addstr("[]"); break;
- } //neighbours
- break; //curses grouped
+ case 2:
+ switch (type & 192) {
+ case 64: //right neighbour
+ addstr("[["); break;
+ case 128: //left
+ addstr("]]"); break;
+ default: //both/none
+ addstr("[]"); break;
+ } //horizontal stickiness
+ break; //ascii horizontally grouped
+ case 3:
+ switch (type & 240) {
+ case 48:
+ addstr("||"); break; //middle
+ case 64: case 80: case 96:
+ addstr("[="); break; //left end
+ case 112:
+ addstr("|="); break;
+ case 128: case 144: case 160:
+ addstr("=]"); break; //right end
+ case 176:
+ addstr("=|"); break;
+ case 192: case 208: case 224:
+ addstr("=="); break;
default:
- addstr("[]");
- break; //ascii non-grouped
+ addstr("[]"); break; //top/bottom/mid
+ } //neighbours
+ break; //ascii semi-grouped
+ case 7:
+ switch (type & 240) {
+ 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 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 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
+ case 192: addch(ACS_HLINE); addch(ACS_HLINE); break; //horizontal middle
+ case 208: addch(ACS_TTEE); addch(ACS_TTEE); break; //horizontal+down
+ case 224: addch(ACS_BTEE); addch(ACS_BTEE); break; //horizontal+up
+ default: addstr("[]"); break;
+ } //neighbours
+ break; //curses grouped
+ default:
+ addstr("[]");
+ break; //ascii non-grouped
} //draw block
#ifdef HAVE_NCURSES
if (Sets.standout) standend();
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);