diff options
Diffstat (limited to 'indra')
| -rwxr-xr-x[-rw-r--r--] | indra/llappearance/llavatarappearance.cpp | 4 | ||||
| -rwxr-xr-x | indra/llappearance/lldriverparam.cpp | 1 | ||||
| -rwxr-xr-x | indra/llappearance/lltexlayerparams.cpp | 1 | ||||
| -rwxr-xr-x | indra/llappearance/llwearable.cpp | 1 | ||||
| -rwxr-xr-x[-rw-r--r--] | indra/llcharacter/llcharacter.cpp | 0 | ||||
| -rwxr-xr-x[-rw-r--r--] | indra/llcharacter/llvisualparam.cpp | 20 | ||||
| -rwxr-xr-x[-rw-r--r--] | indra/llcharacter/llvisualparam.h | 12 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.cpp | 1 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.cpp | 7 | 
9 files changed, 46 insertions, 1 deletions
| diff --git a/indra/llappearance/llavatarappearance.cpp b/indra/llappearance/llavatarappearance.cpp index bdd2d75822..3c01a00e61 100644..100755 --- a/indra/llappearance/llavatarappearance.cpp +++ b/indra/llappearance/llavatarappearance.cpp @@ -903,6 +903,7 @@ BOOL LLAvatarAppearance::loadAvatar()  		if (driver_param->setInfo(info))  		{  			addVisualParam( driver_param ); +			driver_param->setParamLocation(isSelf() ? LOC_AV_SELF : LOC_AV_OTHER);  			LLVisualParam*(LLAvatarAppearance::*avatar_function)(S32)const = &LLAvatarAppearance::getVisualParam;   			if( !driver_param->linkDrivenParams(boost::bind(avatar_function,(LLAvatarAppearance*)this,_1 ), false))  			{ @@ -981,6 +982,7 @@ BOOL LLAvatarAppearance::loadSkeletonNode ()  			else  			{  				addVisualParam(param); +				param->setParamLocation(isSelf() ? LOC_AV_SELF : LOC_AV_OTHER);  			}				  		}  	} @@ -1098,10 +1100,12 @@ BOOL LLAvatarAppearance::loadMeshNodes()  				if (info_pair->second)  				{  					addSharedVisualParam(param); +					param->setParamLocation(isSelf() ? LOC_AV_SELF : LOC_AV_OTHER);  				}  				else  				{  					addVisualParam(param); +					param->setParamLocation(isSelf() ? LOC_AV_SELF : LOC_AV_OTHER);  				}  			}				  		} diff --git a/indra/llappearance/lldriverparam.cpp b/indra/llappearance/lldriverparam.cpp index 2d91ebdee9..01184a9e23 100755 --- a/indra/llappearance/lldriverparam.cpp +++ b/indra/llappearance/lldriverparam.cpp @@ -481,6 +481,7 @@ BOOL LLDriverParam::linkDrivenParams(visual_param_mapper mapper, BOOL only_cross  		if (!found)  		{  			LLViewerVisualParam* param = (LLViewerVisualParam*)mapper(driven_id); +			if (param) param->setParamLocation(this->getParamLocation());  			bool push = param && (!only_cross_params || param->getCrossWearable());  			if (push)  			{ diff --git a/indra/llappearance/lltexlayerparams.cpp b/indra/llappearance/lltexlayerparams.cpp index 58737f7ff4..64b3b62185 100755 --- a/indra/llappearance/lltexlayerparams.cpp +++ b/indra/llappearance/lltexlayerparams.cpp @@ -67,6 +67,7 @@ BOOL LLTexLayerParam::setInfo(LLViewerVisualParamInfo *info, BOOL add_to_appeara  	if (add_to_appearance)  	{  		mAvatarAppearance->addVisualParam( this); +		this->setParamLocation(mAvatarAppearance->isSelf() ? LOC_AV_SELF : LOC_AV_OTHER);  	}  	return TRUE; diff --git a/indra/llappearance/llwearable.cpp b/indra/llappearance/llwearable.cpp index 5d53d1ae39..f4891c61bd 100755 --- a/indra/llappearance/llwearable.cpp +++ b/indra/llappearance/llwearable.cpp @@ -629,6 +629,7 @@ void LLWearable::addVisualParam(LLVisualParam *param)  		delete mVisualParamIndexMap[param->getID()];  	}  	param->setIsDummy(FALSE); +	param->setParamLocation(LOC_WEARABLE);  	mVisualParamIndexMap[param->getID()] = param;  	mSavedVisualParamMap[param->getID()] = param->getDefaultWeight();  } diff --git a/indra/llcharacter/llcharacter.cpp b/indra/llcharacter/llcharacter.cpp index 85cf1cd3f5..85cf1cd3f5 100644..100755 --- a/indra/llcharacter/llcharacter.cpp +++ b/indra/llcharacter/llcharacter.cpp diff --git a/indra/llcharacter/llvisualparam.cpp b/indra/llcharacter/llvisualparam.cpp index 255f61b1b3..1934ed55d3 100644..100755 --- a/indra/llcharacter/llvisualparam.cpp +++ b/indra/llcharacter/llvisualparam.cpp @@ -168,7 +168,8 @@ LLVisualParam::LLVisualParam()  	mIsAnimating( FALSE ),  	mID( -1 ),  	mInfo( 0 ), -	mIsDummy(FALSE) +	mIsDummy(FALSE), +	mParamLocation(LOC_UNKNOWN)  {  } @@ -320,3 +321,20 @@ void LLVisualParam::resetDrivenParams()  	// nothing to do for non-driver parameters  	return;  } + +void LLVisualParam::setParamLocation(EParamLocation loc) +{ +	if (mParamLocation == LOC_UNKNOWN) +	{ +		mParamLocation = loc; +	} +	else if (mParamLocation == loc) +	{ +		// no action +	} +	else +	{ +		llwarns << "param location is already " << mParamLocation << ", not slamming to " << loc << llendl; +	} +} + diff --git a/indra/llcharacter/llvisualparam.h b/indra/llcharacter/llvisualparam.h index 694e27f371..8345990f47 100644..100755 --- a/indra/llcharacter/llvisualparam.h +++ b/indra/llcharacter/llvisualparam.h @@ -50,6 +50,14 @@ enum EVisualParamGroup  	NUM_VISUAL_PARAM_GROUPS  }; +enum EParamLocation +{ +	LOC_UNKNOWN, +	LOC_AV_SELF, +	LOC_AV_OTHER, +	LOC_WEARABLE +}; +  const S32 MAX_TRANSMITTED_VISUAL_PARAMS = 255;  //----------------------------------------------------------------------------- @@ -149,6 +157,9 @@ public:  	void					setIsDummy(BOOL is_dummy) { mIsDummy = is_dummy; } +	void					setParamLocation(EParamLocation loc); +	EParamLocation			getParamLocation() const { return mParamLocation; } +  protected:  	F32					mCurWeight;			// current weight  	F32					mLastWeight;		// last weight @@ -160,6 +171,7 @@ protected:  	S32					mID;				// id for storing weight/morphtarget compares compactly  	LLVisualParamInfo	*mInfo; +	EParamLocation		mParamLocation;		// where does this visual param live?  };  #endif // LL_LLVisualParam_H diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 3d4573903f..a2ace15f2d 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1792,6 +1792,7 @@ S32 LLVOAvatar::setTETexture(const U8 te, const LLUUID& uuid)  		const std::string url = getImageURL(te,uuid);  		if (!url.empty())  		{ +			llinfos << "texture URL " << url << llendl;  			return setTETextureCore(te, uuid, url);  		} diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index e4fb1ebf88..667eedd0c8 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -2654,7 +2654,14 @@ void LLVOAvatarSelf::onCustomizeStart(bool disable_camera_switch)  			gAgentCamera.changeCameraToCustomizeAvatar();  		} +		bool enable_verbose_dumps = gSavedSettings.getBOOL("DebugAvatarAppearanceMessage"); +		std::string dump_prefix = gAgentAvatarp->getFullname() + "_" + (gAgentAvatarp->isSelf()?"s":"o") + "_"; +		if (enable_verbose_dumps) { gAgentAvatarp->dumpArchetypeXML(dump_prefix + "on_customize_start"); }  		gAgentAvatarp->clearVisualParamWeights(); +		if (enable_verbose_dumps) { gAgentAvatarp->dumpArchetypeXML(dump_prefix + "on_customize_post_clear"); }  +		gAgentAvatarp->idleUpdateAppearanceAnimation(); +		if (enable_verbose_dumps) { gAgentAvatarp->dumpArchetypeXML(dump_prefix + "on_customize_post_update"); } +		  		gAgentAvatarp->invalidateAll();  		gAgentAvatarp->updateMeshTextures();  	} | 
