mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 12:27:43 +00:00
Finish pathfinding implementations
This commit is contained in:
@@ -12,25 +12,28 @@ class CPathFindSearch
|
||||
public:
|
||||
enum class EResult
|
||||
{
|
||||
Zero,
|
||||
One,
|
||||
Two,
|
||||
Three,
|
||||
Four
|
||||
Success,
|
||||
InvalidArea,
|
||||
NoSourcePoint,
|
||||
NoDestPoint,
|
||||
NoPath
|
||||
};
|
||||
private:
|
||||
CPFArea* x0_area;
|
||||
rstl::reserved_vector<zeus::CVector3f, 16> x4_;
|
||||
rstl::reserved_vector<zeus::CVector3f, 16> x4_waypoints;
|
||||
u32 xc8_ = 0;
|
||||
EResult xcc_result;
|
||||
float xd0_f2;
|
||||
float xd4_f1;
|
||||
float xd8_ = 10.f;
|
||||
u32 xdc_flags; // 0x2: flyer, 0x4: path-always-exists
|
||||
float xd0_chHeight;
|
||||
float xd4_chRadius;
|
||||
float xd8_padding = 10.f;
|
||||
u32 xdc_flags; // 0x2: flyer, 0x4: path-always-exists (swimmers)
|
||||
u32 xe0_indexMask;
|
||||
bool Search(rstl::reserved_vector<CPFRegion*, 4>& regs1, const zeus::CVector3f& p1,
|
||||
rstl::reserved_vector<CPFRegion*, 4>& regs2, const zeus::CVector3f& p2);
|
||||
public:
|
||||
CPathFindSearch(CPFArea* area, u32 flags, u32 w2, float f1, float f2);
|
||||
CPathFindSearch(CPFArea* area, u32 flags, u32 index, float chRadius, float chHeight);
|
||||
EResult Search(const zeus::CVector3f& p1, const zeus::CVector3f& p2);
|
||||
EResult FindClosestReachablePoint(const zeus::CVector3f& p1, zeus::CVector3f& p2) const;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user