#include "sstlinux.h"
static int rows, linecount; /* for paging */
+static bool pause_latch;
WINDOW *curwnd;
WINDOW *fullscreen_window;
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);
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;
}
}