From 1cf611b0592b1f91979bfbac7870b64f3623eef9 Mon Sep 17 00:00:00 2001 From: Nyx Linden Date: Wed, 6 Feb 2013 18:38:17 -0500 Subject: SH-3651 FIX Beard edits not applying on server bakes Despite incrementing the COF version, beard edits were not updating the head hash. We were not applying layers/parameters to the baked texture hashes for layers that did not contain a user-defined image. However, many layers have standard morph masks, etc that are affected by wearable parameters. Edited the LLTexLayerInterface::getWearable() method to return the proper wearable type if there is no associated local texture index, and all parameters in the wearable refer to a particular wearable type. Should be safe even if some (but not all) params have no wearable type defined. --- indra/llappearance/lltexlayer.cpp | 40 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/indra/llappearance/lltexlayer.cpp b/indra/llappearance/lltexlayer.cpp index 15d531259f..3c23f5f293 100644 --- a/indra/llappearance/lltexlayer.cpp +++ b/indra/llappearance/lltexlayer.cpp @@ -932,7 +932,45 @@ LLWearableType::EType LLTexLayerInterface::getWearableType() const ETextureIndex te = getLocalTextureIndex(); if (TEX_INVALID == te) { - return LLWearableType::WT_INVALID; + LLWearableType::EType type = LLWearableType::WT_INVALID; + param_color_list_t::const_iterator color_iter = mParamColorList.begin(); + param_alpha_list_t::const_iterator alpha_iter = mParamAlphaList.begin(); + + for (; color_iter != mParamColorList.end(); color_iter++) + { + LLTexLayerParamColor* param = *color_iter; + if (param) + { + LLWearableType::EType new_type = (LLWearableType::EType)param->getWearableType(); + if (new_type != LLWearableType::WT_INVALID && new_type != type) + { + if (type != LLWearableType::WT_INVALID) + { + return LLWearableType::WT_INVALID; + } + type = new_type; + } + } + } + + for (; alpha_iter != mParamAlphaList.end(); alpha_iter++) + { + LLTexLayerParamAlpha* param = *alpha_iter; + if (param) + { + LLWearableType::EType new_type = (LLWearableType::EType)param->getWearableType(); + if (new_type != LLWearableType::WT_INVALID && new_type != type) + { + if (type != LLWearableType::WT_INVALID) + { + return LLWearableType::WT_INVALID; + } + type = new_type; + } + } + } + + return type; } return LLAvatarAppearanceDictionary::getTEWearableType(te); } -- cgit v1.2.3 From b342b96b3a80757f8772e921442f68c23dea592f Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Sat, 9 Feb 2013 00:43:56 +0000 Subject: Updating appearance utility --- autobuild.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 67d1b4a27b..35c31fbe39 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1290,9 +1290,9 @@ archive hash - 4d0fffe0780f3874cf95ef5a2f3c8489 + 16f094573285f4bb6eb53fd7db20970b url - http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llappearanceutility-source/rev/269731/arch/Linux/installer/llappearanceutility_source-0.1-linux-20130130.tar.bz2 + http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llappearanceutility-source/rev/270202/arch/Linux/installer/llappearanceutility_source-0.1-linux-20130209.tar.bz2 name linux -- cgit v1.2.3 From 93f07d4e2721d8bf163545ba2600aa5c3cd1c506 Mon Sep 17 00:00:00 2001 From: Don Kjer Date: Sat, 9 Feb 2013 01:18:36 +0000 Subject: Updating appearance utility --- autobuild.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 35c31fbe39..41f9176f30 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1290,9 +1290,9 @@ archive hash - 16f094573285f4bb6eb53fd7db20970b + 606926d8b873328149313ace29f5ab64 url - http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llappearanceutility-source/rev/270202/arch/Linux/installer/llappearanceutility_source-0.1-linux-20130209.tar.bz2 + http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/llappearanceutility-source/rev/270205/arch/Linux/installer/llappearanceutility_source-0.1-linux-20130209.tar.bz2 name linux -- cgit v1.2.3