Replace getvec() by direct, read-only item access in some cases where

that's obviously correct.
This commit is contained in:
Markus Armbruster 2004-03-05 10:38:58 +00:00
parent 99bfa19a92
commit b1461faea5
23 changed files with 164 additions and 222 deletions

View file

@ -220,7 +220,6 @@ pin_bomb(struct emp_qelem *list, struct sctstr *target)
int type; int type;
int bad; int bad;
s_char *p; s_char *p;
int vec[I_MAX + 1];
struct plist *plp; struct plist *plp;
struct emp_qelem *qp; struct emp_qelem *qp;
int bestacc; int bestacc;
@ -253,7 +252,6 @@ pin_bomb(struct emp_qelem *list, struct sctstr *target)
} }
nplanes = planesatxy(target->sct_x, target->sct_y, 0, 0, list); nplanes = planesatxy(target->sct_x, target->sct_y, 0, 0, list);
nunits = unitsatxy(target->sct_x, target->sct_y, 0, 0); nunits = unitsatxy(target->sct_x, target->sct_y, 0, 0);
getvec(VT_ITEM, vec, (s_char *)target, EF_SECTOR);
retry: retry:
p = getstring("Bomb what? (ship, plane, land unit, efficiency, commodities) ", p = getstring("Bomb what? (ship, plane, land unit, efficiency, commodities) ",
buf); buf);
@ -333,7 +331,7 @@ pin_bomb(struct emp_qelem *list, struct sctstr *target)
} }
for (i = 0; i < nbomb; i++) { for (i = 0; i < nbomb; i++) {
if (!vec[bombcomm[i]]) if (!target->sct_item[bombcomm[i]])
continue; continue;
break; break;
} }
@ -425,15 +423,13 @@ comm_bomb(struct emp_qelem *list, struct sctstr *target)
int i; int i;
int amt, before; int amt, before;
struct ichrstr *ip; struct ichrstr *ip;
int vec[I_MAX + 1];
struct emp_qelem *qp; struct emp_qelem *qp;
struct sctstr sect; struct sctstr sect;
int dam = 0; int dam = 0;
int nukedam; int nukedam;
getvec(VT_ITEM, vec, (s_char *)target, EF_SECTOR);
for (i = 0; i < nbomb; i++) { for (i = 0; i < nbomb; i++) {
if (vec[bombcomm[i]] == 0) if (target->sct_item[bombcomm[i]] == 0)
continue; continue;
if (opt_SUPER_BARS && bombcomm[i] == I_BAR) if (opt_SUPER_BARS && bombcomm[i] == I_BAR)
continue; continue;

View file

@ -326,7 +326,6 @@ calc_all(long int (*p_sect)[2], int *taxes, int *Ncivs, int *Nuws,
int n, civ_tax, uw_tax, mil_pay; int n, civ_tax, uw_tax, mil_pay;
struct sctstr *sp; struct sctstr *sp;
int etu = etu_per_update; int etu = etu_per_update;
int vec[I_MAX + 1];
long tmp_money; long tmp_money;
lnd_money[player->cnum] = sea_money[player->cnum] = 0; lnd_money[player->cnum] = sea_money[player->cnum] = 0;
@ -341,14 +340,13 @@ calc_all(long int (*p_sect)[2], int *taxes, int *Ncivs, int *Nuws,
if (sp->sct_own == player->cnum) { if (sp->sct_own == player->cnum) {
sp->sct_updated = 0; sp->sct_updated = 0;
tax(sp, np, etu, &pop, &civ_tax, &uw_tax, &mil_pay); tax(sp, np, etu, &pop, &civ_tax, &uw_tax, &mil_pay);
getvec(VT_ITEM, vec, (s_char *)sp, EF_SECTOR); *Ncivs += sp->sct_item[I_CIVIL];
*Ncivs += vec[I_CIVIL]; *Nuws += sp->sct_item[I_UW];
*Nuws += vec[I_UW];
*taxes += civ_tax + uw_tax; *taxes += civ_tax + uw_tax;
*mil += mil_pay; *mil += mil_pay;
if (sp->sct_type == SCT_BANK) { if (sp->sct_type == SCT_BANK) {
*bars += bank_income(sp, etu); *bars += bank_income(sp, etu);
*Nbars += vec[I_BAR]; *Nbars += sp->sct_item[I_BAR];
} }
} }
} }

View file

@ -50,7 +50,6 @@ carg(void)
int nships; int nships;
struct nstr_item ni; struct nstr_item ni;
struct shpstr ship; struct shpstr ship;
int vec[I_MAX + 1];
if (!snxtitem(&ni, EF_SHIP, player->argp[1])) if (!snxtitem(&ni, EF_SHIP, player->argp[1]))
return RET_SYN; return RET_SYN;
@ -71,17 +70,16 @@ carg(void)
prxy("%4d,%-4d ", ship.shp_x, ship.shp_y, player->cnum); prxy("%4d,%-4d ", ship.shp_x, ship.shp_y, player->cnum);
pr(" %1c", ship.shp_fleet); pr(" %1c", ship.shp_fleet);
pr("%4d%%", ship.shp_effic); pr("%4d%%", ship.shp_effic);
getvec(VT_ITEM, vec, (s_char *)&ship, EF_SHIP); pr("%4d", ship.shp_item[I_SHELL]);
pr("%4d", vec[I_SHELL]); pr("%4d", ship.shp_item[I_GUN]);
pr("%4d", vec[I_GUN]); pr("%4d", ship.shp_item[I_PETROL]);
pr("%4d", vec[I_PETROL]); pr("%4d", ship.shp_item[I_IRON]);
pr("%4d", vec[I_IRON]); pr("%4d", ship.shp_item[I_DUST]);
pr("%4d", vec[I_DUST]); pr("%4d", ship.shp_item[I_BAR]);
pr("%4d", vec[I_BAR]); pr("%4d", ship.shp_item[I_OIL]);
pr("%4d", vec[I_OIL]); pr("%4d", ship.shp_item[I_LCM]);
pr("%4d", vec[I_LCM]); pr("%4d", ship.shp_item[I_HCM]);
pr("%4d", vec[I_HCM]); pr("%4d\n", ship.shp_item[I_RAD]);
pr("%4d\n", vec[I_RAD]);
if (opt_SHIPNAMES) { if (opt_SHIPNAMES) {
if (ship.shp_name[0] != 0) { if (ship.shp_name[0] != 0) {
pr(" %s\n", ship.shp_name); pr(" %s\n", ship.shp_name);
@ -105,7 +103,6 @@ lcarg(void)
int nunits; int nunits;
struct nstr_item ni; struct nstr_item ni;
struct lndstr land; struct lndstr land;
int vec[I_MAX + 1];
if (!snxtitem(&ni, EF_LAND, player->argp[1])) if (!snxtitem(&ni, EF_LAND, player->argp[1]))
return RET_SYN; return RET_SYN;
@ -126,17 +123,16 @@ lcarg(void)
prxy("%4d,%-4d ", land.lnd_x, land.lnd_y, player->cnum); prxy("%4d,%-4d ", land.lnd_x, land.lnd_y, player->cnum);
pr(" %1c", land.lnd_army); pr(" %1c", land.lnd_army);
pr("%4d%%", land.lnd_effic); pr("%4d%%", land.lnd_effic);
getvec(VT_ITEM, vec, (s_char *)&land, EF_LAND); pr("%4d", land.lnd_item[I_SHELL]);
pr("%4d", vec[I_SHELL]); pr("%4d", land.lnd_item[I_GUN]);
pr("%4d", vec[I_GUN]); pr("%4d", land.lnd_item[I_PETROL]);
pr("%4d", vec[I_PETROL]); pr("%4d", land.lnd_item[I_IRON]);
pr("%4d", vec[I_IRON]); pr("%4d", land.lnd_item[I_DUST]);
pr("%4d", vec[I_DUST]); pr("%4d", land.lnd_item[I_BAR]);
pr("%4d", vec[I_BAR]); pr("%4d", land.lnd_item[I_OIL]);
pr("%4d", vec[I_OIL]); pr("%4d", land.lnd_item[I_LCM]);
pr("%4d", vec[I_LCM]); pr("%4d", land.lnd_item[I_HCM]);
pr("%4d", vec[I_HCM]); pr("%4d\n", land.lnd_item[I_RAD]);
pr("%4d\n", vec[I_RAD]);
} }
if (nunits == 0) { if (nunits == 0) {
if (player->argp[1]) if (player->argp[1])

View file

@ -54,7 +54,6 @@ cens(void)
int n; int n;
struct nstr_sect nstr; struct nstr_sect nstr;
s_char dirstr[20]; s_char dirstr[20];
int vec[I_MAX + 1];
if (!snxtsct(&nstr, player->argp[1])) if (!snxtsct(&nstr, player->argp[1]))
return RET_SYN; return RET_SYN;
@ -94,11 +93,10 @@ cens(void)
pr("%c ", n == 0 ? '.' : '0' + (n / 100)); pr("%c ", n == 0 ? '.' : '0' + (n / 100));
pr("%c", sect.sct_own != sect.sct_oldown ? '*' : ' '); pr("%c", sect.sct_own != sect.sct_oldown ? '*' : ' ');
getvec(VT_ITEM, vec, (s_char *)&sect, EF_SECTOR); pr("%5d", sect.sct_item[I_CIVIL]);
pr("%5d", vec[I_CIVIL]); pr("%5d", sect.sct_item[I_MILIT]);
pr("%5d", vec[I_MILIT]); pr("%5d", sect.sct_item[I_UW]);
pr("%5d", vec[I_UW]); pr("%5d", sect.sct_item[I_FOOD]);
pr("%5d", vec[I_FOOD]);
pr("%4d%%", sect.sct_work); pr("%4d%%", sect.sct_work);
pr("%5d", sect.sct_avail); pr("%5d", sect.sct_avail);
if (!player->god) { if (!player->god) {

View file

@ -52,7 +52,6 @@ comm(void)
int nsect; int nsect;
int n; int n;
struct nstr_sect nstr; struct nstr_sect nstr;
int item[I_MAX + 1];
if (!snxtsct(&nstr, player->argp[1])) if (!snxtsct(&nstr, player->argp[1]))
return RET_SYN; return RET_SYN;
@ -75,7 +74,6 @@ comm(void)
} }
if (player->god) if (player->god)
pr("%3d", sect.sct_own); pr("%3d", sect.sct_own);
getvec(VT_ITEM, item, (s_char *)&sect, EF_SECTOR);
prxy("%4d,%-4d", nstr.x, nstr.y, player->cnum); prxy("%4d,%-4d", nstr.x, nstr.y, player->cnum);
pr(" %c", dchr[sect.sct_type].d_mnem); pr(" %c", dchr[sect.sct_type].d_mnem);
pr(" %c", dirstr[sect.sct_del[I_SHELL] & 0x7]); pr(" %c", dirstr[sect.sct_del[I_SHELL] & 0x7]);
@ -98,16 +96,16 @@ comm(void)
prthresh("%c", sect.sct_dist[I_LCM]); prthresh("%c", sect.sct_dist[I_LCM]);
prthresh("%c", sect.sct_dist[I_HCM]); prthresh("%c", sect.sct_dist[I_HCM]);
prthresh("%c", sect.sct_dist[I_RAD]); prthresh("%c", sect.sct_dist[I_RAD]);
pr("%4d", item[I_SHELL]); pr("%4d", sect.sct_item[I_SHELL]);
pr("%4d", item[I_GUN]); pr("%4d", sect.sct_item[I_GUN]);
pr("%5d", item[I_PETROL]); pr("%5d", sect.sct_item[I_PETROL]);
pr("%5d", item[I_IRON]); pr("%5d", sect.sct_item[I_IRON]);
pr("%5d", item[I_DUST]); pr("%5d", sect.sct_item[I_DUST]);
pr("%4d", item[I_BAR]); pr("%4d", sect.sct_item[I_BAR]);
pr("%5d", item[I_OIL]); pr("%5d", sect.sct_item[I_OIL]);
pr("%5d", item[I_LCM]); pr("%5d", sect.sct_item[I_LCM]);
pr("%5d", item[I_HCM]); pr("%5d", sect.sct_item[I_HCM]);
pr("%4d", item[I_RAD]); pr("%4d", sect.sct_item[I_RAD]);
pr("\n"); pr("\n");
} }
if (nsect == 0) { if (nsect == 0) {

View file

@ -52,7 +52,6 @@ dump(void)
int nsect; int nsect;
int n, i; int n, i;
struct nstr_sect nstr; struct nstr_sect nstr;
int item[I_MAX + 1];
int field[128]; int field[128];
struct natstr *np; struct natstr *np;
time_t now; time_t now;
@ -510,7 +509,6 @@ dump(void)
/* census */ /* census */
if (player->god) if (player->god)
pr("%d ", sect.sct_own); pr("%d ", sect.sct_own);
getvec(VT_ITEM, item, (s_char *)&sect, EF_SECTOR);
pr("%d %d", xrel(np, nstr.x), yrel(np, nstr.y)); pr("%d %d", xrel(np, nstr.x), yrel(np, nstr.y));
set_coastal(&sect); set_coastal(&sect);
@ -564,47 +562,47 @@ dump(void)
pr("%d", sect.sct_terr); pr("%d", sect.sct_terr);
break; break;
case 15: case 15:
pr("%d", item[I_CIVIL]); pr("%d", sect.sct_item[I_CIVIL]);
break; break;
case 16: case 16:
pr("%d", item[I_MILIT]); pr("%d", sect.sct_item[I_MILIT]);
break; break;
case 17: case 17:
pr("%d", item[I_UW]); pr("%d", sect.sct_item[I_UW]);
break; break;
case 18: case 18:
pr("%d", item[I_FOOD]); pr("%d", sect.sct_item[I_FOOD]);
break; break;
/* commodity */ /* commodity */
case 19: case 19:
pr("%d", item[I_SHELL]); pr("%d", sect.sct_item[I_SHELL]);
break; break;
case 20: case 20:
pr("%d", item[I_GUN]); pr("%d", sect.sct_item[I_GUN]);
break; break;
case 21: case 21:
pr("%d", item[I_PETROL]); pr("%d", sect.sct_item[I_PETROL]);
break; break;
case 22: case 22:
pr("%d", item[I_IRON]); pr("%d", sect.sct_item[I_IRON]);
break; break;
case 23: case 23:
pr("%d", item[I_DUST]); pr("%d", sect.sct_item[I_DUST]);
break; break;
case 24: case 24:
pr("%d", item[I_BAR]); pr("%d", sect.sct_item[I_BAR]);
break; break;
case 25: case 25:
pr("%d", item[I_OIL]); pr("%d", sect.sct_item[I_OIL]);
break; break;
case 26: case 26:
pr("%d", item[I_LCM]); pr("%d", sect.sct_item[I_LCM]);
break; break;
case 27: case 27:
pr("%d", item[I_HCM]); pr("%d", sect.sct_item[I_HCM]);
break; break;
case 28: case 28:
pr("%d", item[I_RAD]); pr("%d", sect.sct_item[I_RAD]);
break; break;
/* cutoff */ /* cutoff */
case 29: case 29:

View file

@ -363,7 +363,6 @@ pr_plane(struct plnstr *plane)
static void static void
pr_land(struct lndstr *land) pr_land(struct lndstr *land)
{ {
int vec[I_MAX + 1];
struct lchrstr *lcp; struct lchrstr *lcp;
lcp = &lchr[(int)land->lnd_type]; lcp = &lchr[(int)land->lnd_type];
@ -386,29 +385,27 @@ pr_land(struct lndstr *land)
pr("Retreat percentage <Z>: %d\n", (int)land->lnd_retreat); pr("Retreat percentage <Z>: %d\n", (int)land->lnd_retreat);
pr("Retreat path <R>: '%s'\t\tRetreat Flags <W>: %d\n", pr("Retreat path <R>: '%s'\t\tRetreat Flags <W>: %d\n",
land->lnd_rpath, (int)land->lnd_rflags); land->lnd_rpath, (int)land->lnd_rflags);
getvec(VT_ITEM, vec, (s_char *)land, EF_LAND);
pr("civ mil uw food shl gun pet irn dst oil lcm hcm rad\n"); pr("civ mil uw food shl gun pet irn dst oil lcm hcm rad\n");
pr(" c m u f s g p i d o l h r\n"); pr(" c m u f s g p i d o l h r\n");
pr("%3d", vec[I_CIVIL]); pr("%3d", land->lnd_item[I_CIVIL]);
pr("%4d", vec[I_MILIT]); pr("%4d", land->lnd_item[I_MILIT]);
pr("%4d", vec[I_UW]); pr("%4d", land->lnd_item[I_UW]);
pr("%5d", vec[I_FOOD]); pr("%5d", land->lnd_item[I_FOOD]);
pr("%4d", vec[I_SHELL]); pr("%4d", land->lnd_item[I_SHELL]);
pr("%4d", vec[I_GUN]); pr("%4d", land->lnd_item[I_GUN]);
pr("%5d", vec[I_PETROL]); pr("%5d", land->lnd_item[I_PETROL]);
pr("%5d", vec[I_IRON]); pr("%5d", land->lnd_item[I_IRON]);
pr("%5d", vec[I_DUST]); pr("%5d", land->lnd_item[I_DUST]);
pr("%5d", vec[I_OIL]); pr("%5d", land->lnd_item[I_OIL]);
pr("%5d", vec[I_LCM]); pr("%5d", land->lnd_item[I_LCM]);
pr("%5d", vec[I_HCM]); pr("%5d", land->lnd_item[I_HCM]);
pr("%4d", vec[I_RAD]); pr("%4d", land->lnd_item[I_RAD]);
pr("\n"); pr("\n");
} }
static void static void
pr_ship(struct shpstr *ship) pr_ship(struct shpstr *ship)
{ {
int vec[I_MAX + 1];
struct natstr *natp; struct natstr *natp;
if ((natp = getnatp(ship->shp_own)) == 0) if ((natp = getnatp(ship->shp_own)) == 0)
@ -432,24 +429,23 @@ pr_ship(struct shpstr *ship)
pr("Fuel <B>: %d\n", (int)ship->shp_fuel); pr("Fuel <B>: %d\n", (int)ship->shp_fuel);
pr("Retreat path <R>: '%s'\t\tRetreat Flags <W>: %d\n", pr("Retreat path <R>: '%s'\t\tRetreat Flags <W>: %d\n",
ship->shp_rpath, (int)ship->shp_rflags); ship->shp_rpath, (int)ship->shp_rflags);
getvec(VT_ITEM, vec, (s_char *)ship, EF_SHIP);
pr("Plague Stage <a>: %d\n", ship->shp_pstage); pr("Plague Stage <a>: %d\n", ship->shp_pstage);
pr("Plague Time <b>: %d\n", ship->shp_ptime); pr("Plague Time <b>: %d\n", ship->shp_ptime);
pr("civ mil uw food shl gun pet irn dst oil lcm hcm rad\n"); pr("civ mil uw food shl gun pet irn dst oil lcm hcm rad\n");
pr(" c m u f s g p i d o l h r\n"); pr(" c m u f s g p i d o l h r\n");
pr("%3d", vec[I_CIVIL]); pr("%3d", ship->shp_item[I_CIVIL]);
pr("%4d", vec[I_MILIT]); pr("%4d", ship->shp_item[I_MILIT]);
pr("%4d", vec[I_UW]); pr("%4d", ship->shp_item[I_UW]);
pr("%5d", vec[I_FOOD]); pr("%5d", ship->shp_item[I_FOOD]);
pr("%4d", vec[I_SHELL]); pr("%4d", ship->shp_item[I_SHELL]);
pr("%4d", vec[I_GUN]); pr("%4d", ship->shp_item[I_GUN]);
pr("%5d", vec[I_PETROL]); pr("%5d", ship->shp_item[I_PETROL]);
pr("%5d", vec[I_IRON]); pr("%5d", ship->shp_item[I_IRON]);
pr("%5d", vec[I_DUST]); pr("%5d", ship->shp_item[I_DUST]);
pr("%5d", vec[I_OIL]); pr("%5d", ship->shp_item[I_OIL]);
pr("%5d", vec[I_LCM]); pr("%5d", ship->shp_item[I_LCM]);
pr("%5d", vec[I_HCM]); pr("%5d", ship->shp_item[I_HCM]);
pr("%4d", vec[I_RAD]); pr("%4d", ship->shp_item[I_RAD]);
pr("\n"); pr("\n");
} }

View file

@ -49,7 +49,6 @@ land(void)
int nunits; int nunits;
struct nstr_item ni; struct nstr_item ni;
struct lndstr land; struct lndstr land;
int vec[I_MAX + 1];
if (!snxtitem(&ni, EF_LAND, player->argp[1])) if (!snxtitem(&ni, EF_LAND, player->argp[1]))
return RET_SYN; return RET_SYN;
@ -88,8 +87,7 @@ land(void)
pr("%4d", lnd_getmil(&land)); pr("%4d", lnd_getmil(&land));
pr("%4d", land.lnd_harden); pr("%4d", land.lnd_harden);
pr("%4d", land.lnd_mobil); pr("%4d", land.lnd_mobil);
getvec(VT_ITEM, vec, (s_char *)&land, EF_LAND); pr("%4d", land.lnd_item[I_FOOD]);
pr("%4d", vec[I_FOOD]);
if (opt_FUEL) if (opt_FUEL)
pr("%3d", land.lnd_fuel); pr("%3d", land.lnd_fuel);
pr("%4d ", land.lnd_tech); pr("%4d ", land.lnd_tech);

View file

@ -51,7 +51,6 @@ ldump(void)
int field[128]; int field[128];
struct nstr_item ni; struct nstr_item ni;
struct lndstr land; struct lndstr land;
int vec[I_MAX + 1];
int n, i; int n, i;
struct natstr *np; struct natstr *np;
time_t now; time_t now;
@ -308,7 +307,6 @@ ldump(void)
pr("%3d ", land.lnd_own); pr("%3d ", land.lnd_own);
pr("%d", ni.cur); pr("%d", ni.cur);
n = 0; n = 0;
getvec(VT_ITEM, vec, (s_char *)&land, EF_LAND);
while (field[n]) { while (field[n]) {
switch (field[n++]) { switch (field[n++]) {
case 1: case 1:
@ -339,7 +337,7 @@ ldump(void)
pr(" %d", land.lnd_mobil); pr(" %d", land.lnd_mobil);
break; break;
case 9: case 9:
pr(" %d", vec[I_FOOD]); pr(" %d", land.lnd_item[I_FOOD]);
break; break;
case 10: case 10:
if (opt_FUEL) if (opt_FUEL)
@ -369,34 +367,34 @@ ldump(void)
pr(" %d", land.lnd_ship); pr(" %d", land.lnd_ship);
break; break;
case 18: case 18:
pr(" %d", vec[I_SHELL]); pr(" %d", land.lnd_item[I_SHELL]);
break; break;
case 19: case 19:
pr(" %d", vec[I_GUN]); pr(" %d", land.lnd_item[I_GUN]);
break; break;
case 20: case 20:
pr(" %d", vec[I_PETROL]); pr(" %d", land.lnd_item[I_PETROL]);
break; break;
case 21: case 21:
pr(" %d", vec[I_IRON]); pr(" %d", land.lnd_item[I_IRON]);
break; break;
case 22: case 22:
pr(" %d", vec[I_DUST]); pr(" %d", land.lnd_item[I_DUST]);
break; break;
case 23: case 23:
pr(" %d", vec[I_BAR]); pr(" %d", land.lnd_item[I_BAR]);
break; break;
case 24: case 24:
pr(" %d", vec[I_OIL]); pr(" %d", land.lnd_item[I_OIL]);
break; break;
case 25: case 25:
pr(" %d", vec[I_LCM]); pr(" %d", land.lnd_item[I_LCM]);
break; break;
case 26: case 26:
pr(" %d", vec[I_HCM]); pr(" %d", land.lnd_item[I_HCM]);
break; break;
case 27: case 27:
pr(" %d", vec[I_RAD]); pr(" %d", land.lnd_item[I_RAD]);
break; break;
case 28: case 28:
pr(" %1.2f", (float)land.lnd_att); pr(" %1.2f", (float)land.lnd_att);

View file

@ -52,7 +52,6 @@ nuke(void)
struct nstr_item nstr; struct nstr_item nstr;
struct nukstr nuk; struct nukstr nuk;
struct sctstr sect; struct sctstr sect;
int item[I_MAX + 1];
if (!snxtitem(&nstr, EF_NUKE, player->argp[1])) if (!snxtitem(&nstr, EF_NUKE, player->argp[1]))
return RET_SYN; return RET_SYN;
@ -68,7 +67,6 @@ nuke(void)
pr(" sect eff num nuke-type lcm hcm oil rad avail\n"); pr(" sect eff num nuke-type lcm hcm oil rad avail\n");
} }
getsect(nuk.nuk_x, nuk.nuk_y, &sect); getsect(nuk.nuk_x, nuk.nuk_y, &sect);
getvec(VT_ITEM, item, (s_char *)&sect, EF_SECTOR);
first_nuke = 1; first_nuke = 1;
show_comm = 0; show_comm = 0;
if (sect.sct_type == SCT_NUKE && sect.sct_effic >= 60) if (sect.sct_type == SCT_NUKE && sect.sct_effic >= 60)
@ -94,10 +92,10 @@ nuke(void)
pr("%-16.16s ", nchr[i].n_name); pr("%-16.16s ", nchr[i].n_name);
if (show_comm) { if (show_comm) {
pr("%5d ", item[I_LCM]); pr("%5d ", sect.sct_item[I_LCM]);
pr("%5d ", item[I_HCM]); pr("%5d ", sect.sct_item[I_HCM]);
pr("%5d ", item[I_OIL]); pr("%5d ", sect.sct_item[I_OIL]);
pr("%5d ", item[I_RAD]); pr("%5d ", sect.sct_item[I_RAD]);
pr("%5d", sect.sct_avail); pr("%5d", sect.sct_avail);
show_comm = 0; show_comm = 0;
} }

View file

@ -51,16 +51,13 @@ count_pop(register int n)
register int i; register int i;
register int pop = 0; register int pop = 0;
struct sctstr *sp; struct sctstr *sp;
int vec[I_MAX + 1];
for (i = 0; NULL != (sp = getsectid(i)); i++) { for (i = 0; NULL != (sp = getsectid(i)); i++) {
if (sp->sct_own != n) if (sp->sct_own != n)
continue; continue;
if (sp->sct_oldown != n) if (sp->sct_oldown != n)
continue; continue;
if (getvec(VT_ITEM, vec, (s_char *)sp, EF_SECTOR) <= 0) pop += sp->sct_item[I_CIVIL];
continue;
pop += vec[I_CIVIL];
} }
return pop; return pop;
} }
@ -99,8 +96,7 @@ prod(void)
int c; int c;
s_char maxc[3][10]; s_char maxc[3][10];
s_char use[3][10]; s_char use[3][10];
int items[I_MAX + 1]; int lcms, hcms;
int vec[I_MAX + 1], lcms, hcms;
int civs = 0; int civs = 0;
int uws = 0; int uws = 0;
int bwork; int bwork;
@ -118,12 +114,11 @@ prod(void)
while (nxtsct(&nstr, &sect)) { while (nxtsct(&nstr, &sect)) {
if (!player->owner) if (!player->owner)
continue; continue;
getvec(VT_ITEM, items, (s_char *)&sect, EF_SECTOR);
civs = min(9999, (int)((obrate * (double)etu_per_update + 1.0) civs = min(9999, (int)((obrate * etu_per_update + 1.0)
* (double)items[I_CIVIL])); * sect.sct_item[I_CIVIL]));
uws = min(9999, (int)((uwbrate * (double)etu_per_update + 1.0) uws = min(9999, (int)((uwbrate * etu_per_update + 1.0)
* (double)items[I_UW])); * sect.sct_item[I_UW]));
if (opt_RES_POP) { if (opt_RES_POP) {
natp = getnatp(sect.sct_own); natp = getnatp(sect.sct_own);
maxpop = max_pop((float)natp->nat_level[NAT_RLEV], &sect); maxpop = max_pop((float)natp->nat_level[NAT_RLEV], &sect);
@ -136,9 +131,9 @@ prod(void)
/* This isn't quite right, since research might rise/fall */ /* This isn't quite right, since research might rise/fall */
/* during the update, but it's the best we can really do */ /* during the update, but it's the best we can really do */
wforce = (int)(((double)civs * (double)sect.sct_work) wforce = (int)(((double)civs * sect.sct_work) / 100.0
/ 100.0 + (double)uws + + uws
(double)items[I_MILIT] * 2.0 / 5.0); + sect.sct_item[I_MILIT] * 2.0 / 5.0);
work = (double)etu_per_update *(double)wforce / 100.0; work = (double)etu_per_update *(double)wforce / 100.0;
if (opt_ROLLOVER_AVAIL) { if (opt_ROLLOVER_AVAIL) {
if (sect.sct_type == sect.sct_newtype) { if (sect.sct_type == sect.sct_newtype) {
@ -179,9 +174,9 @@ prod(void)
civs = min(9999, civs); civs = min(9999, civs);
uws = min(9999, uws); uws = min(9999, uws);
} }
wforce = wforce = (int)(((double)civs * sect.sct_work) / 100.0
(int)((civs * sect.sct_work) / 100.0 + uws + + uws
items[I_MILIT] * 2 / 5.0); + sect.sct_item[I_MILIT] * 2 / 5.0);
work = etu_per_update * wforce / 100.0; work = etu_per_update * wforce / 100.0;
bwork = min((int)(work / 2), bwork); bwork = min((int)(work / 2), bwork);
} }
@ -190,15 +185,14 @@ prod(void)
if (twork > bwork) { if (twork > bwork) {
twork = bwork; twork = bwork;
} }
getvec(VT_ITEM, vec, (s_char *)&sect, EF_SECTOR);
if (dchr[type].d_lcms > 0) { if (dchr[type].d_lcms > 0) {
lcms = vec[I_LCM]; lcms = sect.sct_item[I_LCM];
lcms /= dchr[type].d_lcms; lcms /= dchr[type].d_lcms;
if (twork > lcms) if (twork > lcms)
twork = lcms; twork = lcms;
} }
if (dchr[type].d_hcms > 0) { if (dchr[type].d_hcms > 0) {
hcms = vec[I_HCM]; hcms = sect.sct_item[I_HCM];
hcms /= dchr[type].d_hcms; hcms /= dchr[type].d_hcms;
if (twork > hcms) if (twork > hcms)
twork = hcms; twork = hcms;
@ -378,8 +372,8 @@ prod(void)
int enlisted; int enlisted;
int civs; int civs;
civs = min(999, (int)((obrate * (double)etu_per_update + 1.0) civs = min(999, (int)((obrate * etu_per_update + 1.0)
* (double)items[I_CIVIL])); * sect.sct_item[I_CIVIL]));
natp = getnatp(sect.sct_own); natp = getnatp(sect.sct_own);
maxpop = max_pop((float)natp->nat_level[NAT_RLEV], &sect); maxpop = max_pop((float)natp->nat_level[NAT_RLEV], &sect);
civs = min(civs, maxpop); civs = min(civs, maxpop);
@ -387,9 +381,11 @@ prod(void)
rise/fall during the update, but it's the best rise/fall during the update, but it's the best
we can really do */ we can really do */
enlisted = 0; enlisted = 0;
maxmil = (civs / 2) - items[I_MILIT]; maxmil = (civs / 2) - sect.sct_item[I_MILIT];
if (maxmil > 0) { if (maxmil > 0) {
enlisted = (etu_per_update * (10 + items[I_MILIT]) * 0.05); enlisted = (etu_per_update
* (10 + sect.sct_item[I_MILIT])
* 0.05);
if (enlisted > maxmil) if (enlisted > maxmil)
enlisted = maxmil; enlisted = maxmil;
} }

View file

@ -44,7 +44,6 @@ sabo(void)
struct lndstr land; struct lndstr land;
struct sctstr sect; struct sctstr sect;
double odds; double odds;
int vec[I_MAX + 1];
int dam; int dam;
if (!snxtitem(&ni, EF_LAND, player->argp[1])) if (!snxtitem(&ni, EF_LAND, player->argp[1]))
@ -85,12 +84,13 @@ sabo(void)
continue; continue;
} }
getvec(VT_ITEM, vec, (s_char *)&sect, EF_SECTOR);
dam = landgun(3 * land.lnd_effic, 7); dam = landgun(3 * land.lnd_effic, 7);
if (vec[I_SHELL] > 20) if (sect.sct_item[I_SHELL] > 20)
dam += seagun(land.lnd_effic, random() % (vec[I_SHELL] / 10)); dam += seagun(land.lnd_effic,
if (vec[I_PETROL] > 100) random() % (sect.sct_item[I_SHELL] / 10));
dam += seagun(land.lnd_effic, random() % (vec[I_PETROL] / 50)); if (sect.sct_item[I_PETROL] > 100)
dam += seagun(land.lnd_effic,
random() % (sect.sct_item[I_PETROL] / 50));
pr("Explosion in %s causes %d damage.\n", pr("Explosion in %s causes %d damage.\n",
xyas(land.lnd_x, land.lnd_y, land.lnd_own), dam); xyas(land.lnd_x, land.lnd_y, land.lnd_own), dam);

View file

@ -50,7 +50,6 @@ sdump(void)
int nships; int nships;
struct nstr_item ni; struct nstr_item ni;
struct shpstr ship; struct shpstr ship;
int vec[I_MAX + 1];
int field[128]; int field[128];
struct natstr *np; struct natstr *np;
int n, i; int n, i;
@ -280,7 +279,6 @@ sdump(void)
pr("%3d ", ship.shp_own); pr("%3d ", ship.shp_own);
pr("%d", ni.cur); pr("%d", ni.cur);
n = 0; n = 0;
getvec(VT_ITEM, vec, (s_char *)&ship, EF_SHIP);
while (field[n]) { while (field[n]) {
switch (field[n++]) { switch (field[n++]) {
case 1: case 1:
@ -302,16 +300,16 @@ sdump(void)
pr(" %d", ship.shp_effic); pr(" %d", ship.shp_effic);
break; break;
case 6: case 6:
pr(" %d", vec[I_CIVIL]); pr(" %d", ship.shp_item[I_CIVIL]);
break; break;
case 7: case 7:
pr(" %d", vec[I_MILIT]); pr(" %d", ship.shp_item[I_MILIT]);
break; break;
case 8: case 8:
pr(" %d", vec[I_UW]); pr(" %d", ship.shp_item[I_UW]);
break; break;
case 9: case 9:
pr(" %d", vec[I_FOOD]); pr(" %d", ship.shp_item[I_FOOD]);
break; break;
case 10: case 10:
pr(" %d", ship.shp_nplane); pr(" %d", ship.shp_nplane);
@ -338,34 +336,34 @@ sdump(void)
pr(" %d", ship.shp_tech); pr(" %d", ship.shp_tech);
break; break;
case 17: case 17:
pr(" %d", vec[I_SHELL]); pr(" %d", ship.shp_item[I_SHELL]);
break; break;
case 18: case 18:
pr(" %d", vec[I_GUN]); pr(" %d", ship.shp_item[I_GUN]);
break; break;
case 19: case 19:
pr(" %d", vec[I_PETROL]); pr(" %d", ship.shp_item[I_PETROL]);
break; break;
case 20: case 20:
pr(" %d", vec[I_IRON]); pr(" %d", ship.shp_item[I_IRON]);
break; break;
case 21: case 21:
pr(" %d", vec[I_DUST]); pr(" %d", ship.shp_item[I_DUST]);
break; break;
case 22: case 22:
pr(" %d", vec[I_BAR]); pr(" %d", ship.shp_item[I_BAR]);
break; break;
case 23: case 23:
pr(" %d", vec[I_OIL]); pr(" %d", ship.shp_item[I_OIL]);
break; break;
case 24: case 24:
pr(" %d", vec[I_LCM]); pr(" %d", ship.shp_item[I_LCM]);
break; break;
case 25: case 25:
pr(" %d", vec[I_HCM]); pr(" %d", ship.shp_item[I_HCM]);
break; break;
case 26: case 26:
pr(" %d", vec[I_RAD]); pr(" %d", ship.shp_item[I_RAD]);
break; break;
case 27: case 27:
pr(" %d", ship.shp_armor); pr(" %d", ship.shp_armor);

View file

@ -50,7 +50,6 @@ shi(void)
int nships; int nships;
struct nstr_item ni; struct nstr_item ni;
struct shpstr ship; struct shpstr ship;
int vec[I_MAX + 1];
if (!snxtitem(&ni, EF_SHIP, player->argp[1])) if (!snxtitem(&ni, EF_SHIP, player->argp[1]))
return RET_SYN; return RET_SYN;
@ -85,11 +84,10 @@ shi(void)
pr("%1c", ship.shp_fleet); pr("%1c", ship.shp_fleet);
pr("%4d%%", ship.shp_effic); pr("%4d%%", ship.shp_effic);
getvec(VT_ITEM, vec, (s_char *)&ship, EF_SHIP); pr("%4d", ship.shp_item[I_CIVIL]);
pr("%4d", vec[I_CIVIL]); pr("%4d", ship.shp_item[I_MILIT]);
pr("%4d", vec[I_MILIT]); pr("%4d", ship.shp_item[I_UW]);
pr("%4d", vec[I_UW]); pr("%4d", ship.shp_item[I_FOOD]);
pr("%4d", vec[I_FOOD]);
pr("%3d", ship.shp_nplane); pr("%3d", ship.shp_nplane);
pr("%3d", ship.shp_nchoppers); pr("%3d", ship.shp_nchoppers);

View file

@ -785,7 +785,6 @@ lnd_list(struct emp_qelem *land_list)
struct emp_qelem *next; struct emp_qelem *next;
struct llist *llp; struct llist *llp;
struct lndstr *lnd; struct lndstr *lnd;
int vec[I_MAX + 1];
pr("lnd# land type x,y a eff sh gun xl mu tech retr fuel\n"); pr("lnd# land type x,y a eff sh gun xl mu tech retr fuel\n");
@ -798,9 +797,8 @@ lnd_list(struct emp_qelem *land_list)
prxy("%4d,%-4d ", lnd->lnd_x, lnd->lnd_y, llp->land.lnd_own); prxy("%4d,%-4d ", lnd->lnd_x, lnd->lnd_y, llp->land.lnd_own);
pr("%1c", lnd->lnd_army); pr("%1c", lnd->lnd_army);
pr("%4d%%", lnd->lnd_effic); pr("%4d%%", lnd->lnd_effic);
getvec(VT_ITEM, vec, (s_char *)lnd, EF_LAND); pr("%4d", lnd->lnd_item[I_SHELL]);
pr("%4d", vec[I_SHELL]); pr("%4d", lnd->lnd_item[I_GUN]);
pr("%4d", vec[I_GUN]);
count_land_planes(lnd); count_land_planes(lnd);
pr("%3d", lnd->lnd_nxlight); pr("%3d", lnd->lnd_nxlight);
pr("%4d", lnd->lnd_mobil); pr("%4d", lnd->lnd_mobil);

View file

@ -55,7 +55,6 @@ move_ground(s_char *what, struct sctstr *start, struct sctstr *end,
{ {
struct sctstr sect, ending_sect; struct sctstr sect, ending_sect;
struct sctstr next, dsect; struct sctstr next, dsect;
int vec[I_MAX + 1];
coord curx, cury, oldx, oldy; coord curx, cury, oldx, oldy;
coord tmpx, tmpy; coord tmpx, tmpy;
coord dx, dy; coord dx, dy;
@ -191,9 +190,10 @@ move_ground(s_char *what, struct sctstr *start, struct sctstr *end,
*movstr = 0; *movstr = 0;
continue; continue;
} }
getvec(VT_ITEM, vec, (s_char *)&next, EF_SECTOR);
sect_mcost = sector_mcost(&next, MOB_ROAD); sect_mcost = sector_mcost(&next, MOB_ROAD);
if ((!player->owner && (!exploring || vec[I_MILIT] || vec[I_CIVIL])) if ((!player->owner && (!exploring
|| next.sct_item[I_MILIT]
|| next.sct_item[I_CIVIL]))
|| sect_mcost == -1.0) { || sect_mcost == -1.0) {
/* already-owned, or prohibited terrain */ /* already-owned, or prohibited terrain */
pr("You can't go there...\n"); pr("You can't go there...\n");
@ -258,7 +258,6 @@ move_map(s_char *what, coord curx, coord cury, s_char *arg)
s_char range[128]; s_char range[128];
s_char view[7]; s_char view[7];
int i; int i;
int vec[I_MAX + 1];
int changed = 0; int changed = 0;
np = getnatp(player->cnum); np = getnatp(player->cnum);
@ -295,13 +294,13 @@ move_map(s_char *what, coord curx, coord cury, s_char *arg)
writemap(player->cnum); writemap(player->cnum);
if (!getsect(curx, cury, &sect)) if (!getsect(curx, cury, &sect))
return RET_FAIL; return RET_FAIL;
getvec(VT_ITEM, vec, (s_char *)&sect, EF_SECTOR);
pr(" %c %c eff mob civ mil uw food work avail\n", pr(" %c %c eff mob civ mil uw food work avail\n",
view[0], view[1]); view[0], view[1]);
pr(" %c %c %c %3d %3d %4d %4d %4d %4d %3d %3d\n", pr(" %c %c %c %3d %3d %4d %4d %4d %4d %3d %3d\n",
view[2], view[3], view[4], view[2], view[3], view[4],
sect.sct_effic, sect.sct_mobil, vec[I_CIVIL], vec[I_MILIT], sect.sct_effic, sect.sct_mobil,
vec[I_UW], vec[I_FOOD], sect.sct_work, sect.sct_avail); sect.sct_item[I_CIVIL], sect.sct_item[I_MILIT], sect.sct_item[I_UW],
sect.sct_item[I_FOOD], sect.sct_work, sect.sct_avail);
pr(" %c %c\n", view[5], view[6]); pr(" %c %c\n", view[5], view[6]);
return RET_OK; return RET_OK;
} }

View file

@ -146,7 +146,6 @@ retreat_ship1(struct shpstr *sp, s_char code, int orig)
int shells; int shells;
double mobcost; double mobcost;
struct mchrstr *mcp; struct mchrstr *mcp;
int vec[I_MAX + 1];
int time_to_stop; int time_to_stop;
sp->shp_mission = 0; sp->shp_mission = 0;
@ -178,8 +177,7 @@ retreat_ship1(struct shpstr *sp, s_char code, int orig)
} }
} }
/* check crew - uws don't count */ /* check crew - uws don't count */
getvec(VT_ITEM, vec, (s_char *)sp, EF_SHIP); if (sp->shp_item[I_MILIT] == 0 && sp->shp_item[I_CIVIL] == 0) {
if (vec[I_MILIT] == 0 && vec[I_CIVIL] == 0) {
wu(0, sp->shp_own, wu(0, sp->shp_own,
"%s %s,\nbut had no crew, and couldn't retreat!\n", prship(sp), "%s %s,\nbut had no crew, and couldn't retreat!\n", prship(sp),
conditions[findcondition(code)].desc[orig]); conditions[findcondition(code)].desc[orig]);

View file

@ -283,13 +283,11 @@ sathead(void)
void void
satdisp(struct sctstr *sp, int acc, int showstuff) satdisp(struct sctstr *sp, int acc, int showstuff)
{ {
int vec[I_MAX + 1], first; int first;
struct nstr_item ni; struct nstr_item ni;
struct shpstr ship; struct shpstr ship;
struct lndstr land; struct lndstr land;
if (getvec(VT_ITEM, vec, (caddr_t)sp, EF_SECTOR) < 0)
return;
prxy("%4d,%-4d ", sp->sct_x, sp->sct_y, player->cnum); prxy("%4d,%-4d ", sp->sct_x, sp->sct_y, player->cnum);
pr("%c %3d %3d %3d %3d %3d %4d %4d %4d %4d %4d %4d %5d\n", pr("%c %3d %3d %3d %3d %3d %4d %4d %4d %4d %4d %4d %5d\n",
dchr[sp->sct_type].d_mnem, dchr[sp->sct_type].d_mnem,
@ -297,10 +295,13 @@ satdisp(struct sctstr *sp, int acc, int showstuff)
roundintby((int)sp->sct_road, acc / 2), roundintby((int)sp->sct_road, acc / 2),
roundintby((int)sp->sct_rail, acc / 2), roundintby((int)sp->sct_rail, acc / 2),
roundintby((int)sp->sct_defense, acc / 2), roundintby((int)sp->sct_defense, acc / 2),
roundintby(vec[I_CIVIL], acc), roundintby(vec[I_MILIT], acc), roundintby(sp->sct_item[I_CIVIL], acc),
roundintby(vec[I_SHELL], acc), roundintby(vec[I_GUN], acc), roundintby(sp->sct_item[I_MILIT], acc),
roundintby(vec[I_IRON], acc), roundintby(vec[I_PETROL], acc), roundintby(sp->sct_item[I_SHELL], acc),
roundintby(vec[I_FOOD], acc)); roundintby(sp->sct_item[I_GUN], acc),
roundintby(sp->sct_item[I_IRON], acc),
roundintby(sp->sct_item[I_PETROL], acc),
roundintby(sp->sct_item[I_FOOD], acc));
map_set(player->cnum, sp->sct_x, sp->sct_y, dchr[sp->sct_type].d_mnem, map_set(player->cnum, sp->sct_x, sp->sct_y, dchr[sp->sct_type].d_mnem,
0); 0);
if (!showstuff) if (!showstuff)

View file

@ -56,11 +56,9 @@ gt_bg_nmbr(int *bp, struct sctstr *sp, int comm)
{ {
int *wp; int *wp;
int cm; int cm;
int svec[I_MAX + 1];
if ((cm = bud_key[comm]) == 0) { if ((cm = bud_key[comm]) == 0) {
getvec(VT_ITEM, svec, (s_char *)sp, EF_SECTOR); return sp->sct_item[comm];
return svec[comm];
} else { } else {
wp = get_wp(bp, sp, cm); wp = get_wp(bp, sp, cm);
return *wp; return *wp;
@ -82,16 +80,13 @@ pt_bg_nmbr(int *bp, struct sctstr *sp, int comm, int amount)
void void
fill_update_array(int *bp, struct sctstr *sp) fill_update_array(int *bp, struct sctstr *sp)
{ {
int vec[I_MAX + 1];
int i, k; int i, k;
int *wp; int *wp;
if (getvec(VT_ITEM, vec, (s_char *)sp, EF_SECTOR) <= 0)
return;
for (i = 1; i <= I_MAX; i++) for (i = 1; i <= I_MAX; i++)
if ((k = bud_key[i]) != 0) { if ((k = bud_key[i]) != 0) {
wp = get_wp(bp, sp, k); wp = get_wp(bp, sp, k);
*wp = vec[i]; *wp = sp->sct_item[i];
} }
wp = get_wp(bp, sp, bud_key[I_MAX + 1]); wp = get_wp(bp, sp, bud_key[I_MAX + 1]);
*wp = sp->sct_avail; *wp = sp->sct_avail;

View file

@ -66,7 +66,6 @@ prod_plane(int etus, int natnum, int *bp, int buildem)
int left, build; int left, build;
int lcm_needed, hcm_needed; int lcm_needed, hcm_needed;
int mil_needed; int mil_needed;
int svec[I_MAX + 1];
int mvec[I_MAX + 1]; int mvec[I_MAX + 1];
int n, k = 0; int n, k = 0;
struct shpstr *shp; struct shpstr *shp;
@ -126,7 +125,6 @@ prod_plane(int etus, int natnum, int *bp, int buildem)
np = getnatp(pp->pln_own); np = getnatp(pp->pln_own);
desc = &plchr[(int)pp->pln_type]; desc = &plchr[(int)pp->pln_type];
sp = getsectp(pp->pln_x, pp->pln_y); sp = getsectp(pp->pln_x, pp->pln_y);
getvec(VT_ITEM, svec, (s_char *)sp, EF_SECTOR);
mult = 1; mult = 1;
if (np->nat_level[NAT_TLEV] < pp->pln_tech * 0.85) if (np->nat_level[NAT_TLEV] < pp->pln_tech * 0.85)
mult = 2; mult = 2;
@ -178,10 +176,8 @@ prod_plane(int etus, int natnum, int *bp, int buildem)
avail = gt_bg_nmbr(bp, sp, I_MAX + 1) * 100; avail = gt_bg_nmbr(bp, sp, I_MAX + 1) * 100;
if (pp->pln_ship >= 0) { if (pp->pln_ship >= 0) {
int vec[I_MAX + 1];
shp = getshipp(pp->pln_ship); shp = getshipp(pp->pln_ship);
getvec(VT_ITEM, vec, (s_char *)shp, EF_SHIP); avail += (etus * shp->shp_item[I_MILIT] / 2);
avail += (etus * vec[I_MILIT] / 2);
} }
w_p_eff = 20 + (desc->pl_lcm + 2 * desc->pl_hcm); w_p_eff = 20 + (desc->pl_lcm + 2 * desc->pl_hcm);
delta = roundavg((double)avail / w_p_eff); delta = roundavg((double)avail / w_p_eff);

View file

@ -170,10 +170,5 @@ upd_slmilcosts(natid n, int etu)
int int
bank_income(struct sctstr *sp, int etu) bank_income(struct sctstr *sp, int etu)
{ {
int vec[I_MAX + 1]; return (int)(sp->sct_item[I_BAR] * etu * bankint * sp->sct_effic / 100);
if (getvec(VT_ITEM, vec, (s_char *)sp, EF_SECTOR) <= 0)
return 0;
else
return (int)(vec[I_BAR] * etu * bankint * sp->sct_effic / 100);
} }

View file

@ -148,7 +148,6 @@ guerrilla(struct sctstr *sp)
int convert; int convert;
natid actor; natid actor;
natid victim; natid victim;
int vec[I_MAX + 1];
int tmp; int tmp;
int min_mil; int min_mil;
int val; int val;
@ -162,16 +161,13 @@ guerrilla(struct sctstr *sp)
move = 0; move = 0;
if (!sp->sct_che) if (!sp->sct_che)
return; return;
if (getvec(VT_ITEM, vec, (s_char *)sp, EF_SECTOR) <= 0) civ = sp->sct_item[I_CIVIL];
return; uw = sp->sct_item[I_UW];
civ = vec[I_CIVIL];
uw = vec[I_UW];
victim = sp->sct_own; victim = sp->sct_own;
actor = sp->sct_oldown; actor = sp->sct_oldown;
che = sp->sct_che; che = sp->sct_che;
mil = sp->sct_item[I_MILIT];
mil = vec[I_MILIT];
snxtitem_xy(&ni, EF_LAND, sp->sct_x, sp->sct_y); snxtitem_xy(&ni, EF_LAND, sp->sct_x, sp->sct_y);
while (NULL != (lp = (struct lndstr *)nxtitemp(&ni, 0))) { while (NULL != (lp = (struct lndstr *)nxtitemp(&ni, 0))) {

View file

@ -211,7 +211,6 @@ sail_nav_fleet(struct fltheadstr *fltp)
{ {
struct fltelemstr *fe; struct fltelemstr *fe;
struct shpstr *sp, ship; struct shpstr *sp, ship;
int vec[I_MAX + 1];
struct sctstr *sectp; struct sctstr *sectp;
int error = 0; int error = 0;
s_char *s, *p; s_char *s, *p;
@ -253,8 +252,7 @@ sail_nav_fleet(struct fltheadstr *fltp)
} }
for (fe = fltp->head; fe; fe = fe->next) { for (fe = fltp->head; fe; fe = fe->next) {
sp = getshipp(fe->num); sp = getshipp(fe->num);
getvec(VT_ITEM, vec, (s_char *)sp, EF_SHIP); if (sp->shp_item[I_MILIT] == 0 && sp->shp_item[I_CIVIL] == 0) {
if (vec[I_MILIT] == 0 && vec[I_CIVIL] == 0) {
wu(0, fltp->own, wu(0, fltp->own,
" ship #%d (%s) is crewless and can't go on\n", " ship #%d (%s) is crewless and can't go on\n",
fe->num, cname(fe->own)); fe->num, cname(fe->own));