projects
/
super-star-trek.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Better project documentation.
[super-star-trek.git]
/
sst.h
diff --git
a/sst.h
b/sst.h
index 5617ae3ce2b4964e4c55a6a1bb1a3963576ed4c8..8705b8480ce06277cbb4e6c410e2e658f35a99c7 100644
(file)
--- a/
sst.h
+++ b/
sst.h
@@
-10,19
+10,21
@@
\r
// #define DEBUG
\r
\r
\r
// #define DEBUG
\r
\r
-#define
ndevice (15)
// Number of devices
\r
-#define
phasefac
(2.0)
\r
+#define
NDEVICES (15)
// Number of devices
\r
+#define
PHASEFAC
(2.0)
\r
#define PLNETMAX (10)
\r
#define NEVENTS (8)
\r
\r
typedef struct {
\r
int x; /* Quadrant location of planet */
\r
int y;
\r
#define PLNETMAX (10)
\r
#define NEVENTS (8)
\r
\r
typedef struct {
\r
int x; /* Quadrant location of planet */
\r
int y;
\r
- int pclass; /* class M, N, or O (1, 2, or 3) */
\r
+ enum {M=0, N=1, O=2} pclass;
\r
int crystals; /* has crystals */
\r
enum {unknown, known, shuttle_down} known;
\r
} planet;
\r
\r
int crystals; /* has crystals */
\r
enum {unknown, known, shuttle_down} known;
\r
} planet;
\r
\r
+#define DESTROY(pl) memset(pl, '\0', sizeof(planet))
\r
+
\r
typedef struct {
\r
int snap, // snapshot taken
\r
remkl, // remaining klingons
\r
typedef struct {
\r
int snap, // snapshot taken
\r
remkl, // remaining klingons
\r
@@
-43,7
+45,7
@@
typedef struct {
nromrem, // Romulans remaining
\r
nsckill, // super commanders killed
\r
nplankl; // destroyed planets
\r
nromrem, // Romulans remaining
\r
nsckill, // super commanders killed
\r
nplankl; // destroyed planets
\r
- planet plnets[PLNETMAX
+1
]; // Planet information
\r
+ planet plnets[PLNETMAX]; // Planet information
\r
double date, // stardate
\r
remres, // remaining resources
\r
remtime; // remaining time
\r
double date, // stardate
\r
remres, // remaining resources
\r
remtime; // remaining time
\r
@@
-54,14
+56,17
@@
typedef struct {
// original names. Gee, I could have done this with the d structure,
\r
// but I just didn't think of it back when I started.
\r
\r
// original names. Gee, I could have done this with the d structure,
\r
// but I just didn't think of it back when I started.
\r
\r
+#define SSTMAGIC "SST2.0\n"
\r
+
\r
EXTERN struct {
\r
EXTERN struct {
\r
+ char magic[sizeof(SSTMAGIC)];
\r
snapshot state;
\r
snapshot snapsht;
\r
char quad[11][11]; // contents of our quadrant
\r
double kpower[21]; // enemy energy levels
\r
double kdist[21]; // enemy distances
\r
double kavgd[21]; // average distances
\r
snapshot state;
\r
snapshot snapsht;
\r
char quad[11][11]; // contents of our quadrant
\r
double kpower[21]; // enemy energy levels
\r
double kdist[21]; // enemy distances
\r
double kavgd[21]; // average distances
\r
- double damage[
ndevice+1];
// damage encountered
\r
+ double damage[
NDEVICES+1];
// damage encountered
\r
double future[NEVENTS+1]; // future events
\r
char passwd[10]; // Self Destruct password
\r
int kx[21]; // enemy sector locations
\r
double future[NEVENTS+1]; // future events
\r
char passwd[10]; // Self Destruct password
\r
int kx[21]; // enemy sector locations
\r
@@
-247,8
+252,7
@@
EXTERN struct {
\r
/* the following global state doesn't need to be saved */
\r
EXTERN int fromcommandline; // Game start from command line options
\r
\r
/* the following global state doesn't need to be saved */
\r
EXTERN int fromcommandline; // Game start from command line options
\r
-EXTERN char *device[ndevice+1];
\r
-EXTERN planet nulplanet; // zeroed planet structure
\r
+EXTERN char *device[NDEVICES+1];
\r
EXTERN int iscore, iskill; // Common PLAQ
\r
EXTERN double perdate;
\r
EXTERN double aaitem;
\r
EXTERN int iscore, iskill; // Common PLAQ
\r
EXTERN double perdate;
\r
EXTERN double aaitem;
\r
@@
-259,6
+263,7
@@
typedef enum {FWON, FDEPLETE, FLIFESUP, FNRG, FBATTLE,
FMATERIALIZE, FPHASER, FLOST, FMINING, FDPLANET,
\r
FPNOVA, FSSC, FSTRACTOR, FDRAY, FTRIBBLE,
\r
FHOLE} FINTYPE ;
\r
FMATERIALIZE, FPHASER, FLOST, FMINING, FDPLANET,
\r
FPNOVA, FSSC, FSTRACTOR, FDRAY, FTRIBBLE,
\r
FHOLE} FINTYPE ;
\r
+enum loctype {neither, quadrant, sector};
\r
\r
/* Define devices */
\r
#define DSRSENS 1
\r
\r
/* Define devices */
\r
#define DSRSENS 1
\r
@@
-290,8
+295,7
@@
typedef enum {FWON, FDEPLETE, FLIFESUP, FNRG, FBATTLE,
#define FDSPROB 8 // Move deep space probe
\r
\r
#ifdef INCLUDED
\r
#define FDSPROB 8 // Move deep space probe
\r
\r
#ifdef INCLUDED
\r
-planet nulplanet = {0};
\r
-char *device[ndevice+1] = {
\r
+char *device[NDEVICES+1] = {
\r
"",
\r
"S. R. Sensors",
\r
"L. R. Sensors",
\r
"",
\r
"S. R. Sensors",
\r
"L. R. Sensors",
\r
@@
-370,14
+374,14
@@
int scan(void);
void chew(void);
\r
void chew2(void);
\r
void skip(int);
\r
void chew(void);
\r
void chew2(void);
\r
void skip(int);
\r
-void prout(char *
s
);
\r
-void proutn(char *
s
);
\r
+void prout(char *
, ...
);
\r
+void proutn(char *
, ...
);
\r
void stars(void);
\r
void newqad(int);
\r
int ja(void);
\r
void cramen(int);
\r
void crmshp(void);
\r
void stars(void);
\r
void newqad(int);
\r
int ja(void);
\r
void cramen(int);
\r
void crmshp(void);
\r
-
void cramlc(int
, int, int);
\r
+
char *cramlc(enum loctype
, int, int);
\r
double expran(double);
\r
double Rand(void);
\r
void iran8(int *, int *);
\r
double expran(double);
\r
double Rand(void);
\r
void iran8(int *, int *);
\r
@@
-393,15
+397,13
@@
void deadkl(int, int, int, int, int);
void timwrp(void);
\r
void movcom(void);
\r
void torpedo(double, double, int, int, double *);
\r
void timwrp(void);
\r
void movcom(void);
\r
void torpedo(double, double, int, int, double *);
\r
-void cramf(double, int, int);
\r
-void crami(int, int);
\r
void huh(void);
\r
void pause(int);
\r
void nova(int, int);
\r
void snova(int, int);
\r
void scom(int *);
\r
void hittem(double *);
\r
void huh(void);
\r
void pause(int);
\r
void nova(int, int);
\r
void snova(int, int);
\r
void scom(int *);
\r
void hittem(double *);
\r
-void prouts(char *);
\r
+void prouts(char *
, ...
);
\r
int isit(char *);
\r
void preport(void);
\r
void orbit(void);
\r
int isit(char *);
\r
void preport(void);
\r
void orbit(void);
\r