Enable the new nuk_on_plane(), replacing the old one

Callers changed, as the new one isn't a drop-in replacements.
This commit is contained in:
Markus Armbruster 2008-09-06 19:22:56 -04:00
parent 64a53c90f0
commit 4086c25a15
6 changed files with 9 additions and 41 deletions

View file

@ -92,8 +92,6 @@ extern struct nchrstr nchr[N_MAXNUKE + 1];
/* src/lib/common/cargo.c */ /* src/lib/common/cargo.c */
extern void nuk_carrier_change(struct nukstr *, int, int, int); extern void nuk_carrier_change(struct nukstr *, int, int, int);
#if 0 /* clashes with the one in src/lib/subs/nuke.c */
extern int nuk_on_plane(struct plnstr *); extern int nuk_on_plane(struct plnstr *);
#endif
#endif #endif

View file

@ -521,7 +521,6 @@ extern char *prnuke(struct nukstr *);
extern void nuk_oninit(void *); extern void nuk_oninit(void *);
extern void nuk_postread(int, void *); extern void nuk_postread(int, void *);
extern void nuk_prewrite(int, void *, void *); extern void nuk_prewrite(int, void *, void *);
extern int nuk_on_plane(struct nukstr *, int);
/* nxtitem.c */ /* nxtitem.c */
extern int nxtitem(struct nstr_item *, void *); extern int nxtitem(struct nstr_item *, void *);
/* nxtsct.c */ /* nxtsct.c */

View file

@ -73,7 +73,7 @@ arm(void)
return RET_FAIL; return RET_FAIL;
} }
} }
if (pl.pln_nuketype < 0) { if (!getnuke(nuk_on_plane(&pl), &nuke)) {
sprintf(prompt, "Nuclear device for %s: ", prplane(&pl)); sprintf(prompt, "Nuclear device for %s: ", prplane(&pl));
p = getstarg(player->argp[2], prompt, buf); p = getstarg(player->argp[2], prompt, buf);
if (!p || !*p) if (!p || !*p)
@ -83,11 +83,6 @@ arm(void)
nukno = atoi(p); nukno = atoi(p);
if (!getnuke(nukno, &nuke) || !player->owner) if (!getnuke(nukno, &nuke) || !player->owner)
return RET_FAIL; return RET_FAIL;
} else {
if (nuk_on_plane(&nuke, pl.pln_uid) < 0) {
CANT_REACH();
continue;
}
} }
ncp = &nchr[nuke.nuk_type]; ncp = &nchr[nuke.nuk_type];
if (pln_load(&pl) < ncp->n_weight) { if (pln_load(&pl) < ncp->n_weight) {
@ -143,7 +138,7 @@ disarm(void)
while (nxtitem(&ni, &pl)) { while (nxtitem(&ni, &pl)) {
if (!player->owner) if (!player->owner)
continue; continue;
if (pl.pln_nuketype == -1) if (!getnuke(nuk_on_plane(&pl), &nuke))
continue; continue;
if (opt_MARKET) { if (opt_MARKET) {
if (ontradingblock(EF_PLANE, &pl)) { if (ontradingblock(EF_PLANE, &pl)) {
@ -152,10 +147,6 @@ disarm(void)
return RET_FAIL; return RET_FAIL;
} }
} }
if (nuk_on_plane(&nuke, pl.pln_uid) < 0) {
CANT_REACH();
continue;
}
getsect(nuke.nuk_x, nuke.nuk_y, &sect); getsect(nuke.nuk_x, nuke.nuk_y, &sect);
if (!player->owner if (!player->owner
&& getrel(getnatp(sect.sct_own), player->cnum) != ALLIED) { && getrel(getnatp(sect.sct_own), player->cnum) != ALLIED) {

View file

@ -379,7 +379,6 @@ lnd_next_on_unit(int uid)
return unit_cargo_next(EF_LAND, uid); return unit_cargo_next(EF_LAND, uid);
} }
#if 0 /* clashes with the one in src/lib/subs/nuke.c */
/* /*
* If PP carries a nuke, return its uid, else -1. * If PP carries a nuke, return its uid, else -1.
*/ */
@ -388,4 +387,3 @@ nuk_on_plane(struct plnstr *pp)
{ {
return unit_cargo_first(EF_PLANE, pp->pln_uid, EF_NUKE); return unit_cargo_first(EF_PLANE, pp->pln_uid, EF_NUKE);
} }
#endif

View file

@ -94,21 +94,6 @@ nuk_prewrite(int n, void *old, void *new)
np->nuk_own = own; np->nuk_own = own;
} }
int
nuk_on_plane(struct nukstr *np, int pluid)
{
struct nstr_item ni;
snxtitem_all(&ni, EF_NUKE);
while (nxtitem(&ni, np)) {
if (np->nuk_own == 0)
continue;
if (np->nuk_plane == pluid)
return np->nuk_uid;
}
return -1;
}
void void
nuk_oninit(void *ptr) nuk_oninit(void *ptr)
{ {

View file

@ -1135,8 +1135,7 @@ pln_damage(struct plnstr *pp, coord x, coord y, char type, int *nukedamp,
int effective = 1; int effective = 1;
int pinbomber = 0; int pinbomber = 0;
if (pp->pln_nuketype != -1) { if (getnuke(nuk_on_plane(pp), &nuke)) {
if (nuk_on_plane(&nuke, pp->pln_uid) >= 0) {
mpr(pp->pln_own, "Releasing RV's for %s detonation...\n", mpr(pp->pln_own, "Releasing RV's for %s detonation...\n",
pp->pln_flags & PLN_AIRBURST ? "airburst" : "groundburst"); pp->pln_flags & PLN_AIRBURST ? "airburst" : "groundburst");
pp->pln_nuketype = -1; pp->pln_nuketype = -1;
@ -1144,8 +1143,6 @@ pln_damage(struct plnstr *pp, coord x, coord y, char type, int *nukedamp,
pp->pln_flags & PLN_AIRBURST); pp->pln_flags & PLN_AIRBURST);
return 0; return 0;
} }
CANT_REACH();
}
*nukedamp = 0; *nukedamp = 0;
load = pln_load(pp); load = pln_load(pp);