Replace getvec() by direct, read-only item access in some cases where
that's obviously correct.
This commit is contained in:
parent
99bfa19a92
commit
b1461faea5
23 changed files with 164 additions and 222 deletions
|
@ -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;
|
||||||
|
|
|
@ -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];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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])
|
||||||
|
|
|
@ -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 *)§, 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) {
|
||||||
|
|
|
@ -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 *)§, 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) {
|
||||||
|
|
|
@ -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 *)§, 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(§);
|
set_coastal(§);
|
||||||
|
@ -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:
|
||||||
|
|
|
@ -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");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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, §);
|
getsect(nuk.nuk_x, nuk.nuk_y, §);
|
||||||
getvec(VT_ITEM, item, (s_char *)§, 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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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, §)) {
|
while (nxtsct(&nstr, §)) {
|
||||||
if (!player->owner)
|
if (!player->owner)
|
||||||
continue;
|
continue;
|
||||||
getvec(VT_ITEM, items, (s_char *)§, 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], §);
|
maxpop = max_pop((float)natp->nat_level[NAT_RLEV], §);
|
||||||
|
@ -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 *)§, 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], §);
|
maxpop = max_pop((float)natp->nat_level[NAT_RLEV], §);
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 *)§, 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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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, §))
|
if (!getsect(curx, cury, §))
|
||||||
return RET_FAIL;
|
return RET_FAIL;
|
||||||
getvec(VT_ITEM, vec, (s_char *)§, 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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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]);
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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))) {
|
||||||
|
|
|
@ -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));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue