struct ClientEvent;
class ParticleManager;
+class ClientEnvironment;
class Particle : public scene::ISceneNode
{
float expirationtime,
float size,
bool collisiondetection,
+ bool collision_removal,
bool vertical,
video::ITexture *texture,
v2f texpos,
- v2f texsize
+ v2f texsize,
+ u32 material_type_param,
+ u16 vertical_frame_num,
+ u16 horizontal_frame_num,
+ u16 first_frame,
+ float frame_length,
+ bool loop_animation,
+ u8 glow
);
~Particle();
float m_size;
u8 m_light;
bool m_collisiondetection;
+ bool m_collision_removal;
bool m_vertical;
v3s16 m_camera_offset;
+ u16 m_vertical_frame_num;
+ u16 m_horizontal_frame_num;
+ u16 m_first_frame;
+ float m_frame_length;
+ bool m_loop_animation;
+ u8 m_glow;
};
class ParticleSpawner
float minexptime, float maxexptime,
float minsize, float maxsize,
bool collisiondetection,
+ bool collision_removal,
+ u16 attached_id,
bool vertical,
video::ITexture *texture,
u32 id,
+ u32 material_type_param,
+ u16 vertical_frame_num,
+ u16 horizontal_frame_num,
+ u16 min_first_frame,
+ u16 max_first_frame,
+ float frame_length,
+ bool loop_animation,
+ u8 glow,
ParticleManager* p_manager);
-
~ParticleSpawner();
void step(float dtime, ClientEnvironment *env);
video::ITexture *m_texture;
std::vector<float> m_spawntimes;
bool m_collisiondetection;
+ bool m_collision_removal;
bool m_vertical;
-
+ u16 m_attached_id;
+ u32 m_material_type_param;
+ u16 m_vertical_frame_num;
+ u16 m_horizontal_frame_num;
+ u16 m_min_first_frame;
+ u16 m_max_first_frame;
+ float m_frame_length;
+ bool m_loop_animation;
+ u8 m_glow;
};
/**