summaryrefslogtreecommitdiff
path: root/indra/newview/llvoavatar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llvoavatar.cpp')
-rw-r--r--indra/newview/llvoavatar.cpp15
1 files changed, 12 insertions, 3 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index b6d1d2443d..bb28b09200 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -3476,9 +3476,8 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent)
mInAir = in_air;
// correct for the fact that the pelvis is not necessarily the center
- // of the agent's physical representation
+ // of the agent's physical representation
root_pos.mdV[VZ] -= (0.5f * mBodySize.mV[VZ]) - mPelvisToFoot;
-
LLVector3 newPosition = gAgent.getPosAgentFromGlobal(root_pos);
@@ -3805,7 +3804,16 @@ void LLVOAvatar::setPelvisOffset( bool hasOffset, const LLVector3& offsetAmount
mPelvisOffset = offsetAmount;
}
}
-
+//------------------------------------------------------------------------
+// postPelvisSetRecalc
+//------------------------------------------------------------------------
+void LLVOAvatar::postPelvisSetRecalc( void )
+{
+ computeBodySize();
+ mRoot.updateWorldMatrixChildren();
+ dirtyMesh();
+ updateHeadOffset();
+}
//------------------------------------------------------------------------
// updateVisibility()
//------------------------------------------------------------------------
@@ -4976,6 +4984,7 @@ void LLVOAvatar::resetJointPositionsToDefault( void )
}
//make sure we don't apply the joint offset
mHasPelvisOffset = false;
+ postPelvisSetRecalc();
}