summaryrefslogtreecommitdiff
path: root/indra/llappearance/llavatarappearance.cpp
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2015-10-16 15:05:29 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2015-10-16 15:05:29 -0400
commit58992e2cb4ae2787b85cff63c3ed680cd99fa8ce (patch)
tree5b2965405b2d3be909a8e43123cd8c4b6f16cca2 /indra/llappearance/llavatarappearance.cpp
parenta16a6034c25c5e78331ef1bd13485df8759456e5 (diff)
SL-234 WIP - Track which joints are part of base skeleton, remap non-base ones when not being rendered.
Diffstat (limited to 'indra/llappearance/llavatarappearance.cpp')
-rwxr-xr-xindra/llappearance/llavatarappearance.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp
index f2cd2768d8..a464ffcb43 100755
--- a/indra/llappearance/llavatarappearance.cpp
+++ b/indra/llappearance/llavatarappearance.cpp
@@ -87,6 +87,7 @@ public:
private:
std::string mName;
+ std::string mSupport;
BOOL mIsJoint;
LLVector3 mPos;
LLVector3 mRot;
@@ -605,6 +606,7 @@ BOOL LLAvatarAppearance::setupBone(const LLAvatarBoneInfo* info, LLJoint* parent
joint->setRotation(mayaQ(info->mRot.mV[VX], info->mRot.mV[VY],
info->mRot.mV[VZ], LLQuaternion::XYZ));
joint->setScale(info->mScale);
+ joint->setSupport(info->mSupport);
if (info->mIsJoint)
{
@@ -1564,6 +1566,13 @@ BOOL LLAvatarBoneInfo::parseXml(LLXmlTreeNode* node)
return FALSE;
}
+ static LLStdStringHandle support_string = LLXmlTree::addAttributeString("support");
+ if (!node->getFastAttributeString(support_string,mSupport))
+ {
+ LL_WARNS() << "Bone without support" << LL_ENDL;
+ mSupport = "base";
+ }
+
if (mIsJoint)
{
static LLStdStringHandle pivot_string = LLXmlTree::addAttributeString("pivot");