diff options
author | Philipp Sehmisch <tmw@crushnet.org> | 2007-06-27 23:26:01 +0000 |
---|---|---|
committer | Philipp Sehmisch <tmw@crushnet.org> | 2007-06-27 23:26:01 +0000 |
commit | 9836222a00028cc9a3aea9bb4c316a00b59ea33a (patch) | |
tree | 7df484183ac25a2d3ad9a39a86d370218b44ee58 /src/particle.cpp | |
parent | 8eed193e36111b3421a51d611c2d2d5d04b1fa09 (diff) | |
download | mana-9836222a00028cc9a3aea9bb4c316a00b59ea33a.tar.gz mana-9836222a00028cc9a3aea9bb4c316a00b59ea33a.tar.bz2 mana-9836222a00028cc9a3aea9bb4c316a00b59ea33a.tar.xz mana-9836222a00028cc9a3aea9bb4c316a00b59ea33a.zip |
Corrected some perspective issues of the particle engine and fixed a crash caused by particles with child emitters that have an image than isn't used elsewhere. Added a particle effect at the spawn point in Tulimshar (we should have at least one particle effect that demonstrates acceleration and particles with emitters)
Diffstat (limited to 'src/particle.cpp')
-rw-r--r-- | src/particle.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/particle.cpp b/src/particle.cpp index 509c20ee..805da102 100644 --- a/src/particle.cpp +++ b/src/particle.cpp @@ -39,6 +39,8 @@ #include "utils/fastsqrt.h" #include "utils/xml.h" +#define SIN45 0.707106781f + class Graphics; class Image; @@ -122,7 +124,7 @@ Particle::update() if (mTarget && mAcceleration != 0.0f) { - float distX = mPosX - mTarget->getPosX(); + float distX = (mPosX - mTarget->getPosX()) * SIN45; float distY = mPosY - mTarget->getPosY(); float distZ = mPosZ - mTarget->getPosZ(); float invHypotenuse; @@ -167,8 +169,8 @@ Particle::update() // Update position mPosX += mVectorX; - mPosY += mVectorY; - mPosZ += mVectorZ; + mPosY += mVectorY * SIN45; + mPosZ += mVectorZ * SIN45; // Update other stuff if (mLifetimeLeft > 0) |