summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2014-08-15 10:38:46 -0400
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2014-08-15 10:38:46 -0400
commitaa96b808981d9453c49d749308a98173ce1864bb (patch)
tree9f7aa16a01c587dc2b2b7aeadbe1b75dcf7cfe77
parentb99d57fbdeda3f012e090bb610f9d3fb44f4248f (diff)
MAINT-4158 WIP - fix for at least some forms of distortion. I can't repro the drastic height changes, so not positive it addresses that.
-rwxr-xr-xindra/llcharacter/lljoint.cpp4
-rwxr-xr-xindra/newview/llvoavatar.cpp9
2 files changed, 11 insertions, 2 deletions
diff --git a/indra/llcharacter/lljoint.cpp b/indra/llcharacter/lljoint.cpp
index dbd6d48a95..c78c38c3a7 100755
--- a/indra/llcharacter/lljoint.cpp
+++ b/indra/llcharacter/lljoint.cpp
@@ -275,7 +275,7 @@ void LLJoint::storeScaleForReset( const LLVector3& scale )
//--------------------------------------------------------------------
void LLJoint::restoreOldXform( void )
{
- mXform = mDefaultXform;
+ mXform = mOldXform;
mResetAfterRestoreOldXform = false;
mDirtyFlags = ALL_DIRTY;
}
@@ -432,7 +432,7 @@ const LLMatrix4 &LLJoint::getWorldMatrix()
//--------------------------------------------------------------------
void LLJoint::setWorldMatrix( const LLMatrix4& mat )
{
-LL_INFOS() << "WARNING: LLJoint::setWorldMatrix() not correctly implemented yet" << LL_ENDL;
+ LL_INFOS() << "WARNING: LLJoint::setWorldMatrix() not correctly implemented yet" << LL_ENDL;
// extract global translation
LLVector3 trans( mat.mMatrix[VW][VX],
mat.mMatrix[VW][VY],
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 22b979aa09..6987f69b7e 100755
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -7676,6 +7676,15 @@ void LLVOAvatar::dumpArchetypeXML(const std::string& prefix, bool group_by_weara
}
}
+ avatar_joint_list_t::iterator iter = mSkeleton.begin();
+ avatar_joint_list_t::iterator end = mSkeleton.end();
+ for (; iter != end; ++iter)
+ {
+ LLJoint* pJoint = (*iter);
+ const LLVector3& pos = pJoint->getPosition();
+ apr_file_printf( file, "\t\t<joint name=\"%s\" position=\"%f %f %f\"/>\n", pJoint->getName().c_str(), pos[0], pos[1], pos[2]);
+ }
+
apr_file_printf( file, "\t</archetype>\n" );
apr_file_printf( file, "\n</linden_genepool>\n" );