diff --git a/include/IParticleAffector.h b/include/IParticleAffector.h index 6d34f904..3af84520 100644 --- a/include/IParticleAffector.h +++ b/include/IParticleAffector.h @@ -21,6 +21,7 @@ enum E_PARTICLE_AFFECTOR_TYPE EPAT_FADE_OUT, EPAT_GRAVITY, EPAT_ROTATE, + EPAT_SCALE, EPAT_COUNT }; @@ -32,6 +33,7 @@ const c8* const ParticleAffectorTypeNames[] = "FadeOut", "Gravity", "Rotate", + "Scale", 0 }; @@ -44,9 +46,9 @@ public: IParticleAffector() : Enabled(true) {} //! Affects an array of particles. - //! \param now: Current time. (Same as ITimer::getTime() would return) - //! \param particlearray: Array of particles. - //! \param count: Amount of particles in array. + /** \param now Current time. (Same as ITimer::getTime() would return) + \param particlearray Array of particles. + \param count Amount of particles in array. */ virtual void affect(u32 now, SParticle* particlearray, u32 count) = 0; //! Sets whether or not the affector is currently enabled. @@ -56,17 +58,17 @@ public: virtual bool getEnabled() const { return Enabled; } //! Writes attributes of the object. - //! Implement this to expose the attributes of your scene node animator for - //! scripting languages, editors, debuggers or xml serialization purposes. + /** Implement this to expose the attributes of your scene node animator for + scripting languages, editors, debuggers or xml serialization purposes. */ virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {} //! Reads attributes of the object. - //! Implement this to set the attributes of your scene node animator for - //! scripting languages, editors, debuggers or xml deserialization purposes. - //! \param startIndex: start index where to start reading attributes. - //! \param in: The attributes to work with. - //! \param options: Additional options. - //! \return: returns last index of an attribute read by this affector + /** Implement this to set the attributes of your scene node animator for + scripting languages, editors, debuggers or xml deserialization purposes. + \param startIndex start index where to start reading attributes. + \param in The attributes to work with. + \param options Additional options. + \return Last index of an attribute read by this affector */ virtual s32 deserializeAttributes(s32 startIndex, io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) { return 0; } //! Get emitter type diff --git a/include/IParticleAnimatedMeshSceneNodeEmitter.h b/include/IParticleAnimatedMeshSceneNodeEmitter.h index 36610757..608af5cd 100644 --- a/include/IParticleAnimatedMeshSceneNodeEmitter.h +++ b/include/IParticleAnimatedMeshSceneNodeEmitter.h @@ -27,11 +27,10 @@ public: //! Set the amount that the normal is divided by for getting a particles direction virtual void setNormalDirectionModifier( f32 normalDirectionModifier ) = 0; - //! Sets whether to emit min<->max particles for every vertex per - //! second, or to pick min<->max vertices every second + //! Sets whether to emit min<->max particles for every vertex or to pick min<->max vertices virtual void setEveryMeshVertex( bool everyMeshVertex = true ) = 0; - //! Get Mesh we're emitting particles from + //! Get mesh we're emitting particles from virtual const IAnimatedMeshSceneNode* getAnimatedMeshSceneNode() const = 0; //! Get whether to use vertex normal for direction, or direction specified @@ -40,8 +39,7 @@ public: //! Get the amount that the normal is divided by for getting a particles direction virtual f32 getNormalDirectionModifier() const = 0; - //! Gets whether to emit min<->max particles for every vertex per - //! second, or to pick min<->max vertices every second + //! Gets whether to emit min<->max particles for every vertex or to pick min<->max vertices virtual bool getEveryMeshVertex() const = 0; //! Get emitter type diff --git a/include/IParticleEmitter.h b/include/IParticleEmitter.h index 9394e4e5..9784fb65 100644 --- a/include/IParticleEmitter.h +++ b/include/IParticleEmitter.h @@ -47,12 +47,11 @@ class IParticleEmitter : public virtual io::IAttributeExchangingObject public: //! Prepares an array with new particles to emitt into the system - //! and returns how much new particles there are. - //! \param now: Current time. - //! \param timeSinceLastCall: Time elapsed since last call, in milliseconds. - //! \param outArray: Pointer which will point to the array with the new - //! particles to add into the system. - //! \return Returns amount of new particles in the array. Can be 0. + /** \param now Current time. + \param timeSinceLastCall Time elapsed since last call, in milliseconds. + \param outArray Pointer which will point to the array with the new + particles to add into the system. + \return Amount of new particles in the array. Can be 0. */ virtual s32 emitt(u32 now, u32 timeSinceLastCall, SParticle*& outArray) = 0; //! Set direction the emitter emits particles @@ -98,17 +97,17 @@ public: virtual const core::vector2df& getMinStartSize() const = 0; //! Writes attributes of the object. - //! Implement this to expose the attributes of your scene node animator for - //! scripting languages, editors, debuggers or xml serialization purposes. + /** Implement this to expose the attributes of your scene node animator for + scripting languages, editors, debuggers or xml serialization purposes. */ virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const {} //! Reads attributes of the object. - //! Implement this to set the attributes of your scene node animator for - //! scripting languages, editors, debuggers or xml deserialization purposes. - //! \param startIndex: start index where to start reading attributes. - //! \param in: The attributes to work with. - //! \param options: Additional options. - //! \return: returns last index of an attribute read by this affector + /** Implement this to set the attributes of your scene node animator for + scripting languages, editors, debuggers or xml deserialization purposes. + \param startIndex start index where to start reading attributes. + \param in The attributes to work with. + \param options Additional options. + \return Last index of an attribute read by this affector */ virtual s32 deserializeAttributes(s32 startIndex, io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) { return 0; } //! Get emitter type diff --git a/include/IParticleFadeOutAffector.h b/include/IParticleFadeOutAffector.h index 0d5cfc90..09a5f4c2 100644 --- a/include/IParticleFadeOutAffector.h +++ b/include/IParticleFadeOutAffector.h @@ -17,15 +17,13 @@ class IParticleFadeOutAffector : public IParticleAffector { public: - //! Sets the targetColor, i.e. the color the particles will interpolate - //! to over time. + //! Sets the targetColor, i.e. the color the particles will interpolate to over time. virtual void setTargetColor( const video::SColor& targetColor ) = 0; //! Sets the amount of time it takes for each particle to fade out. virtual void setFadeOutTime( f32 fadeOutTime ) = 0; - //! Gets the targetColor, i.e. the color the particles will interpolate - //! to over time. + //! Gets the targetColor, i.e. the color the particles will interpolate to over time. virtual const video::SColor& getTargetColor() const = 0; //! Gets the amount of time it takes for each particle to fade out. diff --git a/include/IParticleGravityAffector.h b/include/IParticleGravityAffector.h index 19589d62..5fd49848 100644 --- a/include/IParticleGravityAffector.h +++ b/include/IParticleGravityAffector.h @@ -17,15 +17,14 @@ class IParticleGravityAffector : public IParticleAffector { public: - //! Set the time in milliseconds when the gravity force is totally - //! lost and the particle does not move any more. + //! Set the time in milliseconds when the gravity force is totally lost + /** At that point the particle does not move any more. */ virtual void setTimeForceLost( f32 timeForceLost ) = 0; //! Set the direction and force of gravity in all 3 dimensions. virtual void setGravity( const core::vector3df& gravity ) = 0; - //! Get the time in milliseconds when the gravity force is totally - //! lost and the particle does not move any more. + //! Get the time in milliseconds when the gravity force is totally lost virtual f32 getTimeForceLost() const = 0; //! Get the direction and force of gravity. diff --git a/include/IParticleMeshEmitter.h b/include/IParticleMeshEmitter.h index 91bf8925..30034cf3 100644 --- a/include/IParticleMeshEmitter.h +++ b/include/IParticleMeshEmitter.h @@ -27,8 +27,7 @@ public: //! Set the amount that the normal is divided by for getting a particles direction virtual void setNormalDirectionModifier( f32 normalDirectionModifier ) = 0; - //! Sets whether to emit min<->max particles for every vertex per second, or to pick - //! min<->max vertices every second + //! Sets whether to emit min<->max particles for every vertex or to pick min<->max vertices virtual void setEveryMeshVertex( bool everyMeshVertex = true ) = 0; //! Get Mesh we're emitting particles from @@ -40,8 +39,7 @@ public: //! Get the amount that the normal is divided by for getting a particles direction virtual f32 getNormalDirectionModifier() const = 0; - //! Gets whether to emit min<->max particles for every vertex per second, or to pick - //! min<->max vertices every second + //! Gets whether to emit min<->max particles for every vertex or to pick min<->max vertices virtual bool getEveryMeshVertex() const = 0; //! Get emitter type diff --git a/include/IParticleSystemSceneNode.h b/include/IParticleSystemSceneNode.h index bd6697ae..a7ee6153 100644 --- a/include/IParticleSystemSceneNode.h +++ b/include/IParticleSystemSceneNode.h @@ -433,6 +433,17 @@ public: const core::vector3df& point, f32 speed = 1.0f, bool attract = true, bool affectX = true, bool affectY = true, bool affectZ = true) = 0; + //! Creates a scale particle affector. + /** This affector scales the particle to the a multiple of its size defined + by the scaleTo variable. + \param scaleTo: multiple of the size which the particle will be scaled to until deletion + \return Pointer to the created particle affector. + To add this affector as new affector of this particle system, + just call addAffector(). Note that you'll have to drop() the + returned pointer, after you don't need it any more, see + IReferenceCounted::drop() for more information. */ + virtual IParticleAffector* createScaleParticleAffector(const core::vector2df& scaleTo = core::vector2df(1.0f, 1.0f)) = 0; + //! Creates a fade out particle affector. /** This affector modifies the color of every particle and and reaches the final color when the particle dies. This affector looks really diff --git a/source/Irrlicht/CParticleScaleAffector.cpp b/source/Irrlicht/CParticleScaleAffector.cpp new file mode 100644 index 00000000..658b21bd --- /dev/null +++ b/source/Irrlicht/CParticleScaleAffector.cpp @@ -0,0 +1,47 @@ +#include "CParticleScaleAffector.h" +#include "IAttributes.h" + +namespace irr +{ + namespace scene + { + CParticleScaleAffector::CParticleScaleAffector(const core::vector2df& scaleTo) + : ScaleTo(scaleTo) + { + } + + + void CParticleScaleAffector::affect (u32 now, SParticle *particlearray, u32 count) + { + for(u32 i=0;iaddFloat("ScaleToX", ScaleTo.X); + out->addFloat("ScaleToY", ScaleTo.Y); + } + + + s32 CParticleScaleAffector::deserializeAttributes(s32 startIndex, io::IAttributes* in, io::SAttributeReadWriteOptions* options) + { + ScaleTo.X = in->getAttributeAsFloat("ScaleToX"); + ScaleTo.Y = in->getAttributeAsFloat("ScaleToY"); + return 0; + } + + + E_PARTICLE_AFFECTOR_TYPE CParticleScaleAffector::getType() const + { + return scene::EPAT_SCALE; + } + } +} + diff --git a/source/Irrlicht/CParticleScaleAffector.h b/source/Irrlicht/CParticleScaleAffector.h new file mode 100644 index 00000000..0d3bcd56 --- /dev/null +++ b/source/Irrlicht/CParticleScaleAffector.h @@ -0,0 +1,40 @@ +#ifndef C_PARTICLE_SCALE_AFFECTOR_H +#define C_PARTICLE_SCALE_AFFECTOR_H + +#include + +namespace irr +{ + namespace scene + { + class CParticleScaleAffector : public IParticleAffector + { + public: + CParticleScaleAffector(const core::vector2df& scaleTo = core::vector2df(1.0f, 1.0f)); + + virtual void affect(u32 now, SParticle *particlearray, u32 count); + + //! Writes attributes of the object. + //! Implement this to expose the attributes of your scene node animator for + //! scripting languages, editors, debuggers or xml serialization purposes. + virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options); + + //! Reads attributes of the object. + //! Implement this to set the attributes of your scene node animator for + //! scripting languages, editors, debuggers or xml deserialization purposes. + //! \param startIndex: start index where to start reading attributes. + //! \return: returns last index of an attribute read by this affector + virtual s32 deserializeAttributes(s32 startIndex, io::IAttributes* in, io::SAttributeReadWriteOptions* options); + + //! Get emitter type + virtual E_PARTICLE_AFFECTOR_TYPE getType() const; + + protected: + core::vector2df ScaleTo; + }; + } +} + + +#endif // C_PARTICLE_SCALE_AFFECTOR_H + diff --git a/source/Irrlicht/CParticleSystemSceneNode.cpp b/source/Irrlicht/CParticleSystemSceneNode.cpp index 9195cc25..069634e2 100644 --- a/source/Irrlicht/CParticleSystemSceneNode.cpp +++ b/source/Irrlicht/CParticleSystemSceneNode.cpp @@ -19,6 +19,7 @@ #include "CParticleFadeOutAffector.h" #include "CParticleGravityAffector.h" #include "CParticleRotationAffector.h" +#include "CParticleScaleAffector.h" #include "SViewFrustum.h" namespace irr @@ -252,6 +253,12 @@ IParticleAttractionAffector* CParticleSystemSceneNode::createAttractionAffector( return new CParticleAttractionAffector( point, speed, attract, affectX, affectY, affectZ ); } +//! Creates a scale particle affector. +IParticleAffector* CParticleSystemSceneNode::createScaleParticleAffector(const core::vector2df& scaleTo) +{ + return new CParticleScaleAffector(scaleTo); +} + //! Creates a fade out particle affector. IParticleFadeOutAffector* CParticleSystemSceneNode::createFadeOutParticleAffector( @@ -635,6 +642,9 @@ void CParticleSystemSceneNode::deserializeAttributes(io::IAttributes* in, io::SA case EPAT_GRAVITY: aff = createGravityAffector(); break; + case EPAT_SCALE: + aff = createScaleParticleAffector(); + break; case EPAT_NONE: default: break; diff --git a/source/Irrlicht/CParticleSystemSceneNode.h b/source/Irrlicht/CParticleSystemSceneNode.h index 39daa956..6539dc7a 100644 --- a/source/Irrlicht/CParticleSystemSceneNode.h +++ b/source/Irrlicht/CParticleSystemSceneNode.h @@ -159,6 +159,9 @@ public: const core::vector3df& point, f32 speed = 1.0f, bool attract = true, bool affectX = true, bool affectY = true, bool affectZ = true); + //! Creates a scale particle affector. + virtual IParticleAffector* createScaleParticleAffector(const core::vector2df& scaleTo = core::vector2df(1.0f, 1.0f)); + //! Creates a fade out particle affector. virtual IParticleFadeOutAffector* createFadeOutParticleAffector( const video::SColor& targetColor = video::SColor(0,0,0,0), diff --git a/source/Irrlicht/Irrlicht.dev b/source/Irrlicht/Irrlicht.dev index c251cef8..03983aad 100644 --- a/source/Irrlicht/Irrlicht.dev +++ b/source/Irrlicht/Irrlicht.dev @@ -9,7 +9,7 @@ CppCompiler=-D__GNUWIN32__ -W -DWIN32 -DNDEBUG -D_WINDOWS -D_MBCS -D_USRDLL -DIR Includes=..\..\include;zlib Linker=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -luuid -lwinmm -lopengl32_@@_ Libs= -UnitCount=605 +UnitCount=607 Folders=doc,gui_impl,include,include/core,include/gui,include/io,include/scene,include/video,io_impl,other_impl,other_impl/extern,other_impl/extern/jpeglib,other_impl/extern/libpng,other_impl/extern/zlib,scene_impl,scene_impl/animators,scene_impl/collision,scene_impl/mesh,scene_impl/mesh/loaders,scene_impl/mesh/writers,scene_impl/nodes,scene_impl/nodes/particles,video_impl,"video_impl/Burning Video",video_impl/DirectX8,video_impl/DirectX9,video_impl/Null,video_impl/OpenGL,video_impl/Software ObjFiles= PrivateResource= @@ -6097,3 +6097,23 @@ Priority=1000 OverrideBuildCmd=0 BuildCmd= +[Unit606] +FileName=CParticleScaleAffector.cpp +Folder=scene_impl/nodes/particles +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + +[Unit607] +FileName=CParticleScaleAffector.h +Folder=scene_impl/nodes/particles +Compile=1 +CompileCpp=1 +Link=1 +Priority=1000 +OverrideBuildCmd=0 +BuildCmd= + diff --git a/source/Irrlicht/Irrlicht7.1.vcproj b/source/Irrlicht/Irrlicht7.1.vcproj index 3d0995c3..854f4b17 100644 --- a/source/Irrlicht/Irrlicht7.1.vcproj +++ b/source/Irrlicht/Irrlicht7.1.vcproj @@ -1529,10 +1529,10 @@ + RelativePath="CParticleAnimatedMeshSceneNodeEmitter.cpp"> + RelativePath="CParticleAttractionAffector.cpp"> @@ -1541,7 +1541,7 @@ RelativePath="CParticleBoxEmitter.h"> + RelativePath="CParticleCylinderEmitter.cpp"> @@ -1556,7 +1556,13 @@ RelativePath="CParticleGravityAffector.h"> + RelativePath="CParticleScaleAffector.cpp"> + + + + @@ -1565,13 +1571,13 @@ RelativePath="CParticlePointEmitter.h"> + RelativePath="CParticleRingEmitter.cpp"> + RelativePath="CParticleRotationAffector.cpp"> + RelativePath="CParticleSphereEmitter.cpp"> @@ -1595,16 +1601,16 @@ RelativePath="COctTreeTriangleSelector.h"> + RelativePath="CSceneCollisionManager.cpp"> + RelativePath="CSceneCollisionManager.h"> + RelativePath="CTerrainTriangleSelector.cpp"> + RelativePath="CTerrainTriangleSelector.h"> @@ -1646,16 +1652,16 @@ RelativePath="CSceneNodeAnimatorDelete.h"> + RelativePath="CSceneNodeAnimatorFlyCircle.cpp"> + RelativePath="CSceneNodeAnimatorFlyCircle.h"> + RelativePath="CSceneNodeAnimatorFlyStraight.cpp"> + RelativePath="CSceneNodeAnimatorFlyStraight.h"> @@ -1664,32 +1670,32 @@ RelativePath="CSceneNodeAnimatorFollowSpline.h"> + RelativePath="CSceneNodeAnimatorRotation.cpp"> + RelativePath="CSceneNodeAnimatorRotation.h"> + RelativePath="CSceneNodeAnimatorTexture.cpp"> + RelativePath="CSceneNodeAnimatorTexture.h"> + RelativePath="CColladaMeshWriter.cpp"> + RelativePath="CColladaMeshWriter.h"> + RelativePath="CIrrMeshWriter.cpp"> + RelativePath="CIrrMeshWriter.h"> diff --git a/source/Irrlicht/Irrlicht8.0.vcproj b/source/Irrlicht/Irrlicht8.0.vcproj index 64a0ec3e..c281c435 100644 --- a/source/Irrlicht/Irrlicht8.0.vcproj +++ b/source/Irrlicht/Irrlicht8.0.vcproj @@ -2049,11 +2049,11 @@ Name="particleSystem" > + + + + + + + + @@ -2249,35 +2265,35 @@ Name="writers" > @@ -2286,63 +2302,63 @@ Name="io impl" > diff --git a/source/Irrlicht/Irrlicht9.0.vcproj b/source/Irrlicht/Irrlicht9.0.vcproj index 948c758f..a5f85868 100644 --- a/source/Irrlicht/Irrlicht9.0.vcproj +++ b/source/Irrlicht/Irrlicht9.0.vcproj @@ -2091,6 +2091,14 @@ RelativePath="CParticleGravityAffector.h" > + + + + diff --git a/source/Irrlicht/Irrlicht_Linux-gcc.cbp b/source/Irrlicht/Irrlicht_Linux-gcc.cbp index 3bb9793d..24113b5e 100644 --- a/source/Irrlicht/Irrlicht_Linux-gcc.cbp +++ b/source/Irrlicht/Irrlicht_Linux-gcc.cbp @@ -470,6 +470,8 @@ + + diff --git a/source/Irrlicht/Irrlicht_Win32-gcc.cbp b/source/Irrlicht/Irrlicht_Win32-gcc.cbp index ab032889..af72fc65 100644 --- a/source/Irrlicht/Irrlicht_Win32-gcc.cbp +++ b/source/Irrlicht/Irrlicht_Win32-gcc.cbp @@ -1748,6 +1748,14 @@ + + + + diff --git a/source/Irrlicht/Irrlicht_mobile6.vcproj b/source/Irrlicht/Irrlicht_mobile6.vcproj index 58d50d90..ec08654a 100644 --- a/source/Irrlicht/Irrlicht_mobile6.vcproj +++ b/source/Irrlicht/Irrlicht_mobile6.vcproj @@ -2084,6 +2084,14 @@ RelativePath="CParticleGravityAffector.h" > + + + + diff --git a/source/Irrlicht/Makefile b/source/Irrlicht/Makefile index a9563664..ad403300 100644 --- a/source/Irrlicht/Makefile +++ b/source/Irrlicht/Makefile @@ -26,7 +26,7 @@ IRRMESHOBJ = $(IRRMESHLOADER) $(IRRMESHWRITER) \ CAnimatedMeshSceneNode.o CAnimatedMeshMD2.o CAnimatedMeshMD3.o \ CQ3LevelMesh.o CQuake3ShaderSceneNode.o IRROBJ = CBillboardSceneNode.o CCameraSceneNode.o CDummyTransformationSceneNode.o CEmptySceneNode.o CGeometryCreator.o CLightSceneNode.o CMeshManipulator.o CMetaTriangleSelector.o COctTreeSceneNode.o COctTreeTriangleSelector.o CSceneCollisionManager.o CSceneManager.o CShadowVolumeSceneNode.o CSkyBoxSceneNode.o CSkyDomeSceneNode.o CTerrainSceneNode.o CTerrainTriangleSelector.o CVolumeLightSceneNode.o CCubeSceneNode.o CSphereSceneNode.o CTextSceneNode.o CTriangleBBSelector.o CTriangleSelector.o CWaterSurfaceSceneNode.o CMeshCache.o CDefaultSceneNodeAnimatorFactory.o CDefaultSceneNodeFactory.o -IRRPARTICLEOBJ = CParticleAnimatedMeshSceneNodeEmitter.o CParticleBoxEmitter.o CParticleCylinderEmitter.o CParticleMeshEmitter.o CParticlePointEmitter.o CParticleRingEmitter.o CParticleSphereEmitter.o CParticleAttractionAffector.o CParticleFadeOutAffector.o CParticleGravityAffector.o CParticleRotationAffector.o CParticleSystemSceneNode.o +IRRPARTICLEOBJ = CParticleAnimatedMeshSceneNodeEmitter.o CParticleBoxEmitter.o CParticleCylinderEmitter.o CParticleMeshEmitter.o CParticlePointEmitter.o CParticleRingEmitter.o CParticleSphereEmitter.o CParticleAttractionAffector.o CParticleFadeOutAffector.o CParticleGravityAffector.o CParticleRotationAffector.o CParticleSystemSceneNode.o CParticleScaleAffector.o IRRANIMOBJ = CSceneNodeAnimatorCameraFPS.o CSceneNodeAnimatorCameraMaya.o CSceneNodeAnimatorCollisionResponse.o CSceneNodeAnimatorDelete.o CSceneNodeAnimatorFlyCircle.o CSceneNodeAnimatorFlyStraight.o CSceneNodeAnimatorFollowSpline.o CSceneNodeAnimatorRotation.o CSceneNodeAnimatorTexture.o IRRDRVROBJ = CNullDriver.o COpenGLDriver.o COpenGLNormalMapRenderer.o COpenGLParallaxMapRenderer.o COpenGLShaderMaterialRenderer.o COpenGLTexture.o COpenGLSLMaterialRenderer.o COpenGLExtensionHandler.o CD3D8Driver.o CD3D8NormalMapRenderer.o CD3D8ParallaxMapRenderer.o CD3D8ShaderMaterialRenderer.o CD3D8Texture.o CD3D9Driver.o CD3D9HLSLMaterialRenderer.o CD3D9NormalMapRenderer.o CD3D9ParallaxMapRenderer.o CD3D9ShaderMaterialRenderer.o CD3D9Texture.o IRRIMAGEOBJ = CColorConverter.o CImage.o CImageLoaderBMP.o CImageLoaderJPG.o CImageLoaderPCX.o CImageLoaderPNG.o CImageLoaderPSD.o CImageLoaderTGA.o CImageLoaderPPM.o CImageLoaderWAL.o \ diff --git a/source/Irrlicht/SConstruct b/source/Irrlicht/SConstruct index bd28d034..c8bdcfd1 100644 --- a/source/Irrlicht/SConstruct +++ b/source/Irrlicht/SConstruct @@ -29,7 +29,7 @@ IRRMESHOBJ = IRRMESHLOADER + IRRMESHWRITER + ['CSkinnedMesh.cpp', 'CBoneSceneNod IRROBJ = ['CBillboardSceneNode.cpp', 'CCameraSceneNode.cpp', 'CDummyTransformationSceneNode.cpp', 'CEmptySceneNode.cpp', 'CGeometryCreator.cpp', 'CLightSceneNode.cpp', 'CMeshManipulator.cpp', 'CMetaTriangleSelector.cpp', 'COctTreeSceneNode.cpp', 'COctTreeTriangleSelector.cpp', 'CSceneCollisionManager.cpp', 'CSceneManager.cpp', 'CShadowVolumeSceneNode.cpp', 'CSkyBoxSceneNode.cpp', 'CSkyDomeSceneNode.cpp', 'CTerrainSceneNode.cpp', 'CTerrainTriangleSelector.cpp', 'CVolumeLightSceneNode.cpp', 'CCubeSceneNode.cpp', 'CSphereSceneNode.cpp', 'CTextSceneNode.cpp', 'CTriangleBBSelector.cpp', 'CTriangleSelector.cpp', 'CWaterSurfaceSceneNode.cpp', 'CMeshCache.cpp', 'CDefaultSceneNodeAnimatorFactory.cpp', 'CDefaultSceneNodeFactory.cpp']; -IRRPARTICLEOBJ = ['CParticleAnimatedMeshSceneNodeEmitter.cpp', 'CParticleBoxEmitter.cpp', 'CParticleCylinderEmitter.cpp', 'CParticleMeshEmitter.cpp', 'CParticlePointEmitter.cpp', 'CParticleRingEmitter.cpp', 'CParticleSphereEmitter.cpp', 'CParticleAttractionAffector.cpp', 'CParticleFadeOutAffector.cpp', 'CParticleGravityAffector.cpp', 'CParticleRotationAffector.cpp', 'CParticleSystemSceneNode.cpp']; +IRRPARTICLEOBJ = ['CParticleAnimatedMeshSceneNodeEmitter.cpp', 'CParticleBoxEmitter.cpp', 'CParticleCylinderEmitter.cpp', 'CParticleMeshEmitter.cpp', 'CParticlePointEmitter.cpp', 'CParticleRingEmitter.cpp', 'CParticleSphereEmitter.cpp', 'CParticleAttractionAffector.cpp', 'CParticleFadeOutAffector.cpp', 'CParticleGravityAffector.cpp', 'CParticleRotationAffector.cpp', 'CParticleSystemSceneNode.cpp', 'CParticleScaleAffector.cpp']; IRRANIMOBJ = ['CSceneNodeAnimatorCameraFPS.cpp', 'CSceneNodeAnimatorCameraMaya.cpp', 'CSceneNodeAnimatorCollisionResponse.cpp', 'CSceneNodeAnimatorDelete.cpp', 'CSceneNodeAnimatorFlyCircle.cpp', 'CSceneNodeAnimatorFlyStraight.cpp', 'CSceneNodeAnimatorFollowSpline.cpp', 'CSceneNodeAnimatorRotation.cpp', 'CSceneNodeAnimatorTexture.cpp'];