mirror of https://github.com/PrimeDecomp/prime.git
41 lines
1.0 KiB
C++
41 lines
1.0 KiB
C++
#ifndef _CBODYCONTROLLER
|
|
#define _CBODYCONTROLLER
|
|
|
|
#include "MetroidPrime/BodyState/CBodyStateCmdMgr.hpp"
|
|
|
|
class CActor;
|
|
class CPASDatabase;
|
|
class CQuaternion;
|
|
class CAnimPlaybackParms;
|
|
|
|
class CBodyController {
|
|
|
|
public:
|
|
const CPASDatabase& GetPASDatabase() const;
|
|
|
|
CActor& GetOwner() const { return x0_actor; }
|
|
CBodyStateCmdMgr& CommandMgr() { return x4_cmdMgr; }
|
|
const CBodyStateCmdMgr& GetCommandMgr() const { return x4_cmdMgr; }
|
|
|
|
float GetAnimTimeRemaining() const;
|
|
void SetDeltaRotation(const CQuaternion& q);
|
|
void SetCurrentAnimation(const CAnimPlaybackParms& parms, bool loop, bool noTrans);
|
|
|
|
bool IsAnimationOver() const { return x300_24_animationOver; }
|
|
|
|
private:
|
|
CActor& x0_actor;
|
|
CBodyStateCmdMgr x4_cmdMgr;
|
|
uchar x2a4_pad[0x54];
|
|
// CBodyStateInfo x2a4_bodyStateInfo;
|
|
// CQuaternion x2dc_rot;
|
|
// pas::ELocomotionType x2ec_locomotionType ;
|
|
// pas::EFallState x2f0_fallState ;
|
|
// EBodyType x2f4_bodyType;
|
|
int x2f8_curAnim ;
|
|
float x2fc_turnSpeed;
|
|
bool x300_24_animationOver : 1;
|
|
};
|
|
|
|
#endif // _CBODYCONTROLLER
|