X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=sst.h;h=4ebc05d02c40778817a5c921917b1caaa0f8a679;hp=95ef5518cd386b8b7136d5030427c4a08cae93fe;hb=760ecf730c119682b414153a629ec2adc224434f;hpb=50d43451314c229e511b46b69e7ca878ff9a0930 diff --git a/sst.h b/sst.h index 95ef551..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,