40#ifndef __PART_EMT_LDR_H
41#define __PART_EMT_LDR_H
64#define SAFE_FREE(pointer) \
74#define BYTE_TO_FLOAT(byte) \
75 (((float)byte) / 255.0F) \
77#define FLOAT_TO_BYTE(fval) \
78 ((unsigned char)(max(fval,0.0F) * 255.0F)) \
80#define RGBA_TO_VECTOR3(rgba) \
81 Vector3 (BYTE_TO_FLOAT(rgba.R), BYTE_TO_FLOAT (rgba.G), BYTE_TO_FLOAT (rgba.B)) \
83#define VECTOR3_TO_RGBA(vector3, rgba) \
84 rgba.R = FLOAT_TO_BYTE (vector3.X); \
85 rgba.G = FLOAT_TO_BYTE (vector3.Y); \
86 rgba.B = FLOAT_TO_BYTE (vector3.Z); \
122 const char *
Get_Name (
void)
const {
return m_pName; }
123 virtual void Set_Name (
const char *pname);
296 char * m_pUserString;
298 unsigned int m_Version;
308 float m_InitialOrientationRandom;
#define W3D_ELINE_FREEZE_RANDOM
#define W3D_ELINE_DISABLE_SORTING
#define W3D_ELINE_MERGE_INTERSECTIONS
#define W3D_ELINE_TEXTURE_MAP_MODE_MASK
#define W3D_ELINE_TEXTURE_MAP_MODE_OFFSET
#define W3D_ELINE_END_CAPS
#define W3DMPO_GLUE(ARGCLASS)
virtual WW3DErrorType Save_Color_Keyframes(ChunkSaveClass &chunk_save)
virtual void Convert_To_Ver2(void)
virtual WW3DErrorType Save_W3D(ChunkSaveClass &chunk_save)
float Get_Future_Start_Time(void) const
virtual void Get_Size_Keyframes(ParticlePropertyStruct< float > &keyframes) const
float Get_Max_Emissions(void) const
int Get_Line_Texture_Mapping_Mode(void) const
virtual void Set_User_Type(int type)
int Get_Render_Mode(void) const
virtual WW3DErrorType Save_Extra_Info(ChunkSaveClass &chunk_save)
ParticleEmitterDefClass(void)
int Is_Merge_Intersections(void) const
virtual void Set_User_String(const char *pstring)
virtual void Set_Texture_Filename(const char *pname)
const char * Get_Name(void) const
virtual void Set_Velocity(const Vector3 &value)
virtual void Set_Frame_Keyframes(ParticlePropertyStruct< float > &keyframes)
virtual void Set_Size_Keyframes(ParticlePropertyStruct< float > &keyframes)
virtual void Set_Frame_Mode(int mode)
float Get_Vel_Inherit(void) const
virtual void Set_End_Caps(int onoff)
virtual WW3DErrorType Load_W3D(ChunkLoadClass &chunk_load)
const ParticleEmitterDefClass & operator=(const ParticleEmitterDefClass &src)
int Are_End_Caps_Enabled(void) const
float Get_Fade_Time(void) const
virtual void Get_Opacity_Keyframes(ParticlePropertyStruct< float > &keyframes) const
virtual WW3DErrorType Read_Rotation_Keyframes(ChunkLoadClass &chunk_load)
virtual void Set_Lifetime(float value)
virtual bool Read_Opacity_Keyframe(ChunkLoadClass &chunk_load, float *key_time, float *value)
virtual void Set_Name(const char *pname)
virtual WW3DErrorType Read_Props(ChunkLoadClass &chunk_load)
virtual void Get_Color_Keyframes(ParticlePropertyStruct< Vector3 > &keyframes) const
unsigned int Get_Burst_Size(void) const
virtual WW3DErrorType Read_Extra_Info(ChunkLoadClass &chunk_load)
float Get_Merge_Abort_Factor(void) const
virtual void Set_Velocity_Random(Vector3Randomizer *randomizer)
virtual void Set_Merge_Intersections(int onoff)
int Get_Subdivision_Level(void) const
virtual void Set_Disable_Sorting(int onoff)
virtual WW3DErrorType Save_Size_Keyframes(ChunkSaveClass &chunk_save)
virtual Vector3Randomizer * Create_Randomizer(W3dVolumeRandomizerStruct &info)
virtual WW3DErrorType Save_Header(ChunkSaveClass &chunk_save)
float Get_Noise_Amplitude(void) const
virtual void Set_Merge_Abort_Factor(float k)
virtual ~ParticleEmitterDefClass(void)
int Is_Freeze_Random(void) const
virtual WW3DErrorType Save_InfoV2(ChunkSaveClass &chunk_save)
const char * Get_User_String(void) const
int Get_User_Type(void) const
virtual WW3DErrorType Save_Props(ChunkSaveClass &chunk_save)
virtual WW3DErrorType Read_User_Data(ChunkLoadClass &chunk_load)
virtual void Set_Max_Emissions(float value)
const char * Get_Texture_Filename(void) const
virtual WW3DErrorType Read_Info(ChunkLoadClass &chunk_load)
virtual void Set_Noise_Amplitude(float k)
virtual void Normalize_Filename(void)
Vector3Randomizer * Get_Creation_Volume(void) const
virtual WW3DErrorType Read_Frame_Keyframes(ChunkLoadClass &chunk_load)
virtual float Get_Initial_Orientation_Random(void) const
virtual void Get_Rotation_Keyframes(ParticlePropertyStruct< float > &rotationframes) const
void Get_Shader(ShaderClass &shader) const
virtual void Free_Props(void)
virtual void Set_Shader(const ShaderClass &shader)
virtual WW3DErrorType Read_Header(ChunkLoadClass &chunk_load)
virtual bool Read_Size_Keyframe(ChunkLoadClass &chunk_load, float *key_time, float *value)
float Get_Texture_Tile_Factor(void) const
float Get_Gravity(void) const
virtual WW3DErrorType Read_Line_Properties(ChunkLoadClass &chunk_load)
virtual void Set_Line_Texture_Mapping_Mode(int mode)
virtual WW3DErrorType Save_Frame_Keyframes(ChunkSaveClass &chunk_save)
Vector2 Get_UV_Offset_Rate(void) const
int Is_Sorting_Disabled(void) const
virtual void Set_Color_Keyframes(ParticlePropertyStruct< Vector3 > &keyframes)
virtual void Initialize_Randomizer_Struct(const Vector3Randomizer &randomizer, W3dVolumeRandomizerStruct &info)
virtual void Set_UV_Offset_Rate(const Vector2 &rate)
float Get_Elasticity(void) const
virtual WW3DErrorType Save_Info(ChunkSaveClass &chunk_save)
virtual void Set_Acceleration(const Vector3 &value)
int Get_Frame_Mode(void) const
unsigned int Get_Version(void) const
virtual WW3DErrorType Read_Blur_Time_Keyframes(ChunkLoadClass &chunk_load)
virtual void Set_Gravity(float value)
virtual WW3DErrorType Read_InfoV2(ChunkLoadClass &chunk_load)
virtual void Set_Subdivision_Level(int lvl)
float Get_Outward_Vel(void) const
virtual void Set_Rotation_Keyframes(ParticlePropertyStruct< float > &keyframes, float orient_rnd)
virtual void Set_Render_Mode(int mode)
virtual void Set_Emission_Rate(float value)
Vector3 Get_Acceleration(void) const
virtual WW3DErrorType Save_Rotation_Keyframes(ChunkSaveClass &chunk_save)
virtual WW3DErrorType Save_Blur_Time_Keyframes(ChunkSaveClass &chunk_save)
Vector3Randomizer * Get_Velocity_Random(void) const
virtual void Set_Freeze_Random(int onoff)
virtual void Set_Outward_Vel(float value)
virtual WW3DErrorType Save_Line_Properties(ChunkSaveClass &chunk_save)
float Get_Emission_Rate(void) const
virtual void Set_Blur_Time_Keyframes(ParticlePropertyStruct< float > &keyframes)
virtual bool Read_Color_Keyframe(ChunkLoadClass &chunk_load, float *key_time, Vector3 *value)
virtual void Set_Opacity_Keyframes(ParticlePropertyStruct< float > &keyframes)
virtual void Set_Fade_Time(float value)
virtual void Set_Future_Start_Time(float value)
virtual void Get_Frame_Keyframes(ParticlePropertyStruct< float > &frameframes) const
virtual void Initialize_To_Ver2(void)
virtual void Set_Creation_Volume(Vector3Randomizer *randomizer)
virtual void Get_Blur_Time_Keyframes(ParticlePropertyStruct< float > &blurtimeframes) const
virtual void Set_Elasticity(float value)
virtual void Set_Texture_Tile_Factor(float k)
const W3dEmitterLinePropertiesStruct * Get_Line_Properties(void) const
Vector3 Get_Velocity(void) const
float Get_Lifetime(void) const
virtual void Set_Vel_Inherit(float value)
virtual void Set_Burst_Size(unsigned int count)
virtual WW3DErrorType Save_User_Data(ChunkSaveClass &chunk_save)
virtual WW3DErrorType Save_Opacity_Keyframes(ChunkSaveClass &chunk_save)
virtual int Chunk_Type(void)
virtual PrototypeClass * Load_W3D(ChunkLoadClass &chunk_load)
virtual ~ParticleEmitterPrototypeClass(void)
virtual RenderObjClass * Create(void)
virtual int Get_Class_ID(void) const
ParticleEmitterPrototypeClass(ParticleEmitterDefClass *pdef)
virtual void DeleteSelf()
virtual ParticleEmitterDefClass * Get_Definition(void) const
ParticleEmitterDefClass * m_pDefinition
virtual const char * Get_Name(void) const
PrototypeLoaderClass(void)
@ CLASSID_PARTICLEEMITTER
virtual Vector3Randomizer * Clone(void) const =0
static void Convert_Shader(const W3dShaderStruct &shader, ShaderClass *set)
ParticleEmitterLoaderClass _ParticleEmitterLoader