From f10a860bbaa8975a20433ed43225f3d8b4573033 Mon Sep 17 00:00:00 2001 From: DavidWyand-GG Date: Tue, 22 Oct 2013 18:18:02 -0400 Subject: [PATCH] Changes for MaskNodeHandsOff This is a rework of the Pull Request https://github.com/GarageGames/Torque3D/pull/453 based on my own understanding of the issue. The details may be found in the description of the original Pull Request. --- Engine/source/ts/tsAnimate.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Engine/source/ts/tsAnimate.cpp b/Engine/source/ts/tsAnimate.cpp index e2332b699..8c80fea18 100644 --- a/Engine/source/ts/tsAnimate.cpp +++ b/Engine/source/ts/tsAnimate.cpp @@ -293,6 +293,7 @@ void TSShapeInstance::updateTransitionNodeTransforms(TSIntegerSet& transitionNod transitionNodes.overlap(mTransitionRotationNodes); transitionNodes.overlap(mTransitionTranslationNodes); transitionNodes.overlap(mTransitionScaleNodes); + transitionNodes.takeAway(mHandsOffNodes); // Decompose transforms for nodes affected by the transition. Only need to do // for blended or scale-animated nodes, as all others are already up to date @@ -578,6 +579,7 @@ void TSShapeInstance::handleBlendSequence(TSThread * thread, S32 a, S32 b) TSIntegerSet nodeMatters = thread->getSequence()->translationMatters; nodeMatters.overlap(thread->getSequence()->rotationMatters); nodeMatters.overlap(thread->getSequence()->scaleMatters); + nodeMatters.takeAway(mHandsOffNodes); S32 start = nodeMatters.start(); S32 end = b; for (S32 nodeIndex=start; nodeIndex