btmux/autom4te.cache/
btmux/doc/.svn/
btmux/event/.svn/
btmux/game/.svn/
btmux/game/bin/.svn/
btmux/game/data/.svn/
btmux/game/logs/.svn/
btmux/game/maps/
btmux/game/maps/.svn/
btmux/game/maps/.svn/prop-base/
btmux/game/maps/.svn/props/
btmux/game/maps/.svn/text-base/
btmux/game/maps/.svn/wcprops/
btmux/game/mechs/
btmux/game/mechs/.svn/
btmux/game/mechs/.svn/prop-base/
btmux/game/mechs/.svn/props/
btmux/game/mechs/.svn/text-base/
btmux/game/mechs/.svn/wcprops/
btmux/game/text/.svn/
btmux/include/.svn/
btmux/misc/
btmux/misc/.svn/
btmux/misc/.svn/prop-base/
btmux/misc/.svn/props/
btmux/misc/.svn/text-base/
btmux/misc/.svn/wcprops/
btmux/python/
btmux/python/.svn/
btmux/python/.svn/prop-base/
btmux/python/.svn/props/
btmux/python/.svn/text-base/
btmux/python/.svn/wcprops/
btmux/src/.svn/prop-base/
btmux/src/.svn/props/
btmux/src/.svn/text-base/
btmux/src/.svn/wcprops/
btmux/src/hcode/.svn/
btmux/src/hcode/btech/
btmux/src/hcode/btech/.svn/
btmux/src/hcode/btech/.svn/prop-base/
btmux/src/hcode/btech/.svn/props/
btmux/src/hcode/btech/.svn/text-base/
btmux/src/hcode/btech/.svn/wcprops/
btmux/src/hcode/include/.svn/
/*
 * $Id: spath.h,v 1.1 2005/06/13 20:50:53 murrayma Exp $
 *
 * Last modified: Sat Jun  6 20:57:26 1998 fingon
 *
 */

#ifndef SPATH_H
#define SPATH_H

#define HEX_BASED
#undef APPROXIMATE_ASTAR

/* note the cols should be 2 more than the screen size because if we
 * have a point at the extremes and we check to see if we can go in
 * all directions, we don't need a special case to check these. (same
 * for rows) */

typedef struct {
    int *coords;
    int coordcount;
    int iterations;
    int score;
} SPATHRESULT;

void FreePath(SPATHRESULT * res);
SPATHRESULT *CalculatePath(int x1, int y1, int x2, int y2, int errper);


#ifdef _SPATH_C


#ifdef HEX_BASED
#define NBCOUNT 6
#else
#define NBCOUNT 8
#endif

typedef struct NODETYPE {
    int x, y;
    int f, h, g;
    int NodeNum;
    struct NODETYPE *Parent;
    struct NODETYPE *Child[NBCOUNT];	/* a node may have upto NBC children. */
    struct NODETYPE *next;	/* for filing purposes */
} NODE;


#define TileNum(x,y) ((x) + ((y) << 16))

/**************************************************************************/

/*                                 STACK                                  */

/**************************************************************************/
typedef struct STACKTYPE {
    NODE *Node;
    struct STACKTYPE *Next;
} MYSTACK;

#endif
#include "p.spath.h"

#endif				/* SPATH_H */