Initial CCollidableSphere match work

This commit is contained in:
2024-10-13 22:00:50 -07:00
parent 51c06420f9
commit f9ed07d33c
8 changed files with 143 additions and 13 deletions

View File

@@ -11,7 +11,7 @@ class CCollidableSphere : public CCollisionPrimitive {
public:
CCollidableSphere(const CSphere& sphere, const CMaterialList& material)
: CCollisionPrimitive(material), x10_sphere(sphere) {}
static bool CollideMovingAABox(const CInternalCollisionStructure& collision, const CVector3f& dir,
double& dOut, CCollisionInfo& infoOut);
static bool CollideMovingSphere(const CInternalCollisionStructure& collision,
@@ -21,12 +21,17 @@ public:
CAABox CalculateAABox(const CTransform4f&) const override;
CAABox CalculateLocalAABox() const override;
FourCC GetPrimType() const override;
CSphere Transform(const CTransform4f& xf) const;
~CCollidableSphere() override {}
CRayCastResult CastRayInternal(const CInternalRayCastStructure&) const;
CRayCastResult CastRayInternal(const CInternalRayCastStructure& internalRayCast) const override;
static void SetStaticTableIndex(uint idx);
static Type GetType();
static bool Sphere_AABox_Bool(const CSphere& sphere, const CAABox& aabox);
private:
static uint sTableIndex;
CSphere x10_sphere;
};
CHECK_SIZEOF(CCollidableSphere, 0x20)