summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <bjorn@lindeijer.nl>2025-02-21 13:08:30 +0100
committerThorbjørn Lindeijer <bjorn@lindeijer.nl>2025-02-21 13:09:31 +0100
commitd43e93d4f10769d86d2c1a6e8fc62af83812d672 (patch)
treec2561e6e90c9ce4d3d5e806ca9b364c220e46e7b
parent82f1d8146072b8b8470f0d09374c7092da35c71a (diff)
downloadmana-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.cpp8
-rw-r--r--src/animatedsprite.h2
-rw-r--r--src/gui/ministatuswindow.cpp2
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)