Release 0.65
							parent
							
								
									f99afa00c8
								
							
						
					
					
						commit
						71dce61c09
					
				| 
						 | 
					@ -17,6 +17,7 @@ namespace Internal
 | 
				
			||||||
            Region(const Region& R);
 | 
					            Region(const Region& R);
 | 
				
			||||||
            static Class GetClass();
 | 
					            static Class GetClass();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            std::int32_t GetEntityCount() const;
 | 
				
			||||||
            std::vector<GameObject> GetGameObjects() const;
 | 
					            std::vector<GameObject> GetGameObjects() const;
 | 
				
			||||||
            GameObject GetGameObjects(std::int32_t I) const;
 | 
					            GameObject GetGameObjects(std::int32_t I) const;
 | 
				
			||||||
            std::vector<std::vector<std::vector<SceneTile>>> GetSceneTiles() const;
 | 
					            std::vector<std::vector<std::vector<SceneTile>>> GetSceneTiles() const;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,6 @@ std::int32_t UniformRandom(std::int32_t Min, std::int32_t Max);
 | 
				
			||||||
double UniformRandom();
 | 
					double UniformRandom();
 | 
				
			||||||
std::int32_t NormalRandom(std::int32_t Mean, double StandardDeviation);
 | 
					std::int32_t NormalRandom(std::int32_t Mean, double StandardDeviation);
 | 
				
			||||||
std::int32_t NormalRandom(std::int32_t Low, std::int32_t High, double PercentageDeviation);
 | 
					std::int32_t NormalRandom(std::int32_t Low, std::int32_t High, double PercentageDeviation);
 | 
				
			||||||
std::vector<Point> Spiral(Point Start, Box Area);
 | 
					 | 
				
			||||||
std::vector<Point> ConvexHull(std::vector<Point> Points);
 | 
					std::vector<Point> ConvexHull(std::vector<Point> Points);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @} */
 | 
					/** @} */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,6 +11,7 @@
 | 
				
			||||||
#include "Tools/Worlds.hpp"
 | 
					#include "Tools/Worlds.hpp"
 | 
				
			||||||
#include "Tools/RandomHandler.hpp"
 | 
					#include "Tools/RandomHandler.hpp"
 | 
				
			||||||
#include "Tools/Camera.hpp"
 | 
					#include "Tools/Camera.hpp"
 | 
				
			||||||
 | 
					#include "Tools/Pathfinding.hpp"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "Interfaces/Bank.hpp"
 | 
					#include "Interfaces/Bank.hpp"
 | 
				
			||||||
#include "Interfaces/Chat.hpp"
 | 
					#include "Interfaces/Chat.hpp"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,8 @@ namespace Interactable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            double GetVisibility() const;
 | 
					            double GetVisibility() const;
 | 
				
			||||||
            Tile GetTile() const;
 | 
					            Tile GetTile() const;
 | 
				
			||||||
 | 
					            Tile GetReachableTile() const;
 | 
				
			||||||
 | 
					            bool IsReachable() const;
 | 
				
			||||||
            bool RotateTo(std::int32_t Angle = 0) const;
 | 
					            bool RotateTo(std::int32_t Angle = 0) const;
 | 
				
			||||||
            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
					            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,10 @@ namespace Interactable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            double GetVisibility() const;
 | 
					            double GetVisibility() const;
 | 
				
			||||||
            Tile GetTile() const;
 | 
					            Tile GetTile() const;
 | 
				
			||||||
 | 
					            Tile GetReachableTile() const;
 | 
				
			||||||
 | 
					            Tile GetMin() const;
 | 
				
			||||||
 | 
					            Tile GetMax() const;
 | 
				
			||||||
 | 
					            bool IsReachable() const;
 | 
				
			||||||
            bool RotateTo(std::int32_t Angle = 0) const;
 | 
					            bool RotateTo(std::int32_t Angle = 0) const;
 | 
				
			||||||
            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
					            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -34,6 +34,8 @@ namespace Interactable
 | 
				
			||||||
            double GetVisibility() const;
 | 
					            double GetVisibility() const;
 | 
				
			||||||
            Tile GetTile() const;
 | 
					            Tile GetTile() const;
 | 
				
			||||||
            Tile GetLocalTile() const;
 | 
					            Tile GetLocalTile() const;
 | 
				
			||||||
 | 
					            Tile GetReachableTile() const;
 | 
				
			||||||
 | 
					            bool IsReachable() const;
 | 
				
			||||||
            bool RotateTo(std::int32_t Angle = 0) const;
 | 
					            bool RotateTo(std::int32_t Angle = 0) const;
 | 
				
			||||||
            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
					            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,8 @@ namespace Interactable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            double GetVisibility() const;
 | 
					            double GetVisibility() const;
 | 
				
			||||||
            Tile GetTile() const;
 | 
					            Tile GetTile() const;
 | 
				
			||||||
 | 
					            Tile GetReachableTile() const;
 | 
				
			||||||
 | 
					            bool IsReachable() const;
 | 
				
			||||||
            bool RotateTo(std::int32_t Angle = 0) const;
 | 
					            bool RotateTo(std::int32_t Angle = 0) const;
 | 
				
			||||||
            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
					            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,8 @@ namespace Interactable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            double GetVisibility() const;
 | 
					            double GetVisibility() const;
 | 
				
			||||||
            Tile GetTile() const;
 | 
					            Tile GetTile() const;
 | 
				
			||||||
 | 
					            Tile GetReachableTile() const;
 | 
				
			||||||
 | 
					            bool IsReachable() const;
 | 
				
			||||||
            bool RotateTo(std::int32_t Angle = 0) const;
 | 
					            bool RotateTo(std::int32_t Angle = 0) const;
 | 
				
			||||||
            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
					            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -30,6 +30,8 @@ namespace Interactable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            double GetVisibility() const;
 | 
					            double GetVisibility() const;
 | 
				
			||||||
            Tile GetTile() const;
 | 
					            Tile GetTile() const;
 | 
				
			||||||
 | 
					            Tile GetReachableTile() const;
 | 
				
			||||||
 | 
					            bool IsReachable() const;
 | 
				
			||||||
            bool RotateTo(std::int32_t Angle = 0) const;
 | 
					            bool RotateTo(std::int32_t Angle = 0) const;
 | 
				
			||||||
            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
					            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -31,6 +31,8 @@ namespace Interactable
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            double GetVisibility() const;
 | 
					            double GetVisibility() const;
 | 
				
			||||||
            Tile GetTile() const;
 | 
					            Tile GetTile() const;
 | 
				
			||||||
 | 
					            Tile GetReachableTile() const;
 | 
				
			||||||
 | 
					            bool IsReachable() const;
 | 
				
			||||||
            bool RotateTo(std::int32_t Angle = 0) const;
 | 
					            bool RotateTo(std::int32_t Angle = 0) const;
 | 
				
			||||||
            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
					            bool RotateTo(Camera::COMPASS_DIRECTION Direction) const;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -65,6 +65,13 @@ class Minimap
 | 
				
			||||||
         * @return true if the function succesfully clicked the orb
 | 
					         * @return true if the function succesfully clicked the orb
 | 
				
			||||||
         */
 | 
					         */
 | 
				
			||||||
        static bool ClickQuickPrayer();
 | 
					        static bool ClickQuickPrayer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        /**
 | 
				
			||||||
 | 
					         * @brief Clicks the toggle-run orb
 | 
				
			||||||
 | 
					         *
 | 
				
			||||||
 | 
					         * @return true if the function succesfully clicked the orb
 | 
				
			||||||
 | 
					         */
 | 
				
			||||||
 | 
					        static bool ClickToggleRun();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** @} */
 | 
					/** @} */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,92 @@
 | 
				
			||||||
 | 
					#ifndef PATHFINDING_HPP_INCLUDED
 | 
				
			||||||
 | 
					#define PATHFINDING_HPP_INCLUDED
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "../../Core/Types/Tile.hpp"
 | 
				
			||||||
 | 
					#include <vector>
 | 
				
			||||||
 | 
					#include <functional>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Pathfinding
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        enum COLLISION_FLAG
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            OPEN            = 0,
 | 
				
			||||||
 | 
					            CLOSED          = 0xFFFFFF,
 | 
				
			||||||
 | 
					            UNINITIALIZED   = 0x1000000,
 | 
				
			||||||
 | 
					            OCCUPIED        = 0x100,
 | 
				
			||||||
 | 
					            SOLID           = 0x20000,
 | 
				
			||||||
 | 
					            BLOCKED         = 0x200000,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            NORTH           = 0x2,
 | 
				
			||||||
 | 
					            EAST            = 0x8,
 | 
				
			||||||
 | 
					            SOUTH           = 0x20,
 | 
				
			||||||
 | 
					            WEST            = 0x80,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            NORTHEAST       = 0x4,
 | 
				
			||||||
 | 
					            SOUTHEAST       = 0x10,
 | 
				
			||||||
 | 
					            SOUTHWEST       = 0x40,
 | 
				
			||||||
 | 
					            NORTHWEST       = 0x1,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            BLOCKED_NORTH       = 0x400,
 | 
				
			||||||
 | 
					            BLOCKED_EAST        = 0x1000,
 | 
				
			||||||
 | 
					            BLOCKED_SOUTH       = 0x4000,
 | 
				
			||||||
 | 
					            BLOCKED_WEST        = 0x10000,
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            BLOCKED_NORTHEAST   = 0x800,
 | 
				
			||||||
 | 
					            BLOCKED_SOUTHEAST   = 0x2000,
 | 
				
			||||||
 | 
					            BLOCKED_NORTHWEST   = 0x200,
 | 
				
			||||||
 | 
					            BLOCKED_SOUTHWEST   = 0x8000,
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        typedef enum PATHFINDER
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            BREADTH_FIRST_SEARCH
 | 
				
			||||||
 | 
					        } PATHFINDER;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        class TileNode
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            public:
 | 
				
			||||||
 | 
					                std::int32_t X;
 | 
				
			||||||
 | 
					                std::int32_t Y;
 | 
				
			||||||
 | 
					                std::int32_t Flag;
 | 
				
			||||||
 | 
					                bool Inspected;
 | 
				
			||||||
 | 
					                std::int32_t Parent[2];
 | 
				
			||||||
 | 
					                TileNode();
 | 
				
			||||||
 | 
					                TileNode(std::int32_t X, std::int32_t Y, std::int32_t Flag);
 | 
				
			||||||
 | 
					                bool IsBlocked(bool AllowOccupied = true) const;
 | 
				
			||||||
 | 
					                Tile ToWorldTile() const;
 | 
				
			||||||
 | 
					                bool operator==(const TileNode& N) const;
 | 
				
			||||||
 | 
					                operator bool() const;
 | 
				
			||||||
 | 
					        };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static void RegenerateNodes();
 | 
				
			||||||
 | 
					        static std::vector<std::vector<TileNode>> GetNodes();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static Tile FindWalkableTile(const Tile& T);
 | 
				
			||||||
 | 
					        static Tile FindWalkableTile(const Tile& T, const Tile& Min, const Tile& Max);
 | 
				
			||||||
 | 
					        static std::vector<Tile> FindWalkableTiles(const Tile& T);
 | 
				
			||||||
 | 
					        static std::vector<Tile> FindWalkableTiles(const Tile& T, const Tile& Min, const Tile& Max);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static std::vector<Tile> FindPathTo(const Tile& Goal, bool AllowOccupied = false, PATHFINDER Finder = BREADTH_FIRST_SEARCH);
 | 
				
			||||||
 | 
					        static std::vector<Tile> FindPathTo(const std::vector<Tile>& Goals, bool AllowOccupied = false, PATHFINDER Finder = BREADTH_FIRST_SEARCH);
 | 
				
			||||||
 | 
					        // Ignores collision
 | 
				
			||||||
 | 
					        static std::vector<Tile> FindDirectPathTo(const Tile& Goal, PATHFINDER Finder = BREADTH_FIRST_SEARCH);
 | 
				
			||||||
 | 
					        static std::vector<Tile> FindDirectPathTo(const std::vector<Tile>& Goals, PATHFINDER Finder = BREADTH_FIRST_SEARCH);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static bool IsInside(std::uint32_t X, std::uint32_t Y);
 | 
				
			||||||
 | 
					        static std::vector<Pathfinding::TileNode*> GetNeighborsTo(std::uint32_t X, std::uint32_t Y, bool AllowOccupied = false, bool CheckCollision = true);
 | 
				
			||||||
 | 
					        static std::vector<Pathfinding::TileNode> Finder_BFS(   std::uint32_t StartX, std::uint32_t StartY,
 | 
				
			||||||
 | 
					                                                                std::uint32_t EndX, std::uint32_t EndY,
 | 
				
			||||||
 | 
					                                                                bool AllowOccupied = false, bool CheckCollision = true   );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        static std::vector<Pathfinding::TileNode> Finder_BFS(   std::uint32_t StartX, std::uint32_t StartY,
 | 
				
			||||||
 | 
					                                                                const std::vector<std::pair<std::uint32_t, std::uint32_t>>& Ends,
 | 
				
			||||||
 | 
					                                                                bool AllowOccupied = false, bool CheckCollision = true  );
 | 
				
			||||||
 | 
					    private:
 | 
				
			||||||
 | 
					        static std::vector<std::vector<TileNode>> Nodes;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#endif // PATHFINDING_HPP_INCLUDED
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							
		Loading…
	
		Reference in New Issue