]> git.pond.sub.org Git - empserver/blobdiff - include/path.h
WIP empdump, %a
[empserver] / include / path.h
index b990bc3e521a9d0385432e73d10a592b7e3b3597..e3bf92a9cd379947219881b64deff1ae374bd7c8 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  Empire - A multi-player, client/server Internet based war game.
- *  Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+ *  Copyright (C) 1986-2008, 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.
  *
  *  ---
  *
  *  
  */
 
-#ifndef _PATH_H_
-#define _PATH_H_
+#ifndef PATH_H
+#define PATH_H
 
-#include "misc.h"              /* s_char coord etc. */
-#include "sect.h"              /* struct sctstr */
-#include "xy.h"
+#include "types.h"
 
        /* direction indices */
 #define        DIR_STOP        0
 #define        DIR_FIRST       1
 #define        DIR_LAST        6
 
-#define        SELL_NOT_DELIV  7       /* in "_use" field => contract */
+enum p_mode {                  /* How to find path to destination */
+    P_NONE,                    /* don't */
+    P_FLYING,                  /* use BestAirPath() */
+    P_SAILING                  /* use BestShipPath() */
+};
 
-extern int dirindex[];
-extern int diroff[][2];
-extern s_char dirch[];
+extern signed char dirindex['z'-'a'+1];
+extern int diroff[DIR_MAP+1][2];
+extern char dirch[DIR_MAP+2];
+extern char *routech[DIR_LAST+1][2];
 
 /* src/lib/subs/paths.c */
-extern s_char *getpath(s_char *, s_char *, coord, coord, int, int,
-                      int, int);
+extern char *getpath(char *, char *, coord, coord, int, int, enum p_mode);
 extern double fcost(struct sctstr *, natid);
 extern double ncost(struct sctstr *, natid);
-extern double pathtoxy(s_char *, coord *, coord *,
-                      double (*)(struct sctstr * sp, natid own));
-extern int chkdir(s_char, int, int);
-extern int getdir(s_char *, s_char *, s_char *, s_char *);
-extern void direrr(s_char *, s_char *, s_char *);
-extern double mcost(struct sctstr *, int);
-extern int chkpath(natid, s_char *, coord, coord);
-extern void pathrange(register coord, register coord, register s_char *,
-                     int, struct range *);
+extern double pathtoxy(char *, coord *, coord *,
+                      double (*)(struct sctstr *, natid));
+extern int chkdir(char, int, int);
+extern int diridx(char);
+extern void direrr(char *, char *, char *);
+extern void pathrange(coord, coord, char *, int, struct range *);
 
-extern s_char *masktopath();
-extern long pathtomask();
-
-extern double sector_mcost();
-
-#define        P_NONE          0       /* NO destinations allowed */
-#define        P_WALKING       1       /* use BestLandPath, only owned */
-#define        P_FLYING        2       /* use bestpath, any */
-#define        P_SAILING       3       /* use bestpath, any */
-#define        P_DISTING       4       /* use BestDistPath, only owned */
+extern double sector_mcost(struct sctstr *, int);
+extern double speed_factor(double, int);
 
 #define MAX_PATH_LEN 1024
 
-#endif /* _PATH_H_ */
+#endif