#pragma once #include namespace al { class ByamlIter; class CameraPoser; class CameraParamMoveLimit { public: static CameraParamMoveLimit* create(const CameraPoser* poser); CameraParamMoveLimit(); void load(const ByamlIter& iter); void apply(sead::LookAtCamera* camera) const; private: sead::Vector3f mPlus = {100000.0f, 100000.0f, 100000.0f}; sead::Vector3f mMinus = {-100000.0f, -100000.0f, -100000.0f}; bool mHasPlusX = false; bool mHasMinusX = false; bool mHasPlusY = false; bool mHasMinusY = false; bool mHasPlusZ = false; bool mHasMinusZ = false; sead::Matrix34f mViewMtx = sead::Matrix34f::ident; sead::Matrix34f mInvViewMtx = sead::Matrix34f::ident; f32 mRotYDegree = 0; }; static_assert(sizeof(CameraParamMoveLimit) == 0x84); } // namespace al