2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 23:07:43 +00:00

Finish CMetroidPrimeEssence imps

This commit is contained in:
2020-09-20 14:25:46 -07:00
parent 5598558265
commit 0d11dd1476
6 changed files with 164 additions and 37 deletions

View File

@@ -682,6 +682,23 @@ bool CGameCollision::DetectDynamicCollisionMoving(const CCollisionPrimitive& pri
return ret;
}
bool CGameCollision::DetectCollision(const CStateManager& mgr, const CCollisionPrimitive& prim, const zeus::CTransform& xf,
const CMaterialFilter& filter, const rstl::reserved_vector<TUniqueId, 1024>& nearList,
TUniqueId& idOut, CCollisionInfoList& infoOut) {
bool ret = false;
CMaterialList exclude = filter.ExcludeList();
if (!exclude.HasMaterial(EMaterialTypes::Occluder) && DetectStaticCollision(mgr, prim, xf, filter, infoOut)) {
ret = true;
}
TUniqueId tmpId = kInvalidUniqueId;
if (DetectDynamicCollision(prim, xf, nearList, tmpId, infoOut, mgr)) {
ret = true;
idOut = tmpId;
}
return ret;
}
void CGameCollision::MakeCollisionCallbacks(CStateManager& mgr, CPhysicsActor& actor, TUniqueId id,
const CCollisionInfoList& list) {
actor.CollidedWith(id, list, mgr);