From bf343126c4bdd59f6db509dec4c89171c3495380 Mon Sep 17 00:00:00 2001 From: Ivan Savenko Date: Tue, 31 Jan 2023 00:42:50 +0200 Subject: [PATCH] Fix Hero animation speed in battles --- client/battle/BattleInterfaceClasses.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/client/battle/BattleInterfaceClasses.cpp b/client/battle/BattleInterfaceClasses.cpp index 280385372..e5a818111 100644 --- a/client/battle/BattleInterfaceClasses.cpp +++ b/client/battle/BattleInterfaceClasses.cpp @@ -218,8 +218,10 @@ void BattleHero::render(Canvas & canvas) canvas.draw(flagFrame, flagPosition); canvas.draw(heroFrame, heroPosition); - flagCurrentFrame += currentSpeed; - currentFrame += currentSpeed; + float timePassed = float(GH.mainFPSmng->getElapsedMilliseconds()) / 1000.f; + + flagCurrentFrame += currentSpeed * timePassed; + currentFrame += currentSpeed * timePassed; if(flagCurrentFrame >= flagAnimation->size(0)) flagCurrentFrame -= flagAnimation->size(0); @@ -238,8 +240,8 @@ void BattleHero::pause() void BattleHero::play() { - //FIXME: un-hardcode speed - currentSpeed = 0.25f; + //H3 speed: 10 fps ( 100 ms per frame) + currentSpeed = 10.f; } float BattleHero::getFrame() const