2021-12-18 14:22:06 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
2023-12-13 00:40:16 -05:00
|
|
|
#include "JSystem/JGeometry/TVec.hpp"
|
2021-12-18 14:22:06 +01:00
|
|
|
|
|
|
|
|
class CameraShakePattern {
|
|
|
|
|
public:
|
|
|
|
|
inline CameraShakePattern() {
|
|
|
|
|
_4 = 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual inline ~CameraShakePattern() {
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
virtual bool isEnd() const = 0;
|
|
|
|
|
virtual void getOffset(TVec2f *) const = 0;
|
|
|
|
|
virtual void start() = 0;
|
|
|
|
|
virtual void update() = 0;
|
|
|
|
|
|
|
|
|
|
u32 _4;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class CameraShakePatternSingly : public CameraShakePattern {
|
|
|
|
|
public:
|
|
|
|
|
CameraShakePatternSingly(float);
|
|
|
|
|
virtual ~CameraShakePatternSingly();
|
|
|
|
|
|
|
|
|
|
virtual bool isEnd() const;
|
|
|
|
|
virtual void getOffset(TVec2f *) const;
|
|
|
|
|
virtual void start();
|
|
|
|
|
virtual void update();
|
|
|
|
|
|
|
|
|
|
void setDirection(const TVec2f &);
|
|
|
|
|
|
|
|
|
|
f32 _8;
|
2024-08-20 20:19:54 -04:00
|
|
|
TVec2f mOffset; // 0xC
|
|
|
|
|
TVec2f mDirection; // 0x14
|
2021-12-18 14:22:06 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
class CameraShakePatternVerticalSin : public CameraShakePattern {
|
|
|
|
|
public:
|
|
|
|
|
CameraShakePatternVerticalSin(float, float);
|
|
|
|
|
virtual ~CameraShakePatternVerticalSin();
|
|
|
|
|
|
|
|
|
|
virtual bool isEnd() const;
|
|
|
|
|
virtual void getOffset(TVec2f *) const;
|
|
|
|
|
virtual void start();
|
|
|
|
|
virtual void update();
|
|
|
|
|
|
|
|
|
|
f32 _8;
|
|
|
|
|
f32 _C;
|
2024-08-20 20:19:54 -04:00
|
|
|
TVec2f mOffset; // 0x10
|
2021-12-18 14:22:06 +01:00
|
|
|
};
|