1#pragma once
2
3#include "Library/Camera/CameraPoser.h"
4
5namespace al {
6class LiveActor;
7
8class CameraPoserFix : public CameraPoser {
9public:
10 CameraPoserFix(const char* name);
11
12 static const char* getFixAbsoluteCameraName();
13 static const char* getFixDoorwayCameraName();
14
15 void initCameraPosAndLookAtPos(const sead::Vector3f& cameraPos,
16 const sead::Vector3f& lookAtPos);
17
18 void init() override;
19 void loadParam(const ByamlIter& iter) override;
20 void start(const CameraStartInfo& startInfo) override;
21 void update() override;
22
23private:
24 sead::Vector3f mLookAtPos = {0.0f, 0.0f, 0.0f};
25 f32 mDistance = 1800.0f;
26 f32 mAngleV = 30.0f;
27 f32 mAngleH = 0.0f;
28 bool mIsCalcNearestAtFromPreAt = false;
29 sead::Vector3f mPreLookAtPos = {0.0f, 0.0f, 0.0f};
30};
31
32static_assert(sizeof(CameraPoserFix) == 0x168);
33
34} // namespace al
35