Commit 9f50c25b authored by hybrid's avatar hybrid

Changed from vector2df to dimension2df

Deprecated setParticleSize from ParticleSystemSceneNode, use setMaxStartSize/setMinStartSize from the emitter instead.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@1753 dfc29bdd-3216-0410-991c-e03cc46cb475
parent 94fce476
...@@ -70,10 +70,10 @@ public: ...@@ -70,10 +70,10 @@ public:
virtual void setMaxStartColor( const video::SColor& color ) = 0; virtual void setMaxStartColor( const video::SColor& color ) = 0;
//! Set the maximum starting size for particles //! Set the maximum starting size for particles
virtual void setMaxStartSize( const core::vector2df& size ) = 0; virtual void setMaxStartSize( const core::dimension2df& size ) = 0;
//! Set the minimum starting size for particles //! Set the minimum starting size for particles
virtual void setMinStartSize( const core::vector2df& size ) = 0; virtual void setMinStartSize( const core::dimension2df& size ) = 0;
//! Get direction the emitter emits particles //! Get direction the emitter emits particles
virtual const core::vector3df& getDirection() const = 0; virtual const core::vector3df& getDirection() const = 0;
...@@ -91,15 +91,16 @@ public: ...@@ -91,15 +91,16 @@ public:
virtual const video::SColor& getMaxStartColor() const = 0; virtual const video::SColor& getMaxStartColor() const = 0;
//! Get the maximum starting size for particles //! Get the maximum starting size for particles
virtual const core::vector2df& getMaxStartSize() const = 0; virtual const core::dimension2df& getMaxStartSize() const = 0;
//! Get the minimum starting size for particles //! Get the minimum starting size for particles
virtual const core::vector2df& getMinStartSize() const = 0; virtual const core::dimension2df& getMinStartSize() const = 0;
//! Writes attributes of the object. //! Writes attributes of the object.
/** Implement this to expose the attributes of your scene node animator for /** Implement this to expose the attributes of your scene node animator for
scripting languages, editors, debuggers or xml serialization purposes. */ scripting languages, editors, debuggers or xml serialization purposes. */
virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {} virtual void serializeAttributes(io::IAttributes* out,
io::SAttributeReadWriteOptions* options=0) const {}
//! Reads attributes of the object. //! Reads attributes of the object.
/** Implement this to set the attributes of your scene node animator for /** Implement this to set the attributes of your scene node animator for
...@@ -108,7 +109,8 @@ public: ...@@ -108,7 +109,8 @@ public:
\param in The attributes to work with. \param in The attributes to work with.
\param options Additional options. \param options Additional options.
\return Last index of an attribute read by this affector */ \return Last index of an attribute read by this affector */
virtual s32 deserializeAttributes(s32 startIndex, io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) { return 0; } virtual s32 deserializeAttributes(s32 startIndex, io::IAttributes* in,
io::SAttributeReadWriteOptions* options=0) { return 0; }
//! Get emitter type //! Get emitter type
virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_POINT; } virtual E_PARTICLE_EMITTER_TYPE getType() const { return EPET_POINT; }
......
...@@ -148,8 +148,8 @@ public: ...@@ -148,8 +148,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000, u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
s32 maxAngleDegrees = 0, s32 maxAngleDegrees = 0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ) = 0; const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
//! Creates a box particle emitter. //! Creates a box particle emitter.
/** \param box: The box for the emitter. /** \param box: The box for the emitter.
...@@ -187,8 +187,8 @@ public: ...@@ -187,8 +187,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ) = 0; const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
//! Creates a particle emitter for emitting from a cylinder //! Creates a particle emitter for emitting from a cylinder
/** \param center: The center of the circle at the base of the cylinder /** \param center: The center of the circle at the base of the cylinder
...@@ -232,8 +232,8 @@ public: ...@@ -232,8 +232,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000, u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
s32 maxAngleDegrees = 0, s32 maxAngleDegrees = 0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ) = 0; const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
//! Creates a mesh particle emitter. //! Creates a mesh particle emitter.
/** \param mesh: Pointer to mesh to emit particles from /** \param mesh: Pointer to mesh to emit particles from
...@@ -288,8 +288,8 @@ public: ...@@ -288,8 +288,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000, u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
s32 maxAngleDegrees = 0, s32 maxAngleDegrees = 0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ) = 0; const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
//! Creates a point particle emitter. //! Creates a point particle emitter.
/** \param direction: Direction and speed of particle emission. /** \param direction: Direction and speed of particle emission.
...@@ -325,8 +325,8 @@ public: ...@@ -325,8 +325,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ) = 0; const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
//! Creates a ring particle emitter. //! Creates a ring particle emitter.
/** \param center: Center of ring /** \param center: Center of ring
...@@ -368,8 +368,8 @@ public: ...@@ -368,8 +368,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ) = 0; const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
//! Creates a sphere particle emitter. //! Creates a sphere particle emitter.
/** \param center: Center of sphere /** \param center: Center of sphere
...@@ -408,8 +408,8 @@ public: ...@@ -408,8 +408,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ) = 0; const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) ) = 0;
//! Creates a point attraction affector. //! Creates a point attraction affector.
/** This affector modifies the positions of the particles and attracts /** This affector modifies the positions of the particles and attracts
...@@ -442,7 +442,7 @@ public: ...@@ -442,7 +442,7 @@ public:
just call addAffector(). Note that you'll have to drop() the just call addAffector(). Note that you'll have to drop() the
returned pointer, after you don't need it any more, see returned pointer, after you don't need it any more, see
IReferenceCounted::drop() for more information. */ IReferenceCounted::drop() for more information. */
virtual IParticleAffector* createScaleParticleAffector(const core::vector2df& scaleTo = core::vector2df(1.0f, 1.0f)) = 0; virtual IParticleAffector* createScaleParticleAffector(const core::dimension2df& scaleTo = core::dimension2df(1.0f, 1.0f)) = 0;
//! Creates a fade out particle affector. //! Creates a fade out particle affector.
/** This affector modifies the color of every particle and and reaches /** This affector modifies the color of every particle and and reaches
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
#define __S_PARTICLE_H_INCLUDED__ #define __S_PARTICLE_H_INCLUDED__
#include "vector3d.h" #include "vector3d.h"
#include "vector2d.h" #include "dimension2d.h"
#include "SColor.h" #include "SColor.h"
namespace irr namespace irr
...@@ -41,11 +41,11 @@ namespace scene ...@@ -41,11 +41,11 @@ namespace scene
//! Scale of the particle. //! Scale of the particle.
/** The current scale of the particle. */ /** The current scale of the particle. */
core::vector2df size; core::dimension2df size;
//! Original scale of the particle. //! Original scale of the particle.
/** The scale of the particle when it was emitted. */ /** The scale of the particle when it was emitted. */
core::vector2df startSize; core::dimension2df startSize;
}; };
......
...@@ -72,6 +72,20 @@ namespace core ...@@ -72,6 +72,20 @@ namespace core
return dimension2d<T>(Width*scale, Height*scale); return dimension2d<T>(Width*scale, Height*scale);
} }
//! Add two dimensions
dimension2d<T>& operator+=(const dimension2d<T>& other)
{
Width *= other.Width;
Height *= other.Height;
return *this;
}
//! Add two dimensions
dimension2d<T> operator+(const dimension2d<T>& other) const
{
return dimension2d<T>(Width+other.Width, Height+other.Height);
}
//! Get area //! Get area
T getArea() const T getArea() const
{ {
...@@ -125,6 +139,17 @@ namespace core ...@@ -125,6 +139,17 @@ namespace core
return dimension2d<T>((T)i,(T)j); return dimension2d<T>((T)i,(T)j);
} }
//! Get the interpolated dimension
/** \param other Other dimension to interpolate with.
\param d Value between 0.0f and 1.0f.
\return Interpolated dimension. */
dimension2d<T> getInterpolated(const dimension2d<T>& other, f32 d) const
{
T inv = (T) (1.0f - d);
return dimension2d<T>(other.Width*inv + Width*d, other.Height*inv + Height*d);
}
//! Width of the dimension. //! Width of the dimension.
T Width; T Width;
//! Height of the dimension. //! Height of the dimension.
......
...@@ -20,7 +20,7 @@ CParticleAnimatedMeshSceneNodeEmitter::CParticleAnimatedMeshSceneNodeEmitter( ...@@ -20,7 +20,7 @@ CParticleAnimatedMeshSceneNodeEmitter::CParticleAnimatedMeshSceneNodeEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees, u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::vector2df& maxStartSize ) const core::dimension2df& minStartSize, const core::dimension2df& maxStartSize )
: Node(0), AnimatedMesh(0), BaseMesh(0), TotalVertices(0), MBCount(0), MBNumber(mbNumber), : Node(0), AnimatedMesh(0), BaseMesh(0), TotalVertices(0), MBCount(0), MBNumber(mbNumber),
Direction(direction), NormalDirectionModifier(normalDirectionModifier), Direction(direction), NormalDirectionModifier(normalDirectionModifier),
MinParticlesPerSecond(minParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond), MinParticlesPerSecond(minParticlesPerSecond), MaxParticlesPerSecond(maxParticlesPerSecond),
......
...@@ -33,8 +33,8 @@ public: ...@@ -33,8 +33,8 @@ public:
u32 lifeTimeMin = 2000, u32 lifeTimeMin = 2000,
u32 lifeTimeMax = 4000, u32 lifeTimeMax = 4000,
s32 maxAngleDegrees = 0, s32 maxAngleDegrees = 0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f)
); );
//! Prepares an array with new particles to emitt into the system //! Prepares an array with new particles to emitt into the system
...@@ -70,10 +70,10 @@ public: ...@@ -70,10 +70,10 @@ public:
virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; } virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; }
//! Set the maximum starting size for particles //! Set the maximum starting size for particles
virtual void setMaxStartSize( const core::vector2df& size ) { MaxStartSize = size; }; virtual void setMaxStartSize( const core::dimension2df& size ) { MaxStartSize = size; };
//! Set the minimum starting size for particles //! Set the minimum starting size for particles
virtual void setMinStartSize( const core::vector2df& size ) { MinStartSize = size; }; virtual void setMinStartSize( const core::dimension2df& size ) { MinStartSize = size; };
//! Get Mesh we're emitting particles from //! Get Mesh we're emitting particles from
virtual const IAnimatedMeshSceneNode* getAnimatedMeshSceneNode() const { return Node; } virtual const IAnimatedMeshSceneNode* getAnimatedMeshSceneNode() const { return Node; }
...@@ -104,10 +104,10 @@ public: ...@@ -104,10 +104,10 @@ public:
virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; } virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; }
//! Get the maximum starting size for particles //! Get the maximum starting size for particles
virtual const core::vector2df& getMaxStartSize() const { return MaxStartSize; }; virtual const core::dimension2df& getMaxStartSize() const { return MaxStartSize; };
//! Get the minimum starting size for particles //! Get the minimum starting size for particles
virtual const core::vector2df& getMinStartSize() const { return MinStartSize; }; virtual const core::dimension2df& getMinStartSize() const { return MinStartSize; };
private: private:
...@@ -125,7 +125,7 @@ private: ...@@ -125,7 +125,7 @@ private:
u32 MinParticlesPerSecond, MaxParticlesPerSecond; u32 MinParticlesPerSecond, MaxParticlesPerSecond;
video::SColor MinStartColor, MaxStartColor; video::SColor MinStartColor, MaxStartColor;
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
core::vector2df MaxStartSize, MinStartSize; core::dimension2df MaxStartSize, MinStartSize;
u32 Time; u32 Time;
u32 Emitted; u32 Emitted;
......
...@@ -18,7 +18,7 @@ CParticleBoxEmitter::CParticleBoxEmitter( ...@@ -18,7 +18,7 @@ CParticleBoxEmitter::CParticleBoxEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
video::SColor minStartColor, video::SColor maxStartColor, video::SColor minStartColor, video::SColor maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees, u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::vector2df& maxStartSize) const core::dimension2df& minStartSize, const core::dimension2df& maxStartSize)
: Box(box), Direction(direction), : Box(box), Direction(direction),
MaxStartSize(maxStartSize), MinStartSize(minStartSize), MaxStartSize(maxStartSize), MinStartSize(minStartSize),
MinParticlesPerSecond(minParticlesPerSecond), MinParticlesPerSecond(minParticlesPerSecond),
......
...@@ -30,8 +30,8 @@ public: ...@@ -30,8 +30,8 @@ public:
u32 lifeTimeMin=2000, u32 lifeTimeMin=2000,
u32 lifeTimeMax=4000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f)
); );
//! Prepares an array with new particles to emitt into the system //! Prepares an array with new particles to emitt into the system
...@@ -54,10 +54,10 @@ public: ...@@ -54,10 +54,10 @@ public:
virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; } virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; }
//! Set the maximum starting size for particles //! Set the maximum starting size for particles
virtual void setMaxStartSize( const core::vector2df& size ) { MaxStartSize = size; }; virtual void setMaxStartSize( const core::dimension2df& size ) { MaxStartSize = size; };
//! Set the minimum starting size for particles //! Set the minimum starting size for particles
virtual void setMinStartSize( const core::vector2df& size ) { MinStartSize = size; }; virtual void setMinStartSize( const core::dimension2df& size ) { MinStartSize = size; };
//! Set box from which the particles are emitted. //! Set box from which the particles are emitted.
virtual void setBox( const core::aabbox3df& box ) { Box = box; } virtual void setBox( const core::aabbox3df& box ) { Box = box; }
...@@ -78,10 +78,10 @@ public: ...@@ -78,10 +78,10 @@ public:
virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; } virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; }
//! Gets the maximum starting size for particles //! Gets the maximum starting size for particles
virtual const core::vector2df& getMaxStartSize() const { return MaxStartSize; }; virtual const core::dimension2df& getMaxStartSize() const { return MaxStartSize; };
//! Gets the minimum starting size for particles //! Gets the minimum starting size for particles
virtual const core::vector2df& getMinStartSize() const { return MinStartSize; }; virtual const core::dimension2df& getMinStartSize() const { return MinStartSize; };
//! Get box from which the particles are emitted. //! Get box from which the particles are emitted.
virtual const core::aabbox3df& getBox() const { return Box; } virtual const core::aabbox3df& getBox() const { return Box; }
...@@ -97,7 +97,7 @@ private: ...@@ -97,7 +97,7 @@ private:
core::array<SParticle> Particles; core::array<SParticle> Particles;
core::aabbox3df Box; core::aabbox3df Box;
core::vector3df Direction; core::vector3df Direction;
core::vector2df MaxStartSize, MinStartSize; core::dimension2df MaxStartSize, MinStartSize;
u32 MinParticlesPerSecond, MaxParticlesPerSecond; u32 MinParticlesPerSecond, MaxParticlesPerSecond;
video::SColor MinStartColor, MaxStartColor; video::SColor MinStartColor, MaxStartColor;
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
......
...@@ -18,8 +18,8 @@ CParticleCylinderEmitter::CParticleCylinderEmitter( ...@@ -18,8 +18,8 @@ CParticleCylinderEmitter::CParticleCylinderEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees, u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
: Center(center), Normal(normal), Direction(direction), : Center(center), Normal(normal), Direction(direction),
MaxStartSize(maxStartSize), MinStartSize(minStartSize), MaxStartSize(maxStartSize), MinStartSize(minStartSize),
MinParticlesPerSecond(minParticlesPerSecond), MinParticlesPerSecond(minParticlesPerSecond),
......
...@@ -30,8 +30,8 @@ public: ...@@ -30,8 +30,8 @@ public:
u32 lifeTimeMin=2000, u32 lifeTimeMin=2000,
u32 lifeTimeMax=4000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f)
); );
//! Prepares an array with new particles to emitt into the system //! Prepares an array with new particles to emitt into the system
...@@ -69,10 +69,10 @@ public: ...@@ -69,10 +69,10 @@ public:
virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; } virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; }
//! Set the maximum starting size for particles //! Set the maximum starting size for particles
virtual void setMaxStartSize( const core::vector2df& size ) { MaxStartSize = size; }; virtual void setMaxStartSize( const core::dimension2df& size ) { MaxStartSize = size; };
//! Set the minimum starting size for particles //! Set the minimum starting size for particles
virtual void setMinStartSize( const core::vector2df& size ) { MinStartSize = size; }; virtual void setMinStartSize( const core::dimension2df& size ) { MinStartSize = size; };
//! Get the center of the cylinder //! Get the center of the cylinder
virtual const core::vector3df& getCenter() const { return Center; } virtual const core::vector3df& getCenter() const { return Center; }
...@@ -105,10 +105,10 @@ public: ...@@ -105,10 +105,10 @@ public:
virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; } virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; }
//! Gets the maximum starting size for particles //! Gets the maximum starting size for particles
virtual const core::vector2df& getMaxStartSize() const { return MaxStartSize; }; virtual const core::dimension2df& getMaxStartSize() const { return MaxStartSize; };
//! Gets the minimum starting size for particles //! Gets the minimum starting size for particles
virtual const core::vector2df& getMinStartSize() const { return MinStartSize; }; virtual const core::dimension2df& getMinStartSize() const { return MinStartSize; };
private: private:
...@@ -117,7 +117,7 @@ private: ...@@ -117,7 +117,7 @@ private:
core::vector3df Center; core::vector3df Center;
core::vector3df Normal; core::vector3df Normal;
core::vector3df Direction; core::vector3df Direction;
core::vector2df MaxStartSize, MinStartSize; core::dimension2df MaxStartSize, MinStartSize;
u32 MinParticlesPerSecond, MaxParticlesPerSecond; u32 MinParticlesPerSecond, MaxParticlesPerSecond;
video::SColor MinStartColor, MaxStartColor; video::SColor MinStartColor, MaxStartColor;
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
......
...@@ -19,8 +19,8 @@ CParticleMeshEmitter::CParticleMeshEmitter( ...@@ -19,8 +19,8 @@ CParticleMeshEmitter::CParticleMeshEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees, u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
: Mesh(0), TotalVertices(0), MBCount(0), MBNumber(mbNumber), : Mesh(0), TotalVertices(0), MBCount(0), MBNumber(mbNumber),
NormalDirectionModifier(normalDirectionModifier), Direction(direction), NormalDirectionModifier(normalDirectionModifier), Direction(direction),
MaxStartSize(maxStartSize), MinStartSize(minStartSize), MaxStartSize(maxStartSize), MinStartSize(minStartSize),
......
...@@ -34,8 +34,8 @@ public: ...@@ -34,8 +34,8 @@ public:
u32 lifeTimeMin = 2000, u32 lifeTimeMin = 2000,
u32 lifeTimeMax = 4000, u32 lifeTimeMax = 4000,
s32 maxAngleDegrees = 0, s32 maxAngleDegrees = 0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f)
); );
//! Prepares an array with new particles to emitt into the system //! Prepares an array with new particles to emitt into the system
...@@ -71,10 +71,10 @@ public: ...@@ -71,10 +71,10 @@ public:
virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; } virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; }
//! Set the maximum starting size for particles //! Set the maximum starting size for particles
virtual void setMaxStartSize( const core::vector2df& size ) { MaxStartSize = size; }; virtual void setMaxStartSize( const core::dimension2df& size ) { MaxStartSize = size; };
//! Set the minimum starting size for particles //! Set the minimum starting size for particles
virtual void setMinStartSize( const core::vector2df& size ) { MinStartSize = size; }; virtual void setMinStartSize( const core::dimension2df& size ) { MinStartSize = size; };
//! Get Mesh we're emitting particles from //! Get Mesh we're emitting particles from
virtual const IMesh* getMesh() const { return Mesh; } virtual const IMesh* getMesh() const { return Mesh; }
...@@ -105,10 +105,10 @@ public: ...@@ -105,10 +105,10 @@ public:
virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; } virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; }
//! Gets the maximum starting size for particles //! Gets the maximum starting size for particles
virtual const core::vector2df& getMaxStartSize() const { return MaxStartSize; }; virtual const core::dimension2df& getMaxStartSize() const { return MaxStartSize; };
//! Gets the minimum starting size for particles //! Gets the minimum starting size for particles
virtual const core::vector2df& getMinStartSize() const { return MinStartSize; }; virtual const core::dimension2df& getMinStartSize() const { return MinStartSize; };
private: private:
...@@ -121,7 +121,7 @@ private: ...@@ -121,7 +121,7 @@ private:
f32 NormalDirectionModifier; f32 NormalDirectionModifier;
core::array<SParticle> Particles; core::array<SParticle> Particles;
core::vector3df Direction; core::vector3df Direction;
core::vector2df MaxStartSize, MinStartSize; core::dimension2df MaxStartSize, MinStartSize;
u32 MinParticlesPerSecond, MaxParticlesPerSecond; u32 MinParticlesPerSecond, MaxParticlesPerSecond;
video::SColor MinStartColor, MaxStartColor; video::SColor MinStartColor, MaxStartColor;
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
......
...@@ -17,8 +17,8 @@ CParticlePointEmitter::CParticlePointEmitter( ...@@ -17,8 +17,8 @@ CParticlePointEmitter::CParticlePointEmitter(
u32 maxParticlesPerSecond, video::SColor minStartColor, u32 maxParticlesPerSecond, video::SColor minStartColor,
video::SColor maxStartColor, u32 lifeTimeMin, u32 lifeTimeMax, video::SColor maxStartColor, u32 lifeTimeMin, u32 lifeTimeMax,
s32 maxAngleDegrees, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize) const core::dimension2df& maxStartSize)
: Direction(direction), : Direction(direction),
MinStartSize(minStartSize), MaxStartSize(maxStartSize), MinStartSize(minStartSize), MaxStartSize(maxStartSize),
MinParticlesPerSecond(minParticlesPerSecond), MinParticlesPerSecond(minParticlesPerSecond),
......
...@@ -28,8 +28,8 @@ public: ...@@ -28,8 +28,8 @@ public:
u32 lifeTimeMin=2000, u32 lifeTimeMin=2000,
u32 lifeTimeMax=4000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Prepares an array with new particles to emitt into the system //! Prepares an array with new particles to emitt into the system
//! and returns how much new particles there are. //! and returns how much new particles there are.
...@@ -51,10 +51,10 @@ public: ...@@ -51,10 +51,10 @@ public:
virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; } virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; }
//! Set the maximum starting size for particles //! Set the maximum starting size for particles
virtual void setMaxStartSize( const core::vector2df& size ) { MaxStartSize = size; }; virtual void setMaxStartSize( const core::dimension2df& size ) { MaxStartSize = size; };
//! Set the minimum starting size for particles //! Set the minimum starting size for particles
virtual void setMinStartSize( const core::vector2df& size ) { MinStartSize = size; }; virtual void setMinStartSize( const core::dimension2df& size ) { MinStartSize = size; };
//! Gets direction the emitter emits particles. //! Gets direction the emitter emits particles.
virtual const core::vector3df& getDirection() const { return Direction; } virtual const core::vector3df& getDirection() const { return Direction; }
...@@ -72,10 +72,10 @@ public: ...@@ -72,10 +72,10 @@ public:
virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; } virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; }
//! Gets the maximum starting size for particles //! Gets the maximum starting size for particles
virtual const core::vector2df& getMaxStartSize() const { return MaxStartSize; }; virtual const core::dimension2df& getMaxStartSize() const { return MaxStartSize; };
//! Gets the minimum starting size for particles //! Gets the minimum starting size for particles
virtual const core::vector2df& getMinStartSize() const { return MinStartSize; }; virtual const core::dimension2df& getMinStartSize() const { return MinStartSize; };
//! Writes attributes of the object. //! Writes attributes of the object.
virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const; virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const;
...@@ -87,7 +87,7 @@ private: ...@@ -87,7 +87,7 @@ private:
SParticle Particle; SParticle Particle;
core::vector3df Direction; core::vector3df Direction;
core::vector2df MinStartSize, MaxStartSize; core::dimension2df MinStartSize, MaxStartSize;
u32 MinParticlesPerSecond, MaxParticlesPerSecond; u32 MinParticlesPerSecond, MaxParticlesPerSecond;
video::SColor MinStartColor, MaxStartColor; video::SColor MinStartColor, MaxStartColor;
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
......
...@@ -17,8 +17,8 @@ CParticleRingEmitter::CParticleRingEmitter( ...@@ -17,8 +17,8 @@ CParticleRingEmitter::CParticleRingEmitter(
u32 maxParticlesPerSecond, const video::SColor& minStartColor, u32 maxParticlesPerSecond, const video::SColor& minStartColor,
const video::SColor& maxStartColor, u32 lifeTimeMin, u32 lifeTimeMax, const video::SColor& maxStartColor, u32 lifeTimeMin, u32 lifeTimeMax,
s32 maxAngleDegrees, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
: Center(center), Radius(radius), RingThickness(ringThickness), : Center(center), Radius(radius), RingThickness(ringThickness),
Direction(direction), Direction(direction),
MaxStartSize(maxStartSize), MinStartSize(minStartSize), MaxStartSize(maxStartSize), MinStartSize(minStartSize),
......
...@@ -29,8 +29,8 @@ public: ...@@ -29,8 +29,8 @@ public:
u32 lifeTimeMin=2000, u32 lifeTimeMin=2000,
u32 lifeTimeMax=4000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f)
); );
//! Prepares an array with new particles to emitt into the system //! Prepares an array with new particles to emitt into the system
...@@ -53,10 +53,10 @@ public: ...@@ -53,10 +53,10 @@ public:
virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; } virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; }
//! Set the maximum starting size for particles //! Set the maximum starting size for particles
virtual void setMaxStartSize( const core::vector2df& size ) { MaxStartSize = size; }; virtual void setMaxStartSize( const core::dimension2df& size ) { MaxStartSize = size; };
//! Set the minimum starting size for particles //! Set the minimum starting size for particles
virtual void setMinStartSize( const core::vector2df& size ) { MinStartSize = size; }; virtual void setMinStartSize( const core::dimension2df& size ) { MinStartSize = size; };
//! Set the center of the ring //! Set the center of the ring
virtual void setCenter( const core::vector3df& center ) { Center = center; } virtual void setCenter( const core::vector3df& center ) { Center = center; }
...@@ -83,10 +83,10 @@ public: ...@@ -83,10 +83,10 @@ public:
virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; } virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; }
//! Gets the maximum starting size for particles //! Gets the maximum starting size for particles
virtual const core::vector2df& getMaxStartSize() const { return MaxStartSize; }; virtual const core::dimension2df& getMaxStartSize() const { return MaxStartSize; };
//! Gets the minimum starting size for particles //! Gets the minimum starting size for particles
virtual const core::vector2df& getMinStartSize() const { return MinStartSize; }; virtual const core::dimension2df& getMinStartSize() const { return MinStartSize; };
//! Get the center of the ring //! Get the center of the ring
virtual const core::vector3df& getCenter() const { return Center; } virtual const core::vector3df& getCenter() const { return Center; }
...@@ -106,7 +106,7 @@ private: ...@@ -106,7 +106,7 @@ private:
f32 RingThickness; f32 RingThickness;
core::vector3df Direction; core::vector3df Direction;
core::vector2df MaxStartSize, MinStartSize; core::dimension2df MaxStartSize, MinStartSize;
u32 MinParticlesPerSecond, MaxParticlesPerSecond; u32 MinParticlesPerSecond, MaxParticlesPerSecond;
video::SColor MinStartColor, MaxStartColor; video::SColor MinStartColor, MaxStartColor;
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
......
...@@ -5,7 +5,7 @@ namespace irr ...@@ -5,7 +5,7 @@ namespace irr
{ {
namespace scene namespace scene
{ {
CParticleScaleAffector::CParticleScaleAffector(const core::vector2df& scaleTo) CParticleScaleAffector::CParticleScaleAffector(const core::dimension2df& scaleTo)
: ScaleTo(scaleTo) : ScaleTo(scaleTo)
{ {
} }
...@@ -18,22 +18,22 @@ namespace irr ...@@ -18,22 +18,22 @@ namespace irr
const u32 maxdiff = particlearray[i].endTime - particlearray[i].startTime; const u32 maxdiff = particlearray[i].endTime - particlearray[i].startTime;
const u32 curdiff = now - particlearray[i].startTime; const u32 curdiff = now - particlearray[i].startTime;
const f32 newscale = (f32)curdiff/maxdiff; const f32 newscale = (f32)curdiff/maxdiff;
particlearray[i].size = particlearray[i].startSize+newscale*ScaleTo; particlearray[i].size = particlearray[i].startSize+ScaleTo*newscale;
} }
} }
void CParticleScaleAffector::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) void CParticleScaleAffector::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options)
{ {
out->addFloat("ScaleToX", ScaleTo.X); out->addFloat("ScaleToWidth", ScaleTo.Width);
out->addFloat("ScaleToY", ScaleTo.Y); out->addFloat("ScaleToHeight", ScaleTo.Height);
} }
s32 CParticleScaleAffector::deserializeAttributes(s32 startIndex, io::IAttributes* in, io::SAttributeReadWriteOptions* options) s32 CParticleScaleAffector::deserializeAttributes(s32 startIndex, io::IAttributes* in, io::SAttributeReadWriteOptions* options)
{ {
ScaleTo.X = in->getAttributeAsFloat("ScaleToX"); ScaleTo.Width = in->getAttributeAsFloat("ScaleToWidth");
ScaleTo.Y = in->getAttributeAsFloat("ScaleToY"); ScaleTo.Height = in->getAttributeAsFloat("ScaleToHeight");
return 0; return 0;
} }
......
...@@ -10,7 +10,7 @@ namespace irr ...@@ -10,7 +10,7 @@ namespace irr
class CParticleScaleAffector : public IParticleAffector class CParticleScaleAffector : public IParticleAffector
{ {
public: public:
CParticleScaleAffector(const core::vector2df& scaleTo = core::vector2df(1.0f, 1.0f)); CParticleScaleAffector(const core::dimension2df& scaleTo = core::dimension2df(1.0f, 1.0f));
virtual void affect(u32 now, SParticle *particlearray, u32 count); virtual void affect(u32 now, SParticle *particlearray, u32 count);
...@@ -30,7 +30,7 @@ namespace irr ...@@ -30,7 +30,7 @@ namespace irr
virtual E_PARTICLE_AFFECTOR_TYPE getType() const; virtual E_PARTICLE_AFFECTOR_TYPE getType() const;
protected: protected:
core::vector2df ScaleTo; core::dimension2df ScaleTo;
}; };
} }
} }
......
...@@ -18,8 +18,8 @@ CParticleSphereEmitter::CParticleSphereEmitter( ...@@ -18,8 +18,8 @@ CParticleSphereEmitter::CParticleSphereEmitter(
u32 maxParticlesPerSecond, const video::SColor& minStartColor, u32 maxParticlesPerSecond, const video::SColor& minStartColor,
const video::SColor& maxStartColor, u32 lifeTimeMin, u32 lifeTimeMax, const video::SColor& maxStartColor, u32 lifeTimeMin, u32 lifeTimeMax,
s32 maxAngleDegrees, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
: Center(center), Radius(radius), Direction(direction), : Center(center), Radius(radius), Direction(direction),
MinStartSize(minStartSize), MaxStartSize(maxStartSize), MinStartSize(minStartSize), MaxStartSize(maxStartSize),
MinParticlesPerSecond(minParticlesPerSecond), MinParticlesPerSecond(minParticlesPerSecond),
......
...@@ -30,8 +30,8 @@ public: ...@@ -30,8 +30,8 @@ public:
u32 lifeTimeMin=2000, u32 lifeTimeMin=2000,
u32 lifeTimeMax=4000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Prepares an array with new particles to emitt into the system //! Prepares an array with new particles to emitt into the system
//! and returns how much new particles there are. //! and returns how much new particles there are.
...@@ -53,10 +53,10 @@ public: ...@@ -53,10 +53,10 @@ public:
virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; } virtual void setMaxStartColor( const video::SColor& color ) { MaxStartColor = color; }
//! Set the maximum starting size for particles //! Set the maximum starting size for particles
virtual void setMaxStartSize( const core::vector2df& size ) { MaxStartSize = size; }; virtual void setMaxStartSize( const core::dimension2df& size ) { MaxStartSize = size; };
//! Set the minimum starting size for particles //! Set the minimum starting size for particles
virtual void setMinStartSize( const core::vector2df& size ) { MinStartSize = size; }; virtual void setMinStartSize( const core::dimension2df& size ) { MinStartSize = size; };
//! Set the center of the sphere for particle emissions //! Set the center of the sphere for particle emissions
virtual void setCenter( const core::vector3df& center ) { Center = center; } virtual void setCenter( const core::vector3df& center ) { Center = center; }
...@@ -80,10 +80,10 @@ public: ...@@ -80,10 +80,10 @@ public:
virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; } virtual const video::SColor& getMaxStartColor() const { return MaxStartColor; }
//! Gets the maximum starting size for particles //! Gets the maximum starting size for particles
virtual const core::vector2df& getMaxStartSize() const { return MaxStartSize; }; virtual const core::dimension2df& getMaxStartSize() const { return MaxStartSize; };
//! Gets the minimum starting size for particles //! Gets the minimum starting size for particles
virtual const core::vector2df& getMinStartSize() const { return MinStartSize; }; virtual const core::dimension2df& getMinStartSize() const { return MinStartSize; };
//! Get the center of the sphere for particle emissions //! Get the center of the sphere for particle emissions
virtual const core::vector3df& getCenter() const { return Center; } virtual const core::vector3df& getCenter() const { return Center; }
...@@ -99,7 +99,7 @@ private: ...@@ -99,7 +99,7 @@ private:
f32 Radius; f32 Radius;
core::vector3df Direction; core::vector3df Direction;
core::vector2df MinStartSize, MaxStartSize; core::dimension2df MinStartSize, MaxStartSize;
u32 MinParticlesPerSecond, MaxParticlesPerSecond; u32 MinParticlesPerSecond, MaxParticlesPerSecond;
video::SColor MinStartColor, MaxStartColor; video::SColor MinStartColor, MaxStartColor;
u32 MinLifeTime, MaxLifeTime; u32 MinLifeTime, MaxLifeTime;
......
...@@ -127,8 +127,8 @@ CParticleSystemSceneNode::createAnimatedMeshSceneNodeEmitter( ...@@ -127,8 +127,8 @@ CParticleSystemSceneNode::createAnimatedMeshSceneNodeEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees, u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
{ {
return new CParticleAnimatedMeshSceneNodeEmitter( node, return new CParticleAnimatedMeshSceneNodeEmitter( node,
useNormalDirection, direction, normalDirectionModifier, useNormalDirection, direction, normalDirectionModifier,
...@@ -146,8 +146,8 @@ IParticleBoxEmitter* CParticleSystemSceneNode::createBoxEmitter( ...@@ -146,8 +146,8 @@ IParticleBoxEmitter* CParticleSystemSceneNode::createBoxEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, u32 lifeTimeMin, u32 lifeTimeMax,
s32 maxAngleDegrees, const core::vector2df& minStartSize, s32 maxAngleDegrees, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
{ {
return new CParticleBoxEmitter(box, direction, minParticlesPerSecond, return new CParticleBoxEmitter(box, direction, minParticlesPerSecond,
maxParticlesPerSecond, minStartColor, maxStartColor, maxParticlesPerSecond, minStartColor, maxStartColor,
...@@ -164,8 +164,8 @@ IParticleCylinderEmitter* CParticleSystemSceneNode::createCylinderEmitter( ...@@ -164,8 +164,8 @@ IParticleCylinderEmitter* CParticleSystemSceneNode::createCylinderEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees, u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
{ {
return new CParticleCylinderEmitter( center, radius, normal, length, return new CParticleCylinderEmitter( center, radius, normal, length,
outlineOnly, direction, outlineOnly, direction,
...@@ -184,8 +184,8 @@ IParticleMeshEmitter* CParticleSystemSceneNode::createMeshEmitter( ...@@ -184,8 +184,8 @@ IParticleMeshEmitter* CParticleSystemSceneNode::createMeshEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees, u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize) const core::dimension2df& maxStartSize)
{ {
return new CParticleMeshEmitter( mesh, useNormalDirection, direction, return new CParticleMeshEmitter( mesh, useNormalDirection, direction,
normalDirectionModifier, mbNumber, everyMeshVertex, normalDirectionModifier, mbNumber, everyMeshVertex,
...@@ -201,8 +201,8 @@ IParticlePointEmitter* CParticleSystemSceneNode::createPointEmitter( ...@@ -201,8 +201,8 @@ IParticlePointEmitter* CParticleSystemSceneNode::createPointEmitter(
const core::vector3df& direction, u32 minParticlesPerSecond, const core::vector3df& direction, u32 minParticlesPerSecond,
u32 maxParticlesPerSecond, const video::SColor& minStartColor, u32 maxParticlesPerSecond, const video::SColor& minStartColor,
const video::SColor& maxStartColor, u32 lifeTimeMin, u32 lifeTimeMax, const video::SColor& maxStartColor, u32 lifeTimeMin, u32 lifeTimeMax,
s32 maxAngleDegrees, const core::vector2df& minStartSize, s32 maxAngleDegrees, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
{ {
return new CParticlePointEmitter(direction, minParticlesPerSecond, return new CParticlePointEmitter(direction, minParticlesPerSecond,
maxParticlesPerSecond, minStartColor, maxStartColor, maxParticlesPerSecond, minStartColor, maxStartColor,
...@@ -218,7 +218,7 @@ IParticleRingEmitter* CParticleSystemSceneNode::createRingEmitter( ...@@ -218,7 +218,7 @@ IParticleRingEmitter* CParticleSystemSceneNode::createRingEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees, u32 lifeTimeMin, u32 lifeTimeMax, s32 maxAngleDegrees,
const core::vector2df& minStartSize, const core::vector2df& maxStartSize ) const core::dimension2df& minStartSize, const core::dimension2df& maxStartSize )
{ {
return new CParticleRingEmitter( center, radius, ringThickness, direction, return new CParticleRingEmitter( center, radius, ringThickness, direction,
minParticlesPerSecond, maxParticlesPerSecond, minStartColor, minParticlesPerSecond, maxParticlesPerSecond, minStartColor,
...@@ -233,8 +233,8 @@ IParticleSphereEmitter* CParticleSystemSceneNode::createSphereEmitter( ...@@ -233,8 +233,8 @@ IParticleSphereEmitter* CParticleSystemSceneNode::createSphereEmitter(
u32 minParticlesPerSecond, u32 maxParticlesPerSecond, u32 minParticlesPerSecond, u32 maxParticlesPerSecond,
const video::SColor& minStartColor, const video::SColor& maxStartColor, const video::SColor& minStartColor, const video::SColor& maxStartColor,
u32 lifeTimeMin, u32 lifeTimeMax, u32 lifeTimeMin, u32 lifeTimeMax,
s32 maxAngleDegrees, const core::vector2df& minStartSize, s32 maxAngleDegrees, const core::dimension2df& minStartSize,
const core::vector2df& maxStartSize ) const core::dimension2df& maxStartSize )
{ {
return new CParticleSphereEmitter(center, radius, direction, return new CParticleSphereEmitter(center, radius, direction,
minParticlesPerSecond, maxParticlesPerSecond, minParticlesPerSecond, maxParticlesPerSecond,
...@@ -254,7 +254,7 @@ IParticleAttractionAffector* CParticleSystemSceneNode::createAttractionAffector( ...@@ -254,7 +254,7 @@ IParticleAttractionAffector* CParticleSystemSceneNode::createAttractionAffector(
} }
//! Creates a scale particle affector. //! Creates a scale particle affector.
IParticleAffector* CParticleSystemSceneNode::createScaleParticleAffector(const core::vector2df& scaleTo) IParticleAffector* CParticleSystemSceneNode::createScaleParticleAffector(const core::dimension2df& scaleTo)
{ {
return new CParticleScaleAffector(scaleTo); return new CParticleScaleAffector(scaleTo);
} }
...@@ -335,19 +335,19 @@ void CParticleSystemSceneNode::render() ...@@ -335,19 +335,19 @@ void CParticleSystemSceneNode::render()
#if 0 #if 0
core::vector3df horizontal = camera->getUpVector().crossProduct(view); core::vector3df horizontal = camera->getUpVector().crossProduct(view);
horizontal.normalize(); horizontal.normalize();
horizontal *= 0.5f * particle.size.X; horizontal *= 0.5f * particle.size.Width;
core::vector3df vertical = horizontal.crossProduct(view); core::vector3df vertical = horizontal.crossProduct(view);
vertical.normalize(); vertical.normalize();
vertical *= 0.5f * particle.size.Y; vertical *= 0.5f * particle.size.Height;
#else #else
f32 f; f32 f;
f = 0.5f * particle.size.X; f = 0.5f * particle.size.Width;
const core::vector3df horizontal ( m[0] * f, m[4] * f, m[8] * f ); const core::vector3df horizontal ( m[0] * f, m[4] * f, m[8] * f );
f = -0.5f * particle.size.Y; f = -0.5f * particle.size.Height;
const core::vector3df vertical ( m[1] * f, m[5] * f, m[9] * f ); const core::vector3df vertical ( m[1] * f, m[5] * f, m[9] * f );
#endif #endif
...@@ -489,12 +489,12 @@ void CParticleSystemSceneNode::setParticlesAreGlobal(bool global) ...@@ -489,12 +489,12 @@ void CParticleSystemSceneNode::setParticlesAreGlobal(bool global)
//! Sets the size of all particles. //! Sets the size of all particles.
void CParticleSystemSceneNode::setParticleSize(const core::dimension2d<f32> &size) void CParticleSystemSceneNode::setParticleSize(const core::dimension2d<f32> &size)
{ {
os::Printer::log("Deprecated, use setMinStartSize/setMaxStartSize in emitter.", irr::ELL_WARNING);
//A bit of a hack, but better here than in the particle code //A bit of a hack, but better here than in the particle code
const core::vector2df tempsize(size.Width, size.Height);
if (Emitter) if (Emitter)
{ {
Emitter->setMinStartSize(tempsize); Emitter->setMinStartSize(size);
Emitter->setMaxStartSize(tempsize); Emitter->setMaxStartSize(size);
} }
ParticleSize = size; ParticleSize = size;
} }
......
...@@ -71,8 +71,8 @@ public: ...@@ -71,8 +71,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000, u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
s32 maxAngleDegrees = 0, s32 maxAngleDegrees = 0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Creates a box particle emitter. //! Creates a box particle emitter.
virtual IParticleBoxEmitter* createBoxEmitter( virtual IParticleBoxEmitter* createBoxEmitter(
...@@ -84,8 +84,8 @@ public: ...@@ -84,8 +84,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Creates a particle emitter for emitting from a cylinder //! Creates a particle emitter for emitting from a cylinder
virtual IParticleCylinderEmitter* createCylinderEmitter( virtual IParticleCylinderEmitter* createCylinderEmitter(
...@@ -97,8 +97,8 @@ public: ...@@ -97,8 +97,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000, u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
s32 maxAngleDegrees = 0, s32 maxAngleDegrees = 0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Creates a mesh particle emitter. //! Creates a mesh particle emitter.
virtual IParticleMeshEmitter* createMeshEmitter( virtual IParticleMeshEmitter* createMeshEmitter(
...@@ -112,8 +112,8 @@ public: ...@@ -112,8 +112,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000, u32 lifeTimeMin = 2000, u32 lifeTimeMax = 4000,
s32 maxAngleDegrees = 0, s32 maxAngleDegrees = 0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Creates a point particle emitter. //! Creates a point particle emitter.
virtual IParticlePointEmitter* createPointEmitter( virtual IParticlePointEmitter* createPointEmitter(
...@@ -124,8 +124,8 @@ public: ...@@ -124,8 +124,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Creates a ring particle emitter. //! Creates a ring particle emitter.
virtual IParticleRingEmitter* createRingEmitter( virtual IParticleRingEmitter* createRingEmitter(
...@@ -137,8 +137,8 @@ public: ...@@ -137,8 +137,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Creates a sphere particle emitter. //! Creates a sphere particle emitter.
virtual IParticleSphereEmitter* createSphereEmitter( virtual IParticleSphereEmitter* createSphereEmitter(
...@@ -150,8 +150,8 @@ public: ...@@ -150,8 +150,8 @@ public:
const video::SColor& maxStartColor = video::SColor(255,255,255,255), const video::SColor& maxStartColor = video::SColor(255,255,255,255),
u32 lifeTimeMin=2000, u32 lifeTimeMax=4000, u32 lifeTimeMin=2000, u32 lifeTimeMax=4000,
s32 maxAngleDegrees=0, s32 maxAngleDegrees=0,
const core::vector2df& minStartSize = core::vector2df(5.0f,5.0f), const core::dimension2df& minStartSize = core::dimension2df(5.0f,5.0f),
const core::vector2df& maxStartSize = core::vector2df(5.0f,5.0f) ); const core::dimension2df& maxStartSize = core::dimension2df(5.0f,5.0f) );
//! Creates a point attraction affector. This affector modifies the positions of the //! Creates a point attraction affector. This affector modifies the positions of the
//! particles and attracts them to a specified point at a specified speed per second. //! particles and attracts them to a specified point at a specified speed per second.
...@@ -160,7 +160,7 @@ public: ...@@ -160,7 +160,7 @@ public:
bool affectX = true, bool affectY = true, bool affectZ = true); bool affectX = true, bool affectY = true, bool affectZ = true);
//! Creates a scale particle affector. //! Creates a scale particle affector.
virtual IParticleAffector* createScaleParticleAffector(const core::vector2df& scaleTo = core::vector2df(1.0f, 1.0f)); virtual IParticleAffector* createScaleParticleAffector(const core::dimension2df& scaleTo = core::dimension2df(1.0f, 1.0f));
//! Creates a fade out particle affector. //! Creates a fade out particle affector.
virtual IParticleFadeOutAffector* createFadeOutParticleAffector( virtual IParticleFadeOutAffector* createFadeOutParticleAffector(
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment