#include <math.h>
#include <stdlib.h>
#include <string.h>
+#include <locale.h>
+#include <libintl.h>
#include <curses.h>
#ifdef DATA_DIR
#define SSTDOC DOC_NAME
#endif
+#define _(str) gettext(str)
+
#define min(x, y) ((x)<(y)?(x):(y))
#define max(x, y) ((x)>(y)?(x):(y))
// #define DEBUG
#define PHASEFAC (2.0)
-#define PLNETMAX (10)
#define GALSIZE (8)
+#define NINHAB (GALSIZE * GALSIZE / 2)
+#define MAXUNINHAB (10)
+#define PLNETMAX (NINHAB + MAXUNINHAB)
#define QUADSIZE (10)
#define BASEMAX (5)
int x; /* Quadrant location of planet */
int y;
enum {M=0, N=1, O=2} pclass;
+ int inhabited; /* if NZ, an index into a name array */
+#define UNINHABITED -1
int crystals; /* has crystals */
+#define MINED -1 /* used to have crystals, but they were mined out */
enum {unknown, known, shuttle_down} known;
} planet;
remtime; // remaining time
struct {
int stars;
- int planets;
+ planet *planet;
int starbase;
int klingons;
int romulans;
#define OPTION_MVBADDY 0x00000100 /* more enemies can move */
#define OPTION_BLKHOLE 0x00000200 /* black hole may timewarp you */
#define OPTION_BASE 0x00000400 /* bases have good shields */
+#define OPTION_WORLDS 0x00000800 /* logic for inhabited worlds */
#define OPTION_PLAIN 0x01000000 /* user chose plain game */
#define OPTION_ALMY 0x02000000 /* user chose Almy variant */
#define IHS 'S'
#define IHSTAR '*'
#define IHP 'P'
+#define IHW '@'
#define IHB 'B'
#define IHBLANK ' '
#define IHDOT '.'
void events(void);
void report(void);
void eta(void);
-void help(void);
+void mayday(void);
void abandn(void);
void finish(FINTYPE);
void dstrct(void);
void commandhook(char *, int);
void makechart(void);
void enqueue(char *);
+char *systemname(planet *);
/* mode arguments for srscan() */
#define SCAN_FULL 1