(can_be_on_ship, could_be_on_ship): Take pointer rather than UID

arguments.  Rename.  Callers changed.
This commit is contained in:
Markus Armbruster 2007-10-31 06:39:37 +00:00
parent 51165cf3fc
commit d3fcc89f56
4 changed files with 11 additions and 16 deletions

View file

@ -551,7 +551,7 @@ extern int pln_onewaymission(struct sctstr *, int *, int *);
extern int pln_oneway_to_carrier_ok(struct emp_qelem *, extern int pln_oneway_to_carrier_ok(struct emp_qelem *,
struct emp_qelem *, int); struct emp_qelem *, int);
extern void pln_newlanding(struct emp_qelem *, coord, coord, int); extern void pln_newlanding(struct emp_qelem *, coord, coord, int);
extern int can_be_on_ship(int, int); extern int could_be_on_ship(struct plnstr *, struct shpstr *);
extern int put_plane_on_ship(struct plnstr *, struct shpstr *); extern int put_plane_on_ship(struct plnstr *, struct shpstr *);
extern void pln_dropoff(struct emp_qelem *, struct ichrstr *, extern void pln_dropoff(struct emp_qelem *, struct ichrstr *,
coord, coord, void *, int); coord, coord, void *, int);

View file

@ -414,7 +414,7 @@ load_plane_ship(struct sctstr *sectp, struct shpstr *sp, int noisy,
continue; continue;
/* ship to (plane or missle) sanity */ /* ship to (plane or missle) sanity */
if (!can_be_on_ship(pln.pln_uid, sp->shp_uid)) { if (!could_be_on_ship(&pln, sp)) {
if (plchr[(int)pln.pln_type].pl_flags & P_L) { if (plchr[(int)pln.pln_type].pl_flags & P_L) {
strcpy(buf, "planes"); strcpy(buf, "planes");
} else if (plchr[(int)pln.pln_type].pl_flags & P_K) { } else if (plchr[(int)pln.pln_type].pl_flags & P_K) {

View file

@ -1012,7 +1012,7 @@ mission_pln_sel(struct emp_qelem *list, int wantflags, int nowantflags,
free(qp); free(qp);
continue; continue;
} }
if (!can_be_on_ship(pp->pln_uid, ship.shp_uid)) { if (!could_be_on_ship(pp, &ship)) {
goto shipsunk; goto shipsunk;
} }
if (ship.shp_effic < SHIP_MINEFF) { if (ship.shp_effic < SHIP_MINEFF) {

View file

@ -217,7 +217,7 @@ pln_newlanding(struct emp_qelem *list, coord tx, coord ty, int cno)
plp = (struct plist *)qp; plp = (struct plist *)qp;
if (cno >= 0) { if (cno >= 0) {
count_planes(&ship); count_planes(&ship);
if (!can_be_on_ship(plp->plane.pln_uid, ship.shp_uid)) if (!could_be_on_ship(&plp->plane, &ship))
pr("\t%s cannot land on ship #%d! %s aborts!\n", pr("\t%s cannot land on ship #%d! %s aborts!\n",
prplane(&plp->plane), cno, prplane(&plp->plane)); prplane(&plp->plane), cno, prplane(&plp->plane));
else if (!put_plane_on_ship(&plp->plane, &ship)) else if (!put_plane_on_ship(&plp->plane, &ship))
@ -458,7 +458,7 @@ pln_sel(struct nstr_item *ni, struct emp_qelem *list, struct sctstr *ap,
putplane(plane.pln_uid, &plane); putplane(plane.pln_uid, &plane);
continue; continue;
} }
if (!can_be_on_ship(plane.pln_uid, ship.shp_uid)) if (!could_be_on_ship(&plane, &ship))
goto shipsunk; goto shipsunk;
if (ship.shp_effic < SHIP_MINEFF) if (ship.shp_effic < SHIP_MINEFF)
goto shipsunk; goto shipsunk;
@ -951,19 +951,14 @@ take_plane_off_land(struct plnstr *plane, struct lndstr *land)
putplane(plane->pln_uid, plane); putplane(plane->pln_uid, plane);
} }
/*
* Could a plane of PP's type be on on a ship of SP's type?
*/
int int
can_be_on_ship(int p, int s) could_be_on_ship(struct plnstr *pp, struct shpstr *sp)
{ {
struct plnstr plane; struct plchrstr *pcp = plchr + pp->pln_type;
struct shpstr ship; struct mchrstr *mcp = mchr + sp->shp_type;
struct plchrstr *pcp;
struct mchrstr *mcp;
getplane(p, &plane);
getship(s, &ship);
pcp = &plchr[(int)plane.pln_type];
mcp = &mchr[(int)ship.shp_type];
if (pcp->pl_flags & P_L) if (pcp->pl_flags & P_L)
if (mcp->m_flags & M_FLY) if (mcp->m_flags & M_FLY)