mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 02:27:43 +00:00
Initial work on CGroundMovement
This commit is contained in:
@@ -63,6 +63,26 @@ void FilterOutBackfaces(const zeus::CVector3f& vec, const CCollisionInfoList& in
|
||||
}
|
||||
}
|
||||
|
||||
void FilterByClosestNormal(const zeus::CVector3f& norm, const CCollisionInfoList& in, CCollisionInfoList& out)
|
||||
{
|
||||
float maxDot = -1.1f;
|
||||
int idx = -1;
|
||||
int i=0;
|
||||
for (const CCollisionInfo& info : in)
|
||||
{
|
||||
float dot = info.GetNormalLeft().dot(norm);
|
||||
if (dot > maxDot)
|
||||
{
|
||||
maxDot = dot;
|
||||
idx = i;
|
||||
}
|
||||
++i;
|
||||
}
|
||||
|
||||
if (idx != -1)
|
||||
out.Add(in.GetItem(i), false);
|
||||
}
|
||||
|
||||
static const zeus::CVector3f AABBNormalTable[] =
|
||||
{
|
||||
{-1.f, 0.f, 0.f},
|
||||
|
||||
Reference in New Issue
Block a user