X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=sst.h;h=4ebc05d02c40778817a5c921917b1caaa0f8a679;hp=cf44c7374f8b11a662be414528cb2ec60c0e1cde;hb=760ecf730c119682b414153a629ec2adc224434f;hpb=89e52d61fcf689e15a8f831dea084a33ceaa8217 diff --git a/sst.h b/sst.h index cf44c73..4ebc05d 100644 --- a/sst.h +++ b/sst.h @@ -18,6 +18,9 @@ #define PHASEFAC (2.0) #define PLNETMAX (10) #define NEVENTS (8) +#define GALSIZE (8) +#define QUADSIZE (10) +#define BASEMAX (6) typedef struct { int x; /* Quadrant location of planet */ @@ -38,11 +41,11 @@ typedef struct { basekl, // destroyed bases killk, // Klingons killed killc, // commanders killed - galaxy[9][9], // The Galaxy (subscript 0 not used) - cx[11],cy[11], // Commander quadrant coordinates - baseqx[6], // Base quadrant X - baseqy[6], // Base quadrant Y - newstuf[9][9], // Extended galaxy goodies + galaxy[GALSIZE+1][GALSIZE+1], // The Galaxy (subscript 0 not used) + cx[QUADSIZE+1],cy[QUADSIZE+1], // Commander quadrant coordinates + baseqx[BASEMAX], // Base quadrant X + baseqy[BASEMAX], // Base quadrant Y + newstuf[GALSIZE+1][GALSIZE+1], // Extended galaxy goodies isx, isy, // Coordinate of Super Commander nscrem, // remaining super commanders nromkl, // Romulans killed @@ -55,6 +58,18 @@ typedef struct { remtime; // remaining time } snapshot; // Data that is snapshot +/* + * This is how the integers in galaxy are encoded. + * Someday these should turn into structure fields. + */ +#define SUPERNOVA_PLACE 1000 +#define ENEMY_PLACE 100 +#define BASE_PLACE 10 +#define STAR_PLACE 1 + +/* for newstuff */ +#define ROMULAN_PLACE 10 + // Scalar variables that are needed for freezing the game // are placed in a structure. #defines are used to access by their // original names. Gee, I could have done this with the d structure, @@ -68,16 +83,16 @@ EXTERN struct { char magic[sizeof(SSTMAGIC)]; snapshot state; snapshot snapsht; - char quad[11][11]; // contents of our quadrant - double kpower[21]; // enemy energy levels - double kdist[21]; // enemy distances - double kavgd[21]; // average distances + char quad[QUADSIZE+1][QUADSIZE+1]; // contents of our quadrant + double kpower[(QUADSIZE+1)*(QUADSIZE+1)]; // enemy energy levels + double kdist[(QUADSIZE+1)*(QUADSIZE+1)]; // enemy distances + double kavgd[(QUADSIZE+1)*(QUADSIZE+1)]; // average distances double damage[NDEVICES+1]; // damage encountered double future[NEVENTS+1]; // future events char passwd[10]; // Self Destruct password - int kx[21]; // enemy sector locations - int ky[21]; - int starch[9][9]; // star chart + int kx[(QUADSIZE+1)*(QUADSIZE+1)]; // enemy sector locations + int ky[(QUADSIZE+1)*(QUADSIZE+1)]; + int starch[GALSIZE+1][GALSIZE+1]; // star chart /* members with macro definitions start here */ int inkling, inbase, @@ -443,7 +458,7 @@ void waitfor(void); void setpassword(void); void commandhook(char *, int); void makechart(void); -void enqueue(char *s); +void enqueue(char *); /* mode arguments for srscan() */ #define SCAN_FULL 1 @@ -451,12 +466,12 @@ void enqueue(char *s); #define SCAN_STATUS 3 #define SCAN_NO_LEFTSIDE 4 -WINDOW *FULLSCREEN_WINDOW; -WINDOW *SRSCAN_WINDOW; -WINDOW *REPORT_WINDOW; -WINDOW *LRSCAN_WINDOW; -WINDOW *LOWER_WINDOW; -WINDOW *BOTTOM_WINDOW; +WINDOW *fullscreen_window; +WINDOW *srscan_window; +WINDOW *report_window; +WINDOW *lrscan_window; +WINDOW *message_window; +WINDOW *prompt_window; extern void clreol(void); extern void clrscr(void); @@ -464,6 +479,7 @@ extern void textcolor(int color); extern void highvideo(void); enum COLORS { + DEFAULT, BLACK, BLUE, GREEN, CYAN, RED, MAGENTA, BROWN, LIGHTGRAY, DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA, YELLOW, WHITE };