OdysseyDecomp/lib/al/include/Library/Camera/SnapShotCameraCtrl.h
MonsterDruide1 69d81ebd91
Custom format validation (Linting) (#17)
* Add script to verify formatting
* Add newline to end of files
* Add `#pragma once` to top of headers
* Add own header to includes at top of source files
* Remove useless namespace qualifiers
* Sort visibility modifiers correctly
* Format `#include`s in three blocks
* Remove `;` after namespaces
* Add for custom style checking to `lint`-GitHub-Action
* Format: No "// 0x" offset comments
* Remove macros from padding
2024-01-07 00:33:09 +01:00

52 lines
1.2 KiB
C++

#pragma once
#include <gfx/seadCamera.h>
#include "Library/Audio/IUseAudioKeeper.h"
#include "Library/Nerve/NerveExecutor.h"
#include "Library/Yaml/ByamlIter.h"
struct CameraParam {
bool gotMin;
bool gotMax;
f32 mMinFovyDegree;
f32 mMaxFovyDegree;
};
namespace al {
class SnapShotCameraSceneInfo;
class ICameraInput;
class IUseCollision;
class SnapShotCameraCtrl : public NerveExecutor, public IUseAudioKeeper {
SnapShotCameraSceneInfo* mCameraSceneInfo;
CameraParam* mParam;
bool mIsValidLookAtOffset;
sead::Vector3f mLookAtOffset;
sead::Vector3f vVar1;
bool mIsValidZoomFovy;
f32 mFovyDegree;
f32 fVar2;
f32 fVar3;
f32 mMaxZoomOutFovyDegree;
bool mIsValidRoll;
f32 mRollDegree;
f32 mRollTarget;
u32 uVar2;
bool bVar1;
public:
SnapShotCameraCtrl(SnapShotCameraSceneInfo const*);
void start(f32);
void load(ByamlIter const&);
void startReset(s32);
void update(const sead::LookAtCamera&, const IUseCollision*, const ICameraInput*);
void makeLookAtCameraPost(sead::LookAtCamera*) const;
void makeLookAtCameraLast(sead::LookAtCamera*) const;
void exeWait();
void exeReset();
f32 getFovyDegree() const { return mFovyDegree; };
};
} // namespace al