projects
/
super-star-trek.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Introduce 'coord' data structure, an (x,y) tuple.
[super-star-trek.git]
/
src
/
reports.c
diff --git
a/src/reports.c
b/src/reports.c
index 0948073b01a4d6a2e88bd7573184ed9d51012a94..ac4f417b047b579ad3d211e3192988287046da1e 100644
(file)
--- a/
src/reports.c
+++ b/
src/reports.c
@@
-6,23
+6,23
@@
void attakreport(int curt)
{
if (!curt) {
void attakreport(int curt)
{
if (!curt) {
- if (
game.future[FCDBAS] < FOREVER
) {
+ if (
is_scheduled(FCDBAS)
) {
prout("Starbase in %s is currently under Commander attack.",
prout("Starbase in %s is currently under Commander attack.",
- cramlc(quadrant, game.bat
x, game.baty
));
+ cramlc(quadrant, game.bat
tle
));
prout("It can hold out until Stardate %d.",
prout("It can hold out until Stardate %d.",
- (int)
game.future[FCDBAS]
);
+ (int)
scheduled(FCDBAS)
);
}
if (game.isatb == 1) {
prout("Starbase in %s is under Super-commander attack.",
}
if (game.isatb == 1) {
prout("Starbase in %s is under Super-commander attack.",
- cramlc(quadrant, game.state.
isx, game.state.isy
));
+ cramlc(quadrant, game.state.
kscmdr
));
prout("It can hold out until Stardate %d.",
prout("It can hold out until Stardate %d.",
- (int)
game.future[FSCDBAS]
);
+ (int)
scheduled(FSCDBAS)
);
}
} else {
}
} else {
- if (
game.future[FCDBAS] < FOREVER
)
- proutn("Base in %i - %i attacked by C. Alive until %.1f", game.bat
x, game.baty, game.future[FCDBAS]
);
+ if (
is_scheduled(FCDBAS)
)
+ proutn("Base in %i - %i attacked by C. Alive until %.1f", game.bat
tle.x, game.battle.y, scheduled(FCDBAS)
);
if (game.isatb == 1)
if (game.isatb == 1)
- proutn("Base in %i - %i attacked by S. Alive until %.1f", game.state.
isx, game.state.isy, game.future[FSCDBAS]
);
+ proutn("Base in %i - %i attacked by S. Alive until %.1f", game.state.
kscmdr.x, game.state.kscmdr.y, scheduled(FSCDBAS)
);
}
clreol();
}
}
clreol();
}
@@
-87,13
+87,13
@@
void report(void)
if (game.nprobes!=1) proutn("s");
prout(".");
}
if (game.nprobes!=1) proutn("s");
prout(".");
}
- if ((game.damage[DRADIO] == 0.0 || game.condit == IHDOCKED)
&&
-
game.future[FDSPROB] != FOREVER
) {
+ if ((game.damage[DRADIO] == 0.0 || game.condit == IHDOCKED)
+
&& is_scheduled(FDSPROB)
) {
if (game.isarmed)
proutn("An armed deep space probe is in");
else
proutn("A deep space probe is in");
if (game.isarmed)
proutn("An armed deep space probe is in");
else
proutn("A deep space probe is in");
- proutn(cramlc(quadrant, game.probec
x, game.probecy
));
+ proutn(cramlc(quadrant, game.probec));
prout(".");
}
if (game.icrystl) {
prout(".");
}
if (game.icrystl) {
@@
-128,9
+128,9
@@
void lrscan(void)
else {
prout("Long-range scan");
}
else {
prout("Long-range scan");
}
- for (x = game.quad
x-1; x <= game.quad
x+1; x++) {
+ for (x = game.quad
rant.x-1; x <= game.quadrant.
x+1; x++) {
proutn(" ");
proutn(" ");
- for (y = game.quad
y-1; y <= game.quad
y+1; y++) {
+ for (y = game.quad
rant.y-1; y <= game.quadrant.
y+1; y++) {
if (!VALID_QUADRANT(x, y))
proutn(" -1");
else {
if (!VALID_QUADRANT(x, y))
proutn(" -1");
else {
@@
-206,7
+206,7
@@
void chart(int nn)
proutn("%d |", i);
for_quadrants(j) {
char buf[4];
proutn("%d |", i);
for_quadrants(j) {
char buf[4];
- if ((game.options & OPTION_SHOWME) && i == game.quad
x && j == game.quad
y)
+ if ((game.options & OPTION_SHOWME) && i == game.quad
rant.x && j == game.quadrant.
y)
proutn("<");
else
proutn(" ");
proutn("<");
else
proutn(" ");
@@
-219,7
+219,7
@@
void chart(int nn)
else
strcpy(buf, "...");
proutn(buf);
else
strcpy(buf, "...");
proutn(buf);
- if ((game.options & OPTION_SHOWME) && i == game.quad
x && j == game.quad
y)
+ if ((game.options & OPTION_SHOWME) && i == game.quad
rant.x && j == game.quadrant.
y)
proutn(">");
else
proutn(" ");
proutn(">");
else
proutn(" ");
@@
-227,11
+227,12
@@
void chart(int nn)
proutn(" |");
if (i<GALSIZE) skip(1);
}
proutn(" |");
if (i<GALSIZE) skip(1);
}
+ prout("");
}
static void sectscan(int goodScan, int i, int j)
{
}
static void sectscan(int goodScan, int i, int j)
{
- if (goodScan || (abs(i-game.sect
x)<= 1 && abs(j-game.sect
y) <= 1)){
+ if (goodScan || (abs(i-game.sect
or.x)<= 1 && abs(j-game.sector.
y) <= 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)){
switch (game.condit) {
case IHRED: textcolor(RED); break;
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)){
switch (game.condit) {
case IHRED: textcolor(RED); break;
@@
-274,7
+275,7
@@
static void status(int req)
break;
case 3:
proutn("Position %d - %d , %d - %d",
break;
case 3:
proutn("Position %d - %d , %d - %d",
- game.quad
x, game.quady, game.sectx, game.sect
y);
+ game.quad
rant.x, game.quadrant.y, game.sector.x, game.sector.
y);
break;
case 4:
proutn("Life Support ");
break;
case 4:
proutn("Life Support ");
@@
-313,6
+314,16
@@
static void status(int req)
proutn("Klingons Left %d", KLINGREM);
break;
case 10:
proutn("Klingons Left %d", KLINGREM);
break;
case 10:
+ if (game.options & OPTION_WORLDS) {
+ planet *here = game.state.galaxy[game.quadrant.x][game.quadrant.y].planet;
+ if (here && here->inhabited != UNINHABITED)
+ proutn("Major system %s", systemname(here));
+ else
+ proutn("Sector is uninhabited");
+ }
+
+ break;
+ case 11:
attakreport(1);
break;
}
attakreport(1);
break;
}
@@
-320,8
+331,9
@@
static void status(int req)
int srscan(int l)
{
int srscan(int l)
{
+ /* the "sy" request is undocumented */
static char requests[][3] =
static char requests[][3] =
- {"","da","co","po","ls","wa","en","to","sh","kl","ti"};
+ {"","da","co","po","ls","wa","en","to","sh","kl","
sy", "
ti"};
int leftside=TRUE, rightside=TRUE, i, j, jj, req=0, nn=FALSE;
int goodScan=TRUE;
switch (l) {
int leftside=TRUE, rightside=TRUE, i, j, jj, req=0, nn=FALSE;
int goodScan=TRUE;
switch (l) {
@@
-337,10
+349,10
@@
int srscan(int l)
}
else prout(" Short-range scan");
if (goodScan && !game.damage[DRADIO]) {
}
else prout(" Short-range scan");
if (goodScan && !game.damage[DRADIO]) {
- game.state.chart[game.quad
x][game.quady].klingons = game.state.galaxy[game.quadx][game.quad
y].klingons;
- game.state.chart[game.quad
x][game.quady].starbase = game.state.galaxy[game.quadx][game.quad
y].starbase;
- game.state.chart[game.quad
x][game.quady].stars = game.state.galaxy[game.quadx][game.quad
y].stars;
- game.state.galaxy[game.quad
x][game.quad
y].charted = TRUE;
+ game.state.chart[game.quad
rant.x][game.quadrant.y].klingons = game.state.galaxy[game.quadrant.x][game.quadrant.
y].klingons;
+ game.state.chart[game.quad
rant.x][game.quadrant.y].starbase = game.state.galaxy[game.quadrant.x][game.quadrant.
y].starbase;
+ game.state.chart[game.quad
rant.x][game.quadrant.y].stars = game.state.galaxy[game.quadrant.x][game.quadrant.
y].stars;
+ game.state.galaxy[game.quad
rant.x][game.quadrant.
y].charted = TRUE;
}
scan();
if (isit("chart")) nn = TRUE;
}
scan();
if (isit("chart")) nn = TRUE;
@@
-358,7
+370,7
@@
int srscan(int l)
if (req > sizeof(requests)/sizeof(requests[0])) {
prout("UNRECOGNIZED REQUEST. Legal requests are:");
prout(" date, condition, position, lsupport, warpfactor,");
if (req > sizeof(requests)/sizeof(requests[0])) {
prout("UNRECOGNIZED REQUEST. Legal requests are:");
prout(" date, condition, position, lsupport, warpfactor,");
- prout(" energy, torpedoes, shields, klingons, time, bases.");
+ prout(" energy, torpedoes, shields, klingons, time,
system,
bases.");
return FALSE;
}
// no break
return FALSE;
}
// no break
@@
-425,9
+437,9
@@
void eta(void)
ix2 = aaitem + 0.5;
}
else {
ix2 = aaitem + 0.5;
}
else {
- if (game.quady>ix1) ix2 = 1;
+ if (game.quad
rant.
y>ix1) ix2 = 1;
else ix2=QUADSIZE;
else ix2=QUADSIZE;
- if (game.quadx>iy1) iy2 = 1;
+ if (game.quad
rant.
x>iy1) iy2 = 1;
else iy2=QUADSIZE;
}
else iy2=QUADSIZE;
}
@@
-435,8
+447,8
@@
void eta(void)
huh();
return;
}
huh();
return;
}
- game.dist = sqrt(square(iy1-game.quad
x+0.1*(iy2-game.sect
x))+
- square(ix1-game.quad
y+0.1*(ix2-game.sect
y)));
+ game.dist = sqrt(square(iy1-game.quad
rant.x+0.1*(iy2-game.sector.
x))+
+ square(ix1-game.quad
rant.y+0.1*(ix2-game.sector.
y)));
wfl = FALSE;
if (prompt) prout("Answer \"no\" if you don't know the value:");
wfl = FALSE;
if (prompt) prout("Answer \"no\" if you don't know the value:");
@@
-514,9
+526,9
@@
void eta(void)
prout("Unfortunately, the Federation will be destroyed by then.");
if (twarp > 6.0)
prout("You'll be taking risks at that speed, Captain");
prout("Unfortunately, the Federation will be destroyed by then.");
if (twarp > 6.0)
prout("You'll be taking risks at that speed, Captain");
- if ((game.isatb==1 && game.state.
isy == ix1 && game.state.isx == iy
1 &&
-
game.future[FSCDBAS]
< ttime+game.state.date)||
- (
game.future[FCDBAS]<ttime+game.state.date && game.baty==ix1 && game.batx == iy
1))
+ if ((game.isatb==1 && game.state.
kscmdr.y == iy1 && game.state.kscmdr.x == ix
1 &&
+
scheduled(FSCDBAS)
< ttime+game.state.date)||
+ (
scheduled(FCDBAS)<ttime+game.state.date && game.battle.y==iy1 && game.battle.x == ix
1))
prout("The starbase there will be destroyed by then.");
proutn("New warp factor to try? ");
if (scan() == IHREAL) {
prout("The starbase there will be destroyed by then.");
proutn("New warp factor to try? ");
if (scan() == IHREAL) {