X-Git-Url: https://jxself.org/git/?p=super-star-trek.git;a=blobdiff_plain;f=src%2Freports.c;h=90b9faf8fc36b6f8753de7d4728bb8a8c6cfade2;hp=b36f56c30667e9c253ccc18e596234c92ddfa5d6;hb=c94108fede4723af905386473f6435467e96e630;hpb=a0afd227763655ee0ecd7ef5faea92d63d5c5ba6 diff --git a/src/reports.c b/src/reports.c index b36f56c..90b9faf 100644 --- a/src/reports.c +++ b/src/reports.c @@ -3,7 +3,8 @@ #include #include -void attakreport(bool curt) +void attakreport(bool curt) +/* report status of bases under attack */ { if (!curt) { if (is_scheduled(FCDBAS)) { @@ -28,7 +29,8 @@ void attakreport(bool curt) } -void report(void) +void report(void) +/* report on general game status */ { char *s1,*s2,*s3; @@ -69,11 +71,11 @@ void report(void) prout(_(" destroyed, %d remaining."), game.state.rembase); } else prout(_("There are %d bases."), game.inbase); - if (!damaged(DRADIO) || game.condit == IHDOCKED || game.iseenit) { + if (!damaged(DRADIO) || game.condition == docked || game.iseenit) { /* Don't report this if not seen and either the radio is dead or not at base! */ attakreport(false); - game.iseenit = 1; + game.iseenit = true; } if (game.casual) prout(_("%d casualt%s suffered so far."), game.casual, game.casual==1? "y" : "ies"); @@ -87,7 +89,7 @@ void report(void) if (game.nprobes!=1) proutn(_("s")); prout("."); } - if ((!damaged(DRADIO) || game.condit == IHDOCKED) + if ((!damaged(DRADIO) || game.condition == docked) && is_scheduled(FDSPROB)) { if (game.isarmed) proutn(_("An armed deep space probe is in")); @@ -114,12 +116,13 @@ void report(void) } void lrscan(void) +/* long-range sensor scan */ { int x, y; chew(); if (damaged(DLRSENS)) { /* Now allow base's sensors if docked */ - if (game.condit != IHDOCKED) { + if (game.condition != docked) { prout(_("LONG-RANGE SENSORS DAMAGED.")); return; } @@ -150,6 +153,7 @@ void lrscan(void) } void dreprt(void) +/* damage report */ { bool jdam = false; int i; @@ -185,7 +189,8 @@ void rechart(void) } } -void chart(bool title) +void chart(bool title) +/* display the star chart */ { int i,j; chew(); @@ -193,7 +198,7 @@ void chart(bool title) if (!damaged(DRADIO)) rechart(); - if (game.lastchart < game.state.date && game.condit == IHDOCKED) { + if (game.lastchart < game.state.date && game.condition == docked) { prout(_("Spock- \"I revised the Star Chart from the starbase's records.\"")); rechart(); } @@ -232,15 +237,16 @@ void chart(bool title) } static void sectscan(int goodScan, int i, int j) +/* light up an individual dot in a sector */ { if (goodScan || (abs(i-game.sector.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; - case IHGREEN: textcolor(GREEN); break; - case IHYELLOW: textcolor(YELLOW); break; - case IHDOCKED: textcolor(CYAN); break; - case IHDEAD: textcolor(BROWN); + switch (game.condition) { + case red: textcolor(RED); break; + case green: textcolor(GREEN); break; + case yellow: textcolor(YELLOW); break; + case docked: textcolor(CYAN); break; + case dead: textcolor(BROWN); } if (game.quad[i][j] != game.ship) highvideo(); @@ -252,7 +258,8 @@ static void sectscan(int goodScan, int i, int j) proutn("- "); } -static void status(int req) +static void status(int req) +/* print status report lines */ { char *cp = NULL; int t, dam = 0; @@ -261,13 +268,13 @@ static void status(int req) proutn(_("Stardate %.1f, Time Left %.2f"), game.state.date, game.state.remtime); break; case 2: - if (game.condit != IHDOCKED) newcnd(); - switch (game.condit) { - case IHRED: cp = "RED"; break; - case IHGREEN: cp = "GREEN"; break; - case IHYELLOW: cp = "YELLOW"; break; - case IHDOCKED: cp = "DOCKED"; break; - case IHDEAD: cp="DEAD"; break; + if (game.condition != docked) newcnd(); + switch (game.condition) { + case red: cp = "RED"; break; + case green: cp = "GREEN"; break; + case yellow: cp = "YELLOW"; break; + case docked: cp = "DOCKED"; break; + case dead: cp="DEAD"; break; } for (t=0;t0) @@ -281,7 +288,7 @@ static void status(int req) case 4: proutn(_("Life Support ")); if (damaged(DLIFSUP)) { - if (game.condit == IHDOCKED) + if (game.condition == docked) proutn(_("DAMAGED, Base provides")); else proutn(_("DAMAGED, reserves=%4.2f"), game.lsupres); @@ -316,9 +323,9 @@ static void status(int req) break; case 10: if (game.options & OPTION_WORLDS) { - int here = game.state.galaxy[game.quadrant.x][game.quadrant.y].planet; - if (here != NOPLANET && game.state.plnets[here].inhabited != UNINHABITED) - proutn(_("Major system %s"), systemname(here)); + int plnet = game.state.galaxy[game.quadrant.x][game.quadrant.y].planet; + if (plnet != NOPLANET && game.state.plnets[plnet].inhabited != UNINHABITED) + proutn(_("Major system %s"), systemname(plnet)); else proutn(_("Sector is uninhabited")); } @@ -330,7 +337,8 @@ static void status(int req) } } -int srscan(int l) +void srscan(scantype type) +/* short-range scan */ { /* the "sy" request is undocumented */ static char requests[][3] = @@ -338,11 +346,11 @@ int srscan(int l) int i, j, jj, req=0; int goodScan=true, leftside=true, rightside=true, title=false; - switch (l) { + switch (type) { case SCAN_FULL: // SRSCAN if (damaged(DSRSENS)) { /* Allow base's sensors if docked */ - if (game.condit != IHDOCKED) { + if (game.condition != docked) { prout(_(" S.R. SENSORS DAMAGED!")); goodScan=false; } @@ -373,7 +381,7 @@ int srscan(int l) prout(_("UNRECOGNIZED REQUEST. Legal requests are:")); prout(_(" date, condition, position, lsupport, warpfactor,")); prout(_(" energy, torpedoes, shields, klingons, time, system, bases.")); - return false; + return; } // no break case SCAN_STATUS: // STATUS @@ -385,7 +393,7 @@ int srscan(int l) leftside=false; break; } - if (game.condit != IHDOCKED) newcnd(); + if (game.condition != docked) newcnd(); for (i = 1; i <= max(QUADSIZE, sizeof(requests)/sizeof(requests[0])); i++) { jj = (req!=0 ? req : i); if (leftside && i <= QUADSIZE) { @@ -397,17 +405,17 @@ int srscan(int l) if (rightside) status(jj); if (iix1) ix2 = 1; - else ix2=QUADSIZE; - if (game.quadrant.x>iy1) iy2 = 1; - else iy2=QUADSIZE; + if (game.quadrant.y>w1.x) w2.x = 1; + else w2.x=QUADSIZE; + if (game.quadrant.x>w1.y) w2.y = 1; + else w2.y=QUADSIZE; } - if (!VALID_QUADRANT(ix1, iy1) || !VALID_SECTOR(ix2, iy2)) { + if (!VALID_QUADRANT(w1.x, w1.y) || !VALID_SECTOR(w2.x, w2.y)) { huh(); return; } - game.dist = sqrt(square(iy1-game.quadrant.x+0.1*(iy2-game.sector.x))+ - square(ix1-game.quadrant.y+0.1*(ix2-game.sector.y))); + game.dist = sqrt(square(w1.y-game.quadrant.y+0.1*(w2.y-game.sector.y))+ + square(w1.x-game.quadrant.x+0.1*(w2.x-game.sector.x))); wfl = false; if (prompt) prout(_("Answer \"no\" if you don't know the value:")); @@ -528,9 +536,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")); - if ((game.isatb==1 && game.state.kscmdr.y == iy1 && game.state.kscmdr.x == ix1 && + if ((game.isatb==1 && same(game.state.kscmdr, w1) && scheduled(FSCDBAS)< ttime+game.state.date)|| - (scheduled(FCDBAS)