Fix game type parsing.
[super-star-trek.git] / sst.h
diff --git a/sst.h b/sst.h
index dfc6dd22a02a88c4e8523db439ddd01da0114f5b..f8d65fffed828e21de8c2386b07c04e24f283375 100644 (file)
--- a/sst.h
+++ b/sst.h
@@ -46,19 +46,15 @@ typedef struct {
     int snap,          // snapshot taken
        remkl,                  // remaining klingons
        remcom,                 // remaining commanders
+       nscrem,                 // remaining super commanders
        rembase,                // remaining bases
        starkl,                 // destroyed stars
        basekl,                 // destroyed bases
-       killk,                  // Klingons killed
-       killc,                  // commanders killed
        cx[QUADSIZE+1],cy[QUADSIZE+1],  // Commander quadrant coordinates
        baseqx[BASEMAX+1],              // Base quadrant X
        baseqy[BASEMAX+1],              // Base quadrant Y
        isx, isy,               // Coordinate of Super Commander
-       nscrem,                 // remaining super commanders
-       nromkl,                 // Romulans killed
        nromrem,                // Romulans remaining
-       nsckill,                // super commanders killed
        nplankl;                // destroyed planets
        planet plnets[PLNETMAX];  // Planet information
        double date,            // stardate
@@ -80,6 +76,14 @@ typedef struct {
     } chart[GALSIZE+1][GALSIZE+1];     // the starchart (subscript 0 not used)
 } snapshot;                            // Data that is snapshot
 
+#define NKILLK (inkling - game.state.remkl)
+#define NKILLC (incom - game.state.remcom)
+#define NKILLSC (inscom - game.state.nscrem)
+#define NKILLROM (inrom - game.state.nromrem)
+#define KLINGREM (game.state.remkl + game.state.remcom + game.state.nscrem)
+#define INKLINGTOT (inkling + incom + inscom)
+#define KLINGKILLED (INKLINGTOT - KLINGREM)
+
 #define SKILL_NONE     0
 #define SKILL_NOVICE   1
 #define SKILL_FAIR     2
@@ -97,6 +101,12 @@ typedef struct {
 #define OPTION_THINGY  0x00000010      /* Space Thingy can shoot back */
 #define OPTION_PROBE   0x00000020      /* deep-space probes */
 #define OPTION_SHOWME  0x00000040      /* bracket Enterprise in chart */
+#define OPTION_RAMMING 0x00000080      /* enemies may ram Enterprise */
+#define OPTION_MVBADDY 0x00000100      /* more enemies can move */
+#define OPTION_BLKHOLE 0x00000200      /* black hole may timewarp you */
+#define OPTION_BASE    0x00000400      /* bases have good shields */
+#define OPTION_PLAIN   0x01000000      /* user chose plain game */
+#define OPTION_ALMY    0x02000000      /* user chose Almy variant */
 
 /* Define devices */
 #define DSRSENS 0
@@ -158,6 +168,8 @@ EXTERN struct {
     int inkling,
        inbase,
        incom,
+       inscom,
+       inrom,
        instar,
        intorps,
        condit,
@@ -246,6 +258,8 @@ EXTERN struct {
 #define inkling game.inkling           // Initial number of klingons
 #define inbase game.inbase             // Initial number of bases
 #define incom game.incom               // Initian number of commanders
+#define inscom game.inscom             // Initian number of commanders
+#define inrom game.inrom               // Initian number of commanders
 #define instar game.instar             // Initial stars
 #define intorps game.intorps           // Initial/Max torpedoes
 #define condit game.condit             // Condition (red/yellow/green/docked)
@@ -453,7 +467,7 @@ void crmena(int, int, int, int, int);
 void deadkl(int, int, int, int, int);
 void timwrp(void);
 void movcom(void);
-void torpedo(double, double, int, int, double *, int, int, int);
+void torpedo(double, double, int, int, double *, int, int);
 void huh(void);
 void pause_game(int);
 void nova(int, int);
@@ -479,7 +493,7 @@ void iostart(void);
 void setwnd(WINDOW *);
 void warble(void);
 void boom(int ii, int jj);
-void tracktorpedo(int x, int y, int ix, int iy, int wait, int l, int i, int n, int iquad);
+void tracktorpedo(int ix, int iy, int l, int i, int n, int iquad);
 void cgetline(char *, int);
 void waitfor(void);
 void setpassword(void);