Match and link CRipperControlledPlatform

Former-commit-id: f084095190
This commit is contained in:
Henrique Gemignani Passos Lima
2022-11-07 15:30:53 +02:00
parent 8b9a10256a
commit cd46490a6c
9 changed files with 93 additions and 14 deletions

View File

@@ -272,6 +272,7 @@ public:
void SetTranslation(const CVector3f& vec);
CTransform4f GetLocatorTransform(const rstl::string& segName) const;
CTransform4f GetScaledLocatorTransform(const rstl::string& segName) const;
float GetYaw() const;
/// ????
bool NullModel() const { return !GetAnimationData() && !GetModelData()->HasNormalModel(); }

View File

@@ -28,6 +28,8 @@ public:
TUniqueId&, CCollisionInfo&, double&);
static CRayCastResult RayStaticIntersection(const CStateManager&, const CVector3f&,
const CVector3f&, float, const CMaterialFilter&);
static void Move(CStateManager& mgr, CPhysicsActor& actor, float dt, const TEntityList*);
};
#endif // _CGAMECOLLISION

View File

@@ -0,0 +1,21 @@
#ifndef _CRIPPERCONTROLLEDPLATFORM
#define _CRIPPERCONTROLLEDPLATFORM
#include "MetroidPrime/ScriptObjects/CScriptPlatform.hpp"
class CRipperControlledPlatform : public CScriptPlatform {
public:
CRipperControlledPlatform(
TUniqueId, TUniqueId, const rstl::string&, const CEntityInfo&, const CTransform4f&,
const CAABox&, bool, const rstl::optional_object< TLockedToken< CCollidableOBBTreeGroupContainer > >&);
~CRipperControlledPlatform();
CQuaternion Move(float, CStateManager&) override;
private:
TUniqueId x358_owner;
float x35c_yaw;
};
#endif // _CRIPPERCONTROLLEDPLATFORM

View File

@@ -67,6 +67,9 @@ public:
TUniqueId GetWaypoint(CStateManager& mgr);
TUniqueId GetNext(TUniqueId uid, CStateManager& mgr);
bool IsRider(TUniqueId id) const;
bool IsSlave(TUniqueId id) const;
void SetControlledAnimation(bool controlled) { x356_25_controlledAnimation = controlled; }
static void AddRider(rstl::vector< SRiders >& riders, TUniqueId riderId,