Particles_Z - widberg/fmtk GitHub Wiki
Chum World PARTICLES
ImZouna Particles_Z
This has an associated Data Class.
bitfield ParticlesEmitter_Z_Flags {
FL_PARTICLES_LOOP : 1;
FL_PARTICLES_LOCK_H : 1;
FL_PARTICLES_LOCK_V : 1;
FL_PARTICLES_USE_TOTAL : 1;
FL_PARTICLES_NOEMIT : 1;
FL_PARTICLES_ORIENTED : 1;
FL_PARTICLES_NODEREL : 1;
FL_PARTICLES_BOUNDARY_ONLY : 1;
FL_PARTICLES_FLIP_H : 1;
FL_PARTICLES_FLIP_V : 1;
FL_PARTICLES_SIZEX_ONLY : 1;
FL_PARTICLES_LIGHT : 1;
FL_PARTICLES_SCREEN : 1;
FL_PARTICLES_SCREENXY : 1;
FL_PARTICLES_ACCURATE : 1;
FL_PARTICLES_LAST : 1;
padding : 16;
};
struct ParticlesEmitter_Z {
u16 max_quantity;
u16 p_cloud_type;
Vec3f p_cloud_size;
Vec3f p_cloud_offset;
f32 off_axis;
f32 off_axis_variation;
f32 off_plane;
f32 off_plane_variation;
f32 velocity;
f32 velocity_variation;
f32 emitter_speed;
f32 emitter_speed_variation;
f32 loop_period;
f32 life;
f32 life_variation;
ParticlesEmitter_Z_Flags flags;
KeyframerVec2fLinear_Z unknown60;
KeyframerVec4fLinear_Z unknown61;
KeyframerVec4fLinear_Z unknown62;
KeyframerFloatLinear_Z unknown63;
KeyframerVec3fLinear_Z unknown64;
KeyframerVec3fLinear_Z unknown65;
KeyframerFloatLinear_Z unknown66;
Name_Z material_anim_name;
};
struct Particles_Z : Object_Z {
std::assert(type == ObjectType::Particles_Z, "type != ObjectType::Particles_Z");
DynArray_Z<ParticlesEmitter_Z> particles_emitters;
DynArray_Z<Mat4f> mats;
f32 unknown2;
u16 unknown3;
};