aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
authorArmin Weatherwax2011-01-29 19:12:07 +0100
committerArmin Weatherwax2011-01-29 19:12:07 +0100
commita52efea0b4539919d5aba006f32a02326754e22d (patch)
tree3ee6b8d50c1f12ec76c0212cf29a51f73f01badd /linden/indra
parentUpdate: Henri Beauchamp: Port of SG-2.0 alpha and tattoo layers v6->v9 (diff)
downloadmeta-impy-a52efea0b4539919d5aba006f32a02326754e22d.zip
meta-impy-a52efea0b4539919d5aba006f32a02326754e22d.tar.gz
meta-impy-a52efea0b4539919d5aba006f32a02326754e22d.tar.bz2
meta-impy-a52efea0b4539919d5aba006f32a02326754e22d.tar.xz
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/
Diffstat (limited to 'linden/indra')
-rw-r--r--linden/indra/llcharacter/llvisualparam.h7
-rw-r--r--linden/indra/newview/llvoavatar.cpp34
2 files changed, 21 insertions, 20 deletions
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:
125 void setMaxDisplayName(const std::string& s) { mInfo->mMaxName = s; } 125 void setMaxDisplayName(const std::string& s) { mInfo->mMaxName = s; }
126 void setMinDisplayName(const std::string& s) { mInfo->mMinName = s; } 126 void setMinDisplayName(const std::string& s) { mInfo->mMinName = s; }
127 127
128 EVisualParamGroup getGroup() { return mInfo->mGroup; } 128 EVisualParamGroup getGroup() const { return mInfo->mGroup; }
129 F32 getMinWeight() { return mInfo->mMinWeight; } 129 F32 getMinWeight() { return mInfo->mMinWeight; }
130 F32 getMaxWeight() { return mInfo->mMaxWeight; } 130 F32 getMaxWeight() { return mInfo->mMaxWeight; }
131 F32 getDefaultWeight() { return mInfo->mDefaultWeight; } 131 F32 getDefaultWeight() { return mInfo->mDefaultWeight; }
@@ -134,14 +134,15 @@ public:
134 F32 getWeight() { return mIsAnimating ? mTargetWeight : mCurWeight; } 134 F32 getWeight() { return mIsAnimating ? mTargetWeight : mCurWeight; }
135 F32 getCurrentWeight() { return mCurWeight; } 135 F32 getCurrentWeight() { return mCurWeight; }
136 F32 getLastWeight() { return mLastWeight; } 136 F32 getLastWeight() { return mLastWeight; }
137 BOOL isAnimating() { return mIsAnimating; } 137 BOOL isAnimating() { return mIsAnimating; }
138 BOOL isTweakable() { return (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) || (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT); }
138 139
139 LLVisualParam* getNextParam() { return mNext; } 140 LLVisualParam* getNextParam() { return mNext; }
140 void setNextParam( LLVisualParam *next ); 141 void setNextParam( LLVisualParam *next );
141 142
142 virtual void setAnimating(BOOL is_animating) { mIsAnimating = is_animating; } 143 virtual void setAnimating(BOOL is_animating) { mIsAnimating = is_animating; }
143 BOOL getAnimating() { return mIsAnimating; } 144 BOOL getAnimating() { return mIsAnimating; }
144 BOOL isTweakable() { return (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE) || (getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT); } 145
145 146
146protected: 147protected:
147 F32 mCurWeight; // current weight 148 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()
5973 if (sAvatarXmlInfo->mLayerInfoList.empty()) 5973 if (sAvatarXmlInfo->mLayerInfoList.empty())
5974 { 5974 {
5975 llwarns << "avatar file: missing <layer_set> node" << llendl; 5975 llwarns << "avatar file: missing <layer_set> node" << llendl;
5976 return FALSE;
5976 } 5977 }
5977 else 5978 else
5978 { 5979 {
@@ -6013,23 +6014,22 @@ BOOL LLVOAvatar::loadAvatar()
6013 } 6014 }
6014 6015
6015 // avatar_lad.xml : <driver_parameters> 6016 // avatar_lad.xml : <driver_parameters>
6017 LLVOAvatarXmlInfo::driver_info_list_t::iterator iter;
6018 for (iter = sAvatarXmlInfo->mDriverInfoList.begin();
6019 iter != sAvatarXmlInfo->mDriverInfoList.end(); iter++)
6016 { 6020 {
6017 LLVOAvatarXmlInfo::driver_info_list_t::iterator iter; 6021 LLDriverParamInfo *info = *iter;
6018 for (iter = sAvatarXmlInfo->mDriverInfoList.begin(); 6022 LLDriverParam* driver_param = new LLDriverParam( this );
6019 iter != sAvatarXmlInfo->mDriverInfoList.end(); iter++) 6023 if (driver_param->setInfo(info))
6020 { 6024 {
6021 LLDriverParamInfo *info = *iter; 6025 addVisualParam( driver_param );
6022 LLDriverParam* driver_param = new LLDriverParam( this ); 6026 }
6023 if (driver_param->setInfo(info)) 6027 else
6024 { 6028 {
6025 addVisualParam( driver_param ); 6029 delete driver_param;
6026 } 6030 llwarns << "avatar file: driver_param->parseData() failed" << llendl;
6027 else 6031 return FALSE;
6028 { 6032
6029 delete driver_param;
6030 llwarns << "avatar file: driver_param->parseData() failed" << llendl;
6031 return FALSE;
6032 }
6033 } 6033 }
6034 } 6034 }
6035 6035
@@ -8669,7 +8669,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
8669 { 8669 {
8670 for( S32 i = 0; i < num_blocks; i++ ) 8670 for( S32 i = 0; i < num_blocks; i++ )
8671 { 8671 {
8672 while (param && (param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE)) // should not be any of group VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT 8672 while( param && (!param->isTweakable()) )
8673 { 8673 {
8674 param = getNextVisualParam(); 8674 param = getNextVisualParam();
8675 } 8675 }
@@ -8677,7 +8677,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )
8677 if( !param ) 8677 if( !param )
8678 { 8678 {
8679 llwarns << "Number of params in AvatarAppearance msg does not match number of params in avatar xml file." << llendl; 8679 llwarns << "Number of params in AvatarAppearance msg does not match number of params in avatar xml file." << llendl;
8680 return; 8680 break;
8681 } 8681 }
8682 8682
8683 U8 value; 8683 U8 value;