2016-04-16 21:49:47 +00:00
|
|
|
#ifndef __URDE_CPATHCAMERA_HPP__
|
|
|
|
#define __URDE_CPATHCAMERA_HPP__
|
|
|
|
|
|
|
|
#include "CGameCamera.hpp"
|
2017-11-20 17:33:21 +00:00
|
|
|
#include "CCameraSpline.hpp"
|
2016-04-16 21:49:47 +00:00
|
|
|
|
|
|
|
namespace urde
|
|
|
|
{
|
|
|
|
|
|
|
|
class CPathCamera : public CGameCamera
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
enum class EInitialSplinePosition
|
|
|
|
{
|
|
|
|
};
|
2017-11-20 17:33:21 +00:00
|
|
|
private:
|
|
|
|
|
|
|
|
CCameraSpline x188_spline;
|
2018-06-25 01:02:29 +00:00
|
|
|
float x1d4_pos = 0.f;
|
|
|
|
float x1d8_time = 0.f;
|
2017-11-20 17:33:21 +00:00
|
|
|
float x1dc_;
|
|
|
|
float x1e0_;
|
|
|
|
float x1e4_;
|
|
|
|
EInitialSplinePosition x1e8_initPos;
|
|
|
|
u32 x1ec_flags;
|
|
|
|
float x1f0_;
|
|
|
|
float x1f4_;
|
|
|
|
public:
|
|
|
|
|
2017-11-13 06:19:18 +00:00
|
|
|
CPathCamera(TUniqueId, std::string_view name, const CEntityInfo& info,
|
2017-11-20 17:33:21 +00:00
|
|
|
const zeus::CTransform& xf, bool, float, float, float,
|
|
|
|
float, float, u32, EInitialSplinePosition);
|
2016-08-15 01:19:04 +00:00
|
|
|
|
2017-11-20 17:33:21 +00:00
|
|
|
void Accept(IVisitor&);
|
2018-06-25 01:02:29 +00:00
|
|
|
void AcceptScriptMsg(EScriptObjectMessage, TUniqueId, CStateManager&);
|
|
|
|
void Think(float, CStateManager&);
|
|
|
|
void Render(const CStateManager&) const {}
|
2016-08-15 01:19:04 +00:00
|
|
|
void ProcessInput(const CFinalInput&, CStateManager& mgr);
|
|
|
|
void Reset(const zeus::CTransform&, CStateManager& mgr);
|
2018-06-25 01:02:29 +00:00
|
|
|
zeus::CTransform MoveAlongSpline(float, CStateManager&);
|
|
|
|
void sub8012DD3C(CStateManager&);
|
2016-04-16 21:49:47 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // __URDE_CPATHCAMERA_HPP__
|