The open source repository for the action RPG game in development by Sig Productions titled 'Adventures in Lestoria'!
https://forums.lestoria.net
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
891 B
26 lines
891 B
#pragma once
|
|
#include "olcPixelGameEngine.h"
|
|
|
|
struct Pathfinding{
|
|
struct sNode
|
|
{
|
|
bool bObstacle = false; // Is the node an obstruction?
|
|
bool bObstacleUpper = false; // Is the node an obstruction on the upper level?
|
|
bool bVisited = false; // Have we searched this node before?
|
|
float fGlobalGoal; // Distance to goal so far
|
|
float fLocalGoal; // Distance to goal if we took the alternative route
|
|
int x; // Nodes position in 2D space
|
|
int y;
|
|
std::vector<sNode*> vecNeighbours; // Connections to neighbours
|
|
sNode* parent=nullptr; // Node connecting to this node that offers shortest parent
|
|
};
|
|
|
|
sNode *nodes = nullptr;
|
|
|
|
sNode *nodeStart = nullptr;
|
|
sNode *nodeEnd = nullptr;
|
|
|
|
void Initialize();
|
|
//maxRange in tiles. Returns the path as points.
|
|
std::vector<vf2d> Solve_AStar(vf2d startPos,vf2d endPos,float maxRange=8,bool upperLevel=false);
|
|
}; |