diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-12-30 17:51:46 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-12-30 17:51:46 +0300 |
commit | 88efa77af94256992ba2c05f4d7b5b5a9d01d6e9 (patch) | |
tree | c0a4f3c7f7ab1f0afaf54bcfc993c0b183c1989b /src | |
parent | c92ceeaa5e82bd5e237ca1fc4a3798fb61b81cfd (diff) | |
download | manaplus-88efa77af94256992ba2c05f4d7b5b5a9d01d6e9.tar.gz manaplus-88efa77af94256992ba2c05f4d7b5b5a9d01d6e9.tar.bz2 manaplus-88efa77af94256992ba2c05f4d7b5b5a9d01d6e9.tar.xz manaplus-88efa77af94256992ba2c05f4d7b5b5a9d01d6e9.zip |
Add debug flag for debugging animated sprites.
Diffstat (limited to 'src')
-rw-r--r-- | src/localconsts.h | 3 | ||||
-rw-r--r-- | src/resources/sprite/animatedsprite.cpp | 9 | ||||
-rw-r--r-- | src/resources/sprite/animatedsprite.h | 11 |
3 files changed, 23 insertions, 0 deletions
diff --git a/src/localconsts.h b/src/localconsts.h index 3c40ca96c..69f0defd5 100644 --- a/src/localconsts.h +++ b/src/localconsts.h @@ -225,6 +225,9 @@ // use OpenGL debug features // #define DEBUG_OPENGL 1 +// debug animations +// #define DEBUG_ANIMATIONS 1 + #ifdef DYECMD #undef USE_FUZZER #endif diff --git a/src/resources/sprite/animatedsprite.cpp b/src/resources/sprite/animatedsprite.cpp index 98d4b418d..43c11497a 100644 --- a/src/resources/sprite/animatedsprite.cpp +++ b/src/resources/sprite/animatedsprite.cpp @@ -70,6 +70,9 @@ AnimatedSprite *AnimatedSprite::load(const std::string &restrict filename, if (!s) return nullptr; AnimatedSprite *restrict const as = new AnimatedSprite(s); +#ifdef DEBUG_ANIMATIONS + as->setSpriteName(filename); +#endif as->play(SpriteAction::STAND); s->decRef(); return as; @@ -90,6 +93,9 @@ AnimatedSprite *AnimatedSprite::delayedLoad(const std::string &restrict } AnimatedSprite *restrict const as = new AnimatedSprite(nullptr); +#ifdef DEBUG_ANIMATIONS + as->setSpriteName(filename); +#endif as->play(SpriteAction::STAND); as->setDelayLoad(filename, variant); return as; @@ -101,6 +107,9 @@ AnimatedSprite *AnimatedSprite::clone(const AnimatedSprite *restrict const if (!anim) return nullptr; AnimatedSprite *restrict const sprite = new AnimatedSprite(anim->mSprite); +#ifdef DEBUG_ANIMATIONS + sprite->setSpriteName(anim->getSpriteName()); +#endif sprite->play(SpriteAction::STAND); return sprite; } diff --git a/src/resources/sprite/animatedsprite.h b/src/resources/sprite/animatedsprite.h index f9971cb5b..03b276a9b 100644 --- a/src/resources/sprite/animatedsprite.h +++ b/src/resources/sprite/animatedsprite.h @@ -129,12 +129,23 @@ class AnimatedSprite final : public Sprite { return mFrameTime; } #endif +#ifdef DEBUG_ANIMATIONS + void setSpriteName(const std::string &restrict name) + { mSpriteName = name; } + + std::string getSpriteName() const A_WARN_UNUSED + { return mSpriteName; } +#endif + private: bool updateCurrentAnimation(const unsigned int dt) restrict2; void setDelayLoad(const std::string &restrict filename, const int variant) restrict2; +#ifdef DEBUG_ANIMATIONS + std::string mSpriteName; +#endif SpriteDirection::Type mDirection; /**< The sprite direction. */ int mLastTime; /**< The last time update was called. */ |