#define INCLUDED // Define externs here\r
#include "sst.h"\r
#include <ctype.h>\r
+#include <stdarg.h>\r
#ifdef MSDOS\r
#include <dos.h>\r
#endif\r
events();\r
if (alldone) break; // Events did us in\r
}\r
- if (state.galaxy[quadx][quady] == 1000) { // Galaxy went Nova!\r
+ if (game.state.galaxy[quadx][quady] == 1000) { // Galaxy went Nova!\r
atover(0);\r
continue;\r
}\r
if (hitme && justin==0) {\r
attack(2);\r
if (alldone) break;\r
- if (state.galaxy[quadx][quady] == 1000) { // went NOVA! \r
+ if (game.state.galaxy[quadx][quady] == 1000) { // went NOVA! \r
atover(0);\r
hitme = TRUE;\r
continue;\r
skip(1);\r
\r
if (tourn && alldone) {\r
- printf("Do you want your score recorded?");\r
+ proutn("Do you want your score recorded?");\r
if (ja()) {\r
chew2();\r
freeze(FALSE);\r
}\r
}\r
- printf("Do you want to play again?");\r
+ proutn("Do you want to play again?");\r
if (!ja()) break;\r
}\r
skip(1);\r
void cramlc(int key, int x, int y) {\r
if (key == 1) proutn(" Quadrant");\r
else if (key == 2) proutn(" Sector");\r
- proutn(" ");\r
- crami(x, 1);\r
- proutn(" - ");\r
- crami(y, 1);\r
+ proutn(" %d - %d", x, y);\r
}\r
\r
void crmena(int i, int enemy, int key, int x, int y) {\r
proutn(buf);\r
}\r
\r
-void crami(int i, int w) {\r
- char buf[16];\r
- sprintf(buf, "%*d", w, i);\r
- proutn(buf);\r
-}\r
-\r
double square(double i) { return i*i; }\r
\r
static void clearscreen(void) {\r
}\r
\r
\r
-void proutn(char *s) {\r
- fputs(s, stdout);\r
+void proutn(char *fmt, ...) {\r
+ va_list ap;\r
+ va_start(ap, fmt);\r
+ vprintf(fmt, ap);\r
+ va_end(ap);\r
}\r
\r
-void prout(char *s) {\r
- proutn(s);\r
- skip(1);\r
+void prout(char *fmt, ...) {\r
+ va_list ap;\r
+ va_start(ap, fmt);\r
+ vprintf(fmt, ap);\r
+ va_end(ap);\r
+ skip(1);\r
}\r
\r
-void prouts(char *s) {\r
+void prouts(char *fmt, ...) {\r
clock_t endTime;\r
+ char *s, buf[BUFSIZ];\r
/* print slowly! */\r
- while (*s) {\r
+ va_list ap;\r
+ va_start(ap, fmt);\r
+ vsprintf(buf, fmt, ap);\r
+ va_end(ap);\r
+ skip(1);\r
+ for (s = buf; *s; s++) {\r
endTime = clock() + CLOCKS_PER_SEC*0.05;\r
while (clock() < endTime) ;\r
- putchar(*s++);\r
+ putchar(*s);\r
fflush(stdout);\r
}\r
}\r
proutn("Reset damage? ");\r
if (ja() != 0) {\r
int i;\r
- for (i=0; i <= ndevice; i++) if (damage[i] > 0.0) damage[i] = 0.0;\r
+ for (i=0; i <= NDEVICES; i++) if (damage[i] > 0.0) damage[i] = 0.0;\r
stdamtim = 1e30;\r
}\r
proutn("Toggle idebug? ");\r
proutn("Cause selective damage? ");\r
if (ja() != 0) {\r
int i, key;\r
- for (i=1; i <= ndevice; i++) {\r
+ for (i=1; i <= NDEVICES; i++) {\r
proutn("Kill ");\r
proutn(device[i]);\r
proutn("? ");\r
key = scan();\r
if (key == IHALPHA && isit("y")) {\r
damage[i] = 10.0;\r
- if (i == DRADIO) stdamtim = state.date;\r
+ if (i == DRADIO) stdamtim = game.state.date;\r
}\r
}\r
}\r
case FSCMOVE: proutn("SC Move "); break;\r
case FSCDBAS: proutn("SC Base Destroy "); break;\r
}\r
- cramf(future[i]-state.date, 8, 2);\r
+ cramf(future[i]-game.state.date, 8, 2);\r
chew();\r
proutn(" ?");\r
key = scan();\r
if (key == IHREAL) {\r
- future[i] = state.date + aaitem;\r
+ future[i] = game.state.date + aaitem;\r
}\r
}\r
chew();\r