OdysseyDecomp/lib/al/Library/Camera/CameraPoserFix.h

39 lines
1 KiB
C++

#pragma once
#include "Library/Camera/CameraPoser.h"
namespace al {
class LiveActor;
class CameraPoserFix : public CameraPoser {
public:
CameraPoserFix(const char* name);
static const char* getFixAbsoluteCameraName();
static const char* getFixDoorwayCameraName();
void initCameraPosAndLookAtPos(const sead::Vector3f& cameraPos,
const sead::Vector3f& lookAtPos);
void init() override;
void loadParam(const ByamlIter& iter) override;
void start(const CameraStartInfo& info) override;
void update() override;
void setIsCalcNearestAtFromPreAt(bool isCalcNearestAtFromPreAt) {
mIsCalcNearestAtFromPreAt = isCalcNearestAtFromPreAt;
}
private:
sead::Vector3f mLookAtPos = {0.0f, 0.0f, 0.0f};
f32 mDistance = 1800.0f;
f32 mAngleV = 30.0f;
f32 mAngleH = 0.0f;
bool mIsCalcNearestAtFromPreAt = false;
sead::Vector3f mPreLookAtPos = {0.0f, 0.0f, 0.0f};
};
static_assert(sizeof(CameraPoserFix) == 0x168);
} // namespace al