Imprive documentation, fix a typo, add the hacking guide.
[super-star-trek.git] / src / io.c
index 80aa0759859c9a5613d465c8fa52f0ee19d8d04a..416649f9d6b2f667e39d99e233fe5babb544a53a 100644 (file)
--- a/src/io.c
+++ b/src/io.c
@@ -7,7 +7,6 @@
 #include "sstlinux.h"
 
 static int rows, linecount;    /* for paging */
-static bool pause_latch;
 
 WINDOW *curwnd;
 WINDOW *fullscreen_window;
@@ -87,34 +86,25 @@ 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_reset(void)
+void announce(void)
 {
-    pause_latch = false;
+    skip(1);
+    prouts(_("[ANNOUNCEMENT ARRIVING...]"));
+    skip(1);
 }
 
-void pause_game(bool announcement) 
+static void pause_game(void)
 {
-    if (pause_latch)
-       return;
-    else {
        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)
-               prompt = _("[CONTINUE?]");
-           else
-               prompt = _("[PRESS ENTER TO CONTINUE]");
+        if (game.skill > SKILL_FAIR)
+           prompt = _("[CONTINUE?]");
+       else
+           prompt = _("[PRESS ENTER TO CONTINUE]");
 
-       }
        if (game.options & OPTION_CURSES) {
            drawmaps(0);
            setwnd(prompt_window);
@@ -125,18 +115,14 @@ void pause_game(bool announcement)
            wrefresh(prompt_window);
            setwnd(message_window);
        } else {
+           int j;
            putchar('\n');
            proutn(prompt);
            fgets(buf, sizeof(buf), stdin);
-           if (announcement) {
-               int j;
-               for (j = 0; j < rows; j++)
-                   putchar('\n');
-           }
+           for (j = 0; j < rows; j++)
+               putchar('\n');
            linecount = 0;
        }
-       pause_latch = true;
-    }
 }
 
 
@@ -145,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");
@@ -153,7 +139,7 @@ void skip(int i)
        } else {
            linecount++;
            if (linecount >= rows)
-               pause_game(false);
+               pause_game();
            else
                putchar('\n');
        }