X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=sst.h;h=f8d65fffed828e21de8c2386b07c04e24f283375;hp=c904feff5f974bc5ffb6a52b955e19d6249ea391;hb=33260392e158234e108910e2cc2ab18cd7416c31;hpb=7de1f930478a9efcc3f093eb62414ec18d396f7b diff --git a/sst.h b/sst.h index c904fef..f8d65ff 100644 --- 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) @@ -479,7 +493,7 @@ void iostart(void); void setwnd(WINDOW *); void warble(void); void boom(int ii, int jj); -void tracktorpedo(int ix, int iy, int l, int i, int n); +void tracktorpedo(int ix, int iy, int l, int i, int n, int iquad); void cgetline(char *, int); void waitfor(void); void setpassword(void);