From 7b69642c67a301e5d75f94b8700dd0e66057f17e Mon Sep 17 00:00:00 2001 From: ZappoMan Date: Thu, 13 Nov 2014 23:03:12 -0800 Subject: [PATCH] fix bug in animation jitter on turn --- libraries/entities/src/ModelEntityItem.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libraries/entities/src/ModelEntityItem.cpp b/libraries/entities/src/ModelEntityItem.cpp index 52b8f7e643..f50fe7866b 100644 --- a/libraries/entities/src/ModelEntityItem.cpp +++ b/libraries/entities/src/ModelEntityItem.cpp @@ -115,7 +115,9 @@ int ModelEntityItem::readEntitySubclassDataFromBuffer(const unsigned char* data, READ_ENTITY_PROPERTY(PROP_ANIMATION_PLAYING, bool, animationIsPlaying); if (propertyFlags.getHasProperty(PROP_ANIMATION_PLAYING)) { - setAnimationIsPlaying(animationIsPlaying); + if (animationIsPlaying != getAnimationIsPlaying()) { + setAnimationIsPlaying(animationIsPlaying); + } } if (propertyFlags.getHasProperty(PROP_ANIMATION_FPS)) { setAnimationFPS(animationFPS); @@ -345,7 +347,6 @@ QVector ModelEntityItem::getAnimationFrame() { if (frameCount > 0) { int animationFrameIndex = (int)(glm::floor(getAnimationFrameIndex())) % frameCount; - if (animationFrameIndex < 0 || animationFrameIndex > frameCount) { animationFrameIndex = 0; } @@ -427,7 +428,9 @@ void ModelEntityItem::setAnimationSettings(const QString& value) { if (settingsMap.contains("running")) { bool running = settingsMap["running"].toBool(); - setAnimationIsPlaying(running); + if (running != getAnimationIsPlaying()) { + setAnimationIsPlaying(running); + } } if (settingsMap.contains("firstFrame")) {