mirror of
https://github.com/MonsterDruide1/OdysseyDecomp
synced 2026-04-29 20:14:41 +00:00
53 lines
1.2 KiB
C++
53 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 hasMin;
|
|
bool hasMax;
|
|
f32 minFovyDegree;
|
|
f32 maxFovyDegree;
|
|
};
|
|
|
|
namespace al {
|
|
struct SnapShotCameraSceneInfo;
|
|
class ICameraInput;
|
|
class IUseCollision;
|
|
|
|
class SnapShotCameraCtrl : public NerveExecutor, public IUseAudioKeeper {
|
|
public:
|
|
SnapShotCameraCtrl(const SnapShotCameraSceneInfo*);
|
|
void start(f32);
|
|
void load(const ByamlIter& iter);
|
|
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; };
|
|
|
|
private:
|
|
SnapShotCameraSceneInfo* mCameraSceneInfo;
|
|
CameraParam* mParam;
|
|
bool mIsValidLookAtOffset;
|
|
sead::Vector3f mLookAtOffset;
|
|
sead::Vector3f unk1;
|
|
bool mIsValidZoomFovy;
|
|
f32 mFovyDegree;
|
|
f32 unk2;
|
|
f32 unk3;
|
|
f32 mMaxZoomOutFovyDegree;
|
|
bool mIsValidRoll;
|
|
f32 mRollDegree;
|
|
f32 mRollTarget;
|
|
u32 unk4;
|
|
bool unk5;
|
|
};
|
|
} // namespace al
|