Remove CRs.
[super-star-trek.git] / reports.c
index 6486d9db73f666ded87be3720ae781e2549912ec..f866a7ba1d3bd1b094859ac84b21d26e646958a6 100644 (file)
--- a/reports.c
+++ b/reports.c
@@ -2,12 +2,7 @@
 #include <math.h>
 #include <stdlib.h>
 #include <string.h>
-#ifdef SERGEEV
-#include <conio.h>
-#include "sstlinux.h"
-#else
-#define c_printf proutn
-#endif /* SERGEEV */
+#include "conio.h"
 
 void attakreport(int l) {
      if (!l) {
@@ -29,9 +24,7 @@ void attakreport(int l) {
         if (isatb == 1)
            proutn("Base in %i - %i attacked by S. Alive until %.1f", game.state.isx, game.state.isy, game.future[FSCDBAS]);
      }
-#ifdef SERGEEV
      clreol();
-#endif /* SERGEEV */
 }
        
 
@@ -203,9 +196,7 @@ void chart(int nn) {
                                 strcpy(buf, "...");
                        else if (game.starch[i][j] > 999)
                                 if ((i==quadx)&&(j==quady)){
-#ifdef SERGEEV
                                    gotoxy(wherex()-1,wherey());
-#endif /* SERGEEV */
                                    if (game.starch[i][i]<2000)
                                       sprintf(buf, "%03d", game.starch[i][j]-1000);
                                    else 
@@ -217,9 +208,7 @@ void chart(int nn) {
                                     else 
                                        strcpy(buf, "***");
                         else if ((i==quadx)&&(j==quady)){
-#ifdef SERGEEV
                                 gotoxy(wherex()-1,wherey());
-#endif /* SERGEEV */
                                 sprintf(buf, "%03d", game.state.galaxy[i][j]);
                         }
                         else if (game.state.galaxy[i][j]>=1000)
@@ -234,20 +223,18 @@ void chart(int nn) {
                 c_printf("  |");
                 if (i<8) c_printf("\n\r");
        }
-#ifdef SERGEEV
-       proutn("");     /* flush output */
-#else
-       skip(2);
-#endif
+       prout("");      /* flush output */
 }
                
                
 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 1: // SRSCAN
+               case SCAN_FULL: // SRSCAN
                        if (game.damage[DSRSENS] != 0) {
                                /* Allow base's sensors if docked */
                                if (condit != IHDOCKED) {
@@ -261,17 +248,31 @@ int srscan(int l) {
                         if (goodScan) game.starch[quadx][quady] = game.damage[DRADIO]>0.0 ? game.state.galaxy[quadx][quady]+1000:1;
                        scan();
                        if (isit("chart")) nn = TRUE;
-                       rightside = FALSE;
+                       if (isit("no")) rightside = FALSE;
                        chew();
                         c_printf("    1 2 3 4 5 6 7 8 9 10\n\r");
                        break;
-               case 2: // REQUEST
-                        leftside=FALSE;
-                        break;
-               case 3: // STATUS
+               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;
        }
        if (condit != IHDOCKED) newcnd();
        for (i = 1; i <= 10; i++) {
@@ -281,7 +282,6 @@ int srscan(int l) {
                        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)){
-#ifdef SERGEEV
                                         switch (condit) {
                                                 case IHRED: textcolor(RED); break;
                                                 case IHGREEN: textcolor(GREEN); break;
@@ -290,15 +290,10 @@ int srscan(int l) {
                                                 case IHDEAD: textcolor(WHITE);
                                         }
                                         if (game.quad[i][j]!=ship) highvideo();
-#endif /* SERGEEV */
                                    }
-#ifdef SERGEEV
                                    if (game.quad[i][j] & 128) highvideo();
-#endif /* SERGEEV */
                                    c_printf("%c ",game.quad[i][j] & 127);
-#ifdef SERGEEV
                                    textcolor(LIGHTGRAY);
-#endif /* SERGEEV */
                                 }
                                else
                                        proutn("- ");
@@ -368,12 +363,8 @@ int srscan(int l) {
                if (i<10) c_printf("\n\r");
                if (k!=0) return(goodScan);
        }
+       prout("");
        if (nn) chart(1);
-#ifdef SERGEEV
-       proutn("");
-#else
-       skip(2);
-#endif /* SERGEEV */
         return(goodScan);
 }