2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CCAMERASHAKEDATA
|
|
|
|
#define _CCAMERASHAKEDATA
|
2022-08-13 01:26:00 +00:00
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
|
|
|
|
|
|
|
struct SCameraShakePoint {
|
|
|
|
bool x0_useEnvelope;
|
2022-10-09 05:37:23 +00:00
|
|
|
float x4_value;
|
|
|
|
float x8_magnitude;
|
|
|
|
float xc_attackTime;
|
|
|
|
float x10_sustainTime;
|
|
|
|
float x14_duration;
|
2022-08-13 01:26:00 +00:00
|
|
|
};
|
|
|
|
CHECK_SIZEOF(SCameraShakePoint, 0x18)
|
|
|
|
|
|
|
|
class CCameraShakerComponent {
|
|
|
|
public:
|
2022-11-03 12:29:47 +00:00
|
|
|
virtual ~CCameraShakerComponent() {}
|
2022-08-13 01:26:00 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
bool x4_useModulation;
|
|
|
|
SCameraShakePoint x8_am;
|
|
|
|
SCameraShakePoint x20_fm;
|
2022-10-09 05:37:23 +00:00
|
|
|
float x38_value;
|
2022-08-13 01:26:00 +00:00
|
|
|
};
|
|
|
|
CHECK_SIZEOF(CCameraShakerComponent, 0x3c)
|
|
|
|
|
|
|
|
class CCameraShakeData {
|
2022-11-03 12:29:47 +00:00
|
|
|
public:
|
|
|
|
CCameraShakeData(const CCameraShakeData&);
|
|
|
|
void SetShakerId(int id) { xbc_shakerId = id; }
|
|
|
|
int GetShakerId() const { return xbc_shakerId; }
|
|
|
|
|
2022-08-13 01:26:00 +00:00
|
|
|
private:
|
2022-10-09 05:37:23 +00:00
|
|
|
float x0_duration;
|
|
|
|
float x4_curTime;
|
2022-08-13 01:26:00 +00:00
|
|
|
CCameraShakerComponent x8_shakerX;
|
|
|
|
CCameraShakerComponent x44_shakerY;
|
|
|
|
CCameraShakerComponent x80_shakerZ;
|
2022-11-03 12:29:47 +00:00
|
|
|
int xbc_shakerId;
|
2022-09-05 04:01:13 +00:00
|
|
|
uint xc0_flags;
|
2022-08-13 01:26:00 +00:00
|
|
|
CVector3f xc4_sfxPos;
|
2022-10-09 05:37:23 +00:00
|
|
|
float xd0_sfxDist;
|
2022-08-13 01:26:00 +00:00
|
|
|
};
|
|
|
|
CHECK_SIZEOF(CCameraShakeData, 0xd4)
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CCAMERASHAKEDATA
|