/*
* Empire - A multi-player, client/server Internet based war game.
- * Copyright (C) 1986-2009, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ * Copyright (C) 1986-2010, Dave Pare, Jeff Bailey, Thomas Ruschak,
* Ken Stevens, Steve McClure
*
* This program is free software; you can redistribute it and/or modify
*/
static int
-nav_loadship(struct shpstr *sp, natid cnum)
+nav_loadship(struct shpstr *sp)
{
struct sctstr *sectp;
int i, landown, shipown, didsomething[TMAX], rel;
landown = sectp->sct_own;
shipown = sp->shp_own;
- rel = getrel(getnatp(sectp->sct_own), cnum);
+ rel = getrel(getnatp(sectp->sct_own), sp->shp_own);
/* loop through each field for that ship */
for (i = 0; i < TMAX; ++i) {
int dummyint;
double dummydouble;
int dir;
- natid cnum;
/* just return if no autonaving to do for this ship */
if (!(sp->shp_autonav & AN_AUTONAV) || (sp->shp_autonav & AN_STANDBY))
return 0;
- cnum = sp->shp_own;
-
/* Make a list of one ships so we can use the navi.c code */
emp_initque(&ship_list);
mlp = malloc(sizeof(struct ulist));
mlp->chrp = (struct empobj_chr *)(mchr + sp->shp_type);
mlp->unit.ship = *sp;
+ ef_mark_fresh(EF_SHIP, &mlp->unit.ship);
mlp->mobil = sp->shp_mobil;
emp_insque(&mlp->queue, &ship_list);
- quit = 1; /* setup loop, we want to check it 1 time. */
-
do {
if ((sp->shp_mobil > 0) && (!(sp->shp_autonav & AN_LOADING)) &&
(!(sp->shp_autonav & AN_STANDBY))) {
sp->shp_destx[0], sp->shp_desty[0],
sp->shp_own);
if (!cp) {
- wu(0, cnum,
+ wu(0, sp->shp_own,
"%s bad path, ship put on standby\n", prship(sp));
sp->shp_autonav |= AN_STANDBY;
putship(sp->shp_uid, sp);
/* Try to load the ship */
if (sp->shp_autonav & AN_LOADING) {
- didsomething = nav_loadship(sp, cnum);
+ didsomething = nav_loadship(sp);
if (didsomething)
quit = 1;
}