Move cursor restoration into io.c.
[super-star-trek.git] / io.c
diff --git a/io.c b/io.c
index 4ad1c77702bfb7516f1f41ffec0695eaf28b2765..d87d097990a70e5fc4b2cd2926d5c879977aa658 100644 (file)
--- a/io.c
+++ b/io.c
@@ -23,12 +23,15 @@ static int curses = TRUE;
 #endif /* SERGEEV */
 
 #ifdef SERGEEV
-wnd wnds[6]={{1,1,80,25},      /* FULLSCREEN_WINDOW */
-            {1,1,25,12},       /* LEFTUPPER_WINDOW */
-            {26,2,80,12},      /* SRSCAN_WINDOW */
-            {65,1,80,10},      /* LRSCAN_WINDOW */
-            {1,13,80,23},      /* LOWER_WINDOW */
-            {1,24,80,25},      /* BOTTOM_WINDOW */
+typedef struct {
+        int wndleft,wndtop,wndright,wndbottom;
+} wnd;
+static wnd wnds[6]={{1,1,80,25},       /* FULLSCREEN_WINDOW */
+                   {1,1,25,12},        /* LEFTUPPER_WINDOW */
+                   {26,2,80,12},       /* SRSCAN_WINDOW */
+                   {65,1,80,10},       /* LRSCAN_WINDOW */
+                   {1,13,80,23},       /* LOWER_WINDOW */
+                   {1,24,80,25},       /* BOTTOM_WINDOW */
 };
 short curwnd;
 #endif /* SERGEEV */
@@ -412,6 +415,9 @@ void tracktorpedo(int x, int y, int ix, int iy, int wait, int l, int i, int n, i
     proutn("%d - %d   ", (int)x, (int)y);
 #else
     if (game.damage[DSRSENS]==0 || condit==IHDOCKED) {
+       int crx, cry;
+       crx = wherex();
+       cry = wherey();
        drawmaps(2);
        delay((wait!=1)*400);
        gotoxy(iy*2+3,ix+2);
@@ -434,6 +440,7 @@ void tracktorpedo(int x, int y, int ix, int iy, int wait, int l, int i, int n, i
            lowvideo();
            _setcursortype(_NORMALCURSOR);
        }
+       gotoxy(crx, cry);
     } else {
        proutn("%d - %d   ", (int)x, (int)y);
     }