X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fio.c;h=6c312bf2aed4729023ec36e73ecc2364b11bd579;hp=134fdef4775fb18c7cf94441da12802369f785bd;hb=29d86fb395ca01e4a4f65f02d67f5823a4ebba11;hpb=c2847bb7511b0cf8472ba3a0a170a4fedd3b2861 diff --git a/src/io.c b/src/io.c index 134fdef..6c312bf 100644 --- a/src/io.c +++ b/src/io.c @@ -47,13 +47,13 @@ void iostart(void) char *ln_env = getenv("LINES"); rows = ln_env ? atoi(ln_env) : 25; } else { - (void)initscr(); + initscr(); #ifdef KEY_MIN keypad(stdscr, TRUE); #endif /* KEY_MIN */ - (void)saveterm(); - (void)nonl(); - (void)cbreak(); + saveterm(); + nonl(); + cbreak(); #ifdef A_COLOR { start_color(); @@ -67,12 +67,12 @@ void iostart(void) init_pair(COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK); } #endif /* A_COLOR */ - //(void)noecho(); + //noecho(); fullscreen_window = stdscr; srscan_window = newwin(12, 25, 0, 0); report_window = newwin(11, 0, 1, 25); status_window = newwin(10, 0, 1, 39); - lrscan_window = newwin(10, 0, 0, 64); + lrscan_window = newwin(5, 0, 0, 64); message_window = newwin(0, 0, 12, 0); prompt_window = newwin(1, 0, LINES-2, 0); scrollok(message_window, TRUE); @@ -86,46 +86,43 @@ void waitfor(void) /* wait for user action -- OK to do nothing if on a TTY */ { if (game.options & OPTION_CURSES) - getch(); + wgetch(prompt_window); } -void pause_game(bool announcement) +void announce(void) { - char *prompt; - char buf[BUFSIZ]; - if (announcement) { - if (game.skill > SKILL_FAIR) - prompt = _("[ANOUNCEMENT ARRIVING...]"); - else - prompt = _("[IMPORTANT ANNOUNCEMENT ARRIVING -- PRESS ENTER TO CONTINUE]"); - } - else { - if (game.skill > SKILL_FAIR) + skip(1); + prouts(_("[ANOUNCEMENT ARRIVING...]")); + skip(1); +} + +static void pause_game(void) +{ + char *prompt; + char buf[BUFSIZ]; + if (game.skill > SKILL_FAIR) prompt = _("[CONTINUE?]"); else prompt = _("[PRESS ENTER TO CONTINUE]"); - } - if (game.options & OPTION_CURSES) { - drawmaps(0); - setwnd(prompt_window); - wclear(prompt_window); - waddstr(prompt_window, prompt); - wgetnstr(prompt_window, buf, sizeof(buf)); - wclear(prompt_window); - wrefresh(prompt_window); - setwnd(message_window); - } else { - putchar('\n'); - proutn(prompt); - fgets(buf, sizeof(buf), stdin); - if (announcement) { + if (game.options & OPTION_CURSES) { + drawmaps(0); + setwnd(prompt_window); + wclear(prompt_window); + waddstr(prompt_window, prompt); + wgetnstr(prompt_window, buf, sizeof(buf)); + wclear(prompt_window); + wrefresh(prompt_window); + setwnd(message_window); + } else { int j; + putchar('\n'); + proutn(prompt); + fgets(buf, sizeof(buf), stdin); for (j = 0; j < rows; j++) putchar('\n'); + linecount = 0; } - linecount = 0; - } } @@ -134,7 +131,7 @@ void skip(int i) while (i-- > 0) { if (game.options & OPTION_CURSES) { if (curwnd == message_window && getcury(curwnd) >= getmaxy(curwnd) - 3) { - pause_game(false); + pause_game(); clrscr(); } else { proutn("\n"); @@ -142,7 +139,7 @@ void skip(int i) } else { linecount++; if (linecount >= rows) - pause_game(false); + pause_game(); else putchar('\n'); }