#include "sstlinux.h"
#include "sst.h"
-static void getcd(int, int);
+static void getcd(bool, int);
void imove(void)
{
w.x = w.y = 0;
if (game.inorbit) {
prout("Helmsman Sulu- \"Leaving standard orbit.\"");
- game.inorbit = FALSE;
+ game.inorbit = false;
}
angle = ((15.0 - game.direc) * 0.5235988);
}
}
-static void getcd(int isprobe, int akey) {
+static void getcd(bool isprobe, int akey) {
/* This program originally required input in terms of a (clock)
direction and distance. Somewhere in history, it was changed to
cartesian coordinates. So we need to convert. I think
}
if (game.energy > 30.0) {
- getcd(FALSE, 0);
+ getcd(false, 0);
if (game.direc == -1.0) return;
power = 20.0 + 100.0*game.dist;
}
}
-void warp(int i)
+void warp(bool timewarp)
{
int blooey=0, twarp=0, iwarp;
double power;
- if (i!=2) { /* Not WARPX entry */
+ if (!timewarp) { /* Not WARPX entry */
game.ididit = 0;
if (game.damage[DWARPEN] > 10.0) {
chew();
}
/* Read in course and distance */
- getcd(FALSE, 0);
+ getcd(false, 0);
if (game.direc == -1.0) return;
/* Make sure starship has enough energy for the trip */
game.ididit = 0;
skip(1);
prout("Engineering to bridge--");
- if (game.shldup==0 || 0.5*power > game.energy) {
+ if (!game.shldup || 0.5*power > game.energy) {
iwarp = pow((game.energy/(game.dist+0.05)), 0.333333333);
if (iwarp <= 0) {
prout("We can't do it, Captain. We haven't the energy.");
}
/* Decide if time warp will occur */
if (0.5*game.dist*pow(7.0,game.warpfac-10.0) > Rand()) twarp=1;
-#ifdef DEBUG
- if (game.idebug &&game.warpfac==10 && twarp==0) {
+ if (idebug && game.warpfac==10 && twarp==0) {
blooey=0;
- proutn("Force time warp? ");
+ proutn("=== Force time warp? ");
if (ja()==1) twarp=1;
}
-#endif
if (blooey || twarp) {
/* If time warp or engine damage, check path */
/* If it is obstructed, don't do warp or damage */
skip(1);
prout("safely out of quadrant.");
if (game.damage[DRADIO] == 0.0)
- game.state.galaxy[game.quadrant.x][game.quadrant.y].charted = TRUE;
+ game.state.galaxy[game.quadrant.x][game.quadrant.y].charted = true;
/* Try to use warp engines */
if (game.damage[DWARPEN]) {
skip(1);
if (distreq < game.dist) game.dist = distreq;
game.optime = 10.0*game.dist/game.wfacsq;
game.direc = 12.0*Rand(); /* How dumb! */
- game.justin = 0;
- game.inorbit = 0;
- warp(2);
- if (game.justin == 0) {
+ game.justin = false;
+ game.inorbit = false;
+ warp(true);
+ if (!game.justin) {
/* This is bad news, we didn't leave quadrant. */
if (game.alldone) return;
skip(1);
if (ja()==0) return;
}
- game.isarmed = FALSE;
+ game.isarmed = false;
if (key == IHALPHA && strcmp(citem,"armed") == 0) {
- game.isarmed = TRUE;
+ game.isarmed = true;
key = scan();
}
else if (key == IHEOL) {
proutn("Arm NOVAMAX warhead? ");
game.isarmed = ja();
}
- getcd(TRUE, key);
+ getcd(true, key);
if (game.direc == -1.0) return;
game.nprobes--;
angle = ((15.0 - game.direc) * 0.5235988);
}
}
/* Since starbase not in quadrant, set up new quadrant */
- game.quadrant.x = game.state.baseq[line].x;
- game.quadrant.y = game.state.baseq[line].y;
+ game.quadrant = game.state.baseq[line];
newqad(1);
}
/* dematerialize starship */