Resync code and docs.
[super-star-trek.git] / io.c
diff --git a/io.c b/io.c
index b3e974e5124e1c202d1625e543431125d4db6c19..418152969d23cfedcbee5771ab242b293af3ce17 100644 (file)
--- a/io.c
+++ b/io.c
@@ -121,7 +121,10 @@ void skip(int i)
 {
     while (i-- > 0) {
        if (game.options & OPTION_CURSES) {
-           proutn("\n\r");
+           if (curwnd == message_window && getcury(curwnd) == getmaxy(curwnd))
+               pause_game(0);
+           else
+               proutn("\n");
        } else {
            linecount++;
            if (linecount >= rows)
@@ -167,7 +170,6 @@ void prouts(char *fmt, ...)
     va_start(ap, fmt);
     vsprintf(buf, fmt, ap);
     va_end(ap);
-    skip(1);
     for (s = buf; *s; s++) {
        delay(30);
        if (game.options & OPTION_CURSES) {
@@ -349,16 +351,18 @@ void warble(void)
 /* sound and visual effects for teleportation */
 {
     if (game.options & OPTION_CURSES) {
-       drawmaps(1);
+       drawmaps(2);
        setwnd(message_window);
        sound(50);
+    }
+    prouts("     . . . . .     ");
+    if (game.options & OPTION_CURSES) {
        delay(1000);
        nosound();
-    } else
-       prouts(" . . . . . ");
+    }
 }
 
-void tracktorpedo(int ix, int iy, int l, int i, int n)
+void tracktorpedo(int ix, int iy, int l, int i, int n, int iquad)
 /* torpedo-track animation */
 {
     if (!game.options & OPTION_CURSES) {
@@ -380,21 +384,21 @@ void tracktorpedo(int ix, int iy, int l, int i, int n)
                drawmaps(2);
                delay(400);
            }
-           if ((game.quad[ix][iy]==IHDOT)||(game.quad[ix][iy]==IHBLANK)){
+           if ((iquad==IHDOT)||(iquad==IHBLANK)){
                put_srscan_sym(ix, iy, '+');
                sound(l*10);
                delay(100);
                nosound();
-               put_srscan_sym(ix, iy, game.quad[ix][iy]);
+               put_srscan_sym(ix, iy, iquad);
            }
            else {
                wattron(curwnd, A_REVERSE);
-               put_srscan_sym(ix, iy, game.quad[ix][iy]);
+               put_srscan_sym(ix, iy, iquad);
                sound(500);
                delay(1000);
                nosound();
                wattroff(curwnd, A_REVERSE);
-               put_srscan_sym(ix, iy, game.quad[ix][iy]);
+               put_srscan_sym(ix, iy, iquad);
            }
        } else {
            proutn("%d - %d   ", ix, iy);