mirror of
https://github.com/minetest/minetest.git
synced 2024-11-23 08:03:45 +01:00
Fix animations not being restartable (#15016)
This commit is contained in:
parent
2664afd832
commit
dc21924f31
@ -1518,9 +1518,8 @@ void GenericCAO::updateAnimation()
|
|||||||
if (!m_animated_meshnode)
|
if (!m_animated_meshnode)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (m_animated_meshnode->getStartFrame() != m_animation_range.X ||
|
// Note: This sets the current frame as well, (re)starting the animation.
|
||||||
m_animated_meshnode->getEndFrame() != m_animation_range.Y)
|
m_animated_meshnode->setFrameLoop(m_animation_range.X, m_animation_range.Y);
|
||||||
m_animated_meshnode->setFrameLoop(m_animation_range.X, m_animation_range.Y);
|
|
||||||
if (m_animated_meshnode->getAnimationSpeed() != m_animation_speed)
|
if (m_animated_meshnode->getAnimationSpeed() != m_animation_speed)
|
||||||
m_animated_meshnode->setAnimationSpeed(m_animation_speed);
|
m_animated_meshnode->setAnimationSpeed(m_animation_speed);
|
||||||
m_animated_meshnode->setTransitionTime(m_animation_blend);
|
m_animated_meshnode->setTransitionTime(m_animation_blend);
|
||||||
|
@ -55,10 +55,7 @@ const ItemGroupList &UnitSAO::getArmorGroups() const
|
|||||||
void UnitSAO::setAnimation(
|
void UnitSAO::setAnimation(
|
||||||
v2f frame_range, float frame_speed, float frame_blend, bool frame_loop)
|
v2f frame_range, float frame_speed, float frame_blend, bool frame_loop)
|
||||||
{
|
{
|
||||||
if (std::tie(m_animation_range, m_animation_speed, m_animation_blend,
|
// Note: Always resend (even if parameters are unchanged) to restart animations.
|
||||||
m_animation_loop) ==
|
|
||||||
std::tie(frame_range, frame_speed, frame_blend, frame_loop))
|
|
||||||
return; // no change
|
|
||||||
m_animation_range = frame_range;
|
m_animation_range = frame_range;
|
||||||
m_animation_speed = frame_speed;
|
m_animation_speed = frame_speed;
|
||||||
m_animation_blend = frame_blend;
|
m_animation_blend = frame_blend;
|
||||||
|
Loading…
Reference in New Issue
Block a user