X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Fsst.h;h=e9bb3b2e68494474acb86acc5ffe0c22d0a1f915;hb=2e32fd9828e1f7cc5a05c531e4ef8e5fb77d66b5;hp=06832359e2406fe3aa6042b8f9766043e08466ce;hpb=86f17194d065df99c2079102072cdcb1cfbc2339;p=super-star-trek.git diff --git a/src/sst.h b/src/sst.h index 0683235..e9bb3b2 100644 --- a/src/sst.h +++ b/src/sst.h @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #ifdef DATA_DIR @@ -12,6 +14,8 @@ #define SSTDOC DOC_NAME #endif +#define _(str) gettext(str) + #define min(x, y) ((x)<(y)?(x):(y)) #define max(x, y) ((x)>(y)?(x):(y)) @@ -68,7 +72,7 @@ typedef struct { double date, // stardate remres, // remaining resources remtime; // remaining time - struct { + struct quadrant { int stars; planet *planet; int starbase; @@ -76,6 +80,9 @@ typedef struct { int romulans; int supernova; int charted; +#ifdef EXPERIMENTAL + enum {secure, distressed, enslaved} status; +#endif /* EXPERIMENTAL */ } galaxy[GALSIZE+1][GALSIZE+1]; // The Galaxy (subscript 0 not used) struct { int stars; @@ -148,7 +155,18 @@ typedef struct { #define FSCMOVE 6 // Supercommander moves (might attack base) #define FSCDBAS 7 // Supercommander destroys base #define FDSPROB 8 // Move deep space probe +#ifndef EXPERIMENTAL #define NEVENTS (9) +#else /* EXPERIMENTAL */ +#define FDISTR 9 // Emit distress call from an inhabited world +#define FENSLV 10 // Inhabited word is enslaved */ +#define FREPRO 11 // Klingons build a ship in an enslaved system +#define NEVENTS (12) +#endif /* EXPERIMENTAL */ + +#ifdef EXPERIMENTAL +#define MAXDISTR 5 /* maximum concurrent distress calls */ +#endif /* EXPERIMENTAL */ #define SSTMAGIC "SST2.0\n" @@ -224,6 +242,9 @@ struct game { ithx, // coordinates of Tholian ithy, // iseenit, // seen base attack report +#ifdef EXPERIMENTAL + ndistr, //* count of distress calls */ +#endif /* EXPERIMENTAL */ probecx, // current probe quadrant probecy, // proben, // number of moves for probe @@ -397,6 +418,7 @@ void commandhook(char *, int); void makechart(void); void enqueue(char *); char *systemname(planet *); +void newkling(int, int *, int *); /* mode arguments for srscan() */ #define SCAN_FULL 1