diff options
author | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-02-21 13:08:30 +0100 |
---|---|---|
committer | Thorbjørn Lindeijer <bjorn@lindeijer.nl> | 2025-02-21 13:09:31 +0100 |
commit | d43e93d4f10769d86d2c1a6e8fc62af83812d672 (patch) | |
tree | c2561e6e90c9ce4d3d5e806ca9b364c220e46e7b | |
parent | 82f1d8146072b8b8470f0d09374c7092da35c71a (diff) | |
download | mana-d43e93d4f10769d86d2c1a6e8fc62af83812d672.tar.gz mana-d43e93d4f10769d86d2c1a6e8fc62af83812d672.tar.bz2 mana-d43e93d4f10769d86d2c1a6e8fc62af83812d672.tar.xz mana-d43e93d4f10769d86d2c1a6e8fc62af83812d672.zip |
Fixed too fast animations for MiniStatusWindow icons
AnimatedSprite works with delta time since 7de0b165f196cb0c1f983b6d2a.
Adjusted some parameter names for clarity.
Closes https://git.themanaworld.org/mana/mana/-/issues/94
-rw-r--r-- | src/animatedsprite.cpp | 8 | ||||
-rw-r--r-- | src/animatedsprite.h | 2 | ||||
-rw-r--r-- | src/gui/ministatuswindow.cpp | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/animatedsprite.cpp b/src/animatedsprite.cpp index ec7aa1e3..6491e696 100644 --- a/src/animatedsprite.cpp +++ b/src/animatedsprite.cpp @@ -84,7 +84,7 @@ bool AnimatedSprite::play(const std::string &spriteAction) return false; } -bool AnimatedSprite::update(int time) +bool AnimatedSprite::update(int dt) { if (!mAnimation) return false; @@ -92,7 +92,7 @@ bool AnimatedSprite::update(int time) Animation *animation = mAnimation; Frame *frame = mFrame; - if (!updateCurrentAnimation(time)) + if (!updateCurrentAnimation(dt)) { // Animation finished, reset to default play(SpriteAction::STAND); @@ -102,12 +102,12 @@ bool AnimatedSprite::update(int time) return animation != mAnimation || frame != mFrame; } -bool AnimatedSprite::updateCurrentAnimation(int time) +bool AnimatedSprite::updateCurrentAnimation(int dt) { if (!mFrame || Animation::isTerminator(*mFrame)) return false; - mFrameTime += time; + mFrameTime += dt; while (mFrameTime > mFrame->delay && mFrame->delay > 0) { diff --git a/src/animatedsprite.h b/src/animatedsprite.h index 38b85206..d68031f2 100644 --- a/src/animatedsprite.h +++ b/src/animatedsprite.h @@ -56,7 +56,7 @@ class AnimatedSprite final : public Sprite bool play(const std::string &action) override; - bool update(int time) override; + bool update(int dt) override; bool draw(Graphics *graphics, int posX, int posY) const override; diff --git a/src/gui/ministatuswindow.cpp b/src/gui/ministatuswindow.cpp index 598cb722..8172189b 100644 --- a/src/gui/ministatuswindow.cpp +++ b/src/gui/ministatuswindow.cpp @@ -228,7 +228,7 @@ void MiniStatusWindow::logic() for (auto &icon : mIcons) if (icon) - icon->update(Time::absoluteTimeMs()); + icon->update(Time::deltaTimeMs()); } void MiniStatusWindow::mouseMoved(gcn::MouseEvent &event) |