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/particleemitter.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/particleemitter.cpp')
-rw-r--r-- | src/particleemitter.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/particleemitter.cpp b/src/particleemitter.cpp index 2387c652..5b5e86b9 100644 --- a/src/particleemitter.cpp +++ b/src/particleemitter.cpp @@ -76,10 +76,14 @@ ParticleEmitter::ParticleEmitter(xmlNodePtr emitterNode, Particle *target, Map * {
mParticlePosY = readMinMax(propertyNode, 0.0f);
+ mParticlePosY.minVal *= SIN45;
+ mParticlePosY.maxVal *= SIN45;
}
else if (name == "position-z")
{
mParticlePosZ = readMinMax(propertyNode, 0.0f);
+ mParticlePosZ.minVal *= SIN45;
+ mParticlePosZ.maxVal *= SIN45;
}
else if (name == "image")
{
@@ -236,10 +240,6 @@ ParticleEmitter::ParticleEmitter(xmlNodePtr emitterNode, Particle *target, Map * ParticleEmitter::~ParticleEmitter()
{
- if (mParticleImage)
- {
- mParticleImage->decRef();
- }
}
@@ -294,8 +294,8 @@ ParticleEmitter::createParticles() float power = mParticlePower.value();
newParticle->setVector(
cos(angleH) * cos(angleV) * power,
- sin(angleH) * cos(angleV) * SIN45 * power,
- sin(angleV) * SIN45 * power
+ sin(angleH) * cos(angleV) * power,
+ sin(angleV) * power
);
newParticle->setRandomnes(mParticleRandomnes.value());
|