#include <unistd.h>
-#include "conio.h"
-#include "sstlinux.h"
#include "sst.h"
void doshield(int i) {
void torpedo(double course, double r, int inx, int iny, double *hit, int wait, int i, int n) {
int l, iquad=0, ix=0, iy=0, jx=0, jy=0, shoved=0, ll;
- int crx,cry;
double ac=course + 0.25*r;
double angle = (15.0-ac)*0.5235988;
if (fabs(deltay) > bigger) bigger = fabs(deltay);
deltax /= bigger;
deltay /= bigger;
- crx=wherex();
- cry=wherey();
- if (game.damage[DSRSENS]==0 || condit==IHDOCKED) setwnd(LEFTUPPER_WINDOW);
- else setwnd(LOWER_WINDOW);
+ if (game.damage[DSRSENS]==0 || condit==IHDOCKED)
+ setwnd(srscan_window);
+ else
+ setwnd(message_window);
/* Loop to move a single torpedo */
for (l=1; l <= 15; l++) {
x += deltax;
ix = x + 0.5;
- if (ix < 1 || ix > 10) break;
+ if (ix < 1 || ix > QUADSIZE) break;
y += deltay;
iy = y + 0.5;
- if (iy < 1 || iy > 10) break;
+ if (iy < 1 || iy > QUADSIZE) break;
iquad=game.quad[ix][iy];
tracktorpedo(x, y, ix, iy, wait, l, i, n, iquad);
wait = 1;
if (iquad==IHDOT) continue;
/* hit something */
- setwnd(LOWER_WINDOW);
- gotoxy(crx,cry);
+ setwnd(message_window);
+ skip(1); /* start new line after text track */
switch(iquad) {
case IHE: /* Hit our ship */
case IHF:
yy = cos(ang)/temp;
jx=ix+xx+0.5;
jy=iy+yy+0.5;
- if (jx<1 || jx>10 || jy<1 ||jy > 10) return;
+ if (jx<1 || jx>QUADSIZE || jy<1 ||jy > QUADSIZE) return;
if (game.quad[jx][jy]==IHBLANK) {
finish(FHOLE);
return;
yy = cos(ang)/temp;
jx=ix+xx+0.5;
jy=iy+yy+0.5;
- if (jx<1 || jx>10 || jy<1 ||jy > 10) {
+ if (jx<1 || jx>QUADSIZE || jy<1 ||jy > QUADSIZE) {
prout(" damaged but not destroyed.");
return;
}
plnetx = plnety = 0;
game.quad[ix][iy] = IHDOT;
if (landed==1) {
- /* captain parishes on planet */
+ /* captain perishes on planet */
finish(FDPLANET);
}
return;
}
break;
}
- if(curwnd!=LOWER_WINDOW) {
- setwnd(LOWER_WINDOW);
- gotoxy(crx,cry);
+ if(curwnd!=message_window) {
+ setwnd(message_window);
}
if (shoved) {
game.quad[jx][jy]=iquad;
static int targetcheck(double x, double y, double *course) {
double deltx, delty;
/* Return TRUE if target is invalid */
- if (x < 1.0 || x > 10.0 || y < 1.0 || y > 10.0) {
+ if (x < 1.0 || x > QUADSIZE || y < 1.0 || y > QUADSIZE) {
huh();
return 1;
}