From 14e59626750cd1c79379b4d7d6e987a66aac9c2f Mon Sep 17 00:00:00 2001 From: "Anthony J. Thibault" Date: Tue, 15 Oct 2019 15:29:24 -0700 Subject: [PATCH] Bugfix for legacy sit scripts Don't return additive clip nodes as valid "roles" for users to override. --- libraries/animation/src/AnimClip.h | 2 ++ libraries/animation/src/Rig.cpp | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/libraries/animation/src/AnimClip.h b/libraries/animation/src/AnimClip.h index 24acdcf20a..7f201f94e7 100644 --- a/libraries/animation/src/AnimClip.h +++ b/libraries/animation/src/AnimClip.h @@ -55,6 +55,8 @@ public: float getFrame() const { return _frame; } void loadURL(const QString& url); + AnimBlendType getBlendType() const { return _blendType; }; + protected: virtual void setCurrentFrameInternal(float frame) override; diff --git a/libraries/animation/src/Rig.cpp b/libraries/animation/src/Rig.cpp index 0be05f843e..efb3bd451a 100644 --- a/libraries/animation/src/Rig.cpp +++ b/libraries/animation/src/Rig.cpp @@ -545,7 +545,8 @@ QStringList Rig::getAnimationRoles() const { auto clipNode = std::dynamic_pointer_cast(node); if (clipNode) { // filter out the userAnims, they are for internal use only. - if (!clipNode->getID().startsWith("userAnim")) { + // also don't return additive blend node clips as valid roles. + if (!clipNode->getID().startsWith("userAnim") && clipNode->getBlendType() == AnimBlendType_Normal) { list.append(node->getID()); } }