2 * Empire - A multi-player, client/server Internet based war game.
3 * Copyright (C) 1986-2004, Dave Pare, Jeff Bailey, Thomas Ruschak,
4 * Ken Stevens, Steve McClure
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22 * See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
23 * related information and legal notices. It is expected that any future
24 * projects/authors will amend these files as needed.
28 * path.h: Definitions for directions, paths, etc.
30 * Known contributors to this file:
37 #include "misc.h" /* s_char coord etc. */
38 #include "sect.h" /* struct sctstr */
41 /* direction indices */
54 #define SELL_NOT_DELIV 7 /* in "_use" field => contract */
56 extern int dirindex[];
57 extern int diroff[][2];
58 extern s_char dirch[];
60 /* src/lib/subs/paths.c */
61 extern s_char *getpath(s_char *, s_char *, coord, coord, int, int,
63 extern double fcost(struct sctstr *, natid);
64 extern double ncost(struct sctstr *, natid);
65 extern double pathtoxy(s_char *, coord *, coord *,
66 double (*)(struct sctstr * sp, natid own));
67 extern int chkdir(s_char, int, int);
68 extern int getdir(s_char *, s_char *, s_char *, s_char *);
69 extern void direrr(s_char *, s_char *, s_char *);
70 extern int chkpath(natid, s_char *, coord, coord);
71 extern void pathrange(register coord, register coord, register s_char *,
74 extern double sector_mcost(struct sctstr *sp, int do_bonus);
76 #define P_NONE 0 /* NO destinations allowed */
77 #define P_WALKING 1 /* use BestLandPath, only owned */
78 #define P_FLYING 2 /* use bestpath, any */
79 #define P_SAILING 3 /* use bestpath, any */
80 #define P_DISTING 4 /* use BestDistPath, only owned */
82 #define MAX_PATH_LEN 1024