summaryrefslogtreecommitdiff
path: root/indra/llcharacter
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcharacter')
-rw-r--r--indra/llcharacter/llkeyframemotion.cpp17
-rw-r--r--indra/llcharacter/llkeyframemotion.h6
-rw-r--r--indra/llcharacter/llkeyframewalkmotion.cpp14
-rw-r--r--indra/llcharacter/llmotioncontroller.cpp25
-rw-r--r--indra/llcharacter/llmotioncontroller.h2
-rw-r--r--indra/llcharacter/llpose.cpp2
6 files changed, 49 insertions, 17 deletions
diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp
index 91d96904ba..ce59349d55 100644
--- a/indra/llcharacter/llkeyframemotion.cpp
+++ b/indra/llcharacter/llkeyframemotion.cpp
@@ -71,6 +71,15 @@ static F32 MAX_CONSTRAINTS = 10;
// JointMotionList
//-----------------------------------------------------------------------------
LLKeyframeMotion::JointMotionList::JointMotionList()
+ : mDuration(0.f),
+ mLoop(FALSE),
+ mLoopInPoint(0.f),
+ mLoopOutPoint(0.f),
+ mEaseInDuration(0.f),
+ mEaseOutDuration(0.f),
+ mBasePriority(LLJoint::LOW_PRIORITY),
+ mHandPose(LLHandMotion::HAND_POSE_SPREAD),
+ mMaxPriority(LLJoint::LOW_PRIORITY)
{
}
@@ -2116,11 +2125,19 @@ void LLKeyframeDataCache::clear()
//-----------------------------------------------------------------------------
LLKeyframeMotion::JointConstraint::JointConstraint(JointConstraintSharedData* shared_data) : mSharedData(shared_data)
{
+ mWeight = 0.f;
mTotalLength = 0.f;
mActive = FALSE;
mSourceVolume = NULL;
mTargetVolume = NULL;
mFixupDistanceRMS = 0.f;
+
+ int i;
+ for (i=0; i<MAX_CHAIN_LENGTH; ++i)
+ {
+ mJointLengths[i] = 0.f;
+ mJointLengthFractions[i] = 0.f;
+ }
}
//-----------------------------------------------------------------------------
diff --git a/indra/llcharacter/llkeyframemotion.h b/indra/llcharacter/llkeyframemotion.h
index c383e5e99e..a50447c3bf 100644
--- a/indra/llcharacter/llkeyframemotion.h
+++ b/indra/llcharacter/llkeyframemotion.h
@@ -224,7 +224,11 @@ protected:
mEaseOutStopTime(0.f),
mUseTargetOffset(FALSE),
mConstraintType(TYPE_POINT),
- mConstraintTargetType(TYPE_BODY) {};
+ mConstraintTargetType(TYPE_BODY),
+ mSourceConstraintVolume(0),
+ mTargetConstraintVolume(0),
+ mJointStateIndices(NULL)
+ { };
~JointConstraintSharedData() { delete [] mJointStateIndices; }
S32 mSourceConstraintVolume;
diff --git a/indra/llcharacter/llkeyframewalkmotion.cpp b/indra/llcharacter/llkeyframewalkmotion.cpp
index 0d7e34bb4f..471acd8ac3 100644
--- a/indra/llcharacter/llkeyframewalkmotion.cpp
+++ b/indra/llcharacter/llkeyframewalkmotion.cpp
@@ -139,9 +139,16 @@ BOOL LLKeyframeWalkMotion::onUpdate(F32 time, U8* joint_mask)
// LLWalkAdjustMotion()
// Class Constructor
//-----------------------------------------------------------------------------
-LLWalkAdjustMotion::LLWalkAdjustMotion(const LLUUID &id) : LLMotion(id)
+LLWalkAdjustMotion::LLWalkAdjustMotion(const LLUUID &id) :
+ LLMotion(id),
+ mLastTime(0.f),
+ mAvgCorrection(0.f),
+ mSpeedAdjust(0.f),
+ mAnimSpeed(0.f),
+ mAvgSpeed(0.f),
+ mRelativeDir(0.f),
+ mAnkleOffset(0.f)
{
- mLastTime = 0.f;
mName = "walk_adjust";
mPelvisState = new LLJointState;
@@ -349,7 +356,8 @@ void LLWalkAdjustMotion::onDeactivate()
// LLFlyAdjustMotion::LLFlyAdjustMotion()
//-----------------------------------------------------------------------------
LLFlyAdjustMotion::LLFlyAdjustMotion(const LLUUID &id)
- : LLMotion(id)
+ : LLMotion(id),
+ mRoll(0.f)
{
mName = "fly_adjust";
diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp
index fff19dbefe..5bcae5e635 100644
--- a/indra/llcharacter/llmotioncontroller.cpp
+++ b/indra/llcharacter/llmotioncontroller.cpp
@@ -155,18 +155,19 @@ LLMotion *LLMotionRegistry::createMotion( const LLUUID &id )
// LLMotionController()
// Class Constructor
//-----------------------------------------------------------------------------
-LLMotionController::LLMotionController( )
-{
- mTime = 0.f;
- mTimeOffset = 0.f;
- mLastTime = 0.0f;
- mHasRunOnce = FALSE;
- mPaused = FALSE;
- mPauseTime = 0.f;
- mTimeStep = 0.f;
- mTimeStepCount = 0;
- mLastInterp = 0.f;
- mTimeFactor = 1.f;
+LLMotionController::LLMotionController()
+ : mTimeFactor(1.f),
+ mCharacter(NULL),
+ mTime(0.f),
+ mTimeOffset(0.f),
+ mLastTime(0.0f),
+ mHasRunOnce(FALSE),
+ mPaused(FALSE),
+ mPauseTime(0.f),
+ mTimeStep(0.f),
+ mTimeStepCount(0),
+ mLastInterp(0.f)
+{
}
diff --git a/indra/llcharacter/llmotioncontroller.h b/indra/llcharacter/llmotioncontroller.h
index effea0940a..c6749c5c36 100644
--- a/indra/llcharacter/llmotioncontroller.h
+++ b/indra/llcharacter/llmotioncontroller.h
@@ -227,10 +227,10 @@ protected:
F32 mLastTime;
BOOL mHasRunOnce;
BOOL mPaused;
+ F32 mPauseTime;
F32 mTimeStep;
S32 mTimeStepCount;
F32 mLastInterp;
- F32 mPauseTime;
U8 mJointSignature[2][LL_CHARACTER_MAX_JOINTS];
};
diff --git a/indra/llcharacter/llpose.cpp b/indra/llcharacter/llpose.cpp
index 2120cb223e..c57fbfdc5d 100644
--- a/indra/llcharacter/llpose.cpp
+++ b/indra/llcharacter/llpose.cpp
@@ -188,6 +188,7 @@ LLJointStateBlender::LLJointStateBlender()
{
mJointStates[i] = NULL;
mPriorities[i] = S32_MIN;
+ mAdditiveBlends[i] = FALSE;
}
}
@@ -458,6 +459,7 @@ void LLJointStateBlender::resetCachedJoint()
//-----------------------------------------------------------------------------
LLPoseBlender::LLPoseBlender()
+ : mNextPoseSlot(0)
{
}