X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=sst.h;h=f32d8559ec3fc2f002d828176b3757addb24f533;hp=4ebc05d02c40778817a5c921917b1caaa0f8a679;hb=8273c136f86228a8b0c6e66554ef96074a429c0a;hpb=760ecf730c119682b414153a629ec2adc224434f diff --git a/sst.h b/sst.h index 4ebc05d..f32d855 100644 --- a/sst.h +++ b/sst.h @@ -59,16 +59,41 @@ typedef struct { } snapshot; // Data that is snapshot /* - * This is how the integers in galaxy are encoded. + * This is how the integers in the galaxy array are encoded. * Someday these should turn into structure fields. */ #define SUPERNOVA_PLACE 1000 -#define ENEMY_PLACE 100 +#define KLINGON_PLACE 100 #define BASE_PLACE 10 #define STAR_PLACE 1 +#define KLINGONS(n) ((n)/KLINGON_PLACE) +#define BASES(n) (((n)%KLINGON_PLACE)/BASE_PLACE) +#define STARS(n) ((n)%BASE_PLACE) +#define NOEXIT(s) ((s) > 899) /* supernova or >8 Klingons */ /* for newstuff */ #define ROMULAN_PLACE 10 +#define ROMULANS(n) ((n)/ROMULAN_PLACE) + +/* for starch */ +#define CHART_UNKNOWN -1 + +#define SKILL_NONE 0 +#define SKILL_NOVICE 1 +#define SKILL_FAIR 2 +#define SKILL_GOOD 3 +#define SKILL_EXPERT 4 +#define SKILL_EMERITUS 5 + +/* game options */ +#define OPTION_ALL 0xffffffff +#define OPTION_TTY 0x00000001 /* old interface */ +#define OPTION_CURSES 0x00000002 /* new interface */ +#define OPTION_IOMODES 0x00000003 /* cover both interfaces */ +#define OPTION_PLANETS 0x00000004 /* planets and mining */ +#define OPTION_THOLIAN 0x00000008 /* Tholians and their webs */ +#define OPTION_THINGY 0x00000010 /* Space Thingy can shoot back */ +#define OPTION_PROBE 0x00000020 /* deep-space probes */ // Scalar variables that are needed for freezing the game // are placed in a structure. #defines are used to access by their @@ -81,6 +106,7 @@ EXTERN WINDOW *curwnd; EXTERN struct { char magic[sizeof(SSTMAGIC)]; + unsigned long options; snapshot state; snapshot snapsht; char quad[QUADSIZE+1][QUADSIZE+1]; // contents of our quadrant @@ -414,8 +440,7 @@ void crmshp(void); char *cramlc(enum loctype, int, int); double expran(double); double Rand(void); -void iran8(int *, int *); -void iran10(int *, int *); +void iran(int, int *, int *); #define square(i) ((i)*(i)) void dropin(int, int*, int*); void newcnd(void); @@ -437,7 +462,7 @@ void prouts(char *, ...); int isit(char *); void preport(void); void orbit(void); -void sensor(void); +void sensor(int); void drawmaps(short); void beam(void); void mine(void); @@ -448,7 +473,7 @@ void debugme(void); void attakreport(int); void movetho(void); void probe(void); -void iostart(int); +void iostart(void); void setwnd(WINDOW *); void warble(void); void boom(int ii, int jj);