summaryrefslogtreecommitdiff
path: root/indra/llappearance
diff options
context:
space:
mode:
authorDon Kjer <don@lindenlab.com>2012-09-27 22:01:40 +0000
committerDon Kjer <don@lindenlab.com>2012-09-27 22:01:40 +0000
commit793dde16f371408948474d31f9275ea4031b65aa (patch)
tree57d46ee9729c2b1888634ce080ce04d4cc2607f3 /indra/llappearance
parent4f93192e7d00f1f03e0e5241e9f1d2f31623729c (diff)
parent352698140775e62498686f80b5aa21aee85524cf (diff)
Merge sunshine-internal -> sunshine-experimental
Diffstat (limited to 'indra/llappearance')
-rwxr-xr-x[-rw-r--r--]indra/llappearance/llavatarappearance.h4
-rwxr-xr-x[-rw-r--r--]indra/llappearance/lldriverparam.cpp3
-rwxr-xr-x[-rw-r--r--]indra/llappearance/lltexlayerparams.cpp7
-rwxr-xr-xindra/llappearance/llwearable.cpp2
4 files changed, 10 insertions, 6 deletions
diff --git a/indra/llappearance/llavatarappearance.h b/indra/llappearance/llavatarappearance.h
index 4f57335688..5918d1cf2f 100644..100755
--- a/indra/llappearance/llavatarappearance.h
+++ b/indra/llappearance/llavatarappearance.h
@@ -107,7 +107,9 @@ public:
public:
virtual bool isSelf() const { return false; } // True if this avatar is for this viewer's agent
virtual BOOL isValid() const;
- virtual BOOL isUsingBakedTextures() const = 0;
+ virtual BOOL isUsingServerBakes() const = 0;
+ virtual BOOL isUsingLocalAppearance() const = 0;
+ virtual BOOL isEditingAppearance() const = 0;
bool isBuilt() const { return mIsBuilt; }
diff --git a/indra/llappearance/lldriverparam.cpp b/indra/llappearance/lldriverparam.cpp
index 1092b525d0..2d91ebdee9 100644..100755
--- a/indra/llappearance/lldriverparam.cpp
+++ b/indra/llappearance/lldriverparam.cpp
@@ -187,7 +187,10 @@ BOOL LLDriverParam::setInfo(LLDriverParamInfo *info)
{
llassert(wearable);
LLDriverParam *new_param = new LLDriverParam(mAvatarAppearance, wearable);
+ // FIXME DRANO this clobbers mWearablep, which means any code
+ // currently using mWearablep is wrong, or at least untested.
*new_param = *this;
+// new_param->mDriven.clear(); // clear driven list to avoid overwriting avatar driven params from wearables.
return new_param;
}
diff --git a/indra/llappearance/lltexlayerparams.cpp b/indra/llappearance/lltexlayerparams.cpp
index 82c92b5a5e..32bdba4e1c 100644..100755
--- a/indra/llappearance/lltexlayerparams.cpp
+++ b/indra/llappearance/lltexlayerparams.cpp
@@ -174,12 +174,9 @@ void LLTexLayerParamAlpha::setWeight(F32 weight, BOOL upload_bake)
{
mCurWeight = new_weight;
- if ((mAvatarAppearance->getSex() & getSex()) && (mAvatarAppearance->isSelf() && !mIsDummy)) // only trigger a baked texture update if we're changing a wearable's visual param.
+ if ((mAvatarAppearance->getSex() & getSex()) &&
+ (mAvatarAppearance->isSelf() && !mIsDummy)) // only trigger a baked texture update if we're changing a wearable's visual param.
{
- if (!mAvatarAppearance->isUsingBakedTextures())
- {
- upload_bake = FALSE;
- }
mAvatarAppearance->invalidateComposite(mTexLayer->getTexLayerSet(), upload_bake);
mTexLayer->invalidateMorphMasks();
}
diff --git a/indra/llappearance/llwearable.cpp b/indra/llappearance/llwearable.cpp
index 78ff510909..5d53d1ae39 100755
--- a/indra/llappearance/llwearable.cpp
+++ b/indra/llappearance/llwearable.cpp
@@ -502,6 +502,8 @@ void LLWearable::setLocalTextureObject(S32 index, LLLocalTextureObject &lto)
void LLWearable::revertValues()
{
+ // FIXME DRANO - this triggers changes to driven params on avatar, potentially clobbering baked appearance.
+
//update saved settings so wearable is no longer dirty
// non-driver params first
for (param_map_t::const_iterator iter = mSavedVisualParamMap.begin(); iter != mSavedVisualParamMap.end(); iter++)