#ifndef __MOVEHPP__ #define __MOVEHPP__ #include #include #include "movezone.hpp" #include "movecell.hpp" struct PATHELEMENT { PATHZONEELEMENT cell; CCellPath *cellpath; PATHELEMENT (const PATHZONEELEMENT& ncell,CCellPath *npath) {cell = ncell;cellpath = npath;} // ~PATHELEMENT (void) // { delete cellpath; cellpath = NULL; } }; void DoPathTick (void); bool CalcPath (std::stack *dest,CPoint start,CPoint end,int depth,bool followshort); void InitMoveData (void); struct PATHQUEUEELEMENT { int sx,sy; int dx,dy; CPerson *who; bool cell; PATHQUEUEELEMENT (void) { sx = sy = dx = dy = -1; cell = false; who = NULL; } PATHQUEUEELEMENT (int p1,int p2,int p3,int p4,CPerson *p5,bool p6) { sx = p1; sy = p2; dx = p3; dy = p4; who = p5; cell = p6; } ~PATHQUEUEELEMENT (void) { sx = sy = dx = dy = -1; who = NULL; } void operator= (PATHQUEUEELEMENT& rhs) { sx = rhs.sx; sy = rhs.sy; dx = rhs.dx; dy = rhs.dy; who = rhs.who; cell = rhs.cell; } }; extern std::queue g_PathQueue; #endif