diff options
46 files changed, 272 insertions, 1562 deletions
| diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp index e3497c107d..f10ae813fd 100644..100755 --- a/indra/llappearance/llavatarappearance.cpp +++ b/indra/llappearance/llavatarappearance.cpp @@ -491,7 +491,6 @@ void LLAvatarAppearance::computeBodySize()  	if (new_body_size != mBodySize || old_offset != mAvatarOffset.mV[VZ])  	{  		mBodySize = new_body_size; -		bodySizeChanged();  	}  } @@ -1361,14 +1360,14 @@ BOOL LLAvatarAppearance::teToColorParams( ETextureIndex te, U32 *param_name )  	return TRUE;  } -void LLAvatarAppearance::setClothesColor( ETextureIndex te, const LLColor4& new_color, BOOL upload_bake ) +void LLAvatarAppearance::setClothesColor( ETextureIndex te, const LLColor4& new_color)  {  	U32 param_name[3];  	if( teToColorParams( te, param_name ) )  	{ -		setVisualParamWeight( param_name[0], new_color.mV[VX], upload_bake ); -		setVisualParamWeight( param_name[1], new_color.mV[VY], upload_bake ); -		setVisualParamWeight( param_name[2], new_color.mV[VZ], upload_bake ); +		setVisualParamWeight( param_name[0], new_color.mV[VX]); +		setVisualParamWeight( param_name[1], new_color.mV[VY]); +		setVisualParamWeight( param_name[2], new_color.mV[VZ]);  	}  } diff --git a/indra/llappearance/llavatarappearance.h b/indra/llappearance/llavatarappearance.h index bf13680496..1e898026c0 100644..100755 --- a/indra/llappearance/llavatarappearance.h +++ b/indra/llappearance/llavatarappearance.h @@ -107,7 +107,6 @@ public:  public:  	virtual bool 	isSelf() const { return false; } // True if this avatar is for this viewer's agent  	virtual BOOL	isValid() const; -	virtual BOOL	isUsingServerBakes() const = 0;  	virtual BOOL	isUsingLocalAppearance() const = 0;  	virtual BOOL	isEditingAppearance() const = 0; @@ -144,7 +143,6 @@ protected:  	static BOOL			parseSkeletonFile(const std::string& filename);  	virtual void		buildCharacter();  	virtual BOOL		loadAvatar(); -	virtual void		bodySizeChanged() = 0;  	BOOL				setupBone(const LLAvatarBoneInfo* info, LLJoint* parent, S32 ¤t_volume_num, S32 ¤t_joint_num);  	BOOL				allocateCharacterJoints(U32 num); @@ -225,7 +223,7 @@ public:  	// Composites  	//--------------------------------------------------------------------  public: -	virtual void	invalidateComposite(LLTexLayerSet* layerset, BOOL upload_result) = 0; +	virtual void	invalidateComposite(LLTexLayerSet* layerset) = 0;  /********************************************************************************   **                                                                            ** @@ -256,7 +254,7 @@ protected:  	// Clothing colors (convenience functions to access visual parameters)  	//--------------------------------------------------------------------  public: -	void			setClothesColor(LLAvatarAppearanceDefines::ETextureIndex te, const LLColor4& new_color, BOOL upload_bake); +	void			setClothesColor(LLAvatarAppearanceDefines::ETextureIndex te, const LLColor4& new_color);  	LLColor4		getClothesColor(LLAvatarAppearanceDefines::ETextureIndex te);  	static BOOL		teToColorParams(LLAvatarAppearanceDefines::ETextureIndex te, U32 *param_name); @@ -265,7 +263,7 @@ public:  	//--------------------------------------------------------------------  public:  	LLColor4		getGlobalColor(const std::string& color_name ) const; -	virtual void	onGlobalColorChanged(const LLTexGlobalColor* global_color, BOOL upload_bake) = 0; +	virtual void	onGlobalColorChanged(const LLTexGlobalColor* global_color) = 0;  protected:  	LLTexGlobalColor* mTexSkinColor;  	LLTexGlobalColor* mTexHairColor; diff --git a/indra/llappearance/lldriverparam.cpp b/indra/llappearance/lldriverparam.cpp index 1f7e8b8652..83dbcfd6bf 100644..100755 --- a/indra/llappearance/lldriverparam.cpp +++ b/indra/llappearance/lldriverparam.cpp @@ -178,7 +178,7 @@ BOOL LLDriverParam::setInfo(LLDriverParamInfo *info)  	mID = info->mID;  	info->mDriverParam = this; -	setWeight(getDefaultWeight(), FALSE ); +	setWeight(getDefaultWeight());  	return TRUE;  } @@ -195,7 +195,7 @@ BOOL LLDriverParam::setInfo(LLDriverParamInfo *info)  	return new_param;  } -void LLDriverParam::setWeight(F32 weight, BOOL upload_bake) +void LLDriverParam::setWeight(F32 weight)  {  	F32 min_weight = getMinWeight();  	F32 max_weight = getMaxWeight(); @@ -254,7 +254,7 @@ void LLDriverParam::setWeight(F32 weight, BOOL upload_bake)  					driven_weight = driven_min;  				} -				setDrivenWeight(driven,driven_weight,upload_bake); +				setDrivenWeight(driven,driven_weight);  				continue;  			}  			else  @@ -278,13 +278,13 @@ void LLDriverParam::setWeight(F32 weight, BOOL upload_bake)  					driven_weight = driven_min;  				} -				setDrivenWeight(driven,driven_weight,upload_bake); +				setDrivenWeight(driven,driven_weight);  				continue;  			}  		}  		driven_weight = getDrivenWeight(driven, mCurWeight); -		setDrivenWeight(driven,driven_weight,upload_bake); +		setDrivenWeight(driven,driven_weight);  	}  } @@ -430,9 +430,9 @@ const LLViewerVisualParam* LLDriverParam::getDrivenParam(S32 index) const  //-----------------------------------------------------------------------------  // setAnimationTarget()  //----------------------------------------------------------------------------- -void LLDriverParam::setAnimationTarget( F32 target_value, BOOL upload_bake ) +void LLDriverParam::setAnimationTarget( F32 target_value)  { -	LLVisualParam::setAnimationTarget(target_value, upload_bake); +	LLVisualParam::setAnimationTarget(target_value);  	for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ )  	{ @@ -441,16 +441,16 @@ void LLDriverParam::setAnimationTarget( F32 target_value, BOOL upload_bake )  		// this isn't normally necessary, as driver params handle interpolation of their driven params  		// but texture params need to know to assume their final value at beginning of interpolation -		driven->mParam->setAnimationTarget(driven_weight, upload_bake); +		driven->mParam->setAnimationTarget(driven_weight);  	}  }  //-----------------------------------------------------------------------------  // stopAnimating()  //----------------------------------------------------------------------------- -void LLDriverParam::stopAnimating(BOOL upload_bake) +void LLDriverParam::stopAnimating()  { -	LLVisualParam::stopAnimating(upload_bake); +	LLVisualParam::stopAnimating();  	for( entry_list_t::iterator iter = mDriven.begin(); iter != mDriven.end(); iter++ )  	{ @@ -530,7 +530,7 @@ void LLDriverParam::updateCrossDrivenParams(LLWearableType::EType driven_type)  		LLWearable *wearable = mAvatarAppearance->getWearableData()->getTopWearable(driver_type);  		if (wearable)  		{ -			wearable->setVisualParamWeight(mID, wearable->getVisualParamWeight(mID), false); +			wearable->setVisualParamWeight(mID, wearable->getVisualParamWeight(mID));  		}  	}  } @@ -593,7 +593,7 @@ F32 LLDriverParam::getDrivenWeight(const LLDrivenEntry* driven, F32 input_weight  	return driven_weight;  } -void LLDriverParam::setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight, bool upload_bake) +void LLDriverParam::setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight)  {  	bool use_self = false;  	if(mWearablep && @@ -610,10 +610,10 @@ void LLDriverParam::setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight, bo  	if (use_self)  	{  		// call setWeight through LLVOAvatarSelf so other wearables can be updated with the correct values -		mAvatarAppearance->setVisualParamWeight( (LLVisualParam*)driven->mParam, driven_weight, upload_bake ); +		mAvatarAppearance->setVisualParamWeight( (LLVisualParam*)driven->mParam, driven_weight);  	}  	else  	{ -		driven->mParam->setWeight( driven_weight, upload_bake ); +		driven->mParam->setWeight( driven_weight);  	}  } diff --git a/indra/llappearance/lldriverparam.h b/indra/llappearance/lldriverparam.h index 040c9cf5be..5a45c8f30d 100644..100755 --- a/indra/llappearance/lldriverparam.h +++ b/indra/llappearance/lldriverparam.h @@ -110,9 +110,9 @@ public:  	// LLVisualParam Virtual functions  	/*virtual*/ void				apply( ESex sex ) {} // apply is called separately for each driven param. -	/*virtual*/ void				setWeight(F32 weight, BOOL upload_bake); -	/*virtual*/ void				setAnimationTarget( F32 target_value, BOOL upload_bake ); -	/*virtual*/ void				stopAnimating(BOOL upload_bake); +	/*virtual*/ void				setWeight(F32 weight); +	/*virtual*/ void				setAnimationTarget( F32 target_value); +	/*virtual*/ void				stopAnimating();  	/*virtual*/ BOOL				linkDrivenParams(visual_param_mapper mapper, BOOL only_cross_params);  	/*virtual*/ void				resetDrivenParams(); @@ -129,7 +129,7 @@ public:  protected:  	F32 getDrivenWeight(const LLDrivenEntry* driven, F32 input_weight); -	void setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight, bool upload_bake); +	void setDrivenWeight(LLDrivenEntry *driven, F32 driven_weight);  	LL_ALIGN_16(LLVector4a	mDefaultVec); // temp holder diff --git a/indra/llappearance/llpolymorph.cpp b/indra/llappearance/llpolymorph.cpp index 93c2f15a53..84df3f1830 100644 --- a/indra/llappearance/llpolymorph.cpp +++ b/indra/llappearance/llpolymorph.cpp @@ -342,7 +342,7 @@ BOOL LLPolyMorphTarget::setInfo(LLPolyMorphTargetInfo* info)  		return FALSE;  	mInfo = info;  	mID = info->mID; -	setWeight(getDefaultWeight(), FALSE ); +	setWeight(getDefaultWeight());  	LLAvatarAppearance* avatarp = mMesh->getAvatar();  	LLPolyMorphTargetInfo::volume_info_list_t::iterator iter; diff --git a/indra/llappearance/llpolyskeletaldistortion.cpp b/indra/llappearance/llpolyskeletaldistortion.cpp index eb86f77d97..2a5866afe4 100644 --- a/indra/llappearance/llpolyskeletaldistortion.cpp +++ b/indra/llappearance/llpolyskeletaldistortion.cpp @@ -130,7 +130,7 @@ BOOL LLPolySkeletalDistortion::setInfo(LLPolySkeletalDistortionInfo *info)                  return FALSE;          mInfo = info;          mID = info->mID; -        setWeight(getDefaultWeight(), FALSE ); +        setWeight(getDefaultWeight());          LLPolySkeletalDistortionInfo::bone_info_list_t::iterator iter;          for (iter = getInfo()->mBoneInfoList.begin(); iter != getInfo()->mBoneInfoList.end(); iter++) diff --git a/indra/llappearance/lltexglobalcolor.cpp b/indra/llappearance/lltexglobalcolor.cpp index f38b982104..432e2e9f49 100644..100755 --- a/indra/llappearance/lltexglobalcolor.cpp +++ b/indra/llappearance/lltexglobalcolor.cpp @@ -103,9 +103,9 @@ LLTexParamGlobalColor::LLTexParamGlobalColor(LLTexGlobalColor* tex_global_color)  	return new_param;  } -void LLTexParamGlobalColor::onGlobalColorChanged(bool upload_bake) +void LLTexParamGlobalColor::onGlobalColorChanged()  { -	mAvatarAppearance->onGlobalColorChanged(mTexGlobalColor, upload_bake); +	mAvatarAppearance->onGlobalColorChanged(mTexGlobalColor);  }  //----------------------------------------------------------------------------- diff --git a/indra/llappearance/lltexglobalcolor.h b/indra/llappearance/lltexglobalcolor.h index 2867479876..1b0c91b5ca 100644..100755 --- a/indra/llappearance/lltexglobalcolor.h +++ b/indra/llappearance/lltexglobalcolor.h @@ -75,7 +75,7 @@ public:  	LLTexParamGlobalColor(LLTexGlobalColor *tex_color);  	/*virtual*/ LLViewerVisualParam* cloneParam(LLWearable* wearable) const;  protected: -	/*virtual*/ void onGlobalColorChanged(bool upload_bake); +	/*virtual*/ void onGlobalColorChanged();  private:  	LLTexGlobalColor*		mTexGlobalColor;  }; diff --git a/indra/llappearance/lltexlayerparams.cpp b/indra/llappearance/lltexlayerparams.cpp index 6aae9a8cc1..80aded450d 100644..100755 --- a/indra/llappearance/lltexlayerparams.cpp +++ b/indra/llappearance/lltexlayerparams.cpp @@ -160,7 +160,7 @@ BOOL LLTexLayerParamAlpha::getMultiplyBlend() const  	return ((LLTexLayerParamAlphaInfo *)getInfo())->mMultiplyBlend; 	  } -void LLTexLayerParamAlpha::setWeight(F32 weight, BOOL upload_bake) +void LLTexLayerParamAlpha::setWeight(F32 weight)  {  	if (mIsAnimating || mTexLayer == NULL)  	{ @@ -178,35 +178,35 @@ void LLTexLayerParamAlpha::setWeight(F32 weight, BOOL upload_bake)  		if ((mAvatarAppearance->getSex() & getSex()) &&  			(mAvatarAppearance->isSelf() && !mIsDummy)) // only trigger a baked texture update if we're changing a wearable's visual param.  		{ -			mAvatarAppearance->invalidateComposite(mTexLayer->getTexLayerSet(), upload_bake); +			mAvatarAppearance->invalidateComposite(mTexLayer->getTexLayerSet());  			mTexLayer->invalidateMorphMasks();  		}  	}  } -void LLTexLayerParamAlpha::setAnimationTarget(F32 target_value, BOOL upload_bake) +void LLTexLayerParamAlpha::setAnimationTarget(F32 target_value)  {   	// do not animate dummy parameters  	if (mIsDummy)  	{ -		setWeight(target_value, upload_bake); +		setWeight(target_value);  		return;  	}  	mTargetWeight = target_value;  -	setWeight(target_value, upload_bake);  +	setWeight(target_value);   	mIsAnimating = TRUE;  	if (mNext)  	{ -		mNext->setAnimationTarget(target_value, upload_bake); +		mNext->setAnimationTarget(target_value);  	}  } -void LLTexLayerParamAlpha::animate(F32 delta, BOOL upload_bake) +void LLTexLayerParamAlpha::animate(F32 delta)  {  	if (mNext)  	{ -		mNext->animate(delta, upload_bake); +		mNext->animate(delta);  	}  } @@ -449,7 +449,8 @@ LLColor4 LLTexLayerParamColor::getNetColor() const  	}  } -void LLTexLayerParamColor::setWeight(F32 weight, BOOL upload_bake) + +void LLTexLayerParamColor::setWeight(F32 weight)  {  	if (mIsAnimating)  	{ @@ -474,10 +475,10 @@ void LLTexLayerParamColor::setWeight(F32 weight, BOOL upload_bake)  		if ((mAvatarAppearance->getSex() & getSex()) && (mAvatarAppearance->isSelf() && !mIsDummy)) // only trigger a baked texture update if we're changing a wearable's visual param.  		{ -			onGlobalColorChanged(upload_bake); +			onGlobalColorChanged();  			if (mTexLayer)  			{ -				mAvatarAppearance->invalidateComposite(mTexLayer->getTexLayerSet(), upload_bake); +				mAvatarAppearance->invalidateComposite(mTexLayer->getTexLayerSet());  			}  		} @@ -485,23 +486,23 @@ void LLTexLayerParamColor::setWeight(F32 weight, BOOL upload_bake)  	}  } -void LLTexLayerParamColor::setAnimationTarget(F32 target_value, BOOL upload_bake) +void LLTexLayerParamColor::setAnimationTarget(F32 target_value)  {   	// set value first then set interpolating flag to ignore further updates  	mTargetWeight = target_value;  -	setWeight(target_value, upload_bake); +	setWeight(target_value);  	mIsAnimating = TRUE;  	if (mNext)  	{ -		mNext->setAnimationTarget(target_value, upload_bake); +		mNext->setAnimationTarget(target_value);  	}  } -void LLTexLayerParamColor::animate(F32 delta, BOOL upload_bake) +void LLTexLayerParamColor::animate(F32 delta)  {  	if (mNext)  	{ -		mNext->animate(delta, upload_bake); +		mNext->animate(delta);  	}  } diff --git a/indra/llappearance/lltexlayerparams.h b/indra/llappearance/lltexlayerparams.h index b38d28d3eb..e1a8c28265 100644..100755 --- a/indra/llappearance/lltexlayerparams.h +++ b/indra/llappearance/lltexlayerparams.h @@ -83,9 +83,9 @@ public:  	// LLVisualParam Virtual functions  	///*virtual*/ BOOL		parseData(LLXmlTreeNode* node);  	/*virtual*/ void		apply( ESex avatar_sex ) {} -	/*virtual*/ void		setWeight(F32 weight, BOOL upload_bake); -	/*virtual*/ void		setAnimationTarget(F32 target_value, BOOL upload_bake);  -	/*virtual*/ void		animate(F32 delta, BOOL upload_bake); +	/*virtual*/ void		setWeight(F32 weight); +	/*virtual*/ void		setAnimationTarget(F32 target_value);  +	/*virtual*/ void		animate(F32 delta);  	// LLViewerVisualParam Virtual functions  	/*virtual*/ F32					getTotalDistortion()									{ return 1.f; } @@ -174,9 +174,9 @@ public:  	// LLVisualParam Virtual functions  	///*virtual*/ BOOL			parseData(LLXmlTreeNode* node);  	/*virtual*/ void			apply( ESex avatar_sex ) {} -	/*virtual*/ void			setWeight(F32 weight, BOOL upload_bake); -	/*virtual*/ void			setAnimationTarget(F32 target_value, BOOL upload_bake); -	/*virtual*/ void			animate(F32 delta, BOOL upload_bake); +	/*virtual*/ void			setWeight(F32 weight); +	/*virtual*/ void			setAnimationTarget(F32 target_value); +	/*virtual*/ void			animate(F32 delta);  	// LLViewerVisualParam Virtual functions @@ -190,7 +190,7 @@ public:  	// New functions  	LLColor4				getNetColor() const;  protected: -	virtual void onGlobalColorChanged(bool upload_bake) {} +	virtual void onGlobalColorChanged() {}  private:  	LL_ALIGN_16(LLVector4a				mAvgDistortionVec);  } LL_ALIGN_POSTFIX(16); diff --git a/indra/llappearance/llviewervisualparam.cpp b/indra/llappearance/llviewervisualparam.cpp index cc81bcf118..0d8d1dbeca 100644 --- a/indra/llappearance/llviewervisualparam.cpp +++ b/indra/llappearance/llviewervisualparam.cpp @@ -137,7 +137,7 @@ BOOL LLViewerVisualParam::setInfo(LLViewerVisualParamInfo *info)  		return FALSE;  	mInfo = info;  	mID = info->mID; -	setWeight(getDefaultWeight(), FALSE ); +	setWeight(getDefaultWeight());  	return TRUE;  } diff --git a/indra/llappearance/llwearable.cpp b/indra/llappearance/llwearable.cpp index d86a460511..525a782ba0 100644..100755 --- a/indra/llappearance/llwearable.cpp +++ b/indra/llappearance/llwearable.cpp @@ -524,7 +524,7 @@ void LLWearable::revertValues()  		LLVisualParam *param = getVisualParam(id);  		if(param &&  !dynamic_cast<LLDriverParam*>(param) )  		{ -			setVisualParamWeight(id, value, TRUE); +			setVisualParamWeight(id, value);  		}  	} @@ -536,7 +536,7 @@ void LLWearable::revertValues()  		LLVisualParam *param = getVisualParam(id);  		if(param &&  dynamic_cast<LLDriverParam*>(param) )  		{ -			setVisualParamWeight(id, value, TRUE); +			setVisualParamWeight(id, value);  		}  	} @@ -646,12 +646,12 @@ void LLWearable::addVisualParam(LLVisualParam *param)  } -void LLWearable::setVisualParamWeight(S32 param_index, F32 value, BOOL upload_bake) +void LLWearable::setVisualParamWeight(S32 param_index, F32 value)  {  	if( is_in_map(mVisualParamIndexMap, param_index ) )  	{  		LLVisualParam *wearable_param = mVisualParamIndexMap[param_index]; -		wearable_param->setWeight(value, upload_bake); +		wearable_param->setWeight(value);  	}  	else  	{ @@ -692,14 +692,14 @@ void LLWearable::getVisualParams(visual_param_vec_t &list)  	}  } -void LLWearable::animateParams(F32 delta, BOOL upload_bake) +void LLWearable::animateParams(F32 delta)  {  	for(visual_param_index_map_t::iterator iter = mVisualParamIndexMap.begin();  		 iter != mVisualParamIndexMap.end();  		 ++iter)  	{  		LLVisualParam *param = (LLVisualParam*) iter->second; -		param->animate(delta, upload_bake); +		param->animate(delta);  	}  } @@ -717,14 +717,14 @@ LLColor4 LLWearable::getClothesColor(S32 te) const  	return color;  } -void LLWearable::setClothesColor( S32 te, const LLColor4& new_color, BOOL upload_bake ) +void LLWearable::setClothesColor( S32 te, const LLColor4& new_color)  {  	U32 param_name[3];  	if( LLAvatarAppearance::teToColorParams( (LLAvatarAppearanceDefines::ETextureIndex)te, param_name ) )  	{  		for( U8 index = 0; index < 3; index++ )  		{ -			setVisualParamWeight(param_name[index], new_color.mV[index], upload_bake); +			setVisualParamWeight(param_name[index], new_color.mV[index]);  		}  	}  } @@ -743,7 +743,7 @@ void LLWearable::writeToAvatar(LLAvatarAppearance* avatarp)  			S32 param_id = param->getID();  			F32 weight = getVisualParamWeight(param_id); -			avatarp->setVisualParamWeight( param_id, weight, FALSE ); +			avatarp->setVisualParamWeight( param_id, weight);  		}  	}  } diff --git a/indra/llappearance/llwearable.h b/indra/llappearance/llwearable.h index 6f5a1e14e8..84509a60fd 100644..100755 --- a/indra/llappearance/llwearable.h +++ b/indra/llappearance/llwearable.h @@ -95,14 +95,14 @@ public:  	void				setLocalTextureObject(S32 index, LLLocalTextureObject <o);  	void				addVisualParam(LLVisualParam *param); -	void 				setVisualParamWeight(S32 index, F32 value, BOOL upload_bake); +	void 				setVisualParamWeight(S32 index, F32 value);  	F32					getVisualParamWeight(S32 index) const;  	LLVisualParam*		getVisualParam(S32 index) const;  	void				getVisualParams(visual_param_vec_t &list); -	void				animateParams(F32 delta, BOOL upload_bake); +	void				animateParams(F32 delta);  	LLColor4			getClothesColor(S32 te) const; -	void 				setClothesColor( S32 te, const LLColor4& new_color, BOOL upload_bake ); +	void 				setClothesColor( S32 te, const LLColor4& new_color);  	virtual void		revertValues();  	virtual void		saveValues(); diff --git a/indra/llappearance/llwearabledata.cpp b/indra/llappearance/llwearabledata.cpp index 68fdcca782..d70bbf286a 100644..100755 --- a/indra/llappearance/llwearabledata.cpp +++ b/indra/llappearance/llwearabledata.cpp @@ -119,13 +119,6 @@ U32 LLWearableData::pushWearable(const LLWearableType::EType type,  void LLWearableData::wearableUpdated(LLWearable *wearable, BOOL removed)  {  	wearable->setUpdated(); -	// FIXME DRANO avoid updating params via wearables when rendering server-baked appearance. -#if 0 -	if (mAvatarAppearance->isUsingServerBakes() && !mAvatarAppearance->isUsingLocalAppearance()) -	{ -		return; -	} -#endif  	if (!removed)  	{  		pullCrossWearableValues(wearable->getType()); diff --git a/indra/llcharacter/llcharacter.cpp b/indra/llcharacter/llcharacter.cpp index 85cf1cd3f5..2aebbc9274 100755 --- a/indra/llcharacter/llcharacter.cpp +++ b/indra/llcharacter/llcharacter.cpp @@ -286,13 +286,13 @@ void LLCharacter::removeAnimationData(std::string name)  //-----------------------------------------------------------------------------  // setVisualParamWeight()  //----------------------------------------------------------------------------- -BOOL LLCharacter::setVisualParamWeight(const LLVisualParam* which_param, F32 weight, BOOL upload_bake) +BOOL LLCharacter::setVisualParamWeight(const LLVisualParam* which_param, F32 weight)  {  	S32 index = which_param->getID();  	visual_param_index_map_t::iterator index_iter = mVisualParamIndexMap.find(index);  	if (index_iter != mVisualParamIndexMap.end())  	{ -		index_iter->second->setWeight(weight, upload_bake); +		index_iter->second->setWeight(weight);  		return TRUE;  	}  	return FALSE; @@ -301,7 +301,7 @@ BOOL LLCharacter::setVisualParamWeight(const LLVisualParam* which_param, F32 wei  //-----------------------------------------------------------------------------  // setVisualParamWeight()  //----------------------------------------------------------------------------- -BOOL LLCharacter::setVisualParamWeight(const char* param_name, F32 weight, BOOL upload_bake) +BOOL LLCharacter::setVisualParamWeight(const char* param_name, F32 weight)  {  	std::string tname(param_name);  	LLStringUtil::toLower(tname); @@ -309,7 +309,7 @@ BOOL LLCharacter::setVisualParamWeight(const char* param_name, F32 weight, BOOL  	visual_param_name_map_t::iterator name_iter = mVisualParamNameMap.find(tableptr);  	if (name_iter != mVisualParamNameMap.end())  	{ -		name_iter->second->setWeight(weight, upload_bake); +		name_iter->second->setWeight(weight);  		return TRUE;  	}  	llwarns << "LLCharacter::setVisualParamWeight() Invalid visual parameter: " << param_name << llendl; @@ -319,12 +319,12 @@ BOOL LLCharacter::setVisualParamWeight(const char* param_name, F32 weight, BOOL  //-----------------------------------------------------------------------------  // setVisualParamWeight()  //----------------------------------------------------------------------------- -BOOL LLCharacter::setVisualParamWeight(S32 index, F32 weight, BOOL upload_bake) +BOOL LLCharacter::setVisualParamWeight(S32 index, F32 weight)  {  	visual_param_index_map_t::iterator index_iter = mVisualParamIndexMap.find(index);  	if (index_iter != mVisualParamIndexMap.end())  	{ -		index_iter->second->setWeight(weight, upload_bake); +		index_iter->second->setWeight(weight);  		return TRUE;  	}  	llwarns << "LLCharacter::setVisualParamWeight() Invalid visual parameter index: " << index << llendl; @@ -394,7 +394,7 @@ void LLCharacter::clearVisualParamWeights()  	{  		if (param->isTweakable())  		{ -			param->setWeight( param->getDefaultWeight(), FALSE ); +			param->setWeight( param->getDefaultWeight());  		}  	}  } diff --git a/indra/llcharacter/llcharacter.h b/indra/llcharacter/llcharacter.h index 5740dbce77..ebc5d80a1f 100755 --- a/indra/llcharacter/llcharacter.h +++ b/indra/llcharacter/llcharacter.h @@ -190,9 +190,9 @@ public:  	void addVisualParam(LLVisualParam *param);  	void addSharedVisualParam(LLVisualParam *param); -	virtual BOOL setVisualParamWeight(const LLVisualParam *which_param, F32 weight, BOOL upload_bake = FALSE ); -	virtual BOOL setVisualParamWeight(const char* param_name, F32 weight, BOOL upload_bake = FALSE ); -	virtual BOOL setVisualParamWeight(S32 index, F32 weight, BOOL upload_bake = FALSE ); +	virtual BOOL setVisualParamWeight(const LLVisualParam *which_param, F32 weight); +	virtual BOOL setVisualParamWeight(const char* param_name, F32 weight); +	virtual BOOL setVisualParamWeight(S32 index, F32 weight);  	// get visual param weight by param or name  	F32 getVisualParamWeight(LLVisualParam *distortion); diff --git a/indra/llcharacter/llvisualparam.cpp b/indra/llcharacter/llvisualparam.cpp index f7cb0f76b7..624e16e2ca 100755 --- a/indra/llcharacter/llvisualparam.cpp +++ b/indra/llcharacter/llvisualparam.cpp @@ -220,7 +220,7 @@ BOOL LLVisualParam::parseData(LLXmlTreeNode *node)  //-----------------------------------------------------------------------------  // setWeight()  //----------------------------------------------------------------------------- -void LLVisualParam::setWeight(F32 weight, BOOL upload_bake) +void LLVisualParam::setWeight(F32 weight)  {  	if (mIsAnimating)  	{ @@ -238,19 +238,19 @@ void LLVisualParam::setWeight(F32 weight, BOOL upload_bake)  	if (mNext)  	{ -		mNext->setWeight(weight, upload_bake); +		mNext->setWeight(weight);  	}  }  //-----------------------------------------------------------------------------  // setAnimationTarget()  //----------------------------------------------------------------------------- -void LLVisualParam::setAnimationTarget(F32 target_value, BOOL upload_bake) +void LLVisualParam::setAnimationTarget(F32 target_value)  {  	// don't animate dummy parameters  	if (mIsDummy)  	{ -		setWeight(target_value, upload_bake); +		setWeight(target_value);  		mTargetWeight = mCurWeight;  		return;  	} @@ -270,7 +270,7 @@ void LLVisualParam::setAnimationTarget(F32 target_value, BOOL upload_bake)  	if (mNext)  	{ -		mNext->setAnimationTarget(target_value, upload_bake); +		mNext->setAnimationTarget(target_value);  	}  } @@ -287,24 +287,24 @@ void LLVisualParam::setNextParam( LLVisualParam *next )  //-----------------------------------------------------------------------------  // animate()  //----------------------------------------------------------------------------- -void LLVisualParam::animate( F32 delta, BOOL upload_bake ) +void LLVisualParam::animate( F32 delta)  {  	if (mIsAnimating)  	{  		F32 new_weight = ((mTargetWeight - mCurWeight) * delta) + mCurWeight; -		setWeight(new_weight, upload_bake); +		setWeight(new_weight);  	}  }  //-----------------------------------------------------------------------------  // stopAnimating()  //----------------------------------------------------------------------------- -void LLVisualParam::stopAnimating(BOOL upload_bake) +void LLVisualParam::stopAnimating()  {   	if (mIsAnimating && isTweakable())  	{  		mIsAnimating = FALSE;  -		setWeight(mTargetWeight, upload_bake); +		setWeight(mTargetWeight);  	}  } diff --git a/indra/llcharacter/llvisualparam.h b/indra/llcharacter/llvisualparam.h index a4d9f93e56..6c3bf2901a 100755 --- a/indra/llcharacter/llvisualparam.h +++ b/indra/llcharacter/llvisualparam.h @@ -120,10 +120,10 @@ public:  	//virtual BOOL			parseData( LLXmlTreeNode *node ) = 0;  	virtual void			apply( ESex avatar_sex ) = 0;  	//  Default functions -	virtual void			setWeight(F32 weight, BOOL upload_bake); -	virtual void			setAnimationTarget( F32 target_value, BOOL upload_bake ); -	virtual void			animate(F32 delta, BOOL upload_bake); -	virtual void			stopAnimating(BOOL upload_bake); +	virtual void			setWeight(F32 weight); +	virtual void			setAnimationTarget( F32 target_value); +	virtual void			animate(F32 delta); +	virtual void			stopAnimating();  	virtual BOOL			linkDrivenParams(visual_param_mapper mapper, BOOL only_cross_params);  	virtual void			resetDrivenParams(); diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 5f87d73c40..29cf231d45 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -811,29 +811,6 @@ void LLAgent::standUp()  } -void LLAgent::handleServerBakeRegionTransition(const LLUUID& region_id) -{ -	llinfos << "called" << llendl; - - -	// Old-style appearance entering a server-bake region. -	if (isAgentAvatarValid() && -		!gAgentAvatarp->isUsingServerBakes() && -		(mRegionp->getCentralBakeVersion()>0)) -	{ -		llinfos << "update requested due to region transition" << llendl; -		LLAppearanceMgr::instance().requestServerAppearanceUpdate(); -	} -	// new-style appearance entering a non-bake region, -	// need to check for existence of the baking service. -	else if (isAgentAvatarValid() && -			 gAgentAvatarp->isUsingServerBakes() && -			 mRegionp->getCentralBakeVersion()==0) -	{ -		gAgentAvatarp->checkForUnsupportedServerBakeAppearance(); -	} -} -  //-----------------------------------------------------------------------------  // setRegion()  //----------------------------------------------------------------------------- @@ -929,19 +906,6 @@ void LLAgent::setRegion(LLViewerRegion *regionp)  	{  		LLEnvManagerNew::instance().onRegionCrossing();  	} - -	// If the newly entered region is using server bakes, and our -	// current appearance is non-baked, request appearance update from -	// server. -	if (mRegionp->capabilitiesReceived()) -	{ -		handleServerBakeRegionTransition(mRegionp->getRegionID()); -	} -	else -	{ -		// Need to handle via callback after caps arrive. -		mRegionp->setCapabilitiesReceivedCallback(boost::bind(&LLAgent::handleServerBakeRegionTransition,this,_1)); -	}  } @@ -3612,82 +3576,6 @@ void LLAgent::processControlRelease(LLMessageSystem *msg, void **)  }  */ -//static -void LLAgent::processAgentCachedTextureResponse(LLMessageSystem *mesgsys, void **user_data) -{ -	gAgentQueryManager.mNumPendingQueries--; -	if (gAgentQueryManager.mNumPendingQueries == 0) -	{ -		selfStopPhase("fetch_texture_cache_entries"); -	} - -	if (!isAgentAvatarValid() || gAgentAvatarp->isDead()) -	{ -		llwarns << "No avatar for user in cached texture update!" << llendl; -		return; -	} - -	if (isAgentAvatarValid() && gAgentAvatarp->isEditingAppearance()) -	{ -		// ignore baked textures when in customize mode -		return; -	} - -	S32 query_id; -	mesgsys->getS32Fast(_PREHASH_AgentData, _PREHASH_SerialNum, query_id); - -	S32 num_texture_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_WearableData); - - -	S32 num_results = 0; -	for (S32 texture_block = 0; texture_block < num_texture_blocks; texture_block++) -	{ -		LLUUID texture_id; -		U8 texture_index; - -		mesgsys->getUUIDFast(_PREHASH_WearableData, _PREHASH_TextureID, texture_id, texture_block); -		mesgsys->getU8Fast(_PREHASH_WearableData, _PREHASH_TextureIndex, texture_index, texture_block); - - -		if ((S32)texture_index < TEX_NUM_INDICES ) -		{	 -			const LLAvatarAppearanceDictionary::TextureEntry *texture_entry = LLAvatarAppearanceDictionary::instance().getTexture((ETextureIndex)texture_index); -			if (texture_entry) -			{ -				EBakedTextureIndex baked_index = texture_entry->mBakedTextureIndex; - -				if (gAgentQueryManager.mActiveCacheQueries[baked_index] == query_id) -				{ -					if (texture_id.notNull()) -					{ -						//llinfos << "Received cached texture " << (U32)texture_index << ": " << texture_id << llendl; -						gAgentAvatarp->setCachedBakedTexture((ETextureIndex)texture_index, texture_id); -						//gAgentAvatarp->setTETexture( LLVOAvatar::sBakedTextureIndices[texture_index], texture_id ); -						gAgentQueryManager.mActiveCacheQueries[baked_index] = 0; -						num_results++; -					} -					else -					{ -						// no cache of this bake. request upload. -						gAgentAvatarp->invalidateComposite(gAgentAvatarp->getLayerSet(baked_index),TRUE); -					} -				} -			} -		} -	} -	llinfos << "Received cached texture response for " << num_results << " textures." << llendl; -	gAgentAvatarp->outputRezTiming("Fetched agent wearables textures from cache. Will now load them"); - -	gAgentAvatarp->updateMeshTextures(); - -	if (gAgentQueryManager.mNumPendingQueries == 0) -	{ -		// RN: not sure why composites are disabled at this point -		gAgentAvatarp->setCompositeUpdatesEnabled(TRUE); -		gAgent.sendAgentSetAppearance(); -	} -} -  BOOL LLAgent::anyControlGrabbed() const  {  	for (U32 i = 0; i < TOTAL_CONTROLS; i++) @@ -4258,195 +4146,6 @@ void LLAgent::requestLeaveGodMode()  	sendReliableMessage();  } -// For debugging, trace agent state at times appearance message are sent out. -void LLAgent::dumpSentAppearance(const std::string& dump_prefix) -{ -	std::string outfilename = get_sequential_numbered_file_name(dump_prefix,".xml"); - -	LLAPRFile outfile; -	std::string fullpath = gDirUtilp->getExpandedFilename(LL_PATH_LOGS,outfilename); -	outfile.open(fullpath, LL_APR_WB ); -	apr_file_t* file = outfile.getFileHandle(); -	if (!file) -	{ -		return; -	} -	else -	{ -		LL_DEBUGS("Avatar") << "dumping sent appearance message to " << fullpath << llendl; -	} - -	LLVisualParam* appearance_version_param = gAgentAvatarp->getVisualParam(11000); -	if (appearance_version_param) -	{ -		F32 value = appearance_version_param->getWeight(); -		dump_visual_param(file, appearance_version_param, value); -	} -	for (LLAvatarAppearanceDictionary::Textures::const_iterator iter = LLAvatarAppearanceDictionary::getInstance()->getTextures().begin(); -		 iter != LLAvatarAppearanceDictionary::getInstance()->getTextures().end(); -		 ++iter) -	{ -		const ETextureIndex index = iter->first; -		const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = iter->second; -		if (texture_dict->mIsBakedTexture) -		{ -			LLTextureEntry* entry = gAgentAvatarp->getTE((U8) index); -			const LLUUID& uuid = entry->getID(); -			apr_file_printf( file, "\t\t<texture te=\"%i\" uuid=\"%s\"/>\n", index, uuid.asString().c_str()); -		} -	} -} - -//----------------------------------------------------------------------------- -// sendAgentSetAppearance() -//----------------------------------------------------------------------------- -void LLAgent::sendAgentSetAppearance() -{ -	if (gAgentQueryManager.mNumPendingQueries > 0)  -	{ -		return; -	} - -	if (!isAgentAvatarValid() || gAgentAvatarp->isEditingAppearance() || (getRegion() && getRegion()->getCentralBakeVersion())) return; - -	// At this point we have a complete appearance to send and are in a non-baking region. -	// DRANO FIXME -	//gAgentAvatarp->setIsUsingServerBakes(FALSE); -	S32 sb_count, host_count, both_count, neither_count; -	gAgentAvatarp->bakedTextureOriginCounts(sb_count, host_count, both_count, neither_count); -	if (both_count != 0 || neither_count != 0) -	{ -		llwarns << "bad bake texture state " << sb_count << "," << host_count << "," << both_count << "," << neither_count << llendl; -	} -	if (sb_count != 0 && host_count == 0) -	{ -		gAgentAvatarp->setIsUsingServerBakes(true); -	} -	else if (sb_count == 0 && host_count != 0) -	{ -		gAgentAvatarp->setIsUsingServerBakes(false); -	} -	else if (sb_count + host_count > 0) -	{ -		llwarns << "unclear baked texture state, not sending appearance" << llendl; -		return; -	} -	 -	 -	LL_DEBUGS("Avatar") << gAgentAvatarp->avString() << "TAT: Sent AgentSetAppearance: " << gAgentAvatarp->getBakedStatusForPrintout() << LL_ENDL; -	//dumpAvatarTEs( "sendAgentSetAppearance()" ); - -	LLMessageSystem* msg = gMessageSystem; -	msg->newMessageFast(_PREHASH_AgentSetAppearance); -	msg->nextBlockFast(_PREHASH_AgentData); -	msg->addUUIDFast(_PREHASH_AgentID, getID()); -	msg->addUUIDFast(_PREHASH_SessionID, getSessionID()); - -	// correct for the collision tolerance (to make it look like the  -	// agent is actually walking on the ground/object) -	// NOTE -- when we start correcting all of the other Havok geometry  -	// to compensate for the COLLISION_TOLERANCE ugliness we will have  -	// to tweak this number again -	const LLVector3 body_size = gAgentAvatarp->mBodySize + gAgentAvatarp->mAvatarOffset; -	msg->addVector3Fast(_PREHASH_Size, body_size); -	 -	LL_DEBUGS("Avatar") << gAgentAvatarp->avString() << "Sent AgentSetAppearance with height: " << body_size.mV[VZ] << " base: " << gAgentAvatarp->mBodySize.mV[VZ] << " hover: " << gAgentAvatarp->mAvatarOffset.mV[VZ] << LL_ENDL;	 - -	// To guard against out of order packets -	// Note: always start by sending 1.  This resets the server's count. 0 on the server means "uninitialized" -	mAppearanceSerialNum++; -	msg->addU32Fast(_PREHASH_SerialNum, mAppearanceSerialNum ); - -	// is texture data current relative to wearables? -	// KLW - TAT this will probably need to check the local queue. -	BOOL textures_current = gAgentAvatarp->areTexturesCurrent(); - -	for(U8 baked_index = 0; baked_index < BAKED_NUM_INDICES; baked_index++ ) -	{ -		const ETextureIndex texture_index = LLAvatarAppearanceDictionary::bakedToLocalTextureIndex((EBakedTextureIndex)baked_index); - -		// if we're not wearing a skirt, we don't need the texture to be baked -		if (texture_index == TEX_SKIRT_BAKED && !gAgentAvatarp->isWearingWearableType(LLWearableType::WT_SKIRT)) -		{ -			continue; -		} - -		// IMG_DEFAULT_AVATAR means not baked. 0 index should be ignored for baked textures -		if (!gAgentAvatarp->isTextureDefined(texture_index, 0)) -		{ -			LL_DEBUGS("Avatar") << "texture not current for baked " << (S32)baked_index << " local " << (S32)texture_index << llendl; -			textures_current = FALSE; -			break; -		} -	} - -	// only update cache entries if we have all our baked textures - -	// FIXME DRANO need additional check for not in appearance editing -	// mode, if still using local composites need to set using local -	// composites to false, and update mesh textures. -	if (textures_current) -	{ -		bool enable_verbose_dumps = gSavedSettings.getBOOL("DebugAvatarAppearanceMessage"); -		std::string dump_prefix = gAgentAvatarp->getFullname() + "_sent_appearance"; -		if (enable_verbose_dumps) -		{ -			dumpSentAppearance(dump_prefix); -		} -		LL_DEBUGS("Avatar") << gAgentAvatarp->avString() << "TAT: Sending cached texture data" << LL_ENDL; -		for (U8 baked_index = 0; baked_index < BAKED_NUM_INDICES; baked_index++) -		{ -			BOOL generate_valid_hash = TRUE; -			if (isAgentAvatarValid() && !gAgentAvatarp->isBakedTextureFinal((LLAvatarAppearanceDefines::EBakedTextureIndex)baked_index)) -			{ -				generate_valid_hash = FALSE; -				LL_DEBUGS("Avatar") << gAgentAvatarp->avString() << "Not caching baked texture upload for " << (U32)baked_index << " due to being uploaded at low resolution." << LL_ENDL; -			} - -			const LLUUID hash = gAgentWearables.computeBakedTextureHash((EBakedTextureIndex) baked_index, generate_valid_hash); -			if (hash.notNull()) -			{ -				ETextureIndex texture_index = LLAvatarAppearanceDictionary::bakedToLocalTextureIndex((EBakedTextureIndex) baked_index); -				msg->nextBlockFast(_PREHASH_WearableData); -				msg->addUUIDFast(_PREHASH_CacheID, hash); -				msg->addU8Fast(_PREHASH_TextureIndex, (U8)texture_index); -			} -		} -		msg->nextBlockFast(_PREHASH_ObjectData); -		gAgentAvatarp->sendAppearanceMessage( gMessageSystem ); -	} -	else -	{ -		// If the textures aren't baked, send NULL for texture IDs -		// This means the baked texture IDs on the server will be untouched. -		// Once all textures are baked, another AvatarAppearance message will be sent to update the TEs -		msg->nextBlockFast(_PREHASH_ObjectData); -		gMessageSystem->addBinaryDataFast(_PREHASH_TextureEntry, NULL, 0); -	} - - -	S32 transmitted_params = 0; -	for (LLViewerVisualParam* param = (LLViewerVisualParam*)gAgentAvatarp->getFirstVisualParam(); -		 param; -		 param = (LLViewerVisualParam*)gAgentAvatarp->getNextVisualParam()) -	{ -		if (param->getGroup() == VISUAL_PARAM_GROUP_TWEAKABLE || -			param->getGroup() == VISUAL_PARAM_GROUP_TRANSMIT_NOT_TWEAKABLE) // do not transmit params of group VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT -		{ -			msg->nextBlockFast(_PREHASH_VisualParam ); -			 -			// We don't send the param ids.  Instead, we assume that the receiver has the same params in the same sequence. -			const F32 param_value = param->getWeight(); -			const U8 new_weight = F32_to_U8(param_value, param->getMinWeight(), param->getMaxWeight()); -			msg->addU8Fast(_PREHASH_ParamValue, new_weight ); -			transmitted_params++; -		} -	} - -//	llinfos << "Avatar XML num VisualParams transmitted = " << transmitted_params << llendl; -	sendReliableMessage(); -} -  void LLAgent::sendAgentDataUpdateRequest()  {  	gMessageSystem->newMessageFast(_PREHASH_AgentDataUpdateRequest); @@ -4589,23 +4288,6 @@ void LLAgent::renderAutoPilotTarget()  /********************************************************************************/ -LLAgentQueryManager gAgentQueryManager; - -LLAgentQueryManager::LLAgentQueryManager() : -	mWearablesCacheQueryID(0), -	mNumPendingQueries(0), -	mUpdateSerialNum(0) -{ -	for (U32 i = 0; i < BAKED_NUM_INDICES; i++) -	{ -		mActiveCacheQueries[i] = 0; -	} -} - -LLAgentQueryManager::~LLAgentQueryManager() -{ -} -  //-----------------------------------------------------------------------------  // LLTeleportRequest  //----------------------------------------------------------------------------- diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index f5f26f69d8..d0a48207b5 100755 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -609,7 +609,6 @@ private:  	void            handleTeleportFinished();  	void            handleTeleportFailed(); -	void			handleServerBakeRegionTransition(const LLUUID& region_id);  	//--------------------------------------------------------------------  	// Teleport State @@ -844,8 +843,6 @@ private:  public:  	void			sendMessage(); // Send message to this agent's region  	void			sendReliableMessage(); -	void 			dumpSentAppearance(const std::string& dump_prefix); -	void			sendAgentSetAppearance();  	void 			sendAgentDataUpdateRequest();  	void 			sendAgentUserInfoRequest();  	// IM to Email and Online visibility @@ -859,7 +856,6 @@ public:  	static void		processAgentGroupDataUpdate(LLMessageSystem *msg, void **);  	static void		processAgentDropGroup(LLMessageSystem *msg, void **);  	static void		processScriptControlChange(LLMessageSystem *msg, void **); -	static void		processAgentCachedTextureResponse(LLMessageSystem *mesgsys, void **user_data);  /**                    Messaging   **                                                                            ** @@ -888,24 +884,4 @@ inline bool operator==(const LLGroupData &a, const LLGroupData &b)  	return (a.mID == b.mID);  } -class LLAgentQueryManager -{ -	friend class LLAgent; -	friend class LLAgentWearables; -	 -public: -	LLAgentQueryManager(); -	virtual ~LLAgentQueryManager(); -	 -	BOOL 			hasNoPendingQueries() const 	{ return getNumPendingQueries() == 0; } -	S32 			getNumPendingQueries() const 	{ return mNumPendingQueries; } -private: -	S32				mNumPendingQueries; -	S32				mWearablesCacheQueryID; -	U32				mUpdateSerialNum; -	S32		    	mActiveCacheQueries[LLAvatarAppearanceDefines::BAKED_NUM_INDICES]; -}; - -extern LLAgentQueryManager gAgentQueryManager; -  #endif diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index 8501436b5b..77fd66e4ba 100755 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -194,11 +194,6 @@ LLAgentWearables::createStandardWearablesAllDoneCallback::~createStandardWearabl  	gAgentWearables.createStandardWearablesAllDone();  } -LLAgentWearables::sendAgentWearablesUpdateCallback::~sendAgentWearablesUpdateCallback() -{ -	gAgentWearables.sendAgentWearablesUpdate(); -} -  /**   * @brief Construct a callback for dealing with the wearables.   * @@ -304,6 +299,7 @@ void LLAgentWearables::addWearabletoAgentInventoryDone(const LLWearableType::ETy  	gInventory.notifyObservers();  } +// SUNSHINE CLEANUP dead?  void LLAgentWearables::sendAgentWearablesUpdate()  {  	// First make sure that we have inventory items for each wearable @@ -440,7 +436,7 @@ void LLAgentWearables::saveWearable(const LLWearableType::EType type, const U32  			return;  		} -		gAgentAvatarp->wearableUpdated( type, TRUE ); +		gAgentAvatarp->wearableUpdated(type);  		if (send_update)  		{ @@ -521,8 +517,6 @@ void LLAgentWearables::revertWearable(const LLWearableType::EType type, const U3  	{  		wearable->revertValues();  	} - -	gAgent.sendAgentSetAppearance();  }  void LLAgentWearables::saveAllWearables() @@ -717,8 +711,7 @@ void LLAgentWearables::wearableUpdated(LLWearable *wearable, BOOL removed)  {  	if (isAgentAvatarValid())  	{ -		const BOOL upload_result = removed; -		gAgentAvatarp->wearableUpdated(wearable->getType(), upload_result); +		gAgentAvatarp->wearableUpdated(wearable->getType());  	}  	LLWearableData::wearableUpdated(wearable, removed); @@ -779,10 +772,11 @@ BOOL LLAgentWearables::isWearingItem(const LLUUID& item_id) const  }  // MULTI-WEARABLE: DEPRECATED (see backwards compatibility) -// static  // ! BACKWARDS COMPATIBILITY ! When we stop supporting viewer1.23, we can assume  // that viewers have a Current Outfit Folder and won't need this message, and thus  // we can remove/ignore this whole function. EXCEPT gAgentWearables.notifyLoadingStarted + +// static  void LLAgentWearables::processAgentInitialWearablesUpdate(LLMessageSystem* mesgsys, void** user_data)  {  	// We should only receive this message a single time.  Ignore subsequent AgentWearablesUpdates @@ -808,7 +802,8 @@ void LLAgentWearables::processAgentInitialWearablesUpdate(LLMessageSystem* mesgs  	if (isAgentAvatarValid() && (agent_id == gAgentAvatarp->getID()))  	{ -		gMessageSystem->getU32Fast(_PREHASH_AgentData, _PREHASH_SerialNum, gAgentQueryManager.mUpdateSerialNum); +		U32 unused_update_serial_num; +		gMessageSystem->getU32Fast(_PREHASH_AgentData, _PREHASH_SerialNum, unused_update_serial_num);  		const S32 NUM_BODY_PARTS = 4;  		S32 num_wearables = gMessageSystem->getNumberOfBlocksFast(_PREHASH_WearableData); @@ -848,7 +843,7 @@ void LLAgentWearables::processAgentInitialWearablesUpdate(LLMessageSystem* mesgs  			gMessageSystem->getUUIDFast(_PREHASH_WearableData, _PREHASH_AssetID, asset_id, i);  			if (asset_id.isNull())  			{ -				LLViewerWearable::removeFromAvatar(type, FALSE); +				LLViewerWearable::removeFromAvatar(type);  			}  			else  			{ @@ -920,7 +915,7 @@ void LLAgentWearables::recoverMissingWearableDone()  	if (areWearablesLoaded())  	{  		// Make sure that the server's idea of the avatar's wearables actually match the wearables. -		gAgent.sendAgentSetAppearance(); +		//gAgent.sendAgentSetAppearance();  	}  	else  	{ @@ -1200,11 +1195,10 @@ void LLAgentWearables::removeWearableFinal(const LLWearableType::EType type, boo  		for (S32 i=max_entry; i>=0; i--)  		{  			LLViewerWearable* old_wearable = getViewerWearable(type,i); -			//queryWearableCache(); // moved below  			if (old_wearable)  			{  				popWearable(old_wearable); -				old_wearable->removeFromAvatar(TRUE); +				old_wearable->removeFromAvatar();  			}  		}  		clearWearableType(type); @@ -1212,17 +1206,14 @@ void LLAgentWearables::removeWearableFinal(const LLWearableType::EType type, boo  	else  	{  		LLViewerWearable* old_wearable = getViewerWearable(type, index); -		//queryWearableCache(); // moved below  		if (old_wearable)  		{  			popWearable(old_wearable); -			old_wearable->removeFromAvatar(TRUE); +			old_wearable->removeFromAvatar();  		}  	} -	queryWearableCache(); -  	// Update the server  	updateServer();  	gInventory.notifyObservers(); @@ -1358,7 +1349,6 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it  	mWearablesLoaded = TRUE;   	checkWearablesLoaded();  	notifyLoadingFinished(); -	queryWearableCache();  	updateServer();  	gAgentAvatarp->dumpAvatarTEs("setWearableOutfit"); @@ -1482,80 +1472,11 @@ void LLAgentWearables::setWearableFinal(LLInventoryItem* new_item, LLViewerWeara  	}  	//llinfos << "LLVOAvatar::setWearableItem()" << llendl; -	queryWearableCache();  	//new_wearable->writeToAvatar(TRUE);  	updateServer();  } -void LLAgentWearables::queryWearableCache() -{ -	if (!areWearablesLoaded() || (gAgent.getRegion() && gAgent.getRegion()->getCentralBakeVersion())) -	{ -		return; -	} -	gAgentAvatarp->setIsUsingServerBakes(false); - -	// Look up affected baked textures. -	// If they exist: -	//		disallow updates for affected layersets (until dataserver responds with cache request.) -	//		If cache miss, turn updates back on and invalidate composite. -	//		If cache hit, modify baked texture entries. -	// -	// Cache requests contain list of hashes for each baked texture entry. -	// Response is list of valid baked texture assets. (same message) - -	gMessageSystem->newMessageFast(_PREHASH_AgentCachedTexture); -	gMessageSystem->nextBlockFast(_PREHASH_AgentData); -	gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); -	gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); -	gMessageSystem->addS32Fast(_PREHASH_SerialNum, gAgentQueryManager.mWearablesCacheQueryID); - -	S32 num_queries = 0; -	for (U8 baked_index = 0; baked_index < BAKED_NUM_INDICES; baked_index++) -	{ -		LLUUID hash_id = computeBakedTextureHash((EBakedTextureIndex) baked_index); -		if (hash_id.notNull()) -		{ -			num_queries++; -			// *NOTE: make sure at least one request gets packed - -			ETextureIndex te_index = LLAvatarAppearanceDictionary::bakedToLocalTextureIndex((EBakedTextureIndex)baked_index); - -			//llinfos << "Requesting texture for hash " << hash << " in baked texture slot " << baked_index << llendl; -			gMessageSystem->nextBlockFast(_PREHASH_WearableData); -			gMessageSystem->addUUIDFast(_PREHASH_ID, hash_id); -			gMessageSystem->addU8Fast(_PREHASH_TextureIndex, (U8)te_index); -		} - -		gAgentQueryManager.mActiveCacheQueries[baked_index] = gAgentQueryManager.mWearablesCacheQueryID; -	} -	//VWR-22113: gAgent.getRegion() can return null if invalid, seen here on logout -	if(gAgent.getRegion()) -	{ -		if (isAgentAvatarValid()) -		{ -			selfStartPhase("fetch_texture_cache_entries"); -			gAgentAvatarp->outputRezTiming("Fetching textures from cache"); -		} - -		LL_DEBUGS("Avatar") << gAgentAvatarp->avString() << "Requesting texture cache entry for " << num_queries << " baked textures" << LL_ENDL; -		gMessageSystem->sendReliable(gAgent.getRegion()->getHost()); -		gAgentQueryManager.mNumPendingQueries++; -		gAgentQueryManager.mWearablesCacheQueryID++; -	} -} - -// virtual -void LLAgentWearables::invalidateBakedTextureHash(LLMD5& hash) const -{ -	// Add some garbage into the hash so that it becomes invalid. -	if (isAgentAvatarValid()) -	{ -		hash.update((const unsigned char*)gAgentAvatarp->getID().mData, UUID_BYTES); -	} -} -  // User has picked "remove from avatar" from a menu.  // static  void LLAgentWearables::userRemoveWearable(const LLWearableType::EType &type, const U32 &index) @@ -1774,7 +1695,7 @@ bool LLAgentWearables::canWearableBeRemoved(const LLViewerWearable* wearable) co  	return !(((type == LLWearableType::WT_SHAPE) || (type == LLWearableType::WT_SKIN) || (type == LLWearableType::WT_HAIR) || (type == LLWearableType::WT_EYES))  			 && (getWearableCount(type) <= 1) );		    } -void LLAgentWearables::animateAllWearableParams(F32 delta, BOOL upload_bake) +void LLAgentWearables::animateAllWearableParams(F32 delta)  {  	for( S32 type = 0; type < LLWearableType::WT_COUNT; ++type )  	{ @@ -1784,7 +1705,7 @@ void LLAgentWearables::animateAllWearableParams(F32 delta, BOOL upload_bake)  			llassert(wearable);  			if (wearable)  			{ -				wearable->animateParams(delta, upload_bake); +				wearable->animateParams(delta);  			}  		}  	} @@ -1907,10 +1828,10 @@ void LLAgentWearables::editWearableIfRequested(const LLUUID& item_id)  	}  } +// SUNSHINE CLEANUP - both of these funcs seem to be dead code, so this one should go too.  void LLAgentWearables::updateServer()  {  	sendAgentWearablesUpdate(); -	gAgent.sendAgentSetAppearance();  }  boost::signals2::connection LLAgentWearables::addLoadingStartedCallback(loading_started_callback_t cb) diff --git a/indra/newview/llagentwearables.h b/indra/newview/llagentwearables.h index 96fe4b80c0..96c7d890b4 100755 --- a/indra/newview/llagentwearables.h +++ b/indra/newview/llagentwearables.h @@ -85,7 +85,7 @@ public:  	// Note: False for shape, skin, eyes, and hair, unless you have MORE than 1.  	bool			canWearableBeRemoved(const LLViewerWearable* wearable) const; -	void			animateAllWearableParams(F32 delta, BOOL upload_bake); +	void			animateAllWearableParams(F32 delta);  	//--------------------------------------------------------------------  	// Accessors @@ -158,13 +158,15 @@ protected:  	//--------------------------------------------------------------------  public:  	// Processes the initial wearables update message (if necessary, since the outfit folder makes it redundant) +	// SUNSHINE CLEANUP - should be able to remove dependency on this.  	static void		processAgentInitialWearablesUpdate(LLMessageSystem* mesgsys, void** user_data);  protected: -	/*virtual*/ void	invalidateBakedTextureHash(LLMD5& hash) const; +	// SUNSHINE CLEANUP dead  	void			sendAgentWearablesUpdate(); +	// SUNSHINE CLEANUP remove?  	void			sendAgentWearablesRequest(); -	void			queryWearableCache(); +	// SUNSHINE CLEANUP dead  	void 			updateServer();  	static void		onInitialWearableAssetArrived(LLViewerWearable* wearable, void* userdata); @@ -243,11 +245,6 @@ private:  	protected:  		~createStandardWearablesAllDoneCallback();  	}; -	class sendAgentWearablesUpdateCallback : public LLRefCount -	{ -	protected: -		~sendAgentWearablesUpdateCallback(); -	};  	class AddWearableToAgentInventoryCallback : public LLInventoryCallback  	{ diff --git a/indra/newview/llagentwearablesfetch.cpp b/indra/newview/llagentwearablesfetch.cpp index a2a667e660..a10382b830 100755 --- a/indra/newview/llagentwearablesfetch.cpp +++ b/indra/newview/llagentwearablesfetch.cpp @@ -70,6 +70,7 @@ void LLInitialWearablesFetch::add(InitialWearableData &data)  	mAgentInitialWearables.push_back(data);  } +// SUNSHINE CLEANUP - should not have to wait for this message to start resolving appearance. Where to hook in instead?  void LLInitialWearablesFetch::processContents()  {  	if(!gAgentAvatarp) //no need to process wearables if the agent avatar is deleted. @@ -94,6 +95,7 @@ void LLInitialWearablesFetch::processContents()  	}  	else  	{ +		// SUNSHINE CLEANUP - remove?  		// if we're constructing the COF from the wearables message, we don't have a proper outfit link  		LLAppearanceMgr::instance().setOutfitDirty(true);  		processWearablesMessage(); @@ -135,6 +137,7 @@ public:  	}  }; +// SUNSHINE CLEANUP - remove dependency on this?  void LLInitialWearablesFetch::processWearablesMessage()  {  	if (!mAgentInitialWearables.empty()) // We have an empty current outfit folder, use the message data instead. diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 359d5aaa5c..0bf2527195 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -3692,7 +3692,7 @@ bool LLAppearanceMgr::moveWearable(LLViewerInventoryItem* item, bool closer_to_b  	bool result = false;  	if (result = gAgentWearables.moveWearable(item, closer_to_body))  	{ -		gAgentAvatarp->wearableUpdated(item->getWearableType(), FALSE); +		gAgentAvatarp->wearableUpdated(item->getWearableType());  	}  	setOutfitDirty(true); diff --git a/indra/newview/llassetuploadresponders.cpp b/indra/newview/llassetuploadresponders.cpp index ea511b18e2..457ee6916d 100755 --- a/indra/newview/llassetuploadresponders.cpp +++ b/indra/newview/llassetuploadresponders.cpp @@ -450,57 +450,6 @@ void LLNewAgentInventoryResponder::uploadComplete(const LLSD& content)  	//LLImportColladaAssetCache::getInstance()->assetUploaded(mVFileID, content["new_asset"], TRUE);  } -LLSendTexLayerResponder::LLSendTexLayerResponder(const LLSD& post_data, -												 const LLUUID& vfile_id, -												 LLAssetType::EType asset_type, -												 LLBakedUploadData * baked_upload_data) :  -	LLAssetUploadResponder(post_data, vfile_id, asset_type), -	mBakedUploadData(baked_upload_data) -{ -} - -LLSendTexLayerResponder::~LLSendTexLayerResponder() -{ -	// mBakedUploadData is normally deleted by calls to LLViewerTexLayerSetBuffer::onTextureUploadComplete() below -	if (mBakedUploadData) -	{	// ...but delete it in the case where uploadComplete() is never called -		delete mBakedUploadData; -		mBakedUploadData = NULL; -	} -} - - -// Baked texture upload completed -void LLSendTexLayerResponder::uploadComplete(const LLSD& content) -{ -	LLUUID item_id = mPostData["item_id"]; - -	std::string result = content["state"]; -	LLUUID new_id = content["new_asset"]; - -	llinfos << "result: " << result << " new_id: " << new_id << llendl; -	if (result == "complete" -		&& mBakedUploadData != NULL) -	{	// Invoke  -		LLViewerTexLayerSetBuffer::onTextureUploadComplete(new_id, (void*) mBakedUploadData, 0, LL_EXSTAT_NONE); -		mBakedUploadData = NULL;	// deleted in onTextureUploadComplete() -	} -	else -	{	// Invoke the original callback with an error result -		LLViewerTexLayerSetBuffer::onTextureUploadComplete(new_id, (void*) mBakedUploadData, -1, LL_EXSTAT_NONE); -		mBakedUploadData = NULL;	// deleted in onTextureUploadComplete() -	} -} - -void LLSendTexLayerResponder::httpFailure() -{ -	llwarns << dumpResponse() << llendl; -	 -	// Invoke the original callback with an error result -	LLViewerTexLayerSetBuffer::onTextureUploadComplete(LLUUID(), (void*) mBakedUploadData, -1, LL_EXSTAT_NONE); -	mBakedUploadData = NULL;	// deleted in onTextureUploadComplete() -} -  LLUpdateAgentInventoryResponder::LLUpdateAgentInventoryResponder(  	const LLSD& post_data,  	const LLUUID& vfile_id, diff --git a/indra/newview/llassetuploadresponders.h b/indra/newview/llassetuploadresponders.h index abfdc4ca77..7fbebc7481 100755 --- a/indra/newview/llassetuploadresponders.h +++ b/indra/newview/llassetuploadresponders.h @@ -116,27 +116,6 @@ private:  	Impl* mImpl;  }; -struct LLBakedUploadData; -class LLSendTexLayerResponder : public LLAssetUploadResponder -{ -	LOG_CLASS(LLSendTexLayerResponder); -public: -	LLSendTexLayerResponder(const LLSD& post_data, -							const LLUUID& vfile_id, -							LLAssetType::EType asset_type, -							LLBakedUploadData * baked_upload_data); - -	~LLSendTexLayerResponder(); - -	virtual void uploadComplete(const LLSD& content); - -protected: -	virtual void httpFailure(); - -private: -	LLBakedUploadData * mBakedUploadData; -}; -  class LLUpdateAgentInventoryResponder : public LLAssetUploadResponder  {  public: diff --git a/indra/newview/llbreastmotion.cpp b/indra/newview/llbreastmotion.cpp index 9a8cd5ceae..3a88bab3b3 100755 --- a/indra/newview/llbreastmotion.cpp +++ b/indra/newview/llbreastmotion.cpp @@ -340,8 +340,7 @@ BOOL LLBreastMotion::onUpdate(F32 time, U8* joint_mask)  		if (mBreastParamsDriven[i])  		{  			mCharacter->setVisualParamWeight(mBreastParamsDriven[i], -											 new_local_pt[i], -											 FALSE); +											 new_local_pt[i]);  		}  	} diff --git a/indra/newview/llemote.cpp b/indra/newview/llemote.cpp index 510ff69acf..b9ef297c00 100755 --- a/indra/newview/llemote.cpp +++ b/indra/newview/llemote.cpp @@ -79,13 +79,13 @@ BOOL LLEmote::onActivate()  	LLVisualParam* default_param = mCharacter->getVisualParam( "Express_Closed_Mouth" );  	if( default_param )  	{ -		default_param->setWeight( default_param->getMaxWeight(), FALSE ); +		default_param->setWeight( default_param->getMaxWeight());  	}  	mParam = mCharacter->getVisualParam(mName.c_str());  	if (mParam)  	{ -		mParam->setWeight(0.f, FALSE); +		mParam->setWeight(0.f);  		mCharacter->updateVisualParams();  	} @@ -101,7 +101,7 @@ BOOL LLEmote::onUpdate(F32 time, U8* joint_mask)  	if( mParam )  	{  		F32 weight = mParam->getMinWeight() + mPose.getWeight() * (mParam->getMaxWeight() - mParam->getMinWeight()); -		mParam->setWeight(weight, FALSE); +		mParam->setWeight(weight);  		// Cross fade against the default parameter  		LLVisualParam* default_param = mCharacter->getVisualParam( "Express_Closed_Mouth" ); @@ -110,7 +110,7 @@ BOOL LLEmote::onUpdate(F32 time, U8* joint_mask)  			F32 default_param_weight = default_param->getMinWeight() +   				(1.f - mPose.getWeight()) * ( default_param->getMaxWeight() - default_param->getMinWeight() ); -			default_param->setWeight( default_param_weight, FALSE ); +			default_param->setWeight( default_param_weight);  		}  		mCharacter->updateVisualParams(); @@ -127,13 +127,13 @@ void LLEmote::onDeactivate()  {  	if( mParam )  	{ -		mParam->setWeight( mParam->getDefaultWeight(), FALSE ); +		mParam->setWeight( mParam->getDefaultWeight());  	}  	LLVisualParam* default_param = mCharacter->getVisualParam( "Express_Closed_Mouth" );  	if( default_param )  	{ -		default_param->setWeight( default_param->getMaxWeight(), FALSE ); +		default_param->setWeight( default_param->getMaxWeight());  	}  	mCharacter->updateVisualParams(); diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp index 2d9385390b..88fe389c55 100755 --- a/indra/newview/lllocalbitmaps.cpp +++ b/indra/newview/lllocalbitmaps.cpp @@ -540,7 +540,7 @@ void LLLocalBitmap::updateUserLayers(LLUUID old_id, LLUUID new_id, LLWearableTyp  					{  						U32 index = gAgentWearables.getWearableIndex(wearable);  						gAgentAvatarp->setLocalTexture(reg_texind, gTextureList.getImage(new_id), FALSE, index); -						gAgentAvatarp->wearableUpdated(type, FALSE); +						gAgentAvatarp->wearableUpdated(type);  						/* telling the manager to rebake once update cycle is fully done */  						LLLocalBitmapMgr::setNeedsRebake(); diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index 582998c973..0be5c19387 100755 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -943,11 +943,11 @@ void LLPanelEditWearable::onCommitSexChange()          LLViewerWearable*     wearable = gAgentWearables.getViewerWearable(type, index);          if (wearable)          { -                wearable->setVisualParamWeight(param->getID(), is_new_sex_male, FALSE); +                wearable->setVisualParamWeight(param->getID(), is_new_sex_male);          } -        param->setWeight( is_new_sex_male, FALSE ); +        param->setWeight( is_new_sex_male); -        gAgentAvatarp->updateSexDependentLayerSets( FALSE ); +        gAgentAvatarp->updateSexDependentLayerSets();          gAgentAvatarp->updateVisualParams(); @@ -982,7 +982,7 @@ void LLPanelEditWearable::onTexturePickerCommit(const LLUICtrl* ctrl)                                  U32 index = gAgentWearables.getWearableIndex(getWearable());                                  gAgentAvatarp->setLocalTexture(entry->mTextureIndex, image, FALSE, index);                                  LLVisualParamHint::requestHintUpdates(); -                                gAgentAvatarp->wearableUpdated(type, FALSE); +                                gAgentAvatarp->wearableUpdated(type);                          }                  }                  else @@ -1006,9 +1006,9 @@ void LLPanelEditWearable::onColorSwatchCommit(const LLUICtrl* ctrl)                          const LLColor4& new_color = LLColor4(ctrl->getValue());                          if( old_color != new_color )                          { -                                getWearable()->setClothesColor(entry->mTextureIndex, new_color, TRUE); +                                getWearable()->setClothesColor(entry->mTextureIndex, new_color);                                  LLVisualParamHint::requestHintUpdates(); -                                gAgentAvatarp->wearableUpdated(getWearable()->getType(), FALSE); +                                gAgentAvatarp->wearableUpdated(getWearable()->getType());                          }                  }                  else @@ -1122,7 +1122,7 @@ void LLPanelEditWearable::revertChanges()          mNameEditor->setText(mWearableItem->getName());          updatePanelPickerControls(mWearablePtr->getType());          updateTypeSpecificControls(mWearablePtr->getType()); -        gAgentAvatarp->wearableUpdated(mWearablePtr->getType(), FALSE); +        gAgentAvatarp->wearableUpdated(mWearablePtr->getType());  }  void LLPanelEditWearable::showWearable(LLViewerWearable* wearable, BOOL show, BOOL disable_camera_switch) @@ -1584,7 +1584,7 @@ void LLPanelEditWearable::onInvisibilityCommit(LLCheckBoxCtrl* checkbox_ctrl, LL                  LLViewerFetchedTexture* image = LLViewerTextureManager::getFetchedTexture( IMG_INVISIBLE );                  U32 index = gAgentWearables.getWearableIndex(getWearable());                  gAgentAvatarp->setLocalTexture(te, image, FALSE, index); -                gAgentAvatarp->wearableUpdated(getWearable()->getType(), FALSE); +                gAgentAvatarp->wearableUpdated(getWearable()->getType());          }          else          { @@ -1601,7 +1601,7 @@ void LLPanelEditWearable::onInvisibilityCommit(LLCheckBoxCtrl* checkbox_ctrl, LL                  U32 index = gAgentWearables.getWearableIndex(getWearable());                  gAgentAvatarp->setLocalTexture(te, image, FALSE, index); -                gAgentAvatarp->wearableUpdated(getWearable()->getType(), FALSE); +                gAgentAvatarp->wearableUpdated(getWearable()->getType());          }          updatePanelPickerControls(getWearable()->getType()); diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 18b85cc9c3..8746f58f55 100755 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -668,9 +668,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time)  			if ((driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE) &&  			    (driver_param->getGroup() != VISUAL_PARAM_GROUP_TWEAKABLE_NO_TRANSMIT))  			{ -				mCharacter->setVisualParamWeight(driver_param, -								 0, -								 FALSE); +				mCharacter->setVisualParamWeight(driver_param, 0);  			}  			S32 num_driven = driver_param->getDrivenParamsCount();  			for (S32 i = 0; i < num_driven; ++i) @@ -770,7 +768,5 @@ void LLPhysicsMotion::setParamValue(const LLViewerVisualParam *param,  	// Scale from [0,1] to [value_min_local,value_max_local]          const F32 new_value_local = value_min_local + (value_max_local-value_min_local) * new_value_rescaled; -        mCharacter->setVisualParamWeight(param, -                                         new_value_local, -                                         FALSE); +        mCharacter->setVisualParamWeight(param, new_value_local);  } diff --git a/indra/newview/llscrollingpanelparam.cpp b/indra/newview/llscrollingpanelparam.cpp index a7e24b86b1..bfa453a0ae 100755 --- a/indra/newview/llscrollingpanelparam.cpp +++ b/indra/newview/llscrollingpanelparam.cpp @@ -266,7 +266,7 @@ void LLScrollingPanelParam::onHintHeldDown( LLVisualParamHint* hint )  			if (slider->getMinValue() < new_percent  				&& new_percent < slider->getMaxValue())  			{ -				mWearable->setVisualParamWeight( hint->getVisualParam()->getID(), new_weight, FALSE); +				mWearable->setVisualParamWeight( hint->getVisualParam()->getID(), new_weight);  				mWearable->writeToAvatar(gAgentAvatarp);  				gAgentAvatarp->updateVisualParams(); @@ -299,7 +299,7 @@ void LLScrollingPanelParam::onHintMinMouseUp( void* userdata )  			if (slider->getMinValue() < new_percent  				&& new_percent < slider->getMaxValue())  			{ -				self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight, FALSE); +				self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight);  				self->mWearable->writeToAvatar(gAgentAvatarp);  				slider->setValue( self->weightToPercent( new_weight ) );  			} @@ -333,7 +333,7 @@ void LLScrollingPanelParam::onHintMaxMouseUp( void* userdata )  				if (slider->getMinValue() < new_percent  					&& new_percent < slider->getMaxValue())  				{ -					self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight, FALSE); +					self->mWearable->setVisualParamWeight(hint->getVisualParam()->getID(), new_weight);  					self->mWearable->writeToAvatar(gAgentAvatarp);  					slider->setValue( self->weightToPercent( new_weight ) );  				} diff --git a/indra/newview/llscrollingpanelparambase.cpp b/indra/newview/llscrollingpanelparambase.cpp index 8e083ddb6c..fe7a362723 100755 --- a/indra/newview/llscrollingpanelparambase.cpp +++ b/indra/newview/llscrollingpanelparambase.cpp @@ -93,7 +93,7 @@ void LLScrollingPanelParamBase::onSliderMoved(LLUICtrl* ctrl, void* userdata)  	F32 new_weight = self->percentToWeight( (F32)slider->getValue().asReal() );  	if (current_weight != new_weight )  	{ -		self->mWearable->setVisualParamWeight( param->getID(), new_weight, FALSE ); +		self->mWearable->setVisualParamWeight( param->getID(), new_weight);  		self->mWearable->writeToAvatar(gAgentAvatarp);  		gAgentAvatarp->updateVisualParams();  	} diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 1c9276bab9..3abc08ec2d 100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2370,7 +2370,6 @@ void register_viewer_callbacks(LLMessageSystem* msg)  	msg->setHandlerFuncFast(_PREHASH_RemoveNameValuePair,	process_remove_name_value);  	msg->setHandlerFuncFast(_PREHASH_AvatarAnimation,		process_avatar_animation);  	msg->setHandlerFuncFast(_PREHASH_AvatarAppearance,		process_avatar_appearance); -	msg->setHandlerFunc("AgentCachedTextureResponse",	LLAgent::processAgentCachedTextureResponse);  	msg->setHandlerFunc("RebakeAvatarTextures", LLVOAvatarSelf::processRebakeAvatarTextures);  	msg->setHandlerFuncFast(_PREHASH_CameraConstraint,		process_camera_constraint);  	msg->setHandlerFuncFast(_PREHASH_AvatarSitResponse,		process_avatar_sit_response); diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp index e80136b286..dea1c6c1b2 100755 --- a/indra/newview/lltextureview.cpp +++ b/indra/newview/lltextureview.cpp @@ -431,15 +431,7 @@ void LLAvatarTexBar::draw()  		if (!layerset_buffer) continue;  		LLColor4 text_color = LLColor4::white; -		 -		if (layerset_buffer->uploadNeeded()) -		{ -			text_color = LLColor4::red; -		} - 		if (layerset_buffer->uploadInProgress()) -		{ -			text_color = LLColor4::magenta; -		} +  		std::string text = layerset_buffer->dumpTextureInfo();  		LLFontGL::getFontMonospace()->renderUTF8(text, 0, l_offset, v_offset + line_height*line_num,  												 text_color, LLFontGL::LEFT, LLFontGL::TOP); //, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT); diff --git a/indra/newview/lltoolmorph.cpp b/indra/newview/lltoolmorph.cpp index 71e0509d03..2d458db36b 100755 --- a/indra/newview/lltoolmorph.cpp +++ b/indra/newview/lltoolmorph.cpp @@ -154,8 +154,8 @@ void LLVisualParamHint::preRender(BOOL clear_depth)  		wearable->setVolatile(TRUE);  	}  	mLastParamWeight = mVisualParam->getWeight(); -	mWearablePtr->setVisualParamWeight(mVisualParam->getID(), mVisualParamWeight, FALSE); -	gAgentAvatarp->setVisualParamWeight(mVisualParam->getID(), mVisualParamWeight, FALSE); +	mWearablePtr->setVisualParamWeight(mVisualParam->getID(), mVisualParamWeight); +	gAgentAvatarp->setVisualParamWeight(mVisualParam->getID(), mVisualParamWeight);  	gAgentAvatarp->setVisualParamWeight("Blink_Left", 0.f);  	gAgentAvatarp->setVisualParamWeight("Blink_Right", 0.f);  	gAgentAvatarp->updateComposites(); @@ -246,7 +246,7 @@ BOOL LLVisualParamHint::render()  		gGL.setAlphaRejectSettings(LLRender::CF_DEFAULT);  	}  	gAgentAvatarp->setVisualParamWeight(mVisualParam->getID(), mLastParamWeight); -	mWearablePtr->setVisualParamWeight(mVisualParam->getID(), mLastParamWeight, FALSE); +	mWearablePtr->setVisualParamWeight(mVisualParam->getID(), mLastParamWeight);  	LLViewerWearable* wearable = (LLViewerWearable*)mWearablePtr;  	if (wearable)  	{ diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index aecffb4ff5..c7c0e26533 100755 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -4087,10 +4087,6 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)  		gAgent.setTeleportState( LLAgent::TELEPORT_START_ARRIVAL ); -		// set the appearance on teleport since the new sim does not -		// know what you look like. -		gAgent.sendAgentSetAppearance(); -  		if (isAgentAvatarValid())  		{  			// Chat the "back" SLURL. (DEV-4907) diff --git a/indra/newview/llviewertexlayer.cpp b/indra/newview/llviewertexlayer.cpp index 777e1f9c76..f20ab48fab 100644..100755 --- a/indra/newview/llviewertexlayer.cpp +++ b/indra/newview/llviewertexlayer.cpp @@ -37,7 +37,6 @@  #include "llglslshader.h"  #include "llvoavatarself.h"  #include "pipeline.h" -#include "llassetuploadresponders.h"  #include "llviewercontrol.h"  static const S32 BAKE_UPLOAD_ATTEMPTS = 7; @@ -46,22 +45,6 @@ static const F32 BAKE_UPLOAD_RETRY_DELAY = 2.f; // actual delay grows by power o  // runway consolidate  extern std::string self_av_string(); - -//----------------------------------------------------------------------------- -// LLBakedUploadData() -//----------------------------------------------------------------------------- -LLBakedUploadData::LLBakedUploadData(const LLVOAvatarSelf* avatar, -									 LLViewerTexLayerSet* layerset, -									 const LLUUID& id, -									 bool highest_res) : -	mAvatar(avatar), -	mTexLayerSet(layerset), -	mID(id), -	mStartTime(LLFrameTimer::getTotalTime()),		// Record starting time -	mIsHighestRes(highest_res) -{  -} -  //-----------------------------------------------------------------------------  // LLViewerTexLayerSetBuffer  // The composite image that a LLViewerTexLayerSet writes to.  Each LLViewerTexLayerSet has one. @@ -75,15 +58,10 @@ LLViewerTexLayerSetBuffer::LLViewerTexLayerSetBuffer(LLTexLayerSet* const owner,  	// ORDER_LAST => must render these after the hints are created.  	LLTexLayerSetBuffer(owner),  	LLViewerDynamicTexture( width, height, 4, LLViewerDynamicTexture::ORDER_LAST, TRUE ),  -	mUploadPending(FALSE), // Not used for any logic here, just to sync sending of updates -	mNeedsUpload(FALSE), -	mNumLowresUploads(0), -	mUploadFailCount(0),  	mNeedsUpdate(TRUE),  	mNumLowresUpdates(0)  {  	LLViewerTexLayerSetBuffer::sGLByteCount += getSize(); -	mNeedsUploadTimer.start();  	mNeedsUpdateTimer.start();  } @@ -126,33 +104,6 @@ void LLViewerTexLayerSetBuffer::requestUpdate()  	restartUpdateTimer();  	mNeedsUpdate = TRUE;  	mNumLowresUpdates = 0; -	// If we're in the middle of uploading a baked texture, we don't care about it any more. -	// When it's downloaded, ignore it. -	mUploadID.setNull(); -} - -void LLViewerTexLayerSetBuffer::requestUpload() -{ -	conditionalRestartUploadTimer(); -	mNeedsUpload = TRUE; -	mNumLowresUploads = 0; -	mUploadPending = TRUE; -} - -void LLViewerTexLayerSetBuffer::conditionalRestartUploadTimer() -{ -	// If we requested a new upload but haven't even uploaded -	// a low res version of our last upload request, then -	// keep the timer ticking instead of resetting it. -	if (mNeedsUpload && (mNumLowresUploads == 0)) -	{ -		mNeedsUploadTimer.unpause(); -	} -	else -	{ -		mNeedsUploadTimer.reset(); -		mNeedsUploadTimer.start(); -	}  }  void LLViewerTexLayerSetBuffer::restartUpdateTimer() @@ -161,25 +112,16 @@ void LLViewerTexLayerSetBuffer::restartUpdateTimer()  	mNeedsUpdateTimer.start();  } -void LLViewerTexLayerSetBuffer::cancelUpload() -{ -	mNeedsUpload = FALSE; -	mUploadPending = FALSE; -	mNeedsUploadTimer.pause(); -	mUploadRetryTimer.reset(); -} -  // virtual  BOOL LLViewerTexLayerSetBuffer::needsRender()  {  	llassert(mTexLayerSet->getAvatarAppearance() == gAgentAvatarp);  	if (!isAgentAvatarValid()) return FALSE; -	const BOOL upload_now = mNeedsUpload && isReadyToUpload();  	const BOOL update_now = mNeedsUpdate && isReadyToUpdate(); -	// Don't render if we don't want to (or aren't ready to) upload or update. -	if (!(update_now || upload_now)) +	// Don't render if we don't want to (or aren't ready to) update. +	if (!update_now)  	{  		return FALSE;  	} @@ -190,11 +132,10 @@ BOOL LLViewerTexLayerSetBuffer::needsRender()  		return FALSE;  	} -	// Don't render if we are trying to create a shirt texture but aren't wearing a skirt. +	// Don't render if we are trying to create a skirt texture but aren't wearing a skirt.  	if (gAgentAvatarp->getBakedTE(getViewerTexLayerSet()) == LLAvatarAppearanceDefines::TEX_SKIRT_BAKED &&   		!gAgentAvatarp->isWearingWearableType(LLWearableType::WT_SKIRT))  	{ -		cancelUpload();  		return FALSE;  	} @@ -222,36 +163,7 @@ void LLViewerTexLayerSetBuffer::postRenderTexLayerSet(BOOL success)  // virtual  void LLViewerTexLayerSetBuffer::midRenderTexLayerSet(BOOL success)  { -	// do we need to upload, and do we have sufficient data to create an uploadable composite? -	// TODO: When do we upload the texture if gAgent.mNumPendingQueries is non-zero? -	const BOOL upload_now = mNeedsUpload && isReadyToUpload();  	const BOOL update_now = mNeedsUpdate && isReadyToUpdate(); - -	if(upload_now) -	{ -		if (!success) -		{ -			llinfos << "Failed attempt to bake " << mTexLayerSet->getBodyRegionName() << llendl; -			mUploadPending = FALSE; -		} -		else -		{ -			LLViewerTexLayerSet* layer_set = getViewerTexLayerSet(); -			if (layer_set->isVisible()) -			{ -				layer_set->getAvatar()->debugBakedTextureUpload(layer_set->getBakedTexIndex(), FALSE); // FALSE for start of upload, TRUE for finish. -				doUpload(); -			} -			else -			{ -				mUploadPending = FALSE; -				mNeedsUpload = FALSE; -				mNeedsUploadTimer.pause(); -				layer_set->getAvatar()->setNewBakedTexture(layer_set->getBakedTexIndex(),IMG_INVISIBLE); -			} -		} -	} -	  	if (update_now)  	{  		doUpdate(); @@ -267,60 +179,6 @@ BOOL LLViewerTexLayerSetBuffer::isInitialized(void) const  	return mGLTexturep.notNull() && mGLTexturep->isGLTextureCreated();  } -BOOL LLViewerTexLayerSetBuffer::uploadPending() const -{ -	return mUploadPending; -} - -BOOL LLViewerTexLayerSetBuffer::uploadNeeded() const -{ -	return mNeedsUpload; -} - -BOOL LLViewerTexLayerSetBuffer::uploadInProgress() const -{ -	return !mUploadID.isNull(); -} - -BOOL LLViewerTexLayerSetBuffer::isReadyToUpload() const -{ -	if (!gAgentQueryManager.hasNoPendingQueries()) return FALSE; // Can't upload if there are pending queries. -	if (isAgentAvatarValid() && gAgentAvatarp->isEditingAppearance()) return FALSE; // Don't upload if avatar is being edited. - -	BOOL ready = FALSE; -	if (getViewerTexLayerSet()->isLocalTextureDataFinal()) -	{ -		// If we requested an upload and have the final LOD ready, upload (or wait a while if this is a retry) -		if (mUploadFailCount == 0) -		{ -			ready = TRUE; -		} -		else -		{ -			ready = mUploadRetryTimer.getElapsedTimeF32() >= BAKE_UPLOAD_RETRY_DELAY * (1 << (mUploadFailCount - 1)); -		} -	} -	else -	{ -		// Upload if we've hit a timeout.  Upload is a pretty expensive process so we need to make sure -		// we aren't doing uploads too frequently. -		const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedTextureUploadTimeout"); -		if (texture_timeout != 0) -		{ -			// The timeout period increases exponentially between every lowres upload in order to prevent -			// spamming the server with frequent uploads. -			const U32 texture_timeout_threshold = texture_timeout*(1 << mNumLowresUploads); - -			// If we hit our timeout and have textures available at even lower resolution, then upload. -			const BOOL is_upload_textures_timeout = mNeedsUploadTimer.getElapsedTimeF32() >= texture_timeout_threshold; -			const BOOL has_lower_lod = getViewerTexLayerSet()->isLocalTextureDataAvailable(); -			ready = has_lower_lod && is_upload_textures_timeout; -		} -	} - -	return ready; -} -  BOOL LLViewerTexLayerSetBuffer::isReadyToUpdate() const  {  	// If we requested an update and have the final LOD ready, then update. @@ -358,159 +216,6 @@ BOOL LLViewerTexLayerSetBuffer::requestUpdateImmediate()  	return result;  } -// Create the baked texture, send it out to the server, then wait for it to come -// back so we can switch to using it. -void LLViewerTexLayerSetBuffer::doUpload() -{ -	LLViewerTexLayerSet* layer_set = getViewerTexLayerSet(); -	LL_DEBUGS("Avatar") << "Uploading baked " << layer_set->getBodyRegionName() << llendl; -	LLViewerStats::getInstance()->incStat(LLViewerStats::ST_TEX_BAKES); - -	// Don't need caches since we're baked now.  (note: we won't *really* be baked  -	// until this image is sent to the server and the Avatar Appearance message is received.) -	layer_set->deleteCaches(); - -	// Get the COLOR information from our texture -	U8* baked_color_data = new U8[ mFullWidth * mFullHeight * 4 ]; -	glReadPixels(mOrigin.mX, mOrigin.mY, mFullWidth, mFullHeight, GL_RGBA, GL_UNSIGNED_BYTE, baked_color_data ); -	stop_glerror(); - -	// Get the MASK information from our texture -	LLGLSUIDefault gls_ui; -	LLPointer<LLImageRaw> baked_mask_image = new LLImageRaw(mFullWidth, mFullHeight, 1 ); -	U8* baked_mask_data = baked_mask_image->getData();  -	layer_set->gatherMorphMaskAlpha(baked_mask_data, -									mOrigin.mX, mOrigin.mY, -									mFullWidth, mFullHeight); - - -	// Create the baked image from our color and mask information -	const S32 baked_image_components = 5; // red green blue [bump] clothing -	LLPointer<LLImageRaw> baked_image = new LLImageRaw( mFullWidth, mFullHeight, baked_image_components ); -	U8* baked_image_data = baked_image->getData(); -	S32 i = 0; -	for (S32 u=0; u < mFullWidth; u++) -	{ -		for (S32 v=0; v < mFullHeight; v++) -		{ -			baked_image_data[5*i + 0] = baked_color_data[4*i + 0]; -			baked_image_data[5*i + 1] = baked_color_data[4*i + 1]; -			baked_image_data[5*i + 2] = baked_color_data[4*i + 2]; -			baked_image_data[5*i + 3] = baked_color_data[4*i + 3]; // alpha should be correct for eyelashes. -			baked_image_data[5*i + 4] = baked_mask_data[i]; -			i++; -		} -	} -	 -	LLPointer<LLImageJ2C> compressedImage = new LLImageJ2C; -	const char* comment_text = LINDEN_J2C_COMMENT_PREFIX "RGBHM"; // writes into baked_color_data. 5 channels (rgb, heightfield/alpha, mask) -	if (compressedImage->encode(baked_image, comment_text)) -	{ -		LLTransactionID tid; -		tid.generate(); -		const LLAssetID asset_id = tid.makeAssetID(gAgent.getSecureSessionID()); -		if (LLVFile::writeFile(compressedImage->getData(), compressedImage->getDataSize(), -							   gVFS, asset_id, LLAssetType::AT_TEXTURE)) -		{ -			// Read back the file and validate. -			BOOL valid = FALSE; -			LLPointer<LLImageJ2C> integrity_test = new LLImageJ2C; -			S32 file_size = 0; -			LLVFile file(gVFS, asset_id, LLAssetType::AT_TEXTURE); -			file_size = file.getSize(); -			U8* data = integrity_test->allocateData(file_size); -			file.read(data, file_size); -			if (data) -			{ -				valid = integrity_test->validate(data, file_size); // integrity_test will delete 'data' -			} -			else -			{ -				integrity_test->setLastError("Unable to read entire file"); -			} -			 -			if (valid) -			{ -				const bool highest_lod = layer_set->isLocalTextureDataFinal(); -				// Baked_upload_data is owned by the responder and deleted after the request completes. -				LLBakedUploadData* baked_upload_data = new LLBakedUploadData(gAgentAvatarp,  -																			 layer_set,  -																			 asset_id, -																			 highest_lod); -				// upload ID is used to avoid overlaps, e.g. when the user rapidly makes two changes outside of Face Edit. -				mUploadID = asset_id; - -				// Upload the image -				const std::string url = gAgent.getRegion()->getCapability("UploadBakedTexture"); -				if(!url.empty() -					&& !LLPipeline::sForceOldBakedUpload // toggle debug setting UploadBakedTexOld to change between the new caps method and old method -					&& (mUploadFailCount < (BAKE_UPLOAD_ATTEMPTS - 1))) // Try last ditch attempt via asset store if cap upload is failing. -				{ -					LLSD body = LLSD::emptyMap(); -					// The responder will call LLViewerTexLayerSetBuffer::onTextureUploadComplete() -					LLHTTPClient::post(url, body, new LLSendTexLayerResponder(body, mUploadID, LLAssetType::AT_TEXTURE, baked_upload_data)); -					llinfos << "Baked texture upload via capability of " << mUploadID << " to " << url << llendl; -				}  -				else -				{ -					gAssetStorage->storeAssetData(tid, -												  LLAssetType::AT_TEXTURE, -												  LLViewerTexLayerSetBuffer::onTextureUploadComplete, -												  baked_upload_data, -												  TRUE,		// temp_file -												  TRUE,		// is_priority -												  TRUE);	// store_local -					llinfos << "Baked texture upload via Asset Store." <<  llendl; -				} - -				if (highest_lod) -				{ -					// Sending the final LOD for the baked texture.  All done, pause  -					// the upload timer so we know how long it took. -					mNeedsUpload = FALSE; -					mNeedsUploadTimer.pause(); -				} -				else -				{ -					// Sending a lower level LOD for the baked texture.  Restart the upload timer. -					mNumLowresUploads++; -					mNeedsUploadTimer.unpause(); -					mNeedsUploadTimer.reset(); -				} - -				// Print out notification that we uploaded this texture. -				if (gSavedSettings.getBOOL("DebugAvatarRezTime")) -				{ -					const std::string lod_str = highest_lod ? "HighRes" : "LowRes"; -					LLSD args; -					args["EXISTENCE"] = llformat("%d",(U32)layer_set->getAvatar()->debugGetExistenceTimeElapsedF32()); -					args["TIME"] = llformat("%d",(U32)mNeedsUploadTimer.getElapsedTimeF32()); -					args["BODYREGION"] = layer_set->getBodyRegionName(); -					args["RESOLUTION"] = lod_str; -					LLNotificationsUtil::add("AvatarRezSelfBakedTextureUploadNotification",args); -					LL_DEBUGS("Avatar") << self_av_string() << "Uploading [ name: " << layer_set->getBodyRegionName() << " res:" << lod_str << " time:" << (U32)mNeedsUploadTimer.getElapsedTimeF32() << " ]" << LL_ENDL; -				} -			} -			else -			{ -				// The read back and validate operation failed.  Remove the uploaded file. -				mUploadPending = FALSE; -				LLVFile file(gVFS, asset_id, LLAssetType::AT_TEXTURE, LLVFile::WRITE); -				file.remove(); -				llinfos << "Unable to create baked upload file (reason: corrupted)." << llendl; -			} -		} -	} -	else -	{ -		// The VFS write file operation failed. -		mUploadPending = FALSE; -		llinfos << "Unable to create baked upload file (reason: failed to write file)" << llendl; -	} - -	delete [] baked_color_data; -} -  // Mostly bookkeeping; don't need to actually "do" anything since  // render() will actually do the update.  void LLViewerTexLayerSetBuffer::doUpdate() @@ -547,82 +252,6 @@ void LLViewerTexLayerSetBuffer::doUpdate()  	}  } -// static -void LLViewerTexLayerSetBuffer::onTextureUploadComplete(const LLUUID& uuid, -												  void* userdata, -												  S32 result, -												  LLExtStat ext_status) // StoreAssetData callback (not fixed) -{ -	LLBakedUploadData* baked_upload_data = (LLBakedUploadData*)userdata; - -	if (isAgentAvatarValid() && -		!gAgentAvatarp->isDead() && -		(baked_upload_data->mAvatar == gAgentAvatarp) && // Sanity check: only the user's avatar should be uploading textures. -		(baked_upload_data->mTexLayerSet->hasComposite())) -	{ -		LLViewerTexLayerSetBuffer* layerset_buffer = baked_upload_data->mTexLayerSet->getViewerComposite(); -		S32 failures = layerset_buffer->mUploadFailCount; -		layerset_buffer->mUploadFailCount = 0; - -		if (layerset_buffer->mUploadID.isNull()) -		{ -			// The upload got canceled, we should be in the -			// process of baking a new texture so request an -			// upload with the new data - -			// BAP: does this really belong in this callback, as -			// opposed to where the cancellation takes place? -			// suspect this does nothing. -			layerset_buffer->requestUpload(); -		} -		else if (baked_upload_data->mID == layerset_buffer->mUploadID) -		{ -			// This is the upload we're currently waiting for. -			layerset_buffer->mUploadID.setNull(); -			const std::string name(baked_upload_data->mTexLayerSet->getBodyRegionName()); -			const std::string resolution = baked_upload_data->mIsHighestRes ? " full res " : " low res "; -			if (result >= 0) -			{ -				layerset_buffer->mUploadPending = FALSE; // Allows sending of AgentSetAppearance later -				LLAvatarAppearanceDefines::ETextureIndex baked_te = gAgentAvatarp->getBakedTE(layerset_buffer->getViewerTexLayerSet()); -				// Update baked texture info with the new UUID -				U64 now = LLFrameTimer::getTotalTime();		// Record starting time -				llinfos << "Baked" << resolution << "texture upload for " << name << " took " << (S32)((now - baked_upload_data->mStartTime) / 1000) << " ms" << llendl; -				gAgentAvatarp->setNewBakedTexture(baked_te, uuid); -			} -			else -			{	 -				++failures; -				S32 max_attempts = baked_upload_data->mIsHighestRes ? BAKE_UPLOAD_ATTEMPTS : 1; // only retry final bakes -				llwarns << "Baked" << resolution << "texture upload for " << name << " failed (attempt " << failures << "/" << max_attempts << ")" << llendl; -				if (failures < max_attempts) -				{ -					layerset_buffer->mUploadFailCount = failures; -					layerset_buffer->mUploadRetryTimer.start(); -					layerset_buffer->requestUpload(); -				} -			} -		} -		else -		{ -			llinfos << "Received baked texture out of date, ignored." << llendl; -		} - -		gAgentAvatarp->dirtyMesh(); -	} -	else -	{ -		// Baked texture failed to upload (in which case since we -		// didn't set the new baked texture, it means that they'll try -		// and rebake it at some point in the future (after login?)), -		// or this response to upload is out of date, in which case a -		// current response should be on the way or already processed. -		llwarns << "Baked upload failed" << llendl; -	} - -	delete baked_upload_data; -} -  //-----------------------------------------------------------------------------  // LLViewerTexLayerSet  // An ordered set of texture layers that get composited into a single texture. @@ -664,20 +293,6 @@ void LLViewerTexLayerSet::requestUpdate()  	}  } -void LLViewerTexLayerSet::requestUpload() -{ -	createComposite(); -	getViewerComposite()->requestUpload(); -} - -void LLViewerTexLayerSet::cancelUpload() -{ -	if(mComposite) -	{ -		getViewerComposite()->cancelUpload(); -	} -} -  void LLViewerTexLayerSet::updateComposite()  {  	createComposite(); @@ -730,19 +345,12 @@ const std::string LLViewerTexLayerSetBuffer::dumpTextureInfo() const  {  	if (!isAgentAvatarValid()) return ""; -	const BOOL is_high_res = !mNeedsUpload; -	const U32 num_low_res = mNumLowresUploads; -	const U32 upload_time = (U32)mNeedsUploadTimer.getElapsedTimeF32(); +	const BOOL is_high_res = TRUE;  +	const U32 num_low_res = 0;  	const std::string local_texture_info = gAgentAvatarp->debugDumpLocalTextureDataInfo(getViewerTexLayerSet()); -	std::string status 				= "CREATING "; -	if (!uploadNeeded()) status 	= "DONE     "; -	if (uploadInProgress()) status 	= "UPLOADING"; - -	std::string text = llformat("[%s] [HiRes:%d LoRes:%d] [Elapsed:%d] %s", -								status.c_str(), +	std::string text = llformat("[HiRes:%d LoRes:%d] %s",  								is_high_res, num_low_res, -								upload_time,   								local_texture_info.c_str());  	return text;  } diff --git a/indra/newview/llviewertexlayer.h b/indra/newview/llviewertexlayer.h index 959c883da8..027ae255ec 100644..100755 --- a/indra/newview/llviewertexlayer.h +++ b/indra/newview/llviewertexlayer.h @@ -47,8 +47,6 @@ public:  	virtual ~LLViewerTexLayerSet();  	/*virtual*/void				requestUpdate(); -	void						requestUpload(); -	void						cancelUpload();  	BOOL						isLocalTextureDataAvailable() const;  	BOOL						isLocalTextureDataFinal() const;  	void						updateComposite(); @@ -116,31 +114,6 @@ protected:  	virtual BOOL			render() { return renderTexLayerSet(); }  	//-------------------------------------------------------------------- -	// Uploads -	//-------------------------------------------------------------------- -public: -	void					requestUpload(); -	void					cancelUpload(); -	BOOL					uploadNeeded() const; 			// We need to upload a new texture -	BOOL					uploadInProgress() const; 		// We have started uploading a new texture and are awaiting the result -	BOOL					uploadPending() const; 			// We are expecting a new texture to be uploaded at some point -	static void				onTextureUploadComplete(const LLUUID& uuid, -													void* userdata, -													S32 result, LLExtStat ext_status); -protected: -	BOOL					isReadyToUpload() const; -	void					doUpload(); 					// Does a read back and upload. -	void					conditionalRestartUploadTimer(); -private: -	BOOL					mNeedsUpload; 					// Whether we need to send our baked textures to the server -	U32						mNumLowresUploads; 				// Number of times we've sent a lowres version of our baked textures to the server -	BOOL					mUploadPending; 				// Whether we have received back the new baked textures -	LLUUID					mUploadID; 						// The current upload process (null if none). -	LLFrameTimer    		mNeedsUploadTimer; 				// Tracks time since upload was requested and performed. -	S32						mUploadFailCount;				// Number of consecutive upload failures -	LLFrameTimer    		mUploadRetryTimer; 				// Tracks time since last upload failure. - -	//--------------------------------------------------------------------  	// Updates  	//--------------------------------------------------------------------  public: @@ -156,25 +129,5 @@ private:  	LLFrameTimer    		mNeedsUpdateTimer; 				// Tracks time since update was requested and performed.  }; - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// LLBakedUploadData -// -// Used by LLTexLayerSetBuffer for a callback. -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -struct LLBakedUploadData -{ -	LLBakedUploadData(const LLVOAvatarSelf* avatar, -					  LLViewerTexLayerSet* layerset,  -					  const LLUUID& id, -					  bool highest_res); -	~LLBakedUploadData() {} -	const LLUUID				mID; -	const LLVOAvatarSelf*		mAvatar; // note: backlink only; don't LLPointer  -	LLViewerTexLayerSet*		mTexLayerSet; -   	const U64					mStartTime;	// for measuring baked texture upload time -   	const bool					mIsHighestRes; // whether this is a "final" bake, or intermediate low res -}; -  #endif  // LL_VIEWER_TEXLAYER_H diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 831551a0a7..86f4fe4919 100755 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -964,7 +964,7 @@ LLViewerFetchedTexture::LLViewerFetchedTexture(const LLUUID& id, FTType f_type,  	mFTType = f_type;  	if (mFTType == FTT_HOST_BAKE)  	{ -		mCanUseHTTP = false; +		llwarns << "Unsupported fetch type " << mFTType << llendl;  	}  	generateGLTexture() ;  } diff --git a/indra/newview/llviewerwearable.cpp b/indra/newview/llviewerwearable.cpp index 76f94935b8..143eab133d 100644..100755 --- a/indra/newview/llviewerwearable.cpp +++ b/indra/newview/llviewerwearable.cpp @@ -266,7 +266,7 @@ void LLViewerWearable::setParamsToDefaults()  	{  		if( (((LLViewerVisualParam*)param)->getWearableType() == mType ) && (param->isTweakable() ) )  		{ -			setVisualParamWeight(param->getID(),param->getDefaultWeight(), FALSE); +			setVisualParamWeight(param->getID(),param->getDefaultWeight());  		}  	}  } @@ -322,16 +322,6 @@ void LLViewerWearable::writeToAvatar(LLAvatarAppearance *avatarp)  	if (!viewer_avatar->isValid()) return; -#if 0 -	// FIXME DRANO - kludgy way to avoid overwriting avatar state from wearables. -	// Ideally would avoid calling this func in the first place. -	if (viewer_avatar->isUsingServerBakes() && -		!viewer_avatar->isUsingLocalAppearance()) -	{ -		return; -	} -#endif -  	ESex old_sex = avatarp->getSex();  	LLWearable::writeToAvatar(avatarp); @@ -361,19 +351,14 @@ void LLViewerWearable::writeToAvatar(LLAvatarAppearance *avatarp)  	ESex new_sex = avatarp->getSex();  	if( old_sex != new_sex )  	{ -		viewer_avatar->updateSexDependentLayerSets( FALSE ); +		viewer_avatar->updateSexDependentLayerSets();  	}	 -	 -//	if( upload_bake ) -//	{ -//		gAgent.sendAgentSetAppearance(); -//	}  }  // Updates the user's avatar's appearance, replacing this wearables' parameters and textures with default values.  // static  -void LLViewerWearable::removeFromAvatar( LLWearableType::EType type, BOOL upload_bake ) +void LLViewerWearable::removeFromAvatar( LLWearableType::EType type)  {  	if (!isAgentAvatarValid()) return; @@ -392,7 +377,7 @@ void LLViewerWearable::removeFromAvatar( LLWearableType::EType type, BOOL upload  		if( (((LLViewerVisualParam*)param)->getWearableType() == type) && (param->isTweakable() ) )  		{  			S32 param_id = param->getID(); -			gAgentAvatarp->setVisualParamWeight( param_id, param->getDefaultWeight(), upload_bake ); +			gAgentAvatarp->setVisualParamWeight( param_id, param->getDefaultWeight());  		}  	} @@ -402,12 +387,7 @@ void LLViewerWearable::removeFromAvatar( LLWearableType::EType type, BOOL upload  	}  	gAgentAvatarp->updateVisualParams(); -	gAgentAvatarp->wearableUpdated(type, FALSE); - -//	if( upload_bake ) -//	{ -//		gAgent.sendAgentSetAppearance(); -//	} +	gAgentAvatarp->wearableUpdated(type);  }  // Does not copy mAssetID. @@ -480,13 +460,6 @@ void LLViewerWearable::setItemID(const LLUUID& item_id)  void LLViewerWearable::revertValues()  { -#if 0 -	// DRANO avoid overwrite when not in local appearance -	if (isAgentAvatarValid() && gAgentAvatarp->isUsingServerBakes() && !gAgentAvatarp->isUsingLocalAppearance()) -	{ -		return; -	} -#endif  	LLWearable::revertValues(); @@ -524,13 +497,6 @@ void LLViewerWearable::refreshName()  	}  } -// virtual -void LLViewerWearable::addToBakedTextureHash(LLMD5& hash) const -{ -	LLUUID asset_id = getAssetID(); -	hash.update((const unsigned char*)asset_id.mData, UUID_BYTES); -} -  struct LLWearableSaveData  {  	LLWearableType::EType mType; diff --git a/indra/newview/llviewerwearable.h b/indra/newview/llviewerwearable.h index ef8c29323e..fb92bca5cc 100644..100755 --- a/indra/newview/llviewerwearable.h +++ b/indra/newview/llviewerwearable.h @@ -61,8 +61,8 @@ public:  	BOOL				isOldVersion() const;  	/*virtual*/ void	writeToAvatar(LLAvatarAppearance *avatarp); -	void				removeFromAvatar( BOOL upload_bake )	{ LLViewerWearable::removeFromAvatar( mType, upload_bake ); } -	static void			removeFromAvatar( LLWearableType::EType type, BOOL upload_bake );  +	void				removeFromAvatar()	{ LLViewerWearable::removeFromAvatar( mType); } +	static void			removeFromAvatar( LLWearableType::EType type);   	/*virtual*/ EImportResult	importStream( std::istream& input_stream, LLAvatarAppearance* avatarp ); @@ -90,9 +90,7 @@ public:  	// the wearable was worn. make sure the name of the wearable object matches the LLViewerInventoryItem,  	// not the wearable asset itself.  	void				refreshName(); - -	// Update the baked texture hash. -	/*virtual*/void		addToBakedTextureHash(LLMD5& hash) const; +	/*virtual*/void		addToBakedTextureHash(LLMD5& hash) const {}  protected:  	LLAssetID			mAssetID; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 93247a3625..68ab25abca 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -707,7 +707,6 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,  	mLastRezzedStatus(-1),  	mIsEditingAppearance(FALSE),  	mUseLocalAppearance(FALSE), -	mUseServerBakes(FALSE), // FIXME DRANO consider using boost::optional, defaulting to unknown.  	mLastUpdateRequestCOFVersion(-1),  	mLastUpdateReceivedCOFVersion(-1)  { @@ -1067,7 +1066,7 @@ void LLVOAvatar::restoreGL()  	gAgentAvatarp->setCompositeUpdatesEnabled(TRUE);  	for (U32 i = 0; i < gAgentAvatarp->mBakedTextureDatas.size(); i++)  	{ -		gAgentAvatarp->invalidateComposite(gAgentAvatarp->getTexLayerSet(i), FALSE); +		gAgentAvatarp->invalidateComposite(gAgentAvatarp->getTexLayerSet(i));  	}  	gAgentAvatarp->updateMeshTextures();  } @@ -1885,22 +1884,17 @@ LLViewerFetchedTexture *LLVOAvatar::getBakedTextureImage(const U8 te, const LLUU  	if (!result)  	{  		const std::string url = getImageURL(te,uuid); -		if (!url.empty()) +		if (url.empty())  		{ -			LL_DEBUGS("Avatar") << avString() << "get server-bake image from URL " << url << llendl; -			result = LLViewerTextureManager::getFetchedTextureFromUrl( -				url, FTT_SERVER_BAKE, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, uuid); -			if (result->isMissingAsset()) -			{ -				result->setIsMissingAsset(false); -			} +			llwarns << "unable to determine URL for te " << te << " uuid " << uuid << llendl; +			return NULL;  		} -		else +		LL_DEBUGS("Avatar") << avString() << "get server-bake image from URL " << url << llendl; +		result = LLViewerTextureManager::getFetchedTextureFromUrl( +			url, FTT_SERVER_BAKE, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, uuid); +		if (result->isMissingAsset())  		{ -			LL_DEBUGS("Avatar") << avString() << "get old-bake image from host " << uuid << llendl; -			LLHost host = getObjectHost(); -			result = LLViewerTextureManager::getFetchedTexture( -				uuid, FTT_HOST_BAKE, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, host); +			result->setIsMissingAsset(false);  		}  	}  	return result; @@ -2130,8 +2124,8 @@ void LLVOAvatar::idleUpdateVoiceVisualizer(bool voice_enabled)  				if ( mLipSyncActive )  				{ -					if( mOohMorph ) mOohMorph->setWeight(mOohMorph->getMinWeight(), FALSE); -					if( mAahMorph ) mAahMorph->setWeight(mAahMorph->getMinWeight(), FALSE); +					if( mOohMorph ) mOohMorph->setWeight(mOohMorph->getMinWeight()); +					if( mAahMorph ) mAahMorph->setWeight(mAahMorph->getMinWeight());  					mLipSyncActive = false;  					LLCharacter::updateVisualParams(); @@ -2294,14 +2288,10 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()  			{  				if (param->isTweakable())  				{ -					param->stopAnimating(FALSE); +					param->stopAnimating();  				}  			}  			updateVisualParams(); -			if (isSelf()) -			{ -				gAgent.sendAgentSetAppearance(); -			}  		}  		else  		{ @@ -2317,7 +2307,7 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()  				{  					if (param->isTweakable())  					{ -						param->animate(morph_amt, FALSE); +						param->animate(morph_amt);  					}  				}  			} @@ -2370,7 +2360,7 @@ void LLVOAvatar::idleUpdateLipSync(bool voice_enabled)  			F32 ooh_weight = mOohMorph->getMinWeight()  				+ ooh_morph_amount * (mOohMorph->getMaxWeight() - mOohMorph->getMinWeight()); -			mOohMorph->setWeight( ooh_weight, FALSE ); +			mOohMorph->setWeight( ooh_weight);  		}  		if( mAahMorph ) @@ -2378,7 +2368,7 @@ void LLVOAvatar::idleUpdateLipSync(bool voice_enabled)  			F32 aah_weight = mAahMorph->getMinWeight()  				+ aah_morph_amount * (mAahMorph->getMaxWeight() - mAahMorph->getMinWeight()); -			mAahMorph->setWeight( aah_weight, FALSE ); +			mAahMorph->setWeight( aah_weight);  		}  		mLipSyncActive = true; @@ -3015,7 +3005,7 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent)  										  isSelf() ? (all_local_downloaded ? "L" : "l") : "-",  										  all_baked_downloaded ? "B" : "b",  										  mUseLocalAppearance, mIsEditingAppearance, -										  mUseServerBakes, central_bake_version); +										  1, central_bake_version);  		std::string origin_string = bakedTextureOriginInfo();  		debug_line += " [" + origin_string + "]";  		S32 curr_cof_version = LLAppearanceMgr::instance().getCOFVersion(); @@ -4121,34 +4111,6 @@ bool LLVOAvatar::allBakedTexturesCompletelyDownloaded() const  	return allTexturesCompletelyDownloaded(baked_ids);  } -void LLVOAvatar::bakedTextureOriginCounts(S32 &sb_count, // server-bake, has origin URL. -										  S32 &host_count, // host-based bake, has host. -										  S32 &both_count, // error - both host and URL set. -										  S32 &neither_count) // error - neither set. -{ -	sb_count = host_count = both_count = neither_count = 0; -	 -	std::set<LLUUID> baked_ids; -	collectBakedTextureUUIDs(baked_ids); -	for (std::set<LLUUID>::const_iterator it = baked_ids.begin(); it != baked_ids.end(); ++it) -	{ -		LLViewerFetchedTexture *imagep = gTextureList.findImage(*it); -		bool has_url = false, has_host = false; -		if (!imagep->getUrl().empty()) -		{ -			has_url = true; -		} -		if (imagep->getTargetHost().isOk()) -		{ -			has_host = true; -		} -		if (has_url && !has_host) sb_count++; -		else if (has_host && !has_url) host_count++; -		else if (has_host && has_url) both_count++; -		else if (!has_host && !has_url) neither_count++; -	} -} -  std::string LLVOAvatar::bakedTextureOriginInfo()  {  	std::string result; @@ -4389,19 +4351,6 @@ void LLVOAvatar::updateTextures()  		{  			const S32 boost_level = getAvatarBakedBoostLevel();  			imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index,0), TRUE); -			// Spam if this is a baked texture, not set to default image, without valid host info -			if (isIndexBakedTexture((ETextureIndex)texture_index) -				&& imagep->getID() != IMG_DEFAULT_AVATAR -				&& imagep->getID() != IMG_INVISIBLE -				&& !isUsingServerBakes()  -				&& !imagep->getTargetHost().isOk()) -			{ -				LL_WARNS_ONCE("Texture") << "LLVOAvatar::updateTextures No host for texture " -										 << imagep->getID() << " for avatar " -										 << (isSelf() ? "<myself>" : getID().asString())  -										 << " on host " << getRegion()->getHost() << llendl; -			} -  			addBakedTextureStats( imagep, mPixelArea, texel_area_ratio, boost_level );			  		}  	} @@ -4533,22 +4482,19 @@ const std::string LLVOAvatar::getImageURL(const U8 te, const LLUUID &uuid)  {  	llassert(isIndexBakedTexture(ETextureIndex(te)));  	std::string url = ""; -	if (isUsingServerBakes()) +	const std::string& appearance_service_url = LLAppearanceMgr::instance().getAppearanceServiceURL(); +	if (appearance_service_url.empty())  	{ -		const std::string& appearance_service_url = LLAppearanceMgr::instance().getAppearanceServiceURL(); -		if (appearance_service_url.empty()) -		{ -			// Probably a server-side issue if we get here: -			llwarns << "AgentAppearanceServiceURL not set - Baked texture requests will fail" << llendl; -			return url; -		} +		// Probably a server-side issue if we get here: +		llwarns << "AgentAppearanceServiceURL not set - Baked texture requests will fail" << llendl; +		return url; +	} -		const LLAvatarAppearanceDictionary::TextureEntry* texture_entry = LLAvatarAppearanceDictionary::getInstance()->getTexture((ETextureIndex)te); -		if (texture_entry != NULL) -		{ -			url = appearance_service_url + "texture/" + getID().asString() + "/" + texture_entry->mDefaultImageName + "/" + uuid.asString(); -			//llinfos << "baked texture url: " << url << llendl; -		} +	const LLAvatarAppearanceDictionary::TextureEntry* texture_entry = LLAvatarAppearanceDictionary::getInstance()->getTexture((ETextureIndex)te); +	if (texture_entry != NULL) +	{ +		url = appearance_service_url + "texture/" + getID().asString() + "/" + texture_entry->mDefaultImageName + "/" + uuid.asString(); +		//llinfos << "baked texture url: " << url << llendl;  	}  	return url;  } @@ -5345,11 +5291,11 @@ BOOL LLVOAvatar::updateGeometry(LLDrawable *drawable)  //-----------------------------------------------------------------------------  // updateSexDependentLayerSets()  //----------------------------------------------------------------------------- -void LLVOAvatar::updateSexDependentLayerSets( BOOL upload_bake ) +void LLVOAvatar::updateSexDependentLayerSets()  { -	invalidateComposite( mBakedTextureDatas[BAKED_HEAD].mTexLayerSet, upload_bake ); -	invalidateComposite( mBakedTextureDatas[BAKED_UPPER].mTexLayerSet, upload_bake ); -	invalidateComposite( mBakedTextureDatas[BAKED_LOWER].mTexLayerSet, upload_bake ); +	invalidateComposite( mBakedTextureDatas[BAKED_HEAD].mTexLayerSet); +	invalidateComposite( mBakedTextureDatas[BAKED_UPPER].mTexLayerSet); +	invalidateComposite( mBakedTextureDatas[BAKED_LOWER].mTexLayerSet);  }  //----------------------------------------------------------------------------- @@ -5829,7 +5775,7 @@ BOOL LLVOAvatar::isWearingWearableType(LLWearableType::EType type) const  // virtual -void LLVOAvatar::invalidateComposite( LLTexLayerSet* layerset, BOOL upload_result ) +void LLVOAvatar::invalidateComposite( LLTexLayerSet* layerset)  {  } @@ -5838,18 +5784,18 @@ void LLVOAvatar::invalidateAll()  }  // virtual -void LLVOAvatar::onGlobalColorChanged(const LLTexGlobalColor* global_color, BOOL upload_bake ) +void LLVOAvatar::onGlobalColorChanged(const LLTexGlobalColor* global_color)  {  	if (global_color == mTexSkinColor)  	{ -		invalidateComposite( mBakedTextureDatas[BAKED_HEAD].mTexLayerSet, upload_bake ); -		invalidateComposite( mBakedTextureDatas[BAKED_UPPER].mTexLayerSet, upload_bake ); -		invalidateComposite( mBakedTextureDatas[BAKED_LOWER].mTexLayerSet, upload_bake ); +		invalidateComposite( mBakedTextureDatas[BAKED_HEAD].mTexLayerSet); +		invalidateComposite( mBakedTextureDatas[BAKED_UPPER].mTexLayerSet); +		invalidateComposite( mBakedTextureDatas[BAKED_LOWER].mTexLayerSet);  	}  	else if (global_color == mTexHairColor)  	{ -		invalidateComposite( mBakedTextureDatas[BAKED_HEAD].mTexLayerSet, upload_bake ); -		invalidateComposite( mBakedTextureDatas[BAKED_HAIR].mTexLayerSet, upload_bake ); +		invalidateComposite( mBakedTextureDatas[BAKED_HEAD].mTexLayerSet); +		invalidateComposite( mBakedTextureDatas[BAKED_HAIR].mTexLayerSet);  		// ! BACKWARDS COMPATIBILITY !  		// Fix for dealing with avatars from viewers that don't bake hair. @@ -5871,7 +5817,7 @@ void LLVOAvatar::onGlobalColorChanged(const LLTexGlobalColor* global_color, BOOL  	else if (global_color == mTexEyeColor)  	{  //		llinfos << "invalidateComposite cause: onGlobalColorChanged( eyecolor )" << llendl;  -		invalidateComposite( mBakedTextureDatas[BAKED_EYES].mTexLayerSet,  upload_bake ); +		invalidateComposite( mBakedTextureDatas[BAKED_EYES].mTexLayerSet);  	}  	updateMeshTextures();  } @@ -6071,7 +6017,7 @@ void LLVOAvatar::logMetricsTimerRecord(const std::string& phase_name, F32 elapse  	}  	record["grid_x"] = LLSD::Integer(grid_x);  	record["grid_y"] = LLSD::Integer(grid_y); -	record["is_using_server_bakes"] = ((bool) isUsingServerBakes()); +	record["is_using_server_bakes"] = true;  	record["is_self"] = isSelf();  	if (isAgentAvatarValid()) @@ -6891,6 +6837,7 @@ void LLVOAvatar::parseAppearanceMessage(LLMessageSystem* mesgsys, LLAppearanceMe  	}  } +// SUNSHINE CLEANUP - OK to remove the version = 0 case, assume we're at least 1?  bool resolve_appearance_version(const LLAppearanceMessageContents& contents, S32& appearance_version)  {  	appearance_version = -1; @@ -6921,6 +6868,7 @@ bool resolve_appearance_version(const LLAppearanceMessageContents& contents, S32  	return true;  } +// SUNSHINE CLEANUP - if we can assume server baking, we can simplify some code here.  //-----------------------------------------------------------------------------  // processAvatarAppearance()  //----------------------------------------------------------------------------- @@ -7012,8 +6960,6 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )  		mLastUpdateReceivedCOFVersion = this_update_cof_version;  	} -	setIsUsingServerBakes(appearance_version > 0); -  	applyParsedTEMessage(contents.mTEContents);  	// prevent the overwriting of valid baked textures with invalid baked textures @@ -7023,13 +6969,13 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )  			&& mBakedTextureDatas[baked_index].mLastTextureID != IMG_DEFAULT  			&& baked_index != BAKED_SKIRT)  		{ -			LL_DEBUGS("Avatar") << avString() << "sb " << (S32) isUsingServerBakes() << " baked_index " << (S32) baked_index << " using mLastTextureID " << mBakedTextureDatas[baked_index].mLastTextureID << llendl; +			LL_DEBUGS("Avatar") << avString() << " baked_index " << (S32) baked_index << " using mLastTextureID " << mBakedTextureDatas[baked_index].mLastTextureID << llendl;  			setTEImage(mBakedTextureDatas[baked_index].mTextureIndex,   				LLViewerTextureManager::getFetchedTexture(mBakedTextureDatas[baked_index].mLastTextureID, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE));  		}  		else  		{ -			LL_DEBUGS("Avatar") << avString() << "sb " << (S32) isUsingServerBakes() << " baked_index " << (S32) baked_index << " using texture id " +			LL_DEBUGS("Avatar") << avString() << " baked_index " << (S32) baked_index << " using texture id "  								<< getTE(mBakedTextureDatas[baked_index].mTextureIndex)->getID() << llendl;  		}  	} @@ -7071,13 +7017,13 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )  				if(is_first_appearance_message)  				{  					//LL_DEBUGS("Avatar") << "param slam " << i << " " << newWeight << llendl; -					param->setWeight(newWeight, FALSE); +					param->setWeight(newWeight);  				}  				else  				{  					//LL_DEBUGS("Avatar") << std::setprecision(5) << " param target " << i << " " << param->getWeight() << " -> " << newWeight << llendl;  					interp_params = TRUE; -					param->setAnimationTarget(newWeight, FALSE); +					param->setAnimationTarget(newWeight);  				}  			}  		} @@ -7100,7 +7046,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )  			ESex new_sex = getSex();  			if( old_sex != new_sex )  			{ -				updateSexDependentLayerSets( FALSE ); +				updateSexDependentLayerSets();  			}	  		} @@ -7610,41 +7556,6 @@ void LLVOAvatar::startAppearanceAnimation()  	}  } -//virtual -void LLVOAvatar::bodySizeChanged() -{ -	if (isSelf() && !LLAppearanceMgr::instance().isInUpdateAppearanceFromCOF()) -	{	// notify simulator of change in size -		// but not if we are in the middle of updating appearance -		gAgent.sendAgentSetAppearance(); -	} -} - -BOOL LLVOAvatar::isUsingServerBakes() const -{ -#if 1 -	// Sanity check - visual param for appearance version should match mUseServerBakes -	LLVisualParam* appearance_version_param = getVisualParam(11000); -	llassert(appearance_version_param); -	F32 wt = appearance_version_param->getWeight(); -	F32 expect_wt = mUseServerBakes ? 1.0 : 0.0; -	if (!is_approx_equal(wt,expect_wt)) -	{ -		llwarns << "wt " << wt << " differs from expected " << expect_wt << llendl; -	} -#endif - -	return mUseServerBakes; -} - -void LLVOAvatar::setIsUsingServerBakes(BOOL newval) -{ -	mUseServerBakes = newval; -	LLVisualParam* appearance_version_param = getVisualParam(11000); -	llassert(appearance_version_param); -	appearance_version_param->setWeight(newval ? 1.0 : 0.0, false); -} -  // virtual  void LLVOAvatar::removeMissingBakedTextures()  {	 diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 8d047045cb..d297ce2b91 100755 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -142,8 +142,6 @@ public:  	bool 						allTexturesCompletelyDownloaded(std::set<LLUUID>& ids) const;  	bool 						allLocalTexturesCompletelyDownloaded() const;  	bool 						allBakedTexturesCompletelyDownloaded() const; -	void 						bakedTextureOriginCounts(S32 &sb_count, S32 &host_count, -														 S32 &both_count, S32 &neither_count);  	std::string 				bakedTextureOriginInfo();  	void 						collectLocalTextureUUIDs(std::set<LLUUID>& ids) const;  	void 						collectBakedTextureUUIDs(std::set<LLUUID>& ids) const; @@ -402,7 +400,7 @@ public:  	// Global colors  	//--------------------------------------------------------------------  public: -	/*virtual*/void onGlobalColorChanged(const LLTexGlobalColor* global_color, BOOL upload_bake); +	/*virtual*/void onGlobalColorChanged(const LLTexGlobalColor* global_color);  	//--------------------------------------------------------------------  	// Visibility @@ -562,7 +560,7 @@ protected:  	// Composites  	//--------------------------------------------------------------------  public: -	virtual void	invalidateComposite(LLTexLayerSet* layerset, BOOL upload_result); +	virtual void	invalidateComposite(LLTexLayerSet* layerset);  	virtual void	invalidateAll();  	virtual void	setCompositeUpdatesEnabled(bool b) {}  	virtual void 	setCompositeUpdatesEnabled(U32 index, bool b) {} @@ -599,7 +597,7 @@ private:  public:  	void			debugColorizeSubMeshes(U32 i, const LLColor4& color);  	virtual void 	updateMeshTextures(); -	void 			updateSexDependentLayerSets(BOOL upload_bake); +	void 			updateSexDependentLayerSets();  	virtual void	dirtyMesh(); // Dirty the avatar mesh  	void 			updateMeshData();  protected: @@ -632,7 +630,6 @@ public:  	void 			processAvatarAppearance(LLMessageSystem* mesgsys);  	void 			hideSkirt();  	void			startAppearanceAnimation(); -	/*virtual*/ void bodySizeChanged();  	//--------------------------------------------------------------------  	// Appearance morphing @@ -645,12 +642,6 @@ public:  	// editing or when waiting for a subsequent server rebake.  	/*virtual*/ BOOL	isUsingLocalAppearance() const { return mUseLocalAppearance; } -	// True if this avatar should fetch its baked textures via the new -	// appearance mechanism. -	BOOL				isUsingServerBakes() const; -	void 				setIsUsingServerBakes(BOOL newval); - -  	// True if we are currently in appearance editing mode. Often but  	// not always the same as isUsingLocalAppearance().  	/*virtual*/ BOOL	isEditingAppearance() const { return mIsEditingAppearance; } @@ -663,7 +654,6 @@ private:  	F32				mLastAppearanceBlendTime;  	BOOL			mIsEditingAppearance; // flag for if we're actively in appearance editing mode  	BOOL			mUseLocalAppearance; // flag for if we're using a local composite -	BOOL			mUseServerBakes; // flag for if baked textures should be fetched from baking service (false if they're temporary uploads)  	//--------------------------------------------------------------------  	// Visibility diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index a710c95233..6f238571a4 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -188,15 +188,6 @@ bool update_avatar_rez_metrics()  	return false;  } -bool check_for_unsupported_baked_appearance() -{ -	if (!isAgentAvatarValid()) -		return true; - -	gAgentAvatarp->checkForUnsupportedServerBakeAppearance(); -	return false; -} -  void LLVOAvatarSelf::initInstance()  {  	BOOL status = TRUE; @@ -233,7 +224,6 @@ void LLVOAvatarSelf::initInstance()  	//doPeriodically(output_self_av_texture_diagnostics, 30.0);  	doPeriodically(update_avatar_rez_metrics, 5.0); -	doPeriodically(check_for_unsupported_baked_appearance, 120.0);  	doPeriodically(boost::bind(&LLVOAvatarSelf::checkStuckAppearance, this), 30.0);  } @@ -672,49 +662,41 @@ LLJoint *LLVOAvatarSelf::getJoint(const std::string &name)  	return LLVOAvatar::getJoint(name);  }  // virtual -BOOL LLVOAvatarSelf::setVisualParamWeight(const LLVisualParam *which_param, F32 weight, BOOL upload_bake ) +BOOL LLVOAvatarSelf::setVisualParamWeight(const LLVisualParam *which_param, F32 weight)  {  	if (!which_param)  	{  		return FALSE;  	}  	LLViewerVisualParam *param = (LLViewerVisualParam*) LLCharacter::getVisualParam(which_param->getID()); -	return setParamWeight(param,weight,upload_bake); +	return setParamWeight(param,weight);  }  // virtual -BOOL LLVOAvatarSelf::setVisualParamWeight(const char* param_name, F32 weight, BOOL upload_bake ) +BOOL LLVOAvatarSelf::setVisualParamWeight(const char* param_name, F32 weight)  {  	if (!param_name)  	{  		return FALSE;  	}  	LLViewerVisualParam *param = (LLViewerVisualParam*) LLCharacter::getVisualParam(param_name); -	return setParamWeight(param,weight,upload_bake); +	return setParamWeight(param,weight);  }  // virtual -BOOL LLVOAvatarSelf::setVisualParamWeight(S32 index, F32 weight, BOOL upload_bake ) +BOOL LLVOAvatarSelf::setVisualParamWeight(S32 index, F32 weight)  {  	LLViewerVisualParam *param = (LLViewerVisualParam*) LLCharacter::getVisualParam(index); -	return setParamWeight(param,weight,upload_bake); +	return setParamWeight(param,weight);  } -BOOL LLVOAvatarSelf::setParamWeight(const LLViewerVisualParam *param, F32 weight, BOOL upload_bake ) +BOOL LLVOAvatarSelf::setParamWeight(const LLViewerVisualParam *param, F32 weight)  {  	if (!param)  	{  		return FALSE;  	} -#if 0 -	// FIXME DRANO - kludgy way to avoid overwriting avatar state from wearables. -	if (isUsingServerBakes() && !isUsingLocalAppearance()) -	{ -		return FALSE; -	} -#endif -  	if (param->getCrossWearable())  	{  		LLWearableType::EType type = (LLWearableType::EType)param->getWearableType(); @@ -724,12 +706,12 @@ BOOL LLVOAvatarSelf::setParamWeight(const LLViewerVisualParam *param, F32 weight  			LLViewerWearable *wearable = gAgentWearables.getViewerWearable(type,count);  			if (wearable)  			{ -				wearable->setVisualParamWeight(param->getID(), weight, upload_bake); +				wearable->setVisualParamWeight(param->getID(), weight);  			}  		}  	} -	return LLCharacter::setVisualParamWeight(param,weight,upload_bake); +	return LLCharacter::setVisualParamWeight(param,weight);  }  /*virtual*/  @@ -742,7 +724,7 @@ void LLVOAvatarSelf::updateVisualParams()  void LLVOAvatarSelf::idleUpdateAppearanceAnimation()  {  	// Animate all top-level wearable visual parameters -	gAgentWearables.animateAllWearableParams(calcMorphAmount(), FALSE); +	gAgentWearables.animateAllWearableParams(calcMorphAmount());  	// apply wearable visual params to avatar  	for (U32 type = 0; type < LLWearableType::WT_COUNT; type++) @@ -793,6 +775,10 @@ U32  LLVOAvatarSelf::processUpdateMessage(LLMessageSystem *mesgsys,  {  	U32 retval = LLVOAvatar::processUpdateMessage(mesgsys,user_data,block_num,update_type,dp); +	// SUNSHINE CLEANUP - does this become relevant again if we don't +	// have to wait for appearance message to tell us where bakes are +	// coming from? +  #if 0  	// DRANO - it's not clear this does anything useful. If we wait  	// until an appearance message has been received, we already have @@ -883,13 +869,9 @@ void LLVOAvatarSelf::removeMissingBakedTextures()  		{  			LLViewerTexLayerSet *layerset = getTexLayerSet(i);  			layerset->setUpdatesEnabled(TRUE); -			invalidateComposite(layerset, FALSE); +			invalidateComposite(layerset);  		}  		updateMeshTextures(); -		if (getRegion() && !getRegion()->getCentralBakeVersion()) -		{ -			requestLayerSetUploads(); -		}  	}  } @@ -1064,7 +1046,7 @@ void LLVOAvatarSelf::updateAttachmentVisibility(U32 camera_mode)  // forces an update to any baked textures relevant to type.  // will force an upload of the resulting bake if the second parameter is TRUE  //----------------------------------------------------------------------------- -void LLVOAvatarSelf::wearableUpdated( LLWearableType::EType type, BOOL upload_result ) +void LLVOAvatarSelf::wearableUpdated(LLWearableType::EType type)  {  	for (LLAvatarAppearanceDictionary::BakedTextures::const_iterator baked_iter = LLAvatarAppearanceDictionary::getInstance()->getBakedTextures().begin();  		 baked_iter != LLAvatarAppearanceDictionary::getInstance()->getBakedTextures().end(); @@ -1086,20 +1068,13 @@ void LLVOAvatarSelf::wearableUpdated( LLWearableType::EType type, BOOL upload_re  					if (layerset)  					{  						layerset->setUpdatesEnabled(true); -						invalidateComposite(layerset, upload_result); +						invalidateComposite(layerset);  					}  					break;  				}  			}  		}  	} -	 -	// Physics type has no associated baked textures, but change of params needs to be sent to -	// other avatars. -	if (type == LLWearableType::WT_PHYSICS) -	  { -	    gAgent.sendAgentSetAppearance(); -	  }  }  //----------------------------------------------------------------------------- @@ -1511,15 +1486,6 @@ BOOL LLVOAvatarSelf::isAllLocalTextureDataFinal() const  	return TRUE;  } -BOOL LLVOAvatarSelf::isBakedTextureFinal(const LLAvatarAppearanceDefines::EBakedTextureIndex index) const -{ -	const LLViewerTexLayerSet *layerset = getLayerSet(index); -	if (!layerset) return FALSE; -	const LLViewerTexLayerSetBuffer *layerset_buffer = layerset->getViewerComposite(); -	if (!layerset_buffer) return FALSE; -	return !layerset_buffer->uploadNeeded(); -} -  BOOL LLVOAvatarSelf::isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex type, U32 index) const  {  	LLUUID id; @@ -1577,49 +1543,12 @@ BOOL LLVOAvatarSelf::isTextureVisible(LLAvatarAppearanceDefines::ETextureIndex t  	return isTextureVisible(type,index);  } - -//----------------------------------------------------------------------------- -// requestLayerSetUploads() -//----------------------------------------------------------------------------- -void LLVOAvatarSelf::requestLayerSetUploads() -{ -	for (U32 i = 0; i < mBakedTextureDatas.size(); i++) -	{ -		requestLayerSetUpload((EBakedTextureIndex)i); -	} -} - -void LLVOAvatarSelf::requestLayerSetUpload(LLAvatarAppearanceDefines::EBakedTextureIndex i) -{ -	ETextureIndex tex_index = mBakedTextureDatas[i].mTextureIndex; -	const BOOL layer_baked = isTextureDefined(tex_index, gAgentWearables.getWearableCount(tex_index)); -	LLViewerTexLayerSet *layerset = getLayerSet(i); -	if (!layer_baked && layerset) -	{ -		layerset->requestUpload(); -	} -} -  bool LLVOAvatarSelf::areTexturesCurrent() const  { -	return !hasPendingBakedUploads() && gAgentWearables.areWearablesLoaded(); -} - -// virtual -bool LLVOAvatarSelf::hasPendingBakedUploads() const -{ -	for (U32 i = 0; i < mBakedTextureDatas.size(); i++) -	{ -		LLViewerTexLayerSet* layerset = getTexLayerSet(i); -		if (layerset && layerset->getViewerComposite() && layerset->getViewerComposite()->uploadPending()) -		{ -			return true; -		} -	} -	return false; +	return gAgentWearables.areWearablesLoaded();  } -void LLVOAvatarSelf::invalidateComposite( LLTexLayerSet* layerset, BOOL upload_result ) +void LLVOAvatarSelf::invalidateComposite( LLTexLayerSet* layerset)  {  	LLViewerTexLayerSet *layer_set = dynamic_cast<LLViewerTexLayerSet*>(layerset);  	if( !layer_set || !layer_set->getUpdatesEnabled() ) @@ -1630,16 +1559,6 @@ void LLVOAvatarSelf::invalidateComposite( LLTexLayerSet* layerset, BOOL upload_r  	layer_set->requestUpdate();  	layer_set->invalidateMorphMasks(); - -	if( upload_result  && (getRegion() && !getRegion()->getCentralBakeVersion())) -	{ -		llassert(isSelf()); - -		ETextureIndex baked_te = getBakedTE( layer_set ); -		setTEImage( baked_te, LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT_AVATAR) ); -		layer_set->requestUpload(); -		updateMeshTextures(); -	}  }  void LLVOAvatarSelf::invalidateAll() @@ -1647,7 +1566,7 @@ void LLVOAvatarSelf::invalidateAll()  	for (U32 i = 0; i < mBakedTextureDatas.size(); i++)  	{  		LLViewerTexLayerSet *layerset = getTexLayerSet(i); -		invalidateComposite(layerset, TRUE); +		invalidateComposite(layerset);  	}  	//mDebugSelfLoadTimer.reset();  } @@ -2242,25 +2161,6 @@ const std::string LLVOAvatarSelf::debugDumpAllLocalTextureDataInfo() const  	return text;  } - -#if 0 -// Dump avatar metrics data. -LLSD LLVOAvatarSelf::metricsData() -{ -	// runway - add region info -	LLSD result; -	result["rez_status"] = LLVOAvatar::rezStatusToString(getRezzedStatus()); -	result["timers"]["debug_existence"] = mDebugExistenceTimer.getElapsedTimeF32(); -	result["timers"]["ruth_debug"] = mRuthDebugTimer.getElapsedTimeF32(); -	result["timers"]["ruth"] = mRuthTimer.getElapsedTimeF32(); -	result["timers"]["invisible"] = mInvisibleTimer.getElapsedTimeF32(); -	result["timers"]["fully_loaded"] = mFullyLoadedTimer.getElapsedTimeF32(); -	result["startup"] = LLStartUp::getPhases().dumpPhases(); -	 -	return result; -} -#endif -  class ViewerAppearanceChangeMetricsResponder: public LLCurl::Responder  {  	LOG_CLASS(ViewerAppearanceChangeMetricsResponder); @@ -2378,7 +2278,12 @@ void LLVOAvatarSelf::sendViewerAppearanceChangeMetrics()  	static volatile bool reporting_started(false);  	static volatile S32 report_sequence(0); -	LLSD msg; // = metricsData(); +	std::string viewer_version_channel = LLVersionInfo::getChannel(); +	sanitize_for_tsdb_tag(viewer_version_channel); +	std::string viewer_version_short = LLVersionInfo::getShortVersion(); +	std::string viewer_version_build = llformat("%d", LLVersionInfo::getBuild()); + +	LLSD msg;  	msg["message"] = "ViewerAppearanceChangeMetrics";  	msg["session_id"] = gAgentSessionID;  	msg["agent_id"] = gAgentID; @@ -2438,66 +2343,6 @@ void LLVOAvatarSelf::sendViewerAppearanceChangeMetrics()  	}  } -class CheckAgentAppearanceServiceResponder: public LLHTTPClient::Responder -{ -	LOG_CLASS(CheckAgentAppearanceServiceResponder); -public: -	CheckAgentAppearanceServiceResponder() -	{ -	} -	 -	virtual ~CheckAgentAppearanceServiceResponder() -	{ -	} - -private: -	/* virtual */ void httpSuccess() -	{ -		LL_DEBUGS("Avatar") << "OK" << llendl; -	} - -	// Error -	/*virtual*/ void httpFailure() -	{ -		if (isAgentAvatarValid()) -		{ -			LL_DEBUGS("Avatar") << "failed, will rebake " -					<< dumpResponse() << LL_ENDL; -			forceAppearanceUpdate(); -		} -	} - -public: -	static void forceAppearanceUpdate() -	{ -		// Trying to rebake immediately after crossing region boundary -		// seems to be failure prone; adding a delay factor. Yes, this -		// fix is ad-hoc and not guaranteed to work in all cases. -		doAfterInterval(boost::bind(&LLVOAvatarSelf::forceBakeAllTextures, -									gAgentAvatarp.get(), true), 5.0); -	} -}; - -void LLVOAvatarSelf::checkForUnsupportedServerBakeAppearance() -{ -	// Need to check only if we have a server baked appearance and are -	// in a non-baking region. -	if (!gAgentAvatarp->isUsingServerBakes()) -		return; -	if (!gAgent.getRegion() || gAgent.getRegion()->getCentralBakeVersion()!=0) -		return; - -	// if baked image service is unknown, need to refresh. -	if (LLAppearanceMgr::instance().getAppearanceServiceURL().empty()) -	{ -		CheckAgentAppearanceServiceResponder::forceAppearanceUpdate(); -	} -	// query baked image service to check status. -	std::string image_url = gAgentAvatarp->getImageURL(TEX_HEAD_BAKED, -													   getTE(TEX_HEAD_BAKED)->getID()); -	LLHTTPClient::head(image_url, new CheckAgentAppearanceServiceResponder); -} -  const LLUUID& LLVOAvatarSelf::grabBakedTexture(EBakedTextureIndex baked_index) const  {  	if (canGrabBakedTexture(baked_index)) @@ -2668,6 +2513,10 @@ void LLVOAvatarSelf::setNewBakedTexture(LLAvatarAppearanceDefines::EBakedTexture  //-----------------------------------------------------------------------------  void LLVOAvatarSelf::setNewBakedTexture( ETextureIndex te, const LLUUID& uuid )  { +	// SUNSHINE CLEANUP +	// If we reinstate processUpdateMessage(), this needs to be updated for server-bake textures. +	llassert(false); +  	// Baked textures live on other sims.  	LLHost target_host = getObjectHost();	  	setTEImage( te, LLViewerTextureManager::getFetchedTextureFromHost( uuid, FTT_HOST_BAKE, target_host ) ); @@ -2692,42 +2541,37 @@ void LLVOAvatarSelf::setNewBakedTexture( ETextureIndex te, const LLUUID& uuid )  	//	dumpAvatarTEs( "setNewBakedTexture() send" );  	// RN: throttle uploads -	if (!hasPendingBakedUploads()) -	{ -		gAgent.sendAgentSetAppearance(); - -		if (gSavedSettings.getBOOL("DebugAvatarRezTime")) +	if (gSavedSettings.getBOOL("DebugAvatarRezTime")) +	{ +		LLSD args; +		args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32()); +		args["TIME"] = llformat("%d",(U32)mDebugSelfLoadTimer.getElapsedTimeF32()); +		if (isAllLocalTextureDataFinal()) +		{ +			LLNotificationsUtil::add("AvatarRezSelfBakedDoneNotification",args); +			LL_DEBUGS("Avatar") << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() +								<< "sec ]" +								<< avString()  +								<< "RuthTimer " << (U32)mRuthDebugTimer.getElapsedTimeF32() +								<< " SelfLoadTimer " << (U32)mDebugSelfLoadTimer.getElapsedTimeF32() +								<< " Notification " << "AvatarRezSelfBakedDoneNotification" +								<< llendl; +		} +		else  		{ -			LLSD args; -			args["EXISTENCE"] = llformat("%d",(U32)mDebugExistenceTimer.getElapsedTimeF32()); -			args["TIME"] = llformat("%d",(U32)mDebugSelfLoadTimer.getElapsedTimeF32()); -			if (isAllLocalTextureDataFinal()) -			{ -				LLNotificationsUtil::add("AvatarRezSelfBakedDoneNotification",args); -				LL_DEBUGS("Avatar") << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() -						<< "sec ]" -						<< avString()  -						<< "RuthTimer " << (U32)mRuthDebugTimer.getElapsedTimeF32() -						<< " SelfLoadTimer " << (U32)mDebugSelfLoadTimer.getElapsedTimeF32() -						<< " Notification " << "AvatarRezSelfBakedDoneNotification" -						<< llendl; -			} -			else -			{ -				args["STATUS"] = debugDumpAllLocalTextureDataInfo(); -				LLNotificationsUtil::add("AvatarRezSelfBakedUpdateNotification",args); -				LL_DEBUGS("Avatar") << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() -						<< "sec ]" -						<< avString()  -						<< "RuthTimer " << (U32)mRuthDebugTimer.getElapsedTimeF32() -						<< " SelfLoadTimer " << (U32)mDebugSelfLoadTimer.getElapsedTimeF32() -						<< " Notification " << "AvatarRezSelfBakedUpdateNotification" -						<< llendl; -			} +			args["STATUS"] = debugDumpAllLocalTextureDataInfo(); +			LLNotificationsUtil::add("AvatarRezSelfBakedUpdateNotification",args); +			LL_DEBUGS("Avatar") << "REZTIME: [ " << (U32)mDebugExistenceTimer.getElapsedTimeF32() +								<< "sec ]" +								<< avString()  +								<< "RuthTimer " << (U32)mRuthDebugTimer.getElapsedTimeF32() +								<< " SelfLoadTimer " << (U32)mDebugSelfLoadTimer.getElapsedTimeF32() +								<< " Notification " << "AvatarRezSelfBakedUpdateNotification" +								<< llendl;  		} - -		outputRezDiagnostics();  	} + +	outputRezDiagnostics();  }  // FIXME: This is not called consistently. Something may be broken. @@ -2805,40 +2649,6 @@ void LLVOAvatarSelf::reportAvatarRezTime() const  	// TODO: report mDebugSelfLoadTimer.getElapsedTimeF32() somehow.  } -//----------------------------------------------------------------------------- -// setCachedBakedTexture() -// A baked texture id was received from a cache query, make it active -//----------------------------------------------------------------------------- -void LLVOAvatarSelf::setCachedBakedTexture( ETextureIndex te, const LLUUID& uuid ) -{ -	setTETexture( te, uuid ); - -	/* switch(te) -		case TEX_HEAD_BAKED: -			if( mHeadLayerSet ) -				mHeadLayerSet->cancelUpload(); */ -	for (U32 i = 0; i < mBakedTextureDatas.size(); i++) -	{ -		LLViewerTexLayerSet *layerset = getTexLayerSet(i); -		if ( mBakedTextureDatas[i].mTextureIndex == te && layerset) -		{ -			if (mInitialBakeIDs[i] != LLUUID::null) -			{ -				if (mInitialBakeIDs[i] == uuid) -				{ -					llinfos << "baked texture correctly loaded at login! " << i << llendl; -				} -				else -				{ -					llwarns << "baked texture does not match id loaded at login!" << i << llendl; -				} -				mInitialBakeIDs[i] = LLUUID::null; -			} -			layerset->cancelUpload(); -		} -	} -} -  // static  void LLVOAvatarSelf::processRebakeAvatarTextures(LLMessageSystem* msg, void**)  { @@ -2867,7 +2677,7 @@ void LLVOAvatarSelf::processRebakeAvatarTextures(LLMessageSystem* msg, void**)  				if (layer_set)  				{  					llinfos << "TAT: rebake - matched entry " << (S32)index << llendl; -					gAgentAvatarp->invalidateComposite(layer_set, TRUE); +					gAgentAvatarp->invalidateComposite(layer_set);  					found = TRUE;  					LLViewerStats::getInstance()->incStat(LLViewerStats::ST_TEX_REBAKES);  				} @@ -2901,10 +2711,9 @@ void LLVOAvatarSelf::forceBakeAllTextures(bool slam_for_debug)  			if (slam_for_debug)  			{  				layer_set->setUpdatesEnabled(TRUE); -				layer_set->cancelUpload();  			} -			invalidateComposite(layer_set, TRUE); +			invalidateComposite(layer_set);  			LLViewerStats::getInstance()->incStat(LLViewerStats::ST_TEX_REBAKES);  		}  		else diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index 3cbf2b5cf5..7eaa239890 100755 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -97,9 +97,9 @@ public:  				void		resetJointPositions( void ); -	/*virtual*/ BOOL setVisualParamWeight(const LLVisualParam *which_param, F32 weight, BOOL upload_bake = FALSE ); -	/*virtual*/ BOOL setVisualParamWeight(const char* param_name, F32 weight, BOOL upload_bake = FALSE ); -	/*virtual*/ BOOL setVisualParamWeight(S32 index, F32 weight, BOOL upload_bake = FALSE ); +	/*virtual*/ BOOL setVisualParamWeight(const LLVisualParam *which_param, F32 weight); +	/*virtual*/ BOOL setVisualParamWeight(const char* param_name, F32 weight); +	/*virtual*/ BOOL setVisualParamWeight(S32 index, F32 weight);  	/*virtual*/ void updateVisualParams();  	/*virtual*/ void idleUpdateAppearanceAnimation(); @@ -111,7 +111,7 @@ public:  private:  	// helper function. Passed in param is assumed to be in avatar's parameter list. -	BOOL setParamWeight(const LLViewerVisualParam *param, F32 weight, BOOL upload_bake = FALSE ); +	BOOL setParamWeight(const LLViewerVisualParam *param, F32 weight); @@ -196,12 +196,10 @@ public:  	// Loading status  	//--------------------------------------------------------------------  public: -	/*virtual*/ bool	hasPendingBakedUploads() const;  	S32					getLocalDiscardLevel(LLAvatarAppearanceDefines::ETextureIndex type, U32 index) const;  	bool				areTexturesCurrent() const;  	BOOL				isLocalTextureDataAvailable(const LLViewerTexLayerSet* layerset) const;  	BOOL				isLocalTextureDataFinal(const LLViewerTexLayerSet* layerset) const; -	BOOL				isBakedTextureFinal(const LLAvatarAppearanceDefines::EBakedTextureIndex index) const;  	// If you want to check all textures of a given type, pass gAgentWearables.getWearableCount() for index  	/*virtual*/ BOOL    isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex type, U32 index) const;  	/*virtual*/ BOOL	isTextureVisible(LLAvatarAppearanceDefines::ETextureIndex type, U32 index = 0) const; @@ -236,9 +234,9 @@ private:  	//--------------------------------------------------------------------  public:  	LLAvatarAppearanceDefines::ETextureIndex getBakedTE(const LLViewerTexLayerSet* layerset ) const; +	// SUNSHINE CLEANUP - dead?  	void				setNewBakedTexture(LLAvatarAppearanceDefines::EBakedTextureIndex i, const LLUUID &uuid);  	void				setNewBakedTexture(LLAvatarAppearanceDefines::ETextureIndex i, const LLUUID& uuid); -	void				setCachedBakedTexture(LLAvatarAppearanceDefines::ETextureIndex i, const LLUUID& uuid);  	void				forceBakeAllTextures(bool slam_for_debug = false);  	static void			processRebakeAvatarTextures(LLMessageSystem* msg, void**);  protected: @@ -248,8 +246,6 @@ protected:  	// Layers  	//--------------------------------------------------------------------  public: -	void 				requestLayerSetUploads(); -	void				requestLayerSetUpload(LLAvatarAppearanceDefines::EBakedTextureIndex i);  	void				requestLayerSetUpdate(LLAvatarAppearanceDefines::ETextureIndex i);  	LLViewerTexLayerSet* getLayerSet(LLAvatarAppearanceDefines::EBakedTextureIndex baked_index) const;  	LLViewerTexLayerSet* getLayerSet(LLAvatarAppearanceDefines::ETextureIndex index) const; @@ -259,7 +255,7 @@ public:  	// Composites  	//--------------------------------------------------------------------  public: -	/* virtual */ void	invalidateComposite(LLTexLayerSet* layerset, BOOL upload_result); +	/* virtual */ void	invalidateComposite(LLTexLayerSet* layerset);  	/* virtual */ void	invalidateAll();  	/* virtual */ void	setCompositeUpdatesEnabled(bool b); // only works for self  	/* virtual */ void  setCompositeUpdatesEnabled(U32 index, bool b); @@ -302,7 +298,7 @@ protected:   **/  public: -	void				wearableUpdated(LLWearableType::EType type, BOOL upload_result); +	void				wearableUpdated(LLWearableType::EType type);  protected:  	U32 getNumWearables(LLAvatarAppearanceDefines::ETextureIndex i) const; @@ -405,7 +401,6 @@ public:  	const std::string		debugDumpLocalTextureDataInfo(const LLViewerTexLayerSet* layerset) const; // Lists out state of this particular baked texture layer  	const std::string		debugDumpAllLocalTextureDataInfo() const; // Lists out which baked textures are at highest LOD  	void					sendViewerAppearanceChangeMetrics(); // send data associated with completing a change. -	void 					checkForUnsupportedServerBakeAppearance();  private:  	LLFrameTimer    		mDebugSelfLoadTimer;  	F32						mDebugTimeWearablesLoaded; | 
