Dilithium crystal indicator.
[super-star-trek.git] / sst.h
diff --git a/sst.h b/sst.h
index db10aab53e2444c9cf0010b02cfad2bded70844f..8a1f44d10872e13de952fb73a3f787c16ecfc8c0 100644 (file)
--- a/sst.h
+++ b/sst.h
@@ -2,6 +2,7 @@
 #include <math.h>
 #include <stdlib.h>
 #include <string.h>
+#include <curses.h>
 #ifndef INCLUDED
 #define EXTERN extern
 #else
@@ -61,6 +62,8 @@ typedef struct {
 
 #define SSTMAGIC       "SST2.0\n"
 
+EXTERN WINDOW *curwnd;
+
 EXTERN struct {
     char magic[sizeof(SSTMAGIC)];
     snapshot state;
@@ -356,7 +359,7 @@ int choose(int);
 void setup(int);
 void score(void);
 void atover(int);
-void srscan(int);
+int srscan(int);
 void lrscan(void);
 void phasers(void);
 void photon(void);
@@ -369,7 +372,7 @@ void impuls(void);
 void wait(void);
 void setwrp(void);
 void events(void);
-void report(int);
+void report(void);
 void eta(void);
 void help(void);
 void abandn(void);
@@ -408,7 +411,7 @@ void crmena(int, int, int, int, int);
 void deadkl(int, int, int, int, int);
 void timwrp(void);
 void movcom(void);
-void torpedo(double, double, int, int, double *, int);
+void torpedo(double, double, int, int, double *, int, int, int);
 void huh(void);
 void pause_game(int);
 void nova(int, int);
@@ -416,14 +419,11 @@ void snova(int, int);
 void scom(int *);
 void hittem(double *);
 void prouts(char *, ...);
-void proutc(char *);
 int isit(char *);
 void preport(void);
 void orbit(void);
 void sensor(void);
-#ifdef SERGEEV
 void drawmaps(short);
-#endif /* SERGEEV */
 void beam(void);
 void mine(void);
 void usecrystals(void);
@@ -433,19 +433,40 @@ void debugme(void);
 void attakreport(int);
 void movetho(void);
 void probe(void);
-void clearscreen(void);
 void iostart(int);
-void ioend(void);
-#ifdef SERGEEV
-#define getline cgetline
-void setwnd(short);
-#endif /* SERGEEV */
-void getline(char *, int);
+void setwnd(WINDOW *);
+void warble(void);
+void boom(int ii, int jj);
+void tracktorpedo(int x, int y, int ix, int iy, int wait, int l, int i, int n, int iquad);
+void cgetline(char *, int);
+void waitfor(void);
+void setpassword(void);
 void commandhook(char *, int);
+void makechart(void);
+void enqueue(char *s);
 
-#ifdef SERGEEV
-typedef struct {
-        int wndleft,wndtop,wndright,wndbottom;
-} wnd;
-extern wnd wnds[6];
-#endif /* SERGEEV */
+/* mode arguments for srscan() */
+#define SCAN_FULL              1
+#define SCAN_REQUEST           2
+#define SCAN_STATUS            3
+#define SCAN_NO_LEFTSIDE       4
+
+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);
+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
+};
+
+#define DAMAGED        128     /* marker for damaged ship in starmap */