_________ __ __
/ _____// |_____________ _/ |______ ____ __ __ ______
\_____ \\ __\_ __ \__ \\ __\__ \ / ___\| | \/ ___/
/ \| | | | \// __ \| | / __ \_/ /_/ > | /\___ \
/_______ /|__| |__| (____ /__| (____ /\___ /|____//____ >
\/ \/ \//_____/ \/
______________________ ______________________
T H E W A R B E G I N S
Stratagus - A free fantasy real time strategy game engine
#include "stratagus.h"#include "pathfinder.h"#include "actions.h"#include "map.h"#include "unittype.h"#include "unit.h"Functions | |
pathfinder.cpp - The path finder routines. | |
| void | InitAStar (int mapWidth, int mapHeight) |
| Init the a* data structures. More... | |
| void | FreeAStar () |
| free the a* data structures More... | |
| int | AStarFindPath (const Vec2i &startPos, const Vec2i &goalPos, int gw, int gh, int tilesizex, int tilesizey, int minrange, int maxrange, char *path, int pathlen, const CUnit &unit) |
| Find and a* path for a unit. More... | |
| void | InitPathfinder () |
| Init the pathfinder. More... | |
| void | FreePathfinder () |
| Free the pathfinder. More... | |
| int | PlaceReachable (const CUnit &src, const Vec2i &goalPos, int w, int h, int minrange, int range, bool from_outside_container) |
| Can the unit 'src' reach the place x,y. More... | |
| int | UnitReachable (const CUnit &src, const CUnit &dst, int range, bool from_outside_container) |
| Return path length to unit 'dst'. More... | |
| int | CalcPathLengthToUnit (const CUnit &src, const CUnit &dst, const int minrange, const int range) |
| Return path length to unit 'dst' or error code. More... | |
| static int | NewPath (PathFinderInput &input, PathFinderOutput &output) |
| int | NextPathElement (CUnit &unit, short int *pxd, short int *pyd) |
| Returns the next element of the path. More... | |
| int AStarFindPath | ( | const Vec2i & | startPos, |
| const Vec2i & | goalPos, | ||
| int | gw, | ||
| int | gh, | ||
| int | tilesizex, | ||
| int | tilesizey, | ||
| int | minrange, | ||
| int | maxrange, | ||
| char * | path, | ||
| int | pathlen, | ||
| const CUnit & | unit | ||
| ) |
Find and a* path for a unit.
Find path.
| int CalcPathLengthToUnit | ( | const CUnit & | src, |
| const CUnit & | dst, | ||
| const int | minrange, | ||
| const int | range | ||
| ) |
Return path length to unit 'dst' or error code.
Calc path length for the unit 'src' to reach the unit 'dst'.
| src | Unit for the path. |
| dst | Unit to be reached. |
| minrange | min range to the tile |
| range | Range to the tile. |
change Path Finder setting to don't count tiles with enemy units as passable
restore Path Finder setting
| void FreeAStar | ( | ) |
free the a* data structures
Free A* data structure
| void FreePathfinder | ( | ) |
Free the pathfinder.
Free the pathfinder
| void InitAStar | ( | int | mapWidth, |
| int | mapHeight | ||
| ) |
Init the a* data structures.
Init A* data structures
| void InitPathfinder | ( | ) |
Init the pathfinder.
Init the pathfinder
|
static |
Find new path.
The destination could be a unit or a field. Range gives how far we must reach the goal.
| unit | Path for this unit. |
| int NextPathElement | ( | CUnit & | unit, |
| short int * | pxd, | ||
| short int * | pyd | ||
| ) |
Returns the next element of the path.
Returns the next element of a path.
| unit | Unit that wants the path element. |
| pxd | Pointer for the x direction. |
| pyd | Pointer for the y direction. |
| int PlaceReachable | ( | const CUnit & | src, |
| const Vec2i & | goalPos, | ||
| int | w, | ||
| int | h, | ||
| int | minrange, | ||
| int | range, | ||
| bool | from_outside_container | ||
| ) |
Can the unit 'src' reach the place x,y.
Can the unit 'src' reach the place goalPos.
| src | Unit for the path. |
| goalPos | Map tile position. |
| w | Width of Goal |
| h | Height of Goal |
| minrange | min range to the tile |
| range | Range to the tile. |
change Path Finder setting to don't count tiles with enemy units as passable
restore Path Finder setting
1.8.17
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.