2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CFIRSTPERSONCAMERA
|
|
|
|
#define _CFIRSTPERSONCAMERA
|
2022-10-05 18:05:56 +00:00
|
|
|
|
|
|
|
#include "MetroidPrime/Cameras/CGameCamera.hpp"
|
|
|
|
|
|
|
|
class CFirstPersonCamera : public CGameCamera {
|
|
|
|
public:
|
2022-11-07 00:20:46 +00:00
|
|
|
CFirstPersonCamera(const TUniqueId& uid, const CTransform4f& xf, TUniqueId watchedObj,
|
|
|
|
float orbitCameraSpeed, float fov, float nearz, float farz, float aspect);
|
2022-11-03 22:36:16 +00:00
|
|
|
void SetScriptPitchId(TUniqueId uid) { x1c4_pitchId = uid; }
|
2022-11-07 00:20:46 +00:00
|
|
|
void ProcessInput(const CFinalInput& input, CStateManager& mgr);
|
|
|
|
void Reset(const CTransform4f& xf, CStateManager& mgr);
|
2022-11-03 22:36:16 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
float x188_orbitCameraSpeed;
|
|
|
|
bool x18c_lockCamera;
|
|
|
|
CTransform4f x190_gunFollowXf;
|
|
|
|
float x1c0_pitch;
|
|
|
|
TUniqueId x1c4_pitchId;
|
|
|
|
bool x1c6_24_deferBallTransitionProcessing : 1;
|
|
|
|
CVector3f x1c8_closeInVec;
|
|
|
|
float x1d4_closeInTimer;
|
2022-10-05 18:05:56 +00:00
|
|
|
};
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CFIRSTPERSONCAMERA
|