#include "netris.h"
#include <sys/types.h>
#include <unistd.h>
-#include <term.h>
#include <curses.h>
#include <string.h>
#include <stdlib.h>
static int boardYPos[MAX_SCREENS], boardXPos[MAX_SCREENS];
static int statusYPos, statusXPos;
static int haveColor;
-static int screens_dirty = 0;
static char *term_vi; /* String to make cursor invisible */
static char *term_ve; /* String to make cursor visible */
#endif
AtExit(CleanupScreens);
- screens_dirty = 1;
RestoreSignals(NULL, &oldMask);
cbreak();
ExtFunc void CleanupScreens(void)
{
- if (screens_dirty) {
- RemoveEventGen(&keyGen);
- endwin();
- OutputTermStr(term_ve, 1);
- screens_dirty = 0;
- }
+ RemoveEventGen(&keyGen);
+ endwin();
+ OutputTermStr(term_ve, 1);
}
ExtFunc void GetTermcapInfo(void)
for (y = boardVisible[scr] - 1; y >= 0; --y) {
move(boardYPos[scr] - y, boardXPos[scr] - 1);
addch('|');
- for (x = boardWidth[scr] - 1; x >= 0; --x)
- addstr(" ");
move(boardYPos[scr] - y, boardXPos[scr] + 2 * boardWidth[scr]);
addch('|');
}
ExtFunc void ShowDisplayInfo(void)
{
- move(statusYPos - 3, statusXPos);
- printw("Won: %3d", won);
- move(statusYPos - 2, statusXPos);
- printw("Lost: %3d", lost);
-
- move(statusYPos - 1, statusXPos);
- switch(gameState) {
- case STATE_WAIT_CONNECTION:
- addstr("Waiting for opponent... ");
- break;
- case STATE_WAIT_KEYPRESS:
- addstr("Press the key for a new game.");
- break;
- default:
- addstr(" ");
- }
-
move(statusYPos - 9, statusXPos);
printw("Seed: %d", initSeed);
clrtoeol();