2016-04-16 21:49:47 +00:00
|
|
|
#ifndef __URDE_CCINEMATICCAMERA_HPP__
|
|
|
|
#define __URDE_CCINEMATICCAMERA_HPP__
|
|
|
|
|
|
|
|
#include "CGameCamera.hpp"
|
|
|
|
|
|
|
|
namespace urde
|
|
|
|
{
|
|
|
|
|
|
|
|
class CCinematicCamera : public CGameCamera
|
|
|
|
{
|
2017-11-23 02:15:09 +00:00
|
|
|
std::vector<zeus::CVector3f> x188_;
|
|
|
|
std::vector<zeus::CQuaternion> x198_;
|
|
|
|
std::vector<TUniqueId> x1a8_;
|
|
|
|
std::vector<zeus::CVector3f> x1b8_;
|
|
|
|
std::vector<TUniqueId> x1c8_;
|
|
|
|
std::vector<float> x1d8_;
|
|
|
|
float x1e8_duration;
|
|
|
|
float x1ec_ = 0.f;
|
|
|
|
float x1f0_origFovy;
|
|
|
|
u32 x1f4_ = 0;
|
|
|
|
u32 x1f8_ = 0;
|
|
|
|
zeus::CQuaternion x1fc_;
|
|
|
|
TUniqueId x20c_lookAtId = kInvalidUniqueId;
|
|
|
|
zeus::CVector3f x210_;
|
|
|
|
u32 x21c_flags;
|
|
|
|
bool x220_24_;
|
2016-04-16 21:49:47 +00:00
|
|
|
public:
|
2017-11-23 02:15:09 +00:00
|
|
|
CCinematicCamera(TUniqueId uid, std::string_view name, const CEntityInfo& info,
|
|
|
|
const zeus::CTransform& xf, bool active, float shotDuration,
|
|
|
|
float fovy, float znear, float zfar, float aspect, u32 flags);
|
2016-08-15 01:19:04 +00:00
|
|
|
|
2017-01-15 03:07:01 +00:00
|
|
|
void Accept(IVisitor& visitor);
|
2017-08-29 13:17:52 +00:00
|
|
|
void AcceptScriptMsg(EScriptObjectMessage msg, TUniqueId uid, CStateManager& mgr);
|
2016-08-15 01:19:04 +00:00
|
|
|
void ProcessInput(const CFinalInput&, CStateManager& mgr);
|
|
|
|
void Reset(const zeus::CTransform&, CStateManager& mgr);
|
2017-11-23 02:15:09 +00:00
|
|
|
u32 GetFlags() const { return x21c_flags; }
|
2017-02-18 02:19:50 +00:00
|
|
|
void WasDeactivated(CStateManager& mgr);
|
2017-08-29 13:17:52 +00:00
|
|
|
void CalculateWaypoints(CStateManager& mgr);
|
|
|
|
void SendArrivedMsg(TUniqueId reciever, CStateManager& mgr);
|
2016-04-16 21:49:47 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // __URDE_CCINEMATICCAMERA_HPP__
|