mirror of https://github.com/AxioDL/metaforce.git
77 lines
2.3 KiB
C++
77 lines
2.3 KiB
C++
#ifndef __URDE_CBODYCONTROLLER_HPP__
|
|
#define __URDE_CBODYCONTROLLER_HPP__
|
|
|
|
#include "RetroTypes.hpp"
|
|
#include "zeus/CQuaternion.hpp"
|
|
#include "CharacterCommon.hpp"
|
|
|
|
namespace urde
|
|
{
|
|
|
|
class CActor;
|
|
class CAnimPlaybackParms;
|
|
class CFinalInput;
|
|
class CPASAnimParmData;
|
|
class CRandom16;
|
|
class CStateManager;
|
|
class CBodyController
|
|
{
|
|
public:
|
|
CBodyController(CActor&, float, EBodyType);
|
|
void GetCurrentStateId() const;
|
|
void GetComandMgr();
|
|
void SetDoDeathAnims(bool);
|
|
bool IsElectrocuting() const;
|
|
bool IsOnFire() const;
|
|
bool IsFrozen() const;
|
|
void GetBodyStateInfo() const;
|
|
bool GetIsActive() const;
|
|
void BodyStateInfo();
|
|
float GetTurnSpeed() const;
|
|
pas::ELocomotionType GetLocomotionType() const;
|
|
void GetOwner();
|
|
bool IsAnimationOver() const;
|
|
void EnableAnimation(bool);
|
|
bool ShouldPlayDeathAnims() const;
|
|
void GetCurrentAnimId() const;
|
|
void Activate(CStateManager&);
|
|
void GetCurrentAdditiveState();
|
|
void SetState(pas::EAnimationState);
|
|
void Update(float, CStateManager&);
|
|
void Deactivate();
|
|
bool ShouldBeHurled() const;
|
|
bool HasBodyState(pas::EAnimationState);
|
|
pas::EFallState GetFallState() const;
|
|
void SetFallState(pas::EFallState);
|
|
void UpdateBody(float, CStateManager&);
|
|
void SetAdditiveState(pas::EAnimationState);
|
|
void SetTurnSpeed(float);
|
|
void SetCurrentAnimation(const CAnimPlaybackParms&, bool, bool);
|
|
void GetAnimTimeRemaining() const;
|
|
void SetPlaybackRate(float);
|
|
void MultiplyPlaybackRate(float);
|
|
void SetDeltaRotation(const zeus::CQuaternion&);
|
|
void FaceDirection(const zeus::CVector3f&, float);
|
|
void FaceDirection3D(const zeus::CVector3f&, float);
|
|
void HasBodyInfo(CActor&);
|
|
void ProcessInput(const CFinalInput&);
|
|
void GetPASDatabase() const;
|
|
void PlayBestAnimation(const CPASAnimParmData&, CRandom16&);
|
|
void LoopBestAnimation(const CPASAnimParmData&, CRandom16&);
|
|
void Freeze(float, float, float);
|
|
void UnFreeze();
|
|
void GetPercentageFrozen() const;
|
|
void SetOnFire(float);
|
|
void DouseFlames();
|
|
void SetElectrocuting(float);
|
|
void DouseElectrocuting();
|
|
void UpdateFrozenInfo(float, CStateManager&);
|
|
void GetCurrentAdditiveStateId() const;
|
|
EBodyType GetBodyType() const;
|
|
bool HasBeenFrozen() const;
|
|
void GetOwner() const;
|
|
};
|
|
}
|
|
|
|
#endif // __URDE_CBODYCONTROLLER_HPP__
|