summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2016-05-25 16:40:08 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2016-05-25 16:40:08 -0400
commit7a7973c6a25c8a2ba08969b11f93a2c701051855 (patch)
treef5008040463e1548e9c7436575afbe9a4c0bc844 /indra
parent806969c11c55714f378250a5ba421357d6d3a491 (diff)
SL-315 - arche_tool.py updates, resetSkeleton() now preserves mPelvis state, forces all params to be updated.
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llvoavatar.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 0728509bcd..25565715c2 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -1851,6 +1851,10 @@ void LLVOAvatar::resetSkeleton()
return;
}
+ // Save mPelvis state
+ LLVector3 pelvis_pos = getJoint("mPelvis")->getPosition();
+ LLQuaternion pelvis_rot = getJoint("mPelvis")->getRotation();
+
// Clear all attachment pos overrides
clearAttachmentPosOverrides();
@@ -1903,6 +1907,10 @@ void LLVOAvatar::resetSkeleton()
// Restore attachment pos overrides
rebuildAttachmentPosOverrides();
+ // Restore mPelvis state
+ getJoint("mPelvis")->setRotation(pelvis_rot);
+ getJoint("mPelvis")->setPosition(pelvis_pos);
+
// Restart animations
resetAnimations();
@@ -7855,7 +7863,7 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte
LLVisualParam* param = contents.mParams[i];
F32 newWeight = contents.mParamWeights[i];
- if (is_first_appearance_message || (param->getWeight() != newWeight))
+ if (slam_params || is_first_appearance_message || (param->getWeight() != newWeight))
{
params_changed = TRUE;
params_changed_count++;