AlpacaLibary  1.63
A closed source C++ bot for OSRS
Pathfinding.hpp File Reference
#include "../../Core/Types/Tile.hpp"
#include <vector>
#include <functional>

Go to the source code of this file.

Classes

class  Pathfinding::TileNode
 A subclass used to store information about tile nodes generated by the Pathfinding class. More...
 

Namespaces

 Pathfinding
 A class allowing easy pathfinding within the local region.
 

Typedefs

typedef enum Pathfinding::PATHFINDER Pathfinding::PATHFINDER
 

Enumerations

enum  Pathfinding::COLLISION_FLAG {
  Pathfinding::OPEN = 0 , Pathfinding::CLOSED = 0xFFFFFF , Pathfinding::UNINITIALIZED = 0x1000000 , Pathfinding::OCCUPIED = 0x100 ,
  Pathfinding::SOLID = 0x20000 , Pathfinding::BLOCKED = 0x200000 , Pathfinding::NORTH = 0x2 , Pathfinding::EAST = 0x8 ,
  Pathfinding::SOUTH = 0x20 , Pathfinding::WEST = 0x80 , Pathfinding::NORTHEAST = 0x4 , Pathfinding::SOUTHEAST = 0x10 ,
  Pathfinding::SOUTHWEST = 0x40 , Pathfinding::NORTHWEST = 0x1
}
 
enum  Pathfinding::PATHFINDER { Pathfinding::BREADTH_FIRST_SEARCH }
 
enum  Pathfinding::PATHFIND_OPTION {
  Pathfinding::CHECK_COLLISION = (1 << 1) , Pathfinding::CHECK_WHITELIST = (1 << 2) , Pathfinding::CHECK_BLACKLIST = (1 << 3) , Pathfinding::GOAL_IS_LOCAL = (1 << 4) ,
  Pathfinding::RETURN_LOCAL = (1 << 5)
}
 

Functions

std::int32_t Pathfinding::GetCurrentRegion ()
 Returns the region ID the local player is in. More...
 
void Pathfinding::GenerateNodes ()
 Clears the internal cached nodes, and generates new ones based on the local region
More...
 
void Pathfinding::SetWhitelist (const std::vector< Tile > &W)
 Sets the internal Whitelist tiles. More...
 
void Pathfinding::SetBlacklist (const std::vector< Tile > &B)
 Sets the internal Blacklist tiles. More...
 
std::vector< std::vector< TileNode > > Pathfinding::GetNodes ()
 Returns the internal TileNode cache generated by GenerateNodes() More...
 
std::vector< TilePathfinding::GetWhitelist ()
 Returns the internal Whitelist cache. More...
 
std::vector< TilePathfinding::GetBlacklist ()
 Returns the internal Blacklist cache. More...
 
Tile Pathfinding::FindWalkableTile (const Tile &T)
 
Tile Pathfinding::FindWalkableTile (const Tile &T, const Tile &Min, const Tile &Max)
 
std::vector< TilePathfinding::FindWalkableTiles (const Tile &T)
 
std::vector< TilePathfinding::FindWalkableTiles (const Tile &T, const Tile &Min, const Tile &Max)
 
std::vector< TilePathfinding::FindPathTo (const Tile &Goal, std::int32_t Options=CHECK_COLLISION|CHECK_WHITELIST|CHECK_BLACKLIST, PATHFINDER Finder=BREADTH_FIRST_SEARCH)
 
std::vector< TilePathfinding::FindPathTo (const std::vector< Tile > &Goals, std::int32_t Options=CHECK_COLLISION|CHECK_WHITELIST|CHECK_BLACKLIST, PATHFINDER Finder=BREADTH_FIRST_SEARCH)
 
std::vector< Pathfinding::TileNodePathfinding::FindNodePathTo (const Tile &Goal, std::int32_t Options=CHECK_COLLISION|CHECK_WHITELIST|CHECK_BLACKLIST, PATHFINDER Finder=BREADTH_FIRST_SEARCH)
 
std::vector< Pathfinding::TileNodePathfinding::FindNodePathTo (const std::vector< Tile > &Goals, std::int32_t Options=CHECK_COLLISION|CHECK_WHITELIST|CHECK_BLACKLIST, PATHFINDER Finder=BREADTH_FIRST_SEARCH)
 
bool Pathfinding::IsInside (std::int32_t X, std::int32_t Y)
 
std::vector< Pathfinding::TileNode * > Pathfinding::GetNeighborsTo (std::int32_t X, std::int32_t Y, bool CheckCollision=true)
 
std::vector< Pathfinding::TileNodePathfinding::Finder_BFS (std::uint32_t StartX, std::uint32_t StartY, std::uint32_t EndX, std::uint32_t EndY, std::int32_t Options)
 
std::vector< Pathfinding::TileNodePathfinding::Finder_BFS (std::uint32_t StartX, std::uint32_t StartY, const std::vector< std::pair< std::uint32_t, std::uint32_t >> &Ends, std::int32_t Options)