mirror of https://github.com/AxioDL/metaforce.git
CollisionPrimitive: Make use of constexpr types where applicable
We can now mark some usages of these types as constexpr and also make them fully internal to the translation unit.
This commit is contained in:
parent
5c7bb9e7d7
commit
d7dd256d38
|
@ -5,7 +5,7 @@
|
|||
#include "CInternalRayCastStructure.hpp"
|
||||
|
||||
namespace urde {
|
||||
const CCollisionPrimitive::Type CCollidableAABox::sType(CCollidableAABox::SetStaticTableIndex, "CCollidableAABox");
|
||||
constexpr CCollisionPrimitive::Type sType(CCollidableAABox::SetStaticTableIndex, "CCollidableAABox");
|
||||
u32 CCollidableAABox::sTableIndex = -1;
|
||||
|
||||
CCollidableAABox::CCollidableAABox() = default;
|
||||
|
|
|
@ -12,7 +12,6 @@ bool AABox_AABox_Bool(const CInternalCollisionStructure&);
|
|||
} // namespace Collide
|
||||
|
||||
class CCollidableAABox : public CCollisionPrimitive {
|
||||
static const Type sType;
|
||||
static u32 sTableIndex;
|
||||
|
||||
zeus::CAABox x10_aabox;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#include "CCollidableCollisionSurface.hpp"
|
||||
|
||||
namespace urde {
|
||||
const CCollisionPrimitive::Type CCollidableCollisionSurface::sType(CCollidableCollisionSurface::SetStaticTableIndex,
|
||||
"CCollidableCollisionSurface");
|
||||
constexpr CCollisionPrimitive::Type sType(CCollidableCollisionSurface::SetStaticTableIndex,
|
||||
"CCollidableCollisionSurface");
|
||||
u32 CCollidableCollisionSurface::sTableIndex = -1;
|
||||
|
||||
const CCollisionPrimitive::Type& CCollidableCollisionSurface::GetType() { return sType; }
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
namespace urde {
|
||||
class CCollidableCollisionSurface {
|
||||
static const CCollisionPrimitive::Type sType;
|
||||
static u32 sTableIndex;
|
||||
|
||||
public:
|
||||
|
|
|
@ -7,8 +7,7 @@
|
|||
#include "CToken.hpp"
|
||||
|
||||
namespace urde {
|
||||
const CCollisionPrimitive::Type CCollidableOBBTreeGroup::sType(CCollidableOBBTreeGroup::SetStaticTableIndex,
|
||||
"CCollidableOBBTreeGroup");
|
||||
constexpr CCollisionPrimitive::Type sType(CCollidableOBBTreeGroup::SetStaticTableIndex, "CCollidableOBBTreeGroup");
|
||||
u32 CCollidableOBBTreeGroup::sTableIndex = -1;
|
||||
|
||||
CCollidableOBBTreeGroupContainer::CCollidableOBBTreeGroupContainer(CInputStream& in) {
|
||||
|
|
|
@ -24,7 +24,6 @@ public:
|
|||
};
|
||||
|
||||
class CCollidableOBBTreeGroup : public CCollisionPrimitive {
|
||||
static const Type sType;
|
||||
static u32 sTableIndex;
|
||||
const CCollidableOBBTreeGroupContainer* x10_container;
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
#include "CInternalRayCastStructure.hpp"
|
||||
|
||||
namespace urde {
|
||||
const CCollisionPrimitive::Type CCollidableSphere::sType(CCollidableSphere::SetStaticTableIndex, "CCollidableSphere");
|
||||
constexpr CCollisionPrimitive::Type sType(CCollidableSphere::SetStaticTableIndex, "CCollidableSphere");
|
||||
u32 CCollidableSphere::sTableIndex = -1;
|
||||
|
||||
namespace Collide {
|
||||
|
@ -224,6 +224,8 @@ CRayCastResult CCollidableSphere::CastRayInternal(const CInternalRayCastStructur
|
|||
return {};
|
||||
}
|
||||
|
||||
const CCollisionPrimitive::Type& CCollidableSphere::GetType() { return sType; }
|
||||
|
||||
bool CCollidableSphere::CollideMovingAABox(const CInternalCollisionStructure& collision, const zeus::CVector3f& dir,
|
||||
double& dOut, CCollisionInfo& infoOut) {
|
||||
const CCollidableSphere& p0 = static_cast<const CCollidableSphere&>(collision.GetLeft().GetPrim());
|
||||
|
|
|
@ -12,8 +12,8 @@ bool Sphere_AABox_Bool(const CInternalCollisionStructure&);
|
|||
bool Sphere_Sphere(const CInternalCollisionStructure&, CCollisionInfoList&);
|
||||
bool Sphere_Sphere_Bool(const CInternalCollisionStructure&);
|
||||
} // namespace Collide
|
||||
|
||||
class CCollidableSphere : public CCollisionPrimitive {
|
||||
static const Type sType;
|
||||
static u32 sTableIndex;
|
||||
|
||||
zeus::CSphere x10_sphere;
|
||||
|
@ -31,7 +31,7 @@ public:
|
|||
FourCC GetPrimType() const override;
|
||||
CRayCastResult CastRayInternal(const CInternalRayCastStructure&) const override;
|
||||
|
||||
static const Type& GetType() { return sType; }
|
||||
static const Type& GetType();
|
||||
static void SetStaticTableIndex(u32 index) { sTableIndex = index; }
|
||||
static bool CollideMovingAABox(const CInternalCollisionStructure&, const zeus::CVector3f&, double&, CCollisionInfo&);
|
||||
static bool CollideMovingSphere(const CInternalCollisionStructure&, const zeus::CVector3f&, double&, CCollisionInfo&);
|
||||
|
|
Loading…
Reference in New Issue