X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fsst.h;h=2af0f192703c146121ff4f136b385f11ae53d79b;hp=396f6dabdf054f91f8d823bf8d8d31a7eaaf3bb0;hb=8700dc6a521fe201815aad02cf05f7f4c297c305;hpb=ebc4fdc3802c47c9fe7ec31b4cde062faff366fc diff --git a/src/sst.h b/src/sst.h index 396f6da..2af0f19 100644 --- a/src/sst.h +++ b/src/sst.h @@ -4,6 +4,8 @@ #include #include #include +#include +#include #include #ifdef DATA_DIR @@ -12,14 +14,18 @@ #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)) // #define DEBUG #define PHASEFAC (2.0) -#define PLNETMAX (10) #define GALSIZE (8) +#define NINHAB (GALSIZE * GALSIZE / 2) +#define MAXUNINHAB (10) +#define PLNETMAX (NINHAB + MAXUNINHAB) #define QUADSIZE (10) #define BASEMAX (5) @@ -39,7 +45,10 @@ typedef struct { int x; /* Quadrant location of planet */ int y; 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 {unknown, known, shuttle_down} known; } planet; @@ -65,7 +74,7 @@ typedef struct { remtime; // remaining time struct { int stars; - int planets; + planet *planet; int starbase; int klingons; int romulans; @@ -108,6 +117,7 @@ typedef struct { #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_WORLDS 0x00000800 /* logic for inhabited worlds */ #define OPTION_PLAIN 0x01000000 /* user chose plain game */ #define OPTION_ALMY 0x02000000 /* user chose Almy variant */ @@ -279,6 +289,7 @@ enum loctype {neither, quadrant, sector}; #define IHS 'S' #define IHSTAR '*' #define IHP 'P' +#define IHW '@' #define IHB 'B' #define IHBLANK ' ' #define IHDOT '.' @@ -320,7 +331,7 @@ void setwrp(void); void events(void); void report(void); void eta(void); -void help(void); +void mayday(void); void abandn(void); void finish(FINTYPE); void dstrct(void); @@ -389,6 +400,7 @@ void setpassword(void); void commandhook(char *, int); void makechart(void); void enqueue(char *); +char *systemname(planet *); /* mode arguments for srscan() */ #define SCAN_FULL 1