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

Work on CParasite

This commit is contained in:
Jack Andersen
2018-11-12 23:20:11 -10:00
parent bf3636a16e
commit 660e7cd239
17 changed files with 755 additions and 358 deletions

View File

@@ -26,40 +26,42 @@ public:
private:
ECollisionType x0_colType;
EOrientationType x4_orientType;
CSegId x8_;
CSegId x9_;
zeus::CVector3f xc_;
zeus::CVector3f x18_;
float x24_;
float x28_;
CSegId x8_pivotId;
CSegId x9_nextId;
zeus::CVector3f xc_bounds;
zeus::CVector3f x18_pivotPoint;
float x24_radius;
float x28_maxSeparation;
std::string x2c_name;
TUniqueId x3c_actorId = kInvalidUniqueId;
float x40_;
float x40_mass;
public:
CJointCollisionDescription(ECollisionType, CSegId, CSegId, const zeus::CVector3f&, const zeus::CVector3f&, float,
float, EOrientationType, std::string_view, float);
static CJointCollisionDescription SphereSubdivideCollision(CSegId pivotId, CSegId nextId, float radius,
float maxSeparation, EOrientationType orientType,
std::string_view name, float mass);
static CJointCollisionDescription SphereCollision(CSegId pivotId, float radius, std::string_view name, float mass);
static CJointCollisionDescription AABoxCollision(CSegId pivotId, const zeus::CVector3f& bounds,
std::string_view name, float mass);
static CJointCollisionDescription OBBAutoSizeCollision(CSegId pivotId, CSegId nextId, const zeus::CVector3f& bounds,
EOrientationType orientType, std::string_view, float mass);
static CJointCollisionDescription OBBCollision(CSegId pivotId, const zeus::CVector3f& bounds,
const zeus::CVector3f& pivotPoint, std::string_view name, float mass);
std::string_view GetName() const { return x2c_name; }
TUniqueId GetCollisionActorId() const { return x3c_actorId; }
static CJointCollisionDescription SphereSubdivideCollision(CSegId, CSegId, float, float,
EOrientationType, std::string_view, float);
static CJointCollisionDescription SphereCollision(CSegId, float, std::string_view, float);
static CJointCollisionDescription AABoxCollision(CSegId, zeus::CVector3f const&, std::string_view, float);
static CJointCollisionDescription OBBAutoSizeCollision(CSegId, CSegId, const zeus::CVector3f&, EOrientationType,
std::string_view, float);
static CJointCollisionDescription OBBCollision(CSegId, const zeus::CVector3f&, const zeus::CVector3f&,
std::string_view, float);
zeus::CVector3f GetPivotPoint() const;
float GetRadius() const;
void SetCollisionActorId(TUniqueId);
void SetCollisionActorId(TUniqueId id) { x3c_actorId = id; }
const zeus::CVector3f& GetBounds() const { return xc_bounds; }
float GetRadius() const { return x24_radius; }
float GetMaxSeparation() const { return x28_maxSeparation; }
EOrientationType GetOrientationType() const { return x4_orientType; }
float GetMass() const;
zeus::CAABox GetBounds() const;
void GetType() const;
void GetNextId() const;
void GetPivotId() const;
void ScaleAllBounds(const zeus::CVector3f&);
void GetTween() const;
float GetMass() const { return x40_mass; }
const zeus::CVector3f& GetPivotPoint() const { return x18_pivotPoint; }
ECollisionType GetType() const { return x0_colType; }
CSegId GetNextId() const { return x9_nextId; }
CSegId GetPivotId() const { return x8_pivotId; }
void ScaleAllBounds(const zeus::CVector3f& scale);
};
}