#define DIR_FIRST 1
#define DIR_LAST 6
+enum p_mode { /* How to find path to destination */
+ P_NONE, /* don't */
+ P_WALKING, /* use BestLandPath() */
+ P_FLYING, /* use BestAirPath() */
+ P_SAILING /* use BestShipPath() */
+};
+
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 char *getpath(char *, char *, coord, coord, 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 double pathtoxy(char *, coord *, coord *,
+ double (*)(struct sctstr *, natid));
+extern int chkdir(char, int, int);
extern int diridx(char);
-extern void direrr(s_char *, s_char *, s_char *);
-extern void pathrange(register coord, register coord, register s_char *,
- int, struct range *);
+extern void direrr(char *, char *, char *);
+extern void pathrange(coord, coord, char *, int, struct range *);
extern double sector_mcost(struct sctstr *sp, int do_bonus);
-#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 MAX_PATH_LEN 1024
#endif
#include "prototypes.h"
int
-chkdir(s_char dir_char, int min_dir, int max_dir)
+chkdir(char dir_char, int min_dir, int max_dir)
{
- register int i;
+ int i;
for (i = min_dir; i <= max_dir; i++)
if (dir_char == dirch[i])
}
void
-direrr(s_char *stop_msg, s_char *view_msg, s_char *map_msg)
+direrr(char *stop_msg, char *view_msg, char *map_msg)
{
pr("Legal directions are:\n");
pr(" %c %c\n", dirch[DIR_UL], dirch[DIR_UR]);
*/
char *
getpath(char *buf, char *arg, coord x, coord y, int onlyown,
- int showdes, int destinations)
+ int showdes, enum p_mode destinations)
{
char buf2[1024];
char *p = buf;
* movement cost it takes to get there.
*/
double
-pathtoxy(s_char *path, coord *xp, coord *yp,
- double (*cost) (struct sctstr *, natid))
+pathtoxy(char *path, coord *xp, coord *yp,
+ double (*cost)(struct sctstr *, natid))
{
struct sctstr s;
- s_char *pp;
+ char *pp;
coord x;
coord y;
int val;
}
void
-pathrange(coord cx, coord cy, s_char *pp, int border, struct range *range)
+pathrange(coord cx, coord cy, char *pp, int border, struct range *range)
{
int dir;