OdysseyDecomp/lib/al/Library/Camera/CameraViewCtrlGyro.h
2025-03-04 16:05:07 +01:00

53 lines
1.1 KiB
C++

#pragma once
#include <basis/seadTypes.h>
#include <math/seadMatrix.h>
#include <math/seadVector.h>
namespace al {
class GyroCameraCtrl {
public:
GyroCameraCtrl();
void reset(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&);
void update(const sead::Vector3f&, const sead::Vector3f&, const sead::Vector3f&);
void reduceSensitivity();
void setIsValidGyro(bool isValidGyro) { mIsValidGyro = isValidGyro; }
void setSensitivityScale(f32 sensitivityScale) { mSensitivityScale = sensitivityScale; }
private:
sead::Matrix34f _0;
sead::Vector3f _30;
sead::Vector3f _3c;
sead::Vector3f _48;
sead::Vector3f _54;
sead::Vector3f _60;
sead::Vector3f _6c;
f32 _78;
f32 _7c;
f32 _80;
f32 _84;
f32 _88;
f32 _8c;
f32 _90;
f32 _94;
f32 _98;
s32 mSensitivityLevel;
f32 _a0;
f32 _a4;
f32 mSensitivityScale;
bool mIsValidGyro;
f32 _b0;
f32 _b4;
f32 _b8;
f32 _bc;
f32 _c0;
f32 _c4;
};
static_assert(sizeof(GyroCameraCtrl) == 0xC8);
} // namespace al