Get rid of obnoxious visible "have we paused?" state.
[super-star-trek.git] / src / sst.h
index 2e6f90994d9ed41a272c73e9c2d4b4b13c447da6..2dbb50c14f190dd894f6fede1a00c9155eb11eef 100644 (file)
--- a/src/sst.h
+++ b/src/sst.h
@@ -45,14 +45,15 @@ typedef struct {int x; int y;} coord;
 #define square(i)              ((i)*(i))
 #define same(c1, c2)           ((c1.x == c2.x) && (c1.y == c2.y))
 #define distance(c1, c2)       sqrt(square(c1.x - c2.x) + square(c1.y - c2.y))
+#define invalidate(w)          w.x = w.y = 0
+#define is_valid(w)            (w.x != 0 && w.y != 0)
 
 typedef struct {
     coord w;
     enum {M=0, N=1, O=2} pclass;
     int inhabited;     /* if NZ, an index into a name array */
 #define UNINHABITED    -1
-    int crystals; /* has crystals */
-#define MINED  -1      /* used to have crystals, but they were mined out */
+    enum {mined=-1, present=0, absent=1} crystals; /* has crystals */
     enum {unknown, known, shuttle_down} known;
 } planet;
 
@@ -80,8 +81,8 @@ typedef enum {
 } feature;
 
 typedef struct {
-    bool snap;         // snapshot taken
-    int crew,          // crew complement
+    bool snap;                 // snapshot taken
+    int crew,                  // crew complement
 #define FULLCREW       428     /* BSD Trek was 387, that's wrong */
        remkl,                  // remaining klingons
        remcom,                 // remaining commanders
@@ -92,9 +93,9 @@ typedef struct {
        nromrem,                // Romulans remaining
        nplankl,                // destroyed uninhabited planets
        nworldkl;               // destroyed inhabited planets
-    planet plnets[PLNETMAX];  // Planet information
+    planet planets[PLNETMAX];  // Planet information
     double date,               // stardate
-       remres,         // remaining resources
+       remres,                 // remaining resources
        remtime;                // remaining time
     coord baseq[BASEMAX+1];    // Base quadrant coordinates
     coord kcmdr[QUADSIZE+1];   // Commander quadrant coordinates
@@ -286,7 +287,6 @@ struct game {
        nenhere,        // number of enemies in quadrant
        irhere,         // Romulans in quadrant
        isatb,          // =1 if super commander is attacking base
-       iattak,         // attack recursion elimination (was cracks[4])
        tourn,          // tournament number
        proben,         // number of moves for probe
        nprobes;        // number of probes available
@@ -341,13 +341,6 @@ typedef enum {
 
 enum loctype {neither, quadrant, sector};
 
-typedef enum {
-    SCAN_FULL,
-    SCAN_REQUEST,
-    SCAN_STATUS,
-    SCAN_NO_LEFTSIDE,
-} scantype;
-
 /* Function prototypes */
 void prelim(void);
 void attack(bool);
@@ -355,7 +348,7 @@ bool choose(bool);
 void setup(bool);
 void score(void);
 void atover(bool);
-void srscan(scantype);
+void srscan(void);
 void lrscan(void);
 void phasers(void);
 void photon(void);
@@ -363,7 +356,7 @@ void warp(bool);
 void doshield(bool);
 void dock(bool);
 void dreprt(void);
-void chart(bool);
+void chart(void);
 void rechart(void);
 void impuls(void);
 void wait(void);
@@ -380,14 +373,19 @@ void freeze(bool);
 bool thaw(void);
 void plaque(void);
 int scan(void);
+void status(int req);
+void request(void);
 #define IHEOL (0)
 #define IHALPHA (1)
 #define IHREAL (2)
 void chew(void);
 void chew2(void);
 void skip(int);
-void prout(char *, ...);
-void proutn(char *, ...);
+void prout(const char *, ...) __attribute__((format(printf, 1, 2)));
+void proutn(const char *, ...) __attribute__((format(printf, 1, 2)));
+void prouts(const char *, ...) __attribute__((format(printf, 1, 2)));
+void prstat(const char *txt, const char *fmt, ...)
+       __attribute__((format(printf, 2, 3)));
 void stars(void);
 void newqad(bool);
 bool ja(void);
@@ -400,20 +398,20 @@ coord randplace(int);
 coord dropin(feature);
 void newcnd(void);
 void sortkl(void);
-void imove(void);
+void imove(bool);
 void ram(bool, feature, coord);
 void crmena(bool, feature, enum loctype, coord w);
 void deadkl(coord, feature, coord);
 void timwrp(void);
-void movcom(void);
+void moveklings(void);
 void torpedo(double, double, coord, double *, int, int);
 void huh(void);
+void pause_reset(void);
 void pause_game(bool);
 void nova(coord);
 void snova(bool, coord *);
-void scom(bool *);
+void scom(void);
 void hittem(double *);
-void prouts(char *, ...);
 bool isit(char *);
 void preport(void);
 void orbit(void);
@@ -438,7 +436,6 @@ void waitfor(void);
 void setpassword(void);
 void commandhook(char *, bool);
 void makechart(void);
-void enqueue(char *);
 coord newkling(int);
 #if BSD_BUG_FOR_BUG
 void visual(void);