From a52efea0b4539919d5aba006f32a02326754e22d Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Sat, 29 Jan 2011 19:12:07 +0100 Subject: Beeks: Serious fix for the Tintable tattoos! This needs moving the new avatar_lad.xml file from the Imprudence toplevel directory to linden/indra/newview/character/ --- linden/indra/llcharacter/llvisualparam.h | 7 ++++--- linden/indra/newview/llvoavatar.cpp | 34 ++++++++++++++++---------------- 2 files changed, 21 insertions(+), 20 deletions(-) (limited to 'linden/indra') diff --git a/linden/indra/llcharacter/llvisualparam.h b/linden/indra/llcharacter/llvisualparam.h index 8ec5497..d8dff8c 100644 --- a/linden/indra/llcharacter/llvisualparam.h +++ b/linden/indra/llcharacter/llvisualparam.h @@ -125,7 +125,7 @@ public: void setMaxDisplayName(const std::string& s) { mInfo->mMaxName = s; } void setMinDisplayName(const std::string& s) { mInfo->mMinName = s; } - EVisualParamGroup getGroup() { return mInfo->mGroup; } + EVisualParamGroup getGroup() const { return mInfo->mGroup; } F32 getMinWeight() { return mInfo->mMinWeight; } F32 getMaxWeight() { return mInfo->mMaxWeight; } F32 getDefaultWeight() { return mInfo->mDefaultWeight; } @@ -134,14 +134,15 @@ public: F32 getWeight() { return mIsAnimating ? mTargetWeight : mCurWeight; } F32 getCurrentWeight() { return mCurWeight; } F32 getLastWeight() { return mLastWeight; } - BOOL isAnimating() { return mIsAnimating; } + BOOL isAnimating() { return mIsAnimating; } + BOOL isTweakable() { return (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) || (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT); } LLVisualParam* getNextParam() { return mNext; } void setNextParam( LLVisualParam *next ); virtual void setAnimating(BOOL is_animating) { mIsAnimating = is_animating; } BOOL getAnimating() { return mIsAnimating; } - BOOL isTweakable() { return (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) || (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT); } + protected: F32 mCurWeight; // current weight diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index 90fb936..27a848f 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp @@ -5973,6 +5973,7 @@ BOOL LLVOAvatar::loadAvatar() if (sAvatarXmlInfo->mLayerInfoList.empty()) { llwarns << "avatar file: missing node" << llendl; + return FALSE; } else { @@ -6013,23 +6014,22 @@ BOOL LLVOAvatar::loadAvatar() } // avatar_lad.xml : + LLVOAvatarXmlInfo::driver_info_list_t::iterator iter; + for (iter = sAvatarXmlInfo->mDriverInfoList.begin(); + iter != sAvatarXmlInfo->mDriverInfoList.end(); iter++) { - LLVOAvatarXmlInfo::driver_info_list_t::iterator iter; - for (iter = sAvatarXmlInfo->mDriverInfoList.begin(); - iter != sAvatarXmlInfo->mDriverInfoList.end(); iter++) + LLDriverParamInfo *info = *iter; + LLDriverParam* driver_param = new LLDriverParam( this ); + if (driver_param->setInfo(info)) { - LLDriverParamInfo *info = *iter; - LLDriverParam* driver_param = new LLDriverParam( this ); - if (driver_param->setInfo(info)) - { - addVisualParam( driver_param ); - } - else - { - delete driver_param; - llwarns << "avatar file: driver_param->parseData() failed" << llendl; - return FALSE; - } + addVisualParam( driver_param ); + } + else + { + delete driver_param; + llwarns << "avatar file: driver_param->parseData() failed" << llendl; + return FALSE; + } } @@ -8669,7 +8669,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys ) { for( S32 i = 0; i < num_blocks; i++ ) { - while (param && (param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE)) // should not be any of group VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT + while( param && (!param->isTweakable()) ) { param = getNextVisualParam(); } @@ -8677,7 +8677,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys ) if( !param ) { llwarns << "Number of params in AvatarAppearance msg does not match number of params in avatar xml file." << llendl; - return; + break; } U8 value; -- cgit v1.1