summaryrefslogtreecommitdiff
path: root/src/actor.h
diff options
context:
space:
mode:
authorunknown <Philipp@.(none)>2011-08-20 18:02:06 +0200
committerYohann Ferreira <yohann_dot_ferreira_at_orange_dot_efer>2011-09-02 00:22:47 +0200
commitad9ba099aeef6b27cd0843761fa15ebfa3061bf0 (patch)
tree66f10806366e11fd7a85f3a431e6e25c090855c1 /src/actor.h
parent5d00678217e5198cb375b4a2214a3e056151bdd9 (diff)
downloadmana-ad9ba099aeef6b27cd0843761fa15ebfa3061bf0.tar.gz
mana-ad9ba099aeef6b27cd0843761fa15ebfa3061bf0.tar.bz2
mana-ad9ba099aeef6b27cd0843761fa15ebfa3061bf0.tar.xz
mana-ad9ba099aeef6b27cd0843761fa15ebfa3061bf0.zip
The draw order of particles is now Y - 16 pixels.
This means that the order point of the sprites relative to the particles is no longer the lowest point of the image but instead a point which is approximately between the feet of the characters. The intent of the latest commits to treat sprites as perpendicular to the ground instead of perpendicular to the view line is retained by this approach. I tested this with various particle effects and it results in exactly the expected behavior. Note that this does NOT fix the current problems on TMW with the snail slime effect, because the TMW content team accidently placed this one 10px in the air. Sorry, garbage in, garbage out. getDrawPixelY was re-renamed to getPixelY to be consistent with getPixelX, while getPixelY was renamed to getDrawOrder, to make its purpose clear. Further, particles are no longer drawn when behind other objects. This is implemented by adding a drawnWhenBehind member function to Actor, which currently returns true for everything except particles and compound- sprites with more than one sub-sprites (the later case is consistent with the previous behavior of them). An exception are text particles which are excempt from this exception and whose drawing order is also biased by 16 pixels south instead of north to make them more visible. Plus some minor changes from Bertram. Reviewed-by: Bertram. Resolves: Mana-Mantis #362.
Diffstat (limited to 'src/actor.h')
-rw-r--r--src/actor.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/actor.h b/src/actor.h
index 240b5097..e2c32a94 100644
--- a/src/actor.h
+++ b/src/actor.h
@@ -89,10 +89,17 @@ public:
/**
* Returns the pixel Y coordinate that the actor should be drawn at.
*/
- virtual int getDrawPixelY() const
+ virtual int getDrawOrder() const
{ return getPixelY(); }
/**
+ * Determines wether the actor should be drawn translucent when behind
+ * another object
+ */
+ virtual bool drawnWhenBehind() const
+ { return false; }
+
+ /**
* Returns the x coordinate in tiles of the actor.
*/
virtual int getTileX() const;