diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llappearance/llavatarjoint.cpp | 1 | ||||
| -rw-r--r-- | indra/llappearance/llavatarjoint.h | 3 | ||||
| -rwxr-xr-x | indra/llappearance/llavatarjointmesh.cpp | 5 | ||||
| -rwxr-xr-x | indra/llappearance/llavatarjointmesh.h | 4 | ||||
| -rwxr-xr-x | indra/newview/llviewerjointmesh.h | 4 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.cpp | 13 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.h | 2 | 
7 files changed, 18 insertions, 14 deletions
| diff --git a/indra/llappearance/llavatarjoint.cpp b/indra/llappearance/llavatarjoint.cpp index eb450485c7..6ab341af64 100644 --- a/indra/llappearance/llavatarjoint.cpp +++ b/indra/llappearance/llavatarjoint.cpp @@ -73,6 +73,7 @@ void LLAvatarJoint::init()  	mPickName = PN_DEFAULT;  	mVisible = TRUE;  	mMeshID = 0; +	mIsTransparent = FALSE;  } diff --git a/indra/llappearance/llavatarjoint.h b/indra/llappearance/llavatarjoint.h index 1dfbd37456..fec91503c7 100644 --- a/indra/llappearance/llavatarjoint.h +++ b/indra/llappearance/llavatarjoint.h @@ -59,7 +59,7 @@ public:  	// Returns true if this object is transparent.  	// This is used to determine in which order to draw objects. -	virtual BOOL isTransparent() { return FALSE; } +	virtual BOOL isTransparent() { return mIsTransparent; }  	// Returns true if this object should inherit scale modifiers from its immediate parent  	virtual BOOL inheritScale() { return FALSE; } @@ -113,6 +113,7 @@ protected:  	void init();  	BOOL		mValid; +	BOOL		mIsTransparent;  	U32			mComponents;  	F32			mMinPixelArea;  	LLJointPickName	mPickName; diff --git a/indra/llappearance/llavatarjointmesh.cpp b/indra/llappearance/llavatarjointmesh.cpp index c611ab7cec..4a5cff1dc3 100755 --- a/indra/llappearance/llavatarjointmesh.cpp +++ b/indra/llappearance/llavatarjointmesh.cpp @@ -129,8 +129,7 @@ LLAvatarJointMesh::LLAvatarJointMesh()  	mTexture( NULL ),  	mLayerSet( NULL ),  	mTestImageName( 0 ), -	mFaceIndexCount(0), -	mIsTransparent(FALSE) +	mFaceIndexCount(0)  {  	mColor[0] = 1.0f; @@ -151,6 +150,8 @@ LLAvatarJointMesh::LLAvatarJointMesh()  	mUpdateXform = FALSE;  	mValid = FALSE; + +	mIsTransparent = FALSE;  } diff --git a/indra/llappearance/llavatarjointmesh.h b/indra/llappearance/llavatarjointmesh.h index 2aade4d62b..6486932cdf 100755 --- a/indra/llappearance/llavatarjointmesh.h +++ b/indra/llappearance/llavatarjointmesh.h @@ -73,7 +73,6 @@ protected:  	LLFace*						mFace;			// ptr to a face w/ AGP copy of mesh  	U32							mFaceIndexCount; -	BOOL						mIsTransparent;  	U32							mNumSkinJoints;  	LLSkinJoint*				mSkinJoints; @@ -93,9 +92,6 @@ public:  	// Destructor  	virtual ~LLAvatarJointMesh(); -	// overloaded from base class -	/*virtual*/ BOOL isTransparent() { return mIsTransparent; } -  	// Gets the shape color  	void getColor( F32 *red, F32 *green, F32 *blue, F32 *alpha ); diff --git a/indra/newview/llviewerjointmesh.h b/indra/newview/llviewerjointmesh.h index ac5aab4ef2..0db2836e15 100755 --- a/indra/newview/llviewerjointmesh.h +++ b/indra/newview/llviewerjointmesh.h @@ -56,6 +56,10 @@ public:  	// overloaded from base class  	/*virtual*/ U32 drawShape( F32 pixelArea, BOOL first_pass, BOOL is_dummy ); +	// necessary because MS's compiler warns on function inheritance via dominance in the diamond inheritance here. +	// warns even though LLViewerJoint holds the only non virtual implementation. +	/*virtual*/ U32 render( F32 pixelArea, BOOL first_pass = TRUE, BOOL is_dummy = FALSE ) { return LLViewerJoint::render(pixelArea,first_pass,is_dummy);} +  	/*virtual*/ void updateFaceSizes(U32 &num_vertices, U32& num_indices, F32 pixel_area);  	/*virtual*/ void updateFaceData(LLFace *face, F32 pixel_area, BOOL damp_wind = FALSE, bool terse_update = false);  	/*virtual*/ BOOL updateLOD(F32 pixel_area, BOOL activate); diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index a29b3ff92b..c5bb4c3700 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -1558,24 +1558,25 @@ bool LLVOAvatarSelf::hasPendingBakedUploads() const  	return false;  } -void LLVOAvatarSelf::invalidateComposite( LLViewerTexLayerSet* layerset, BOOL upload_result ) +void LLVOAvatarSelf::invalidateComposite( LLTexLayerSet* layerset, BOOL upload_result )  { -	if( !layerset || !layerset->getUpdatesEnabled() ) +	LLViewerTexLayerSet *layer_set = dynamic_cast<LLViewerTexLayerSet*>(layerset); +	if( !layer_set || !layer_set->getUpdatesEnabled() )  	{  		return;  	}  	// llinfos << "LLVOAvatar::invalidComposite() " << layerset->getBodyRegionName() << llendl; -	layerset->requestUpdate(); -	layerset->invalidateMorphMasks(); +	layer_set->requestUpdate(); +	layer_set->invalidateMorphMasks();  	if( upload_result  && (getRegion() && !getRegion()->getCentralBakeVersion()))  	{  		llassert(isSelf()); -		ETextureIndex baked_te = getBakedTE( layerset ); +		ETextureIndex baked_te = getBakedTE( layer_set );  		setTEImage( baked_te, LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT_AVATAR) ); -		layerset->requestUpload(); +		layer_set->requestUpload();  		updateMeshTextures();  	}  } diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index 395874ee62..89bb8bf5c9 100755 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -257,7 +257,7 @@ public:  	// Composites  	//--------------------------------------------------------------------  public: -	/* virtual */ void	invalidateComposite(LLViewerTexLayerSet* layerset, BOOL upload_result); +	/* virtual */ void	invalidateComposite(LLTexLayerSet* layerset, BOOL upload_result);  	/* virtual */ void	invalidateAll();  	/* virtual */ void	setCompositeUpdatesEnabled(bool b); // only works for self  	/* virtual */ void  setCompositeUpdatesEnabled(U32 index, bool b); | 
