summaryrefslogtreecommitdiff
path: root/indra/llcharacter/llvisualparam.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2013-04-16 16:01:32 -0400
committerOz Linden <oz@lindenlab.com>2013-04-16 16:01:32 -0400
commit327c99cadbcbe15442eaee8e0625ade17dcda61f (patch)
tree6d89ba35638ae7e0b439150034a0333b1dc4b397 /indra/llcharacter/llvisualparam.cpp
parente20099155378fd10f7997e36ae8ef150c8c5ad91 (diff)
parentfac6ee27f2d3277494f011271064b0e5e7e02554 (diff)
merge up to 3.5.2 development
Diffstat (limited to 'indra/llcharacter/llvisualparam.cpp')
-rw-r--r--indra/llcharacter/llvisualparam.cpp33
1 files changed, 32 insertions, 1 deletions
diff --git a/indra/llcharacter/llvisualparam.cpp b/indra/llcharacter/llvisualparam.cpp
index 809b312abe..f7cb0f76b7 100644
--- a/indra/llcharacter/llvisualparam.cpp
+++ b/indra/llcharacter/llvisualparam.cpp
@@ -168,7 +168,8 @@ LLVisualParam::LLVisualParam()
mIsAnimating( FALSE ),
mID( -1 ),
mInfo( 0 ),
- mIsDummy(FALSE)
+ mIsDummy(FALSE),
+ mParamLocation(LOC_UNKNOWN)
{
}
@@ -250,6 +251,7 @@ void LLVisualParam::setAnimationTarget(F32 target_value, BOOL upload_bake)
if (mIsDummy)
{
setWeight(target_value, upload_bake);
+ mTargetWeight = mCurWeight;
return;
}
@@ -319,3 +321,32 @@ void LLVisualParam::resetDrivenParams()
// nothing to do for non-driver parameters
return;
}
+
+const std::string param_location_name(const EParamLocation& loc)
+{
+ switch (loc)
+ {
+ case LOC_UNKNOWN: return "unknown";
+ case LOC_AV_SELF: return "self";
+ case LOC_AV_OTHER: return "other";
+ case LOC_WEARABLE: return "wearable";
+ default: return "error";
+ }
+}
+
+void LLVisualParam::setParamLocation(EParamLocation loc)
+{
+ if (mParamLocation == LOC_UNKNOWN || loc == LOC_UNKNOWN)
+ {
+ mParamLocation = loc;
+ }
+ else if (mParamLocation == loc)
+ {
+ // no action
+ }
+ else
+ {
+ lldebugs << "param location is already " << mParamLocation << ", not slamming to " << loc << llendl;
+ }
+}
+