#include <queue>
#include "vec2i.h"
Go to the source code of this file.
|
#define | AstarDebugPrint(x) |
|
enum | _move_return_ {
PF_FAILED = -3,
PF_UNREACHABLE = -2,
PF_REACHED = -1,
PF_WAIT = 0,
PF_MOVE = 1
} |
|
enum | VisitResult { VisitResult_Finished,
VisitResult_DeadEnd,
VisitResult_Ok,
VisitResult_Cancel
} |
|
int | AStarFixedUnitCrossingCost |
| cost associated to move on a tile occupied by a fixed unit More...
|
|
int | AStarMovingUnitCrossingCost |
| cost associated to move on a tile occupied by a moving unit More...
|
|
bool | AStarKnowUnseenTerrain |
| Whether to have knowledge of terrain that we haven't visited yet. More...
|
|
int | AStarUnknownTerrainCost |
| Cost of using a square we haven't seen before. More...
|
|
const int | Heading2X [9] |
|
const int | Heading2Y [9] |
|
const int | XY2Heading [3][3] |
|
void | InitPathfinder () |
| Init the pathfinder. More...
|
|
void | FreePathfinder () |
| Free the pathfinder. More...
|
|
int | NextPathElement (CUnit &unit, short int *xdp, short int *ydp) |
| Returns the next element of the path. More...
|
|
int | UnitReachable (const CUnit &unit, const CUnit &dst, int range) |
| Return distance to unit. More...
|
|
int | PlaceReachable (const CUnit &src, const Vec2i &pos, int w, int h, int minrange, int maxrange) |
| Can the unit 'src' reach the place x,y. More...
|
|
void | SetAStarFixedUnitCrossingCost (int cost) |
|
int | GetAStarFixedUnitCrossingCost () |
|
void | SetAStarMovingUnitCrossingCost (int cost) |
|
int | GetAStarMovingUnitCrossingCost () |
|
void | SetAStarUnknownTerrainCost (int cost) |
|
int | GetAStarUnknownTerrainCost () |
|
void | PathfinderCclRegister () |
|
#define AstarDebugPrint |
( |
|
x | ) |
|
Result codes of the pathfinder.
- Todo:
- Another idea is SINT_MAX as reached, SINT_MIN as unreachable stop others how far to goal.
Enumerator |
---|
PF_FAILED |
|
PF_UNREACHABLE |
This Pathfinder failed, try another.
|
PF_REACHED |
Unreachable stop.
|
PF_WAIT |
Reached goal stop.
|
PF_MOVE |
Wait, no time or blocked.
|
Enumerator |
---|
VisitResult_Finished |
|
VisitResult_DeadEnd |
|
VisitResult_Ok |
|
VisitResult_Cancel |
|
Free the pathfinder.
Free the pathfinder
int GetAStarFixedUnitCrossingCost |
( |
| ) |
|
int GetAStarMovingUnitCrossingCost |
( |
| ) |
|
int GetAStarUnknownTerrainCost |
( |
| ) |
|
Init the pathfinder.
Init the pathfinder
int NextPathElement |
( |
CUnit & |
unit, |
|
|
short int * |
pxd, |
|
|
short int * |
pyd |
|
) |
| |
Returns the next element of the path.
Returns the next element of a path.
- Parameters
-
unit | Unit that wants the path element. |
pxd | Pointer for the x direction. |
pyd | Pointer for the y direction. |
- Returns
- >0 remaining path length, 0 wait for path, -1 reached goal, -2 can't reach the goal.
void PathfinderCclRegister |
( |
| ) |
|
Register CCL features for pathfinder.
int PlaceReachable |
( |
const CUnit & |
src, |
|
|
const Vec2i & |
goalPos, |
|
|
int |
w, |
|
|
int |
h, |
|
|
int |
minrange, |
|
|
int |
range |
|
) |
| |
Can the unit 'src' reach the place x,y.
Can the unit 'src' reach the place goalPos.
- Parameters
-
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. |
- Returns
- Distance to place.
void SetAStarFixedUnitCrossingCost |
( |
int |
cost | ) |
|
void SetAStarMovingUnitCrossingCost |
( |
int |
cost | ) |
|
void SetAStarUnknownTerrainCost |
( |
int |
cost | ) |
|
int UnitReachable |
( |
const CUnit & |
src, |
|
|
const CUnit & |
dst, |
|
|
int |
range |
|
) |
| |
Return distance to unit.
Can the unit 'src' reach the unit 'dst'.
- Parameters
-
src | Unit for the path. |
dst | Unit to be reached. |
range | Range to unit. |
- Returns
- Distance to place.
int AStarFixedUnitCrossingCost |
cost associated to move on a tile occupied by a fixed unit
cost associated to move on a tile occupied by a fixed unit
bool AStarKnowUnseenTerrain |
Whether to have knowledge of terrain that we haven't visited yet.
int AStarMovingUnitCrossingCost |
cost associated to move on a tile occupied by a moving unit
int AStarUnknownTerrainCost |
Cost of using a square we haven't seen before.
const int XY2Heading[3][3] |
(C) Copyright 1998-2012 by The