X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Fsst.h;h=8651afd849224e987eff13a79403326a6b2a5c45;hp=6ecd3d3a12a1aaee4b1a948be88d44e206acbd5c;hb=fbb4aa04129c7e9fbe17428c5e151d4afbdd039e;hpb=dc45b3ccf42344c238ddb146d79dc62086624848 diff --git a/src/sst.h b/src/sst.h index 6ecd3d3..8651afd 100644 --- a/src/sst.h +++ b/src/sst.h @@ -58,6 +58,8 @@ typedef struct { typedef struct { int snap, // snapshot taken + crew, // crew complement +#define FULLCREW 428 /* BSD Trek was 387, that's wrong */ remkl, // remaining klingons remcom, // remaining commanders nscrem, // remaining super commanders @@ -146,6 +148,8 @@ typedef struct { #define DDSP 14 // Added deep space probe #define NDEVICES (15) // Number of devices +#define damaged(dev) game.damage[dev] != 0.0 + #define FOREVER 1e30 /* Define future events */ @@ -178,6 +182,7 @@ extern int is_scheduled(int); extern event *schedule(int, double); extern void postpone(int, double); extern double scheduled(int); +#define findevent(evtype) &game.future[evtype] #define SSTMAGIC "SST2.0\n" @@ -221,6 +226,7 @@ struct game { condit, // condition (red/yellow/green/docked) torps, // number of torpedoes ship, // ship type -- 'E' is Enterprise + abandoned, // count of crew abandoned in space length, // length of game skill, // skill level klhere, // klingons here @@ -281,9 +287,8 @@ extern double perdate; extern double aaitem; extern char citem[10]; extern int seed; -extern bool randready; extern bool idebug; -extern FILE *logfp; +extern FILE *logfp, *replayfp; /* the Space Thingy's global state should *not* be saved! */ extern coord thing; @@ -293,7 +298,7 @@ typedef enum {FWON, FDEPLETE, FLIFESUP, FNRG, FBATTLE, FNEG3, FNOVA, FSNOVAED, FABANDN, FDILITHIUM, FMATERIALIZE, FPHASER, FLOST, FMINING, FDPLANET, FPNOVA, FSSC, FSTRACTOR, FDRAY, FTRIBBLE, - FHOLE} FINTYPE ; + FHOLE, FCREW} FINTYPE ; enum loctype {neither, quadrant, sector}; #define IHR 'R' @@ -334,7 +339,7 @@ void phasers(void); void photon(void); void warp(bool); void doshield(int); -void dock(int); +void dock(bool); void dreprt(void); void chart(int); void rechart(void); @@ -385,7 +390,7 @@ void huh(void); void pause_game(int); void nova(int, int); void snova(int, int); -void scom(int *); +void scom(bool *); void hittem(double *); void prouts(char *, ...); int isit(char *);