docolor(color);
}
+
void textcolor (int color)
{
+#ifdef SERGEEV
fgc=color;
color=(bgc*16)+fgc;
docolor(color);
+#endif /* SERGEEV */
}
void textmode (int mode)
#endif /* SERGEEV */
}
+void warble(void)
+{
+#ifdef SERGEEV
+ int posx, posy;
+ posx=wherex();
+ posy=wherey();
+ drawmaps(1);
+ setwnd(4);
+ gotoxy(posx,posy);
+ sound(50);
+ delay(1000);
+ nosound();
+#else
+ prouts(" . . . . . ");
+#endif /* SERGEEV */
+}
+
void getline(char *line, int max) {
if (curses) {
#ifndef SERGEEV
-#ifdef SERGEEV
-#include <conio.h>
+#include "conio.h"
#include "sstlinux.h"
-#endif /* SERGEEV */
#include <unistd.h>
#include "sst.h"
(iy-game.ky[l])*(double)(iy-game.ky[l]));
game.kavgd[l] = 0.5 * (finald+game.kdist[l]);
}
-#ifdef SERGEEV
+ /*
+ * Stas Sergeev added the condition
+ * that attacks only happen if Klingons
+ * are present and your skill is > 3.
+ */
if (skill > 3 && klhere > 0 && game.state.galaxy[quadx][quady] != 1000)
attack(0);
-#else
- if (game.state.galaxy[quadx][quady] != 1000) attack(0);
-#endif /* SERGEEV */
if (alldone) return;
}
/* compute final position -- new quadrant and sector */
game.damage[DRADIO] += Time;
}
newqad(0);
-#ifdef SERGEEV
- events();
-#endif /* SERGEEV */
+ events(); /* Stas Sergeev added this -- do pending events */
}
void probe(void) {
/* There's more than one way to move in this game! */
double ddist, xdist, probf;
int line = 0, l, ix, iy;
-#ifdef SERGEEV
- int posx, posy;
-#endif /* SERGEEV */
chew();
/* Test for conditions which prevent calling for help */
}
proutn(" attempt to re-materialize ");
crmshp();
- prouts(" . . . . . ");
-#ifdef SERGEEV
- posx=wherex();
- posy=wherey();
- drawmaps(1);
- setwnd(4);
- gotoxy(posx,posy);
- sound(50);
- delay(1000);
- nosound();
-#endif /* SERGEEV */
+ warble();
if (Rand() > probf) break;
-#ifdef SERGEEV
switch (l){
case 1: game.quad[ix][iy]=IHMATER1;
break;
break;
}
textcolor(RED);
-#endif /* SERGEEV */
prout("fails.");
-#ifdef SERGEEV
delay(500);
textcolor(LIGHTGRAY);
-#endif /* SERGEEV */
}
if (l > 3) {
finish(FMATERIALIZE);
return;
}
game.quad[ix][iy]=ship;
-#ifdef SERGEEV
textcolor(WHITE);
-#endif /* SERGEEV */
prout("succeeds.");
-#ifdef SERGEEV
textcolor(LIGHTGRAY);
-#endif /* SERGEEV */
dock(0);
skip(1);
prout("Lt. Uhura- \"Captain, we made it!\"");
#include <math.h>
#include <stdlib.h>
#include <string.h>
-#ifdef SERGEEV
-#include <conio.h>
+#include "conio.h"
#include "sstlinux.h"
-#else
+#ifndef SERGEEV
#define c_printf proutn
#endif /* SERGEEV */
for (j = 1; j <= 10; j++) {
if (goodScan || (abs(i-sectx)<= 1 && abs(j-secty) <= 1)){
if ((game.quad[i][j]==IHMATER0)||(game.quad[i][j]==IHMATER1)||(game.quad[i][j]==IHMATER2)||(game.quad[i][j]==IHE)||(game.quad[i][j]==IHF)){
-#ifdef SERGEEV
switch (condit) {
case IHRED: textcolor(RED); break;
case IHGREEN: textcolor(GREEN); break;
case IHDOCKED: textcolor(LIGHTGRAY); break;
case IHDEAD: textcolor(WHITE);
}
+#ifdef SERGEEV
if (game.quad[i][j]!=ship) highvideo();
#endif /* SERGEEV */
}
if (game.quad[i][j] & 128) highvideo();
#endif /* SERGEEV */
c_printf("%c ",game.quad[i][j] & 127);
-#ifdef SERGEEV
textcolor(LIGHTGRAY);
-#endif /* SERGEEV */
}
else
proutn("- ");
#ifdef SERGEEV
void setwnd(short);
#endif /* SERGEEV */
+void warble(void);
void getline(char *, int);
void commandhook(char *, int);
void sound(unsigned int);
void nosound(void);
+#ifdef SERGEEV
extern WINDOW *conio_scr;
+#endif /* SERGEEV */
#define delay(x) usleep(x*1000)
#define randomize() srand((unsigned)time(NULL))