]> git.pond.sub.org Git - empserver/blobdiff - src/lib/update/nav_ship.c
COPYING duplicates information from README. Remove. Move GPL from
[empserver] / src / lib / update / nav_ship.c
index 99a490b945940cdaa2a0e1c440dff865eac8877d..9907e012e358f6316e455d72dae6856cfcd3f4ab 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2004, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2006, Dave Pare, Jeff Bailey, Thomas Ruschak,
  *                           Ken Stevens, Steve McClure
  *
  *  This program is free software; you can redistribute it and/or modify
@@ -19,9 +19,9 @@
  *
  *  ---
  *
- *  See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
- *  related information and legal notices. It is expected that any future
- *  projects/authors will amend these files as needed.
+ *  See files README, COPYING and CREDITS in the root of the source
+ *  tree for related information and legal notices.  It is expected
+ *  that future projects/authors will amend these files as needed.
  *
  *  ---
  *
@@ -32,6 +32,8 @@
  *     Ken Stevens, 1995
  */
 
+#include <config.h>
+
 #include "misc.h"
 
 #include <ctype.h>
@@ -191,8 +193,7 @@ nav_loadship(struct shpstr *sp, natid cnum)
            didsomething[i] = 1;
            continue;
        }
-       if (sectp->sct_type != SCT_HARBR &&
-           (!opt_BIG_CITY || sectp->sct_type != SCT_CAPIT)) {
+       if (!sect_has_dock(sectp)) {
            /* we can only load in harbors */
            didsomething[i] = 1;
            continue;
@@ -234,12 +235,12 @@ int
 nav_ship(struct shpstr *sp)
 {
     struct sctstr *sectp;
-    s_char *cp;
+    char *cp;
     int stopping;
     int quit;
     int didsomething = 0;
     int max_amt, food_amt;
-    s_char buf[1024];
+    char buf[1024];
     struct emp_qelem ship_list;
     struct emp_qelem *qp, *newqp;
     struct mlist *mlp;
@@ -258,7 +259,7 @@ nav_ship(struct shpstr *sp)
 
     /* Make a list of one ships so we can use the navi.c code */
     emp_initque(&ship_list);
-    mlp = (struct mlist *)malloc(sizeof(struct mlist));
+    mlp = malloc(sizeof(struct mlist));
     mlp->mcp = mchr + sp->shp_type;
     mlp->ship = *sp;
     mlp->mobil = (double)sp->shp_mobil;
@@ -288,14 +289,14 @@ nav_ship(struct shpstr *sp)
                wu(0, cnum,
                   "%s bad path, ship put on standby\n", prship(sp));
                sp->shp_autonav |= AN_STANDBY;
-               putship(sp->shp_uid, (s_char *)sp);
+               putship(sp->shp_uid, sp);
 
                /* We need to free the ship list */
                qp = ship_list.q_forw;
-               while (qp != &(ship_list)) {
+               while (qp != &ship_list) {
                    newqp = qp->q_forw;
                    emp_remque(qp);
-                   free((s_char *)qp);
+                   free(qp);
                    qp = newqp;
                }
                return RET_SYN;
@@ -303,14 +304,11 @@ nav_ship(struct shpstr *sp)
            stopping = 0;
 
            while (*cp && !stopping && sp->shp_own && mlp->mobil > 0.0) {
-               dir = chkdir(*cp++, DIR_STOP, DIR_LAST);
-
+               dir = diridx(*cp++);
                stopping |= shp_nav_one_sector(&ship_list, dir,
                                               sp->shp_own, 0);
            }
 
-/*                     sp->shp_mobil = (int) mobil;
- */
            /* Ship not sunk */
            if (sp->shp_own)
                nav_check_atdest(sp);
@@ -341,10 +339,10 @@ nav_ship(struct shpstr *sp)
 
     /* We need to free the ship list (just in case) */
     qp = ship_list.q_forw;
-    while (qp != &(ship_list)) {
+    while (qp != &ship_list) {
        newqp = qp->q_forw;
        emp_remque(qp);
-       free((s_char *)qp);
+       free(qp);
        qp = newqp;
     }
     return RET_OK;