diff options
author | Philipp Sehmisch <tmw@crushnet.org> | 2007-12-23 02:16:53 +0000 |
---|---|---|
committer | Philipp Sehmisch <tmw@crushnet.org> | 2007-12-23 02:16:53 +0000 |
commit | d83e795dc3c8a07238939ee0b581cbfd1807cf1b (patch) | |
tree | 5ce6c06c867c61fffe934a67b2636c6c7a9e8b79 /src/particleemitter.cpp | |
parent | 8d3e43a7510dd7367c3bb62aae6841836f727493 (diff) | |
download | mana-d83e795dc3c8a07238939ee0b581cbfd1807cf1b.tar.gz mana-d83e795dc3c8a07238939ee0b581cbfd1807cf1b.tar.bz2 mana-d83e795dc3c8a07238939ee0b581cbfd1807cf1b.tar.xz mana-d83e795dc3c8a07238939ee0b581cbfd1807cf1b.zip |
Particle images are now reference-counted properly. Avoided attempts to load "data/graphics/" when a monster or equipment piece has no sprite. Error placeholder is now used when attempting to load a sprite definition file that doesn't exist.
Diffstat (limited to 'src/particleemitter.cpp')
-rw-r--r-- | src/particleemitter.cpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/particleemitter.cpp b/src/particleemitter.cpp index 035882b6..7a465ec3 100644 --- a/src/particleemitter.cpp +++ b/src/particleemitter.cpp @@ -237,9 +237,42 @@ ParticleEmitter::ParticleEmitter(xmlNodePtr emitterNode, Particle *target, Map * } } +ParticleEmitter::ParticleEmitter(const ParticleEmitter &o) +{ + *this = o; +} + +ParticleEmitter & ParticleEmitter::operator=(const ParticleEmitter &o) +{ + mParticlePosX = o.mParticlePosX; + mParticlePosY = o.mParticlePosY; + mParticlePosZ = o.mParticlePosZ; + mParticleAngleHorizontal = o.mParticleAngleHorizontal; + mParticleAngleVertical = o.mParticleAngleVertical; + mParticlePower = o.mParticlePower; + mParticleGravity = o.mParticleGravity; + mParticleRandomnes = o.mParticleRandomnes; + mParticleBounce = o.mParticleBounce; + mParticleTarget = o.mParticleTarget; + mParticleAcceleration = o.mParticleAcceleration; + mParticleDieDistance = o.mParticleDieDistance; + mParticleMomentum = o.mParticleMomentum; + mParticleLifetime = o.mParticleLifetime; + mParticleFadeOut = o.mParticleFadeOut; + mParticleFadeIn = o.mParticleFadeIn; + mMap = o.mMap; + mOutput = o.mOutput; + mParticleImage = o.mParticleImage; + mParticleAnimation = o.mParticleAnimation; + mParticleChildEmitters = o.mParticleChildEmitters; + + if (mParticleImage) mParticleImage->incRef(); +} + ParticleEmitter::~ParticleEmitter() { + if (mParticleImage) mParticleImage->decRef(); } |