X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fio.c;h=80aa0759859c9a5613d465c8fa52f0ee19d8d04a;hp=c0867fbc9577d21717e02c094b6458d5d669e72a;hb=9aef5f5aae5fde0ed2b462945750c7aee59b3c1e;hpb=18e74523dd6261a2672237611a06aa3bf5bf8a15 diff --git a/src/io.c b/src/io.c index c0867fb..80aa075 100644 --- a/src/io.c +++ b/src/io.c @@ -7,6 +7,7 @@ #include "sstlinux.h" static int rows, linecount; /* for paging */ +static bool pause_latch; WINDOW *curwnd; WINDOW *fullscreen_window; @@ -89,42 +90,52 @@ void waitfor(void) getch(); } +void pause_reset(void) +{ + pause_latch = false; +} + void pause_game(bool announcement) { - char *prompt; - char buf[BUFSIZ]; - if (announcement) { - if (game.skill > SKILL_FAIR) - prompt = _("[ANOUNCEMENT ARRIVING...]"); - else - prompt = _("[IMPORTANT ANNOUNCEMENT ARRIVING -- PRESS ENTER TO CONTINUE]"); - } + if (pause_latch) + return; else { - 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); + char *prompt; + char buf[BUFSIZ]; if (announcement) { - int j; - for (j = 0; j < rows; j++) - putchar('\n'); + if (game.skill > SKILL_FAIR) + prompt = _("[ANOUNCEMENT ARRIVING...]"); + else + prompt = _("[IMPORTANT ANNOUNCEMENT ARRIVING -- PRESS ENTER TO CONTINUE]"); + } + else { + 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) { + int j; + for (j = 0; j < rows; j++) + putchar('\n'); + } + linecount = 0; } - linecount = 0; + pause_latch = true; } }