X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=sst.h;h=63ea4cfa1ef9e957e87d66b440fb24c00093b589;hp=a2c4c92cbcac44e638945b80bc0c76cdc04c6314;hb=cf91699c89b88f76dcf63c60624635184e8cb7eb;hpb=77e371705e1e059173ec9c88f63be7a460e44e50 diff --git a/sst.h b/sst.h index a2c4c92..63ea4cf 100644 --- a/sst.h +++ b/sst.h @@ -8,6 +8,9 @@ #define EXTERN #endif +#define min(x, y) ((x)<(y)?(x):(y)) +#define max(x, y) ((x)>(y)?(x):(y)) + // #define DEBUG #define NDEVICES (15) // Number of devices @@ -128,6 +131,8 @@ EXTERN struct { batx, baty, ithere, + iqhere, + iqengry, ithx, ithy, iseenit, @@ -202,6 +207,8 @@ EXTERN struct { #define ishere game.ishere // Super-commander in quandrant #define neutz game.neutz // Romulan Neutral Zone #define irhere game.irhere // Romulans in quadrant +#define iqhere game.iqhere // Thing in quadrant +#define iqengry game.iqengry // Thing attacking #define icraft game.icraft // Kirk in Galileo #define ientesc game.ientesc // Attempted escape from supercommander #define iscraft game.iscraft // =1 if craft on ship, -1 if removed from game @@ -251,7 +258,6 @@ EXTERN struct { #define nprobes game.nprobes // number of probes available /* the following global state doesn't need to be saved */ -EXTERN int fromcommandline; // Game start from command line options EXTERN char *device[NDEVICES+1]; EXTERN int iscore, iskill; // Common PLAQ EXTERN double perdate; @@ -263,6 +269,7 @@ typedef enum {FWON, FDEPLETE, FLIFESUP, FNRG, FBATTLE, FMATERIALIZE, FPHASER, FLOST, FMINING, FDPLANET, FPNOVA, FSSC, FSTRACTOR, FDRAY, FTRIBBLE, FHOLE} FINTYPE ; +enum loctype {neither, quadrant, sector}; /* Define devices */ #define DSRSENS 1 @@ -313,8 +320,10 @@ char *device[NDEVICES+1] = { "D. S. Probe"}; #endif +#ifndef TRUE #define TRUE (1) #define FALSE (0) +#endif #define IHR 'R' #define IHK 'K' @@ -334,13 +343,17 @@ char *device[NDEVICES+1] = { #define IHYELLOW 'Y' #define IHRED 'R' #define IHDOCKED 'D' +#define IHDEAD 'Z' +#define IHMATER0 '-' +#define IHMATER1 'o' +#define IHMATER2 '0' /* Function prototypes */ void prelim(void); void attack(int); -int choose(void); -void setup(void); +int choose(int); +void setup(int); void score(void); void atover(int); void srscan(int); @@ -349,7 +362,7 @@ void phasers(void); void photon(void); void warp(int); void doshield(int); -void dock(void); +void dock(int); void dreprt(void); void chart(int); void impuls(void); @@ -364,7 +377,7 @@ void finish(FINTYPE); void dstrct(void); void kaboom(void); void freeze(int); -void thaw(void); +int thaw(void); void plaque(void); int scan(void); #define IHEOL (0) @@ -373,38 +386,37 @@ int scan(void); void chew(void); void chew2(void); void skip(int); -void prout(char *s); -void proutn(char *s); +void prout(char *, ...); +void proutn(char *, ...); void stars(void); void newqad(int); int ja(void); void cramen(int); void crmshp(void); -void cramlc(int, int, int); +char *cramlc(enum loctype, int, int); double expran(double); double Rand(void); void iran8(int *, int *); void iran10(int *, int *); -double square(double); +#define square(i) ((i)*(i)) void dropin(int, int*, int*); void newcnd(void); void sortkl(void); -void move(void); +void imove(void); void ram(int, int, int, int); 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 *); -void cramf(double, int, int); -void crami(int, int); void huh(void); -void pause(int); +void pause_game(int); void nova(int, int); void snova(int, int); void scom(int *); void hittem(double *); -void prouts(char *); +void prouts(char *, ...); +void proutc(char *); int isit(char *); void preport(void); void orbit(void); @@ -415,6 +427,11 @@ void usecrystals(void); void shuttle(void); void deathray(void); void debugme(void); -void attakreport(void); +void attakreport(int); void movetho(void); void probe(void); +void clearscreen(void); +void iostart(int); +void ioend(void); +void getline(char *, int); +void commandhook(char *, int);