Unstable tile: Dissolve, then disappear without falling down.
authorflorianf <florianf@837edb03-e0f3-0310-88ca-d4d4e8b29345>
Sun, 28 Feb 2010 21:08:34 +0000 (21:08 +0000)
committerflorianf <florianf@837edb03-e0f3-0310-88ca-d4d4e8b29345>
Sun, 28 Feb 2010 21:08:34 +0000 (21:08 +0000)
commit2f40f70dbbbc5fc16d65916ebac816081da68be6
tree7339f5662df5927b1fd9ef9f98ee17b693bc9612
parent126a7cc602b3e0d5b76b321d98feeb84b27853e5
Unstable tile: Dissolve, then disappear without falling down.

The new behavior is as follows: If the sprite has a "dissolve" action, it is
triggered on contact. If the "dissolve" animation ends, or if the sprite
doesn't have a "dissolve" action, the "fall-down" action is triggered. If that
animation is done, or if the sprite doesn't have a "fall-down" action, the
object is removed.

Possible future improvements:
- Make the tile non-solid at the end of "dissolve", rather than at the
  beginning of "fall-down". This way falling only sprites would still be solid.
  For this to be of use the collision detection needs to be improved, though.
- Also, remove the object after is has hit a solid object or has fallen out of
  the screen. The "remove at end of animation" behavior is more of a dirty
  hack.

git-svn-id: http://supertux.lethargik.org/svn/supertux/trunk/supertux@6479 837edb03-e0f3-0310-88ca-d4d4e8b29345
data/images/objects/unstable_tile/castleblock.sprite
data/images/objects/unstable_tile/snow.sprite
data/images/objects/unstable_tile/unstable_tile.sprite
src/object/unstable_tile.cpp
src/object/unstable_tile.hpp
src/sprite/sprite.hpp