Skip to content

Scaffold CPathFindSearch, CPFRegion and CPFArea - #182

Merged
henriquegemignani merged 2 commits into
mainfrom
codex/pathfinding-scaffold
Sep 27, 2026
Merged

henriquegemignani merged 2 commits into
mainfrom
codex/pathfinding-scaffold

Conversation

@henriquegemignani

Copy link
Copy Markdown
Contributor

No description provided.

@decomp-dev

decomp-dev Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Report for R3MP01 (155ee70 - fb72be6)

No changes

Report for R3ME01 (155ee70 - fb72be6)

No changes

Report for R32J01 (155ee70 - fb72be6)

No changes

Report for G2MP01 (155ee70 - fb72be6)

No changes

Report for G2MJ01 (155ee70 - fb72be6)

No changes

Report for G2ME01 (155ee70 - fb72be6)

📈 Matched code: 14.80% (+0.08%, +5452 bytes)
📈 Matched data: 26.76% (+0.01%, +60 bytes)

✅ 36 new matches
Unit Item Bytes Before After
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::FindClosestPointOnPolygon(const rstl::vector<CVector3f, rstl::rmemory_allocator>&, const CVector3f&, const CVector3f&, bool) +1056 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSpline CPathFindSearch::GetSplinePoint(CVector3f&, const CVector3f&, int) const +628 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSpline CPathFindSearch::GetSplinePointWithLookahead(CVector3f&, const CVector3f&, int, float) const +496 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::IsPointInside(const CVector3f&) const +364 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSearch CPathFindSearch::NearlyOnPath(const CVector3f&, float) const +296 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSpline CPathFindSearch::RemainingPathDistance(const CVector3f&) const +296 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea CPFAreaOctree::Fixup(CPFArea&) +240 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea CPFAreaOctree::GetRegionListList(rstl::reserved_vector<rstl::prereserved_vector<CPFRegion*>*, 32>&, const CVector3f&, float) +204 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea CPFAreaOctree::IsPointInsidePaddedAABox(const CVector3f&, float) const +148 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea CPFRegion::IsPointInsidePaddedAABox(const CVector3f&, float) const +148 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSearch CPFOpenList::Push(CPFRegion*) +144 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::~CPFArea() +128 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::Fixup(CPFArea&, int&) +124 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::GetOctreeRegionList(const CVector3f&) +124 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea FPathFindAreaFactory(const SObjectTag&, const rstl::auto_ptr<unsigned char>&, int, const CVParamTransfer&) +116 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::GetLinkMidPoint(const CPFLink&) const +112 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSearch CPFOpenList::Pop(CPFRegion*) +104 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::DropToGround(CVector3f&) const +104 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegionData::CPFRegionData() +88 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSearch CPFOpenList::Pop() +72 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::SetLinkTo(int) +72 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea CPFAreaOctree::GetChildIndex(const CVector3f&) const +72 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::PointHeight(const CVector3f&) const +68 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSearch CPathFindSearch::CPathFindSearch(CPFArea*, unsigned int, int, float, float, unsigned int, CPFRegion::ERootPosition) +60 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::GetPointIndex(const CPFPoint&) const +40 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSpline CPathFindSearch::GetSplinePoint(CVector3f&, const CVector3f&) const +36 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSpline CPathFindSearch::GetSplinePointWithLookahead(CVector3f&, const CVector3f&, float) const +36 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindSearch .sdata2 +32 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::ModifyObstructionCount(EPathFindObstructions, int) +24 0.00% 100.00%
main/MetroidPrime/PathFinding/CPathFindRegion .sdata2 +16 0.00% 100.00%

...and 6 more new matches

📈 22 improvements in unmatched items
Unit Item Bytes Before After
main/MetroidPrime/PathFinding/CPathFindSearch CPathFindSearch::Search(const CVector3f&, const CVector3f&) +2240 0.00% 88.92%
main/MetroidPrime/PathFinding/CPathFindSearch CPathFindSearch::Search(rstl::reserved_vector<CPFRegion*, 8>&, const CVector3f&, rstl::reserved_vector<CPFRegion*, 8>&, const CVector3f&) +1242 0.00% 77.29%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::CPFArea(const rstl::auto_ptr<unsigned char>&, int) +1156 0.00% 75.90%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::FitThroughLink2d(const CVector3f&, const CPFLink&, const CVector3f&, float) const +627 0.00% 99.30%
main/MetroidPrime/PathFinding/CPathFindSearch CPathFindSearch::FindClosestReachablePoint(const CVector3f&, CVector3f&) const +507 0.00% 98.33%
main/MetroidPrime/PathFinding/CPathFindSearch CPathFindSearch::GetHeightOfPointAboveMesh(const CVector3f&, float&, float) const +499 0.00% 99.88%
main/MetroidPrime/PathFinding/CPathFindSearch CPathFindSearch::PathExists(const CVector3f&, const CVector3f&) const +495 0.00% 98.29%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::FindClosestRegion(const CVector3f&, unsigned int, unsigned int, float) +482 0.00% 88.02%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::FindBestPoint(rstl::vector<CVector3f, rstl::rmemory_allocator>&, const CVector3f&, unsigned int, float) +445 0.00% 44.94%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::FindClosestReachablePoint(rstl::reserved_vector<CPFRegion*, 8>&, const CVector3f&, unsigned int, unsigned int) +389 0.00% 83.18%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::FitThroughLink3d(const CVector3f&, const CPFLink&, float, const CVector3f&, float, float, CPFRegion::ERootPosition) const +361 0.00% 45.63%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::FindRegions(rstl::reserved_vector<CPFRegion*, 8>&, const CAABox&, unsigned int, unsigned int, bool) +294 0.00% 87.79%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::FindRegions(rstl::reserved_vector<CPFRegion*, 8>&, const CVector3f&, unsigned int, unsigned int, bool) +279 0.00% 85.15%
main/MetroidPrime/PathFinding/CPathFindSearch CPathFindSearch::OnPath(const CVector3f&) const +223 0.00% 96.29%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::Intersects(const CAABox&) const +214 0.00% 43.33%
main/MetroidPrime/PathFinding/CPathFindSpline CPathFindSearch::SegmentOver(const CVector3f&) const +209 0.00% 98.87%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::SetTransform(const CTransform4f&) +192 0.00% 77.63%
main/MetroidPrime/PathFinding/CPathFindRegion CPFRegion::CPFRegion() +133 0.00% 64.02%
main/MetroidPrime/PathFinding/CPathFindRegion CPFPoint::Fixup(CPFArea&) +79 0.00% 94.29%
main/MetroidPrime/PathFinding/CPathFindArea CPFArea::PathExists(const CPFRegion*, const CPFRegion*, unsigned int) const +73 0.00% 44.83%
main/MetroidPrime/PathFinding/CPathFindSearch CPFOpenList::CPFOpenList() +47 0.00% 32.69%
main/MetroidPrime/PathFinding/CPathFindArea .sdata2 +13 0.00% 85.71%

Comment thread include/rstl/prereserved_vector.hpp
@henriquegemignani
henriquegemignani merged commit a0eed0d into main Sep 27, 2026
6 checks passed
@henriquegemignani
henriquegemignani deleted the codex/pathfinding-scaffold branch September 27, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant