2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 10:27:42 +00:00

FONT serialization fix; implement CPathFindSpline functions

This commit is contained in:
Jack Andersen
2018-03-03 18:25:57 -10:00
parent d8eb8abc48
commit 48c285be11
8 changed files with 138 additions and 20 deletions

View File

@@ -21,7 +21,7 @@ public:
private:
CPFArea* x0_area;
rstl::reserved_vector<zeus::CVector3f, 16> x4_waypoints;
u32 xc8_ = 0;
u32 xc8_curWaypoint = 0;
EResult xcc_result;
float xd0_chHeight;
float xd4_chRadius;
@@ -30,10 +30,18 @@ private:
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);
void GetSplinePoint(zeus::CVector3f& pOut, const zeus::CVector3f& p1, u32 wpIdx) const;
void GetSplinePointWithLookahead(zeus::CVector3f& pOut, const zeus::CVector3f& p1,
u32 wpIdx, float lookahead) const;
public:
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;
EResult PathExists(const zeus::CVector3f& p1, const zeus::CVector3f& p2) const;
EResult OnPath(const zeus::CVector3f& p1) const;
bool SegmentOver(const zeus::CVector3f& p1) const;
void GetSplinePoint(zeus::CVector3f& pOut, const zeus::CVector3f& p1) const;
void GetSplinePointWithLookahead(zeus::CVector3f& pOut, const zeus::CVector3f& p1, float lookahead) const;
};
}