1#pragma once
2
3#include <gfx/seadCamera.h>
4
5namespace al {
6class ByamlIter;
7class CameraPoser;
8
9class CameraParamMoveLimit {
10public:
11 static CameraParamMoveLimit* create(const CameraPoser* poser);
12
13 CameraParamMoveLimit();
14
15 void load(const ByamlIter& iter);
16 void apply(sead::LookAtCamera* camera) const;
17
18private:
19 sead::Vector3f mPlus = {100000.0f, 100000.0f, 100000.0f};
20 sead::Vector3f mMinus = {-100000.0f, -100000.0f, -100000.0f};
21 bool mHasPlusX = false;
22 bool mHasMinusX = false;
23 bool mHasPlusY = false;
24 bool mHasMinusY = false;
25 bool mHasPlusZ = false;
26 bool mHasMinusZ = false;
27 sead::Matrix34f mViewMtx = sead::Matrix34f::ident;
28 sead::Matrix34f mInvViewMtx = sead::Matrix34f::ident;
29 f32 mRotYDegree = 0;
30};
31
32static_assert(sizeof(CameraParamMoveLimit) == 0x84);
33
34} // namespace al
35