From fa8b0a19084c0c2d369cda199b87c03fe838fa79 Mon Sep 17 00:00:00 2001 From: Bjørn Lindeijer Date: Sun, 23 Mar 2008 22:41:21 +0000 Subject: Merged revisions 3828-3829,3831-3838,3841,3843-3844,3847-3872,3874,3876-3900 via svnmerge from https://themanaworld.svn.sourceforge.net/svnroot/themanaworld/tmw/branches/0.0 ........ r3828 | crush_tmw | 2007-12-31 17:14:27 +0100 (Mon, 31 Dec 2007) | 1 line Added config options to set the scroll center. Retained scroll offset during map change for smoother map transitions. ........ r3859 | b_lindeijer | 2008-01-26 20:38:43 +0100 (Sat, 26 Jan 2008) | 3 lines Fixed a GCC 4.3 compile error and constified the usage of auto_ptr, since that's the way in which we are using them. ........ r3876 | crush_tmw | 2008-02-11 20:00:43 +0100 (Mon, 11 Feb 2008) | 1 line Added music and overlay to snake dungeon. ........ r3883 | crush_tmw | 2008-02-12 15:00:22 +0100 (Tue, 12 Feb 2008) | 1 line Particle emitters are now activated after the parent particle has moved instead of before (small change which allows a little trick to create polar emitters) ........ r3887 | umperio | 2008-02-12 20:49:37 +0100 (Tue, 12 Feb 2008) | 1 line Made pathfinding not halt on collision destination tile, made moving around with mouse smoother. Added possibility to pass through players with key controls. ........ r3888 | crush_tmw | 2008-02-13 21:49:55 +0100 (Wed, 13 Feb 2008) | 1 line Added new headgears by Black Don (thanks to QOAL for testing and implementation) ........ r3891 | umperio | 2008-02-18 09:52:06 +0100 (Mon, 18 Feb 2008) | 1 line Fixed image name. ........ r3892 | umperio | 2008-02-18 11:00:45 +0100 (Mon, 18 Feb 2008) | 1 line Forgot a %s ........ r3899 | crush_tmw | 2008-02-19 14:23:34 +0100 (Tue, 19 Feb 2008) | 1 line Map fixes at snake dungeon by QOAL ........ r3900 | crush_tmw | 2008-02-19 14:32:24 +0100 (Tue, 19 Feb 2008) | 1 line More map fixes at snake dungeon by QOAL ........ --- src/particle.cpp | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'src/particle.cpp') diff --git a/src/particle.cpp b/src/particle.cpp index 11d91b47..dcb2eed3 100644 --- a/src/particle.cpp +++ b/src/particle.cpp @@ -96,26 +96,7 @@ Particle::update() if (mAlive) { - // Update child emitters - if (mLifetimePast%Particle::emitterSkip == 0) - { - for ( EmitterIterator e = mChildEmitters.begin(); - e != mChildEmitters.end(); - e++ - ) - { - Particles newParticles = (*e)->createParticles(); - for ( ParticleIterator p = newParticles.begin(); - p != newParticles.end(); - p++ - ) - { - (*p)->moveBy(mPos.x, mPos.y, mPos.z); - mChildParticles.push_back (*p); - } - } - } - + //calculate particle movement if (mMomentum != 1.0f) { mVelocity *= mMomentum; @@ -187,6 +168,26 @@ Particle::update() mAlive = false; } } + + // Update child emitters + if (mLifetimePast%Particle::emitterSkip == 0) + { + for ( EmitterIterator e = mChildEmitters.begin(); + e != mChildEmitters.end(); + e++ + ) + { + Particles newParticles = (*e)->createParticles(); + for ( ParticleIterator p = newParticles.begin(); + p != newParticles.end(); + p++ + ) + { + (*p)->moveBy(mPos.x, mPos.y, mPos.z); + mChildParticles.push_back (*p); + } + } + } } // Update child particles -- cgit v1.2.3-70-g09d2