2022-10-09 05:13:17 +00:00
|
|
|
#ifndef _CPARTICLEDATA
|
|
|
|
#define _CPARTICLEDATA
|
2022-08-14 18:38:41 +00:00
|
|
|
|
|
|
|
#include "types.h"
|
|
|
|
|
|
|
|
#include "Kyoto/IObjectStore.hpp"
|
|
|
|
#include "Kyoto/Math/CVector3f.hpp"
|
|
|
|
|
|
|
|
#include "rstl/string.hpp"
|
|
|
|
|
2023-01-08 02:11:54 +00:00
|
|
|
class CInputStream;
|
2022-08-14 18:38:41 +00:00
|
|
|
class CParticleData {
|
|
|
|
public:
|
|
|
|
enum EParentedMode {
|
|
|
|
kPM_Initial,
|
|
|
|
kPM_ContinuousEmitter,
|
|
|
|
kPM_ContinuousSystem,
|
|
|
|
};
|
|
|
|
|
2023-01-08 02:11:54 +00:00
|
|
|
CParticleData(int duration, const SObjectTag& tag, const rstl::string& boneName, float scale,
|
|
|
|
EParentedMode mode)
|
|
|
|
: x0_duration(duration)
|
|
|
|
, x4_particle(tag)
|
|
|
|
, xc_boneName(boneName)
|
|
|
|
, x1c_scale(scale)
|
|
|
|
, x20_parentMode(mode) {}
|
|
|
|
|
|
|
|
CParticleData(CInputStream& in);
|
|
|
|
|
2022-08-14 18:38:41 +00:00
|
|
|
private:
|
2023-01-08 02:11:54 +00:00
|
|
|
int x0_duration;
|
2022-08-14 18:38:41 +00:00
|
|
|
SObjectTag x4_particle;
|
|
|
|
rstl::string xc_boneName;
|
2022-10-09 05:37:23 +00:00
|
|
|
float x1c_scale;
|
2022-08-14 18:38:41 +00:00
|
|
|
EParentedMode x20_parentMode;
|
|
|
|
};
|
|
|
|
|
|
|
|
class CAuxiliaryParticleData {
|
|
|
|
private:
|
2022-09-05 04:01:13 +00:00
|
|
|
uint x0_duration;
|
2022-08-14 18:38:41 +00:00
|
|
|
SObjectTag x4_particle;
|
|
|
|
CVector3f xc_translation;
|
2022-10-09 05:37:23 +00:00
|
|
|
float x18_scale;
|
2022-08-14 18:38:41 +00:00
|
|
|
};
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _CPARTICLEDATA
|