mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 17:47:43 +00:00
Initial collision testing and CStateManager work
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
#ifndef __URDE_CGAMECOLLISION_HPP__
|
||||
#define __URDE_CGAMECOLLISION_HPP__
|
||||
#include "zeus/CVector3f.hpp"
|
||||
#include "zeus/CPlane.hpp"
|
||||
#include "rstl.hpp"
|
||||
#include "RetroTypes.hpp"
|
||||
#include "CRayCastResult.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
|
||||
class CInternalCollisionStructure
|
||||
{
|
||||
zeus::CVector3f x0_pos;
|
||||
float xc_radius;
|
||||
};
|
||||
|
||||
class CActor;
|
||||
@@ -19,6 +19,7 @@ class CCollisionInfoList;
|
||||
class CMaterialList;
|
||||
class CStateManager;
|
||||
class CPhysicsActor;
|
||||
class CMaterialFilter;
|
||||
|
||||
class CGameCollision
|
||||
{
|
||||
@@ -35,6 +36,14 @@ public:
|
||||
static bool CanBlock(const CMaterialList&, const zeus::CVector3f&);
|
||||
static bool IsFloor(const CMaterialList&, const zeus::CVector3f&);
|
||||
void SendMaterialMessage(CStateManager&, const CMaterialList&, CActor&);
|
||||
static CRayCastResult RayStaticIntersection(const CStateManager& mgr, const zeus::CVector3f& pos,
|
||||
const zeus::CVector3f& dir, float mag, const CMaterialFilter& filter);
|
||||
static CRayCastResult RayDynamicIntersection(const CStateManager& mgr, TUniqueId& idOut, const zeus::CVector3f& pos,
|
||||
const zeus::CVector3f& dir, float mag, const CMaterialFilter& filter,
|
||||
const rstl::reserved_vector<TUniqueId, 1024>& nearList);
|
||||
static CRayCastResult RayWorldIntersection(const CStateManager& mgr, TUniqueId& idOut, const zeus::CVector3f& pos,
|
||||
const zeus::CVector3f& dir, float mag, const CMaterialFilter& filter,
|
||||
const rstl::reserved_vector<TUniqueId, 1024>& nearList);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user