summaryrefslogtreecommitdiff
path: root/src/being/actorsprite.h
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2016-07-23 02:14:30 +0300
committerAndrei Karas <akaras@inbox.ru>2016-07-23 02:14:30 +0300
commit6a65a4cf5b6b10839254c0c5846ec2dbfea882f8 (patch)
treecdf1dcc071ab18575defff569d33f3cbc8be0348 /src/being/actorsprite.h
parent1a5f8957c707625efbcf36722b057d5eda5a21bb (diff)
downloadmv-6a65a4cf5b6b10839254c0c5846ec2dbfea882f8.tar.gz
mv-6a65a4cf5b6b10839254c0c5846ec2dbfea882f8.tar.bz2
mv-6a65a4cf5b6b10839254c0c5846ec2dbfea882f8.tar.xz
mv-6a65a4cf5b6b10839254c0c5846ec2dbfea882f8.zip
Allow delete untracker being particle effects.
This fix some possible memory leaks.
Diffstat (limited to 'src/being/actorsprite.h')
-rw-r--r--src/being/actorsprite.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/being/actorsprite.h b/src/being/actorsprite.h
index 6f5c020c2..c06f1c983 100644
--- a/src/being/actorsprite.h
+++ b/src/being/actorsprite.h
@@ -81,9 +81,14 @@ class ActorSprite notfinal : public CompoundSprite, public Actor
{ return BlockType::NONE; }
/**
- * Take control of a particle.
+ * Take control of a particle. Particle can be auto deleted.
*/
- void controlParticle(Particle *const particle);
+ void controlAutoParticle(Particle *const particle);
+
+ /**
+ * Take control of a particle. Owner must remove particle by self.
+ */
+ void controlCustomParticle(Particle *const particle);
/**
* Returns the required size of a target cursor for this being.
@@ -190,6 +195,8 @@ class ActorSprite notfinal : public CompoundSprite, public Actor
mChildParticleEffects.size();
}
+ void controlParticleDeleted(Particle *const particle);
+
protected:
/**
* A status effect block is a 16 bit mask of status effects. We assign