#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))
double date, // stardate
remres, // remaining resources
remtime; // remaining time
- struct {
+ struct quadrant {
int stars;
planet *planet;
int starbase;
int romulans;
int supernova;
int charted;
+#ifdef EXPERIMENTAL
+ enum {secure, distressed, enslaved} status;
+#endif /* EXPERIMENTAL */
} galaxy[GALSIZE+1][GALSIZE+1]; // The Galaxy (subscript 0 not used)
struct {
int stars;
#define FSCMOVE 6 // Supercommander moves (might attack base)
#define FSCDBAS 7 // Supercommander destroys base
#define FDSPROB 8 // Move deep space probe
+#ifndef EXPERIMENTAL
#define NEVENTS (9)
+#else /* EXPERIMENTAL */
+#define FDISTR 9 // Emit distress call from an inhabited world
+#define FENSLV 10 // Inhabited word is enslaved */
+#define FREPRO 11 // Klingons build a ship in an enslaved system
+#define NEVENTS (12)
+#endif /* EXPERIMENTAL */
+
+#ifdef EXPERIMENTAL
+#define MAXDISTR 5 /* maximum concurrent distress calls */
+#endif /* EXPERIMENTAL */
#define SSTMAGIC "SST2.0\n"
ithx, // coordinates of Tholian
ithy, //
iseenit, // seen base attack report
+#ifdef EXPERIMENTAL
+ ndistr, //* count of distress calls */
+#endif /* EXPERIMENTAL */
probecx, // current probe quadrant
probecy, //
proben, // number of moves for probe
#define IHS 'S'
#define IHSTAR '*'
#define IHP 'P'
+#define IHW '@'
#define IHB 'B'
#define IHBLANK ' '
#define IHDOT '.'
void makechart(void);
void enqueue(char *);
char *systemname(planet *);
+void newkling(int, int *, int *);
/* mode arguments for srscan() */
#define SCAN_FULL 1