Give names to the windows.
authorEric S. Raymond <esr@thyrsus.com>
Fri, 4 Feb 2005 02:57:57 +0000 (02:57 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Fri, 4 Feb 2005 02:57:57 +0000 (02:57 +0000)
battle.c
io.c
sst.c
sst.h

index f6c485f5e1566a142c192a4044747a223c8278d8..6e35e122d7621469e3ffcfe1bdb8921550c6069d 100644 (file)
--- a/battle.c
+++ b/battle.c
@@ -195,8 +195,8 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait) {
 #ifdef SERGEEV
         crx=wherex();
         cry=wherey();
-        if (game.damage[DSRSENS]==0 || condit==IHDOCKED) setwnd(1);
-       else setwnd(4);
+        if (game.damage[DSRSENS]==0 || condit==IHDOCKED) setwnd(LEFTUPPER_WINDOW);
+       else setwnd(LOWER_WINDOW);
 #endif /* SERGEEV */
        /* Loop to move a single torpedo */
        for (l=1; l <= 15; l++) {
@@ -246,7 +246,7 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait) {
 #ifndef SERGEEV
                skip(1);
 #else
-               setwnd(4);
+               setwnd(LOWER_WINDOW);
                gotoxy(crx,cry);
 #endif
                switch(iquad) {
@@ -449,8 +449,8 @@ void torpedo(double course, double r, int inx, int iny, double *hit, int wait) {
                break;
        }
 #ifdef SERGEEV
-        if(curwnd!=4) {
-           setwnd(4);
+        if(curwnd!=LOWER_WINDOW) {
+           setwnd(LOWER_WINDOW);
            gotoxy(crx,cry);
        }
 #endif /* SERGEEV */
@@ -1253,7 +1253,7 @@ void hittem(double *hits) {
                         if (game.damage[DSRSENS]==0){
                            crx=wherex();
                            cry=wherey();
-                           setwnd(1);
+                           setwnd(LEFTUPPER_WINDOW);
                            drawmaps(2);
                            gotoxy(jj*2+3,ii+2);
                            highvideo();
@@ -1264,7 +1264,7 @@ void hittem(double *hits) {
                            nosound();
                            lowvideo();
                            proutn("%c", game.quad[ii][jj]);
-                           setwnd(4);
+                           setwnd(LOWER_WINDOW);
                            gotoxy(crx,cry);
                            _setcursortype(_NORMALCURSOR);
                            delay(500);
diff --git a/io.c b/io.c
index 4ca069ff8f7844a16648b5b6fb07bc7e3521923a..12a1993e693272f9fd29ce546229e63d92ff7e88 100644 (file)
--- a/io.c
+++ b/io.c
@@ -33,6 +33,17 @@ static int curses = FALSE;
 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 */
+};
+short curwnd;
+#endif /* SERGEEV */
+
 static void outro(int sig) {
 /* wrap up, either normally or due to signal */
     if (curses) {
@@ -94,7 +105,7 @@ void pause_game(int i) {
         char buf[BUFSIZ];
 #else /* SERGEEV */
         drawmaps(0);
-        setwnd(5);
+        setwnd(BOTTOM_WINDOW);
 #endif /* SERGEEV */
        if (i==1) {
                if (skill > 2)
@@ -132,7 +143,7 @@ void pause_game(int i) {
        proutn(prompt);
        getche();
         clrscr();
-        setwnd(4);
+        setwnd(LOWER_WINDOW);
         clrscr();
 #endif /* SERGEEV */
 }
@@ -163,7 +174,7 @@ static void vproutn(char *fmt, va_list ap) {
     char *s, *p;
     vasprintf(&s, fmt, ap);
     p=s;
-    if ((curwnd==4)&&(wherey()==wnds[curwnd].wndbottom-wnds[curwnd].wndtop)){
+    if ((curwnd==LOWER_WINDOW)&&(wherey()==wnds[curwnd].wndbottom-wnds[curwnd].wndtop)){
        if (strchr(s,'\n')) {
           p=strchr(s,'\n');
           p[0]=0;
@@ -174,7 +185,7 @@ static void vproutn(char *fmt, va_list ap) {
 #endif /* SERGEEV */
     }
 #ifdef SERGEEV
-    if ((curwnd==4)&&(wherey()>wnds[curwnd].wndbottom-wnds[curwnd].wndtop+1))
+    if ((curwnd==LOWER_WINDOW)&&(wherey()>wnds[curwnd].wndbottom-wnds[curwnd].wndtop+1))
        cprintf("\r");
 //        setwnd(curwnd);
     if (strchr(s,'\n') || strchr(s,'\r')) clreol();
@@ -299,7 +310,7 @@ void warble(void)
     posx=wherex();
     posy=wherey();
     drawmaps(1);
-    setwnd(4);
+    setwnd(LOWER_WINDOW);
     gotoxy(posx,posy);
     sound(50);
     delay(1000);
@@ -346,7 +357,7 @@ void setwnd(short wndnum){
 #ifdef SERGEEV
      int cury;
      cury=wherey()+wnds[curwnd].wndtop-wnds[wndnum].wndtop;
-     if ((curwnd==0)&&(wndnum!=0)) clrscr();
+     if ((curwnd==FULLSCREEN_WINDOW)&&(wndnum!=FULLSCREEN_WINDOW)) clrscr();
      window(wnds[wndnum].wndleft, wnds[wndnum].wndtop, wnds[wndnum].wndright, wnds[wndnum].wndbottom);
      if ((curwnd==wndnum)&&(cury>wnds[wndnum].wndbottom-wnds[wndnum].wndtop+1)){
         gotoxy(wnds[wndnum].wndright-wnds[wndnum].wndleft+1,wnds[wndnum].wndbottom-wnds[wndnum].wndtop+1);
diff --git a/sst.c b/sst.c
index c353d04b0621bfe41e97a429c538f25b4aaac314..fb508be4ce8e6dacc46618327b1c5b29424e36ab 100644 (file)
--- a/sst.c
+++ b/sst.c
@@ -180,11 +180,6 @@ commands[] = {
        {"HELP",        HELP},
 };
 
-#ifdef SERGEEV
-wnd wnds[6]={{1,1,80,25},{1,1,25,12},{26,2,80,12},{65,1,80,10},{1,13,80,23},{1,24,80,25}};
-short curwnd;
-#endif /* SERGEEV */
-
 #define NUMCOMMANDS    sizeof(commands)/sizeof(commands[0])
 
 static void listCommands(int x) {
@@ -209,13 +204,13 @@ static void helpme(void) {
        while (TRUE) {
                if (key == IHEOL) {
 #ifdef SERGEEV
-                        setwnd(5);
+                        setwnd(BOTTOM_WINDOW);
 #endif /* SERGEEV */
                         proutn("Help on what command? ");
                        key = scan();
                }
 #ifdef SERGEEV
-                setwnd(4);
+                setwnd(LOWER_WINDOW);
 #endif /* SERGEEV */
                if (key == IHEOL) return;
                for (i = 0; i < NUMCOMMANDS; i++) {
@@ -282,15 +277,15 @@ void drawmaps(short l) {
 #ifdef SERGEEV
      _setcursortype(_NOCURSOR);
      if (l==1) sensor();
-     if (l!=2) setwnd(1);
+     if (l!=2) setwnd(LEFTUPPER_WINDOW);
      gotoxy(1,1);
      strcpy(line,"s");
      srscan(1);
      if (l!=2){
-        setwnd(2);
+        setwnd(SRSCAN_WINDOW);
         clrscr();
         srscan(2);
-        setwnd(3);
+        setwnd(LRSCAN_WINDOW);
         clrscr();
         strcpy(line,"l");
         lrscan();
@@ -303,7 +298,7 @@ static void makemoves(void) {
        int i, hitme;
 #ifdef SERGEEV
         clrscr();
-        setwnd(4);
+        setwnd(LOWER_WINDOW);
 #endif /* SERGEEV */
        while (TRUE) { /* command loop */
                 drawmaps(1);
@@ -314,14 +309,14 @@ static void makemoves(void) {
                        i = -1;
                        chew();
 #ifdef SERGEEV
-                        setwnd(5);
+                        setwnd(BOTTOM_WINDOW);
                         clrscr();
 #endif /* SERGEEV */
                        proutn("COMMAND> ");
                         if (scan() == IHEOL) {
 #ifdef SERGEEV
                             _setcursortype(_NOCURSOR);
-                            setwnd(4);
+                            setwnd(LOWER_WINDOW);
                             clrscr();
                             chart(0);
                             _setcursortype(_NORMALCURSOR);
@@ -331,7 +326,7 @@ static void makemoves(void) {
 #ifdef SERGEEV
                         ididit=0;
                         clrscr();
-                        setwnd(4);
+                        setwnd(LOWER_WINDOW);
                         clrscr();
 #endif /* SERGEEV */
                        for (i=0; i < ABANDON; i++)
@@ -532,7 +527,7 @@ int main(int argc, char **argv) {
        randomize();
         textattr(7);
         clrscr();
-        setwnd(0);
+        setwnd(FULLSCREEN_WINDOW);
 #endif /* SERGEEV */
        line[0] = '\0';
        for (i = optind; i < argc;  i++) {
@@ -561,7 +556,7 @@ int main(int argc, char **argv) {
                proutn("Do you want to play again? ");
                if (!ja()) break;
 #ifdef SERGEEV
-               setwnd(0);
+               setwnd(FULLSCREEN_WINDOW);
                clrscr();
 #endif /* SERGEEV */
        }
@@ -672,9 +667,9 @@ int scan(void) {
                getline(line, sizeof(line));
 #ifdef SERGEEV
                 fflush(stdin);
-                if (curwnd==5){
+                if (curwnd==BOTTOM_WINDOW){
                    clrscr();
-                   setwnd(4);
+                   setwnd(LOWER_WINDOW);
                    clrscr();
                 }
 #endif /* SERGEEV */
diff --git a/sst.h b/sst.h
index 124abe5e1e4243da3986831812abb48871272e67..9a3342367b9ba94676773ec7b066c75dfe9a0d7a 100644 (file)
--- a/sst.h
+++ b/sst.h
@@ -446,3 +446,10 @@ typedef struct {
         int wndleft,wndtop,wndright,wndbottom;
 } wnd;
 extern wnd wnds[6];
+/* these need to track io.c:wnd */
+#define FULLSCREEN_WINDOW      0
+#define LEFTUPPER_WINDOW       1
+#define SRSCAN_WINDOW          2
+#define LRSCAN_WINDOW          3
+#define LOWER_WINDOW           4
+#define BOTTOM_WINDOW          5