2022-11-07 00:20:46 +00:00
|
|
|
#ifndef _CINTERPOLATIONCAMERA
|
|
|
|
#define _CINTERPOLATIONCAMERA
|
|
|
|
|
|
|
|
#include "MetroidPrime/Cameras/CGameCamera.hpp"
|
|
|
|
|
|
|
|
class CInterpolationCamera : public CGameCamera {
|
|
|
|
public:
|
|
|
|
CInterpolationCamera(TUniqueId uid, const CTransform4f& xf);
|
2024-09-23 05:56:21 +00:00
|
|
|
|
2022-11-07 00:20:46 +00:00
|
|
|
// CGameCamera
|
2023-02-06 17:01:01 +00:00
|
|
|
void ProcessInput(const CFinalInput&, CStateManager& mgr) override;
|
|
|
|
void Reset(const CTransform4f&, CStateManager& mgr) override;
|
2024-09-23 05:56:21 +00:00
|
|
|
|
|
|
|
void SetInterpolation(const CTransform4f& xf, CVector3f lookPos, float maxTime,
|
|
|
|
float positionSpeed, float rotationSpeed, TUniqueId targetId,
|
|
|
|
bool sinusoidal, CStateManager& mgr);
|
|
|
|
|
2022-11-07 00:20:46 +00:00
|
|
|
private:
|
|
|
|
TUniqueId x188_targetId;
|
|
|
|
float x18c_time;
|
|
|
|
float x190_maxTime;
|
|
|
|
CTransform4f x194_;
|
|
|
|
CVector3f x1c4_lookPos;
|
|
|
|
float x1d0_positionSpeed;
|
|
|
|
float x1d4_rotationSpeed;
|
|
|
|
bool x1d8_24_sinusoidal : 1;
|
|
|
|
float x1dc_closeInAngle;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif // _CINTERPOLATIONCAMERA
|