diff --git a/client/gui/CursorHandler.cpp b/client/gui/CursorHandler.cpp index bb57fa80a..43cdeb15d 100644 --- a/client/gui/CursorHandler.cpp +++ b/client/gui/CursorHandler.cpp @@ -260,7 +260,7 @@ void CursorHandler::centerCursor() void CursorHandler::updateSpellcastCursor() { - static const float frameDisplayDuration = 5.f / 60.f; // H3 uses ~83 ms per image = 5 / 60 second + static const float frameDisplayDuration = 0.1f; // H3 uses 100 ms per frame frameTime += GH.mainFPSmng->getElapsedMilliseconds() / 1000.f; size_t newFrame = frame; diff --git a/client/widgets/Images.h b/client/widgets/Images.h index 166ba45d9..b35ee1da9 100644 --- a/client/widgets/Images.h +++ b/client/widgets/Images.h @@ -125,8 +125,10 @@ protected: size_t first, last; //animation range - /// how long (in milliseconds) should + /// total time on scren for each frame in animation ui32 frameTimeTotal; + + /// how long was current frame visible on screen ui32 frameTimePassed; ui8 flags;//Flags from EFlags enum diff --git a/lib/CCreatureHandler.h b/lib/CCreatureHandler.h index 8b2089481..c85caac98 100644 --- a/lib/CCreatureHandler.h +++ b/lib/CCreatureHandler.h @@ -90,6 +90,13 @@ public: h & idleAnimationTime; h & walkAnimationTime; h & attackAnimationTime; + + if (version < 814) + { + float unused = 0.f; + h & unused; + } + h & upperRightMissleOffsetX; h & rightMissleOffsetX; h & lowerRightMissleOffsetX; diff --git a/lib/serializer/CSerializer.h b/lib/serializer/CSerializer.h index a99a4775d..4cd2b9587 100644 --- a/lib/serializer/CSerializer.h +++ b/lib/serializer/CSerializer.h @@ -14,7 +14,7 @@ VCMI_LIB_NAMESPACE_BEGIN -const ui32 SERIALIZATION_VERSION = 813; +const ui32 SERIALIZATION_VERSION = 814; const ui32 MINIMAL_SERIALIZATION_VERSION = 813; const std::string SAVEGAME_MAGIC = "VCMISVG";