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

Initial CJointCollisionDescription imps, minor CScriptTrigger cleanup

This commit is contained in:
2017-04-22 04:04:07 -07:00
parent 337ffd1c16
commit 1845a1465b
5 changed files with 69 additions and 24 deletions

View File

@@ -11,16 +11,21 @@ class CJointCollisionDescription
public:
enum class ECollisionType
{
Sphere,
SphereSubdivide,
AABox,
OBBAutoSize,
OBB,
};
enum class EOrientationType
{
Zero,
};
private:
u32 x0_;
u32 x4_;
ECollisionType x0_colType;
EOrientationType x4_orientType;
CSegId x8_;
CSegId x9_;
zeus::CVector3f xc_;
@@ -28,7 +33,7 @@ private:
float x24_;
float x28_;
std::string x2c_name;
TUniqueId x3c_actorId;
TUniqueId x3c_actorId = kInvalidUniqueId;
float x40_;
public:
@@ -36,12 +41,14 @@ public:
float, EOrientationType, const std::string&, float);
const std::string& GetName() const { return x2c_name; }
TUniqueId GetCollisionActorId() const { return x3c_actorId; }
void SphereSubdivideCollision(ECollisionType, CSegId, CSegId, float, float, EOrientationType, const std::string&,
float);
void SphereCollision(CSegId, float, const std::string&, float);
void AABoxCollision(CSegId, zeus::CVector3f const&, const std::string&, float);
void OBBAutoSizeCollision(CSegId, CSegId, const zeus::CVector3f&, EOrientationType, const std::string&, float);
void OBBCollision(CSegId, const zeus::CVector3f&, const zeus::CVector3f&, const std::string&, float);
static CJointCollisionDescription SphereSubdivideCollision(CSegId, CSegId, float, float,
EOrientationType, const std::string&, float);
static CJointCollisionDescription SphereCollision(CSegId, float, const std::string&, float);
static CJointCollisionDescription AABoxCollision(CSegId, zeus::CVector3f const&, const std::string&, float);
static CJointCollisionDescription OBBAutoSizeCollision(CSegId, CSegId, const zeus::CVector3f&, EOrientationType,
const std::string&, float);
static CJointCollisionDescription OBBCollision(CSegId, const zeus::CVector3f&, const zeus::CVector3f&,
const std::string&, float);
zeus::CVector3f GetPivotPoint() const;
float GetRadius() const;
void SetCollisionActorId(TUniqueId);