Color is working.
authorEric S. Raymond <esr@thyrsus.com>
Sun, 6 Feb 2005 06:26:07 +0000 (06:26 +0000)
committerEric S. Raymond <esr@thyrsus.com>
Sun, 6 Feb 2005 06:26:07 +0000 (06:26 +0000)
io.c
reports.c
setup.c
sst.c

diff --git a/io.c b/io.c
index 6899ab02a2a1cdea8deaf87ae4a8b8029dab4c62..05dd489255287a20eb06bf386b1d5eaaf53c9b74 100644 (file)
--- a/io.c
+++ b/io.c
@@ -44,26 +44,25 @@ void iostart(int usecurses)
        (void)saveterm();
        (void)nonl();
        (void)cbreak();
-#ifdef FOO
+#ifdef A_COLOR
        {
-       int background = COLOR_WHITE;
        start_color();
-       init_pair(COLOR_BLACK, COLOR_BLACK, background);
-       init_pair(COLOR_GREEN, COLOR_GREEN, background);
-       init_pair(COLOR_RED, COLOR_RED, background);
-       init_pair(COLOR_CYAN, COLOR_CYAN, background);
-       init_pair(COLOR_WHITE, COLOR_WHITE, background);
-       init_pair(COLOR_MAGENTA, COLOR_MAGENTA, background);
-       init_pair(COLOR_BLUE, COLOR_BLUE, background);
-       init_pair(COLOR_YELLOW, COLOR_YELLOW, background);
+       init_pair(COLOR_BLACK, COLOR_BLACK, COLOR_BLACK);
+       init_pair(COLOR_GREEN, COLOR_GREEN, COLOR_BLACK);
+       init_pair(COLOR_RED, COLOR_RED, COLOR_BLACK);
+       init_pair(COLOR_CYAN, COLOR_CYAN, COLOR_BLACK);
+       init_pair(COLOR_WHITE, COLOR_WHITE, COLOR_BLACK);
+       init_pair(COLOR_MAGENTA, COLOR_MAGENTA, COLOR_BLACK);
+       init_pair(COLOR_BLUE, COLOR_BLUE, COLOR_BLACK);
+       init_pair(COLOR_YELLOW, COLOR_YELLOW, COLOR_BLACK);
        }
 #endif /* A_COLOR */
        //(void)noecho();
        fullscreen_window = stdscr;
        srscan_window     = newwin(12, 25, 0,       0);
-       REPORT_WINDOW     = newwin(10, 0,  1,       25);
+       report_window     = newwin(10, 0,  1,       25);
        lrscan_window     = newwin(10, 0,  0,       64); 
-       message_window      = newwin(0,  0,  12,      0);
+       message_window    = newwin(0,  0,  12,      0);
        prompt_window     = newwin(1,  0,  LINES-1, 0); 
        scrollok(message_window, TRUE);
        setwnd(fullscreen_window);
@@ -227,64 +226,63 @@ void clrscr (void)
 
 void textcolor (int color)
 {
+#ifdef A_COLOR
     if (curses) {
-       wattroff(curwnd, A_REVERSE);
-#ifdef FOO
        switch(color) {
        case DEFAULT: 
            wattrset(curwnd, 0);
            break;
        case BLACK: 
-           wattron(curwnd, COLOR_PAIR(BLACK));
+           wattron(curwnd, COLOR_PAIR(COLOR_BLACK));
            break;
        case BLUE: 
-           wattron(curwnd, COLOR_PAIR(BLUE));
+           wattron(curwnd, COLOR_PAIR(COLOR_BLUE));
            break;
        case GREEN: 
-           wattron(curwnd, COLOR_PAIR(GREEN));
+           wattron(curwnd, COLOR_PAIR(COLOR_GREEN));
            break;
        case CYAN: 
-           wattron(curwnd, COLOR_PAIR(CYAN));
+           wattron(curwnd, COLOR_PAIR(COLOR_CYAN));
            break;
        case RED: 
-           wattron(curwnd, COLOR_PAIR(RED));
+           wattron(curwnd, COLOR_PAIR(COLOR_RED));
            break;
        case MAGENTA: 
-           wattron(curwnd, COLOR_PAIR(MAGENTA));
+           wattron(curwnd, COLOR_PAIR(COLOR_MAGENTA));
            break;
        case BROWN: 
-           wattron(curwnd, COLOR_PAIR(YELLOW));
+           wattron(curwnd, COLOR_PAIR(COLOR_YELLOW));
            break;
        case LIGHTGRAY: 
-           wattron(curwnd, COLOR_PAIR(WHITE));
+           wattron(curwnd, COLOR_PAIR(COLOR_WHITE));
            break;
        case DARKGRAY: 
-           wattron(curwnd, COLOR_PAIR(BLACK) | A_BOLD);
+           wattron(curwnd, COLOR_PAIR(COLOR_BLACK) | A_BOLD);
            break;
        case LIGHTBLUE: 
-           wattron(curwnd, COLOR_PAIR(BLUE) | A_BOLD);
+           wattron(curwnd, COLOR_PAIR(COLOR_BLUE) | A_BOLD);
            break;
        case LIGHTGREEN: 
-           wattron(curwnd, COLOR_PAIR(GREEN) | A_BOLD);
+           wattron(curwnd, COLOR_PAIR(COLOR_GREEN) | A_BOLD);
            break;
        case LIGHTCYAN: 
-           wattron(curwnd, COLOR_PAIR(CYAN) | A_BOLD);
+           wattron(curwnd, COLOR_PAIR(COLOR_CYAN) | A_BOLD);
            break;
        case LIGHTRED: 
-           wattron(curwnd, COLOR_PAIR(RED) | A_BOLD);
+           wattron(curwnd, COLOR_PAIR(COLOR_RED) | A_BOLD);
            break;
        case LIGHTMAGENTA: 
-           wattron(curwnd, COLOR_PAIR(MAGENTA) | A_BOLD);
+           wattron(curwnd, COLOR_PAIR(COLOR_MAGENTA) | A_BOLD);
            break;
        case YELLOW: 
-           wattron(curwnd, COLOR_PAIR(YELLOW) | A_BOLD);
+           wattron(curwnd, COLOR_PAIR(COLOR_YELLOW) | A_BOLD);
            break;
        case WHITE:
-           wattron(curwnd, COLOR_PAIR(WHITE) | A_BOLD);
+           wattron(curwnd, COLOR_PAIR(COLOR_WHITE) | A_BOLD);
            break;
        }
-#endif /* FOO */
     }
+#endif /* A_COLOR */
 }
 
 void highvideo (void)
@@ -312,9 +310,9 @@ void drawmaps(short l)
            wmove(curwnd, 0, 0);
            enqueue("no");
            srscan(SCAN_FULL);
-           setwnd(REPORT_WINDOW);
-           wclear(REPORT_WINDOW);
-           wmove(REPORT_WINDOW, 0, 0);
+           setwnd(report_window);
+           wclear(report_window);
+           wmove(report_window, 0, 0);
            srscan(SCAN_NO_LEFTSIDE);
            setwnd(lrscan_window);
            wclear(lrscan_window);
index bca7bb7125a8757f1e653d6d6bcba2f8b543a86f..6424bae32f53e293a0efee108f5482aa1d5b788e 100644 (file)
--- a/reports.c
+++ b/reports.c
@@ -210,148 +210,148 @@ void chart(int nn) {
                
                
 int srscan(int l) {
-       static char requests[][3] =
-               {"","da","co","po","ls","wa","en","to","sh","kl","ti"};
-        char *cp = NULL;
-        int leftside=TRUE, rightside=TRUE, i, j, jj, k=0, nn=FALSE, t, dam=0;
-       int goodScan=TRUE;
-       switch (l) {
-               case SCAN_FULL: // SRSCAN
-                       if (game.damage[DSRSENS] != 0) {
-                               /* Allow base's sensors if docked */
-                               if (condit != IHDOCKED) {
-                                        prout("   S.R. SENSORS DAMAGED!");
-                                       goodScan=FALSE;
-                               }
-                               else
-                                        prout("  [Using Base's sensors]");
-                       }
-                        else proutn("     Short-range scan\n\r");
-                        if (goodScan) game.starch[quadx][quady] = game.damage[DRADIO]>0.0 ? game.state.galaxy[quadx][quady]+1000:1;
-                       scan();
-                       if (isit("chart")) nn = TRUE;
-                       if (isit("no")) rightside = FALSE;
-                       chew();
-                        proutn("    1 2 3 4 5 6 7 8 9 10\n\r");
-                       break;
-               case SCAN_REQUEST:
-                       while (scan() == IHEOL)
-                               proutn("Information desired? ");
-                       chew();
-                       for (k = 1; k <= 10; k++)
-                               if (strncmp(citem,requests[k],min(2,strlen(citem)))==0)
-                                       break;
-                       if (k > 10) {
-                               prout("UNRECOGNIZED REQUEST. Legal requests are:\n"
-                                        "  date, condition, position, lsupport, warpfactor,\n"
-                                        "  energy, torpedoes, shields, klingons, time.");
-                               return FALSE;
-                       }
-                       // no "break"
-               case SCAN_STATUS: // STATUS
-                       chew();
-                       leftside = FALSE;
-                       skip(1);
-               case SCAN_NO_LEFTSIDE: // REQUEST
-                        leftside=FALSE;
-                        break;
+    static char requests[][3] =
+       {"","da","co","po","ls","wa","en","to","sh","kl","ti"};
+    char *cp = NULL;
+    int leftside=TRUE, rightside=TRUE, i, j, jj, k=0, nn=FALSE, t, dam=0;
+    int goodScan=TRUE;
+    switch (l) {
+    case SCAN_FULL: // SRSCAN
+       if (game.damage[DSRSENS] != 0) {
+           /* Allow base's sensors if docked */
+           if (condit != IHDOCKED) {
+               prout("   S.R. SENSORS DAMAGED!");
+               goodScan=FALSE;
+           }
+           else
+               prout("  [Using Base's sensors]");
+       }
+       else proutn("     Short-range scan\n\r");
+       if (goodScan) game.starch[quadx][quady] = game.damage[DRADIO]>0.0 ? game.state.galaxy[quadx][quady]+1000:1;
+       scan();
+       if (isit("chart")) nn = TRUE;
+       if (isit("no")) rightside = FALSE;
+       chew();
+       proutn("    1 2 3 4 5 6 7 8 9 10\n\r");
+       break;
+    case SCAN_REQUEST:
+       while (scan() == IHEOL)
+           proutn("Information desired? ");
+       chew();
+       for (k = 1; k <= 10; k++)
+           if (strncmp(citem,requests[k],min(2,strlen(citem)))==0)
+               break;
+       if (k > 10) {
+           prout("UNRECOGNIZED REQUEST. Legal requests are:\n"
+                 "  date, condition, position, lsupport, warpfactor,\n"
+                 "  energy, torpedoes, shields, klingons, time.");
+           return FALSE;
        }
-       if (condit != IHDOCKED) newcnd();
-       for (i = 1; i <= 10; i++) {
-               jj = (k!=0 ? k : i);
-               if (leftside) {
-                       proutn("%2d  ", i);
-                       for (j = 1; j <= 10; j++) {
-                                if (goodScan || (abs(i-sectx)<= 1 && abs(j-secty) <= 1)){
-                                   if ((game.quad[i][j]==IHMATER0)||(game.quad[i][j]==IHMATER1)||(game.quad[i][j]==IHMATER2)||(game.quad[i][j]==IHE)||(game.quad[i][j]==IHF)){
-                                        switch (condit) {
-                                                case IHRED: textcolor(RED); break;
-                                                case IHGREEN: textcolor(GREEN); break;
-                                                case IHYELLOW: textcolor(YELLOW); break;
-                                                case IHDOCKED: textcolor(CYAN); break;
-                                                case IHDEAD: textcolor(BROWN);
-                                        }
-                                        if (game.quad[i][j] != ship) 
-                                           highvideo();
-                                   }
-                                   if (game.quad[i][j] & DAMAGED) 
-                                      highvideo();
-                                   proutn("%c ",game.quad[i][j] & ~DAMAGED);
-                                   textcolor(DEFAULT);
-                                }
-                               else
-                                       proutn("- ");
+       // no "break"
+    case SCAN_STATUS: // STATUS
+       chew();
+       leftside = FALSE;
+       skip(1);
+    case SCAN_NO_LEFTSIDE: // REQUEST
+       leftside=FALSE;
+       break;
+    }
+    if (condit != IHDOCKED) newcnd();
+    for (i = 1; i <= 10; i++) {
+       jj = (k!=0 ? k : i);
+       if (leftside) {
+           proutn("%2d  ", i);
+           for (j = 1; j <= 10; j++) {
+               if (goodScan || (abs(i-sectx)<= 1 && abs(j-secty) <= 1)){
+                   if ((game.quad[i][j]==IHMATER0)||(game.quad[i][j]==IHMATER1)||(game.quad[i][j]==IHMATER2)||(game.quad[i][j]==IHE)||(game.quad[i][j]==IHF)){
+                       switch (condit) {
+                       case IHRED: textcolor(RED); break;
+                       case IHGREEN: textcolor(GREEN); break;
+                       case IHYELLOW: textcolor(YELLOW); break;
+                       case IHDOCKED: textcolor(CYAN); break;
+                       case IHDEAD: textcolor(BROWN);
                        }
+                       if (game.quad[i][j] != ship) 
+                           highvideo();
+                   }
+                   if (game.quad[i][j] & DAMAGED) 
+                       highvideo();
+                   proutn("%c ",game.quad[i][j] & ~DAMAGED);
+                   textcolor(DEFAULT);
                }
-               if (rightside) {
-                       switch (jj) {
-                               case 1:
-                                        proutn("Stardate      %.1f, Time Left %.2f", game.state.date, game.state.remtime);
-                                       break;
-                               case 2:
-                                       if (condit != IHDOCKED) newcnd();
-                                       switch (condit) {
-                                               case IHRED: cp = "RED"; break;
-                                               case IHGREEN: cp = "GREEN"; break;
-                                               case IHYELLOW: cp = "YELLOW"; break;
-                                               case IHDOCKED: cp = "DOCKED"; break;
-                                                case IHDEAD: cp="DEAD"; break;
-                                       }
-                                        for (t=0;t<=NDEVICES;t++)
-                                            if (game.damage[t]>0) dam++;
-                                        proutn("Condition     %s, %i DAMAGES", cp, dam);
-                                       break;
-                               case 3:
-                                        proutn("Position      %d - %d , %d - %d",
-                                           quadx, quady, sectx, secty);
-                                       break;
-                               case 4:
-                                        proutn("Life Support  ");
-                                       if (game.damage[DLIFSUP] != 0.0) {
-                                               if (condit == IHDOCKED)
-                                                        proutn("DAMAGED, Base provides");
-                                               else
-                                                        proutn("DAMAGED, reserves=%4.2f", lsupres);
-                                       }
-                                       else
-                                               proutn("ACTIVE");
-                                       break;
-                               case 5:
-                                       proutn("Warp Factor   %.1f", warpfac);
-                                       break;
-                               case 6:
-                                       proutn("Energy        %.2f", energy);
-                                       if (icrystl)
-                                           proutn(" (have crystals)");
-                                       break;
-                               case 7:
-                                       proutn("Torpedoes     %d", torps);
-                                       break;
-                               case 8:
-                                       proutn("Shields       ");
-                                       if (game.damage[DSHIELD] != 0)
-                                               proutn("DAMAGED,");
-                                       else if (shldup)
-                                               proutn("UP,");
-                                       else
-                                               proutn("DOWN,");
-                                       proutn(" %d%% %.1f units",
-                                                  (int)((100.0*shield)/inshld + 0.5), shield);
-                                       break;
-                               case 9:
-                                       proutn("Klingons Left %d", game.state.remkl);
-                                       break;
-                               case 10:
-                                        attakreport(1);
-                                       break;
-                       }
+               else
+                   proutn("- ");
+           }
+       }
+       if (rightside) {
+           switch (jj) {
+           case 1:
+               proutn("Stardate      %.1f, Time Left %.2f", game.state.date, game.state.remtime);
+               break;
+           case 2:
+               if (condit != IHDOCKED) newcnd();
+               switch (condit) {
+               case IHRED: cp = "RED"; break;
+               case IHGREEN: cp = "GREEN"; break;
+               case IHYELLOW: cp = "YELLOW"; break;
+               case IHDOCKED: cp = "DOCKED"; break;
+               case IHDEAD: cp="DEAD"; break;
+               }
+               for (t=0;t<=NDEVICES;t++)
+                   if (game.damage[t]>0) dam++;
+               proutn("Condition     %s, %i DAMAGES", cp, dam);
+               break;
+           case 3:
+               proutn("Position      %d - %d , %d - %d",
+                      quadx, quady, sectx, secty);
+               break;
+           case 4:
+               proutn("Life Support  ");
+               if (game.damage[DLIFSUP] != 0.0) {
+                   if (condit == IHDOCKED)
+                       proutn("DAMAGED, Base provides");
+                   else
+                       proutn("DAMAGED, reserves=%4.2f", lsupres);
                }
-               if (i<10) proutn("\n\r");
-               if (k!=0) return(goodScan);
+               else
+                   proutn("ACTIVE");
+               break;
+           case 5:
+               proutn("Warp Factor   %.1f", warpfac);
+               break;
+           case 6:
+               proutn("Energy        %.2f", energy);
+               if (icrystl)
+                   proutn(" (have crystals)");
+               break;
+           case 7:
+               proutn("Torpedoes     %d", torps);
+               break;
+           case 8:
+               proutn("Shields       ");
+               if (game.damage[DSHIELD] != 0)
+                   proutn("DAMAGED,");
+               else if (shldup)
+                   proutn("UP,");
+               else
+                   proutn("DOWN,");
+               proutn(" %d%% %.1f units",
+                      (int)((100.0*shield)/inshld + 0.5), shield);
+               break;
+           case 9:
+               proutn("Klingons Left %d", game.state.remkl);
+               break;
+           case 10:
+               attakreport(1);
+               break;
+           }
        }
-       prout("");
-       if (nn) chart(1);
-        return(goodScan);
+       if (i<10) proutn("\n\r");
+       if (k!=0) return(goodScan);
+    }
+    prout("");
+    if (nn) chart(1);
+    return(goodScan);
 }
                        
                        
diff --git a/setup.c b/setup.c
index 51089b6aed927723ee5ec657f40ea989889fb086..dff55e8922c3f68035972b04fee7ee3b5b1ea2a7 100644 (file)
--- a/setup.c
+++ b/setup.c
@@ -14,7 +14,7 @@ void prelim(void) {
        skip(2);
        prout("-SUPER- STAR TREK");
        skip(1);
-#ifndef __HISTORICAL__
+#ifdef __HISTORICAL__
        prout("Latest update-21 Sept 78");
        skip(1);
 #endif /* __HISTORICAL__ */
diff --git a/sst.c b/sst.c
index 89e069d51696293328651b8a716f6754a14e7120..f6b21c7c2be6c419ee4446bcaae68672649a8084 100644 (file)
--- a/sst.c
+++ b/sst.c
@@ -95,7 +95,7 @@ Eric Raymond's changes:
 
 /* the input queue */
 static char line[128], *linep = line;
-static usecurses = TRUE;
+static int usecurses = TRUE;
 
 static struct 
 {