diff options
| author | Nyx (Neal Orman) <nyx@lindenlab.com> | 2010-03-05 11:55:48 -0500 | 
|---|---|---|
| committer | Nyx (Neal Orman) <nyx@lindenlab.com> | 2010-03-05 11:55:48 -0500 | 
| commit | a027e1d6e5a0726866c50df87d20a37dc562cdaf (patch) | |
| tree | d1461362b0dc210a7899e85c4805c5c9adced3df /indra/newview | |
| parent | d33b6a18872a652808afe3aa9ae40de6adaa3004 (diff) | |
| parent | a4937c0124bcd9226940d047615b5e58447e0b5d (diff) | |
Automated merge with ssh://hg.lindenlab.com/viewer/viewer-2-0/
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llagent.cpp | 21 | ||||
| -rw-r--r-- | indra/newview/llvoavatarself.cpp | 18 | ||||
| -rw-r--r-- | indra/newview/llvoavatarself.h | 1 | 
3 files changed, 26 insertions, 14 deletions
| diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 1da7d450c9..c5d7f6f118 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -5845,15 +5845,22 @@ void LLAgent::processAgentCachedTextureResponse(LLMessageSystem *mesgsys, void *  		mesgsys->getUUIDFast(_PREHASH_WearableData, _PREHASH_TextureID, texture_id, texture_block);  		mesgsys->getU8Fast(_PREHASH_WearableData, _PREHASH_TextureIndex, texture_index, texture_block); -		if (texture_id.notNull()  -			&& (S32)texture_index < BAKED_NUM_INDICES  +		if ((S32)texture_index < BAKED_NUM_INDICES   			&& gAgentQueryManager.mActiveCacheQueries[texture_index] == query_id)  		{ -			//llinfos << "Received cached texture " << (U32)texture_index << ": " << texture_id << llendl; -			avatarp->setCachedBakedTexture(LLVOAvatarDictionary::bakedToLocalTextureIndex((EBakedTextureIndex)texture_index), texture_id); -			//avatarp->setTETexture( LLVOAvatar::sBakedTextureIndices[texture_index], texture_id ); -			gAgentQueryManager.mActiveCacheQueries[texture_index] = 0; -			num_results++; +			if (texture_id.notNull()) +			{ +				//llinfos << "Received cached texture " << (U32)texture_index << ": " << texture_id << llendl; +				avatarp->setCachedBakedTexture(LLVOAvatarDictionary::bakedToLocalTextureIndex((EBakedTextureIndex)texture_index), texture_id); +				//avatarp->setTETexture( LLVOAvatar::sBakedTextureIndices[texture_index], texture_id ); +				gAgentQueryManager.mActiveCacheQueries[texture_index] = 0; +				num_results++; +			} +			else +			{ +				// no cache of this bake. request upload. +				avatarp->requestLayerSetUpload((EBakedTextureIndex)texture_index); +			}  		}  	} diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index acd12099cd..7dc8772753 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -1292,19 +1292,23 @@ BOOL LLVOAvatarSelf::isTextureDefined(LLVOAvatarDefines::ETextureIndex type, U32  }  //----------------------------------------------------------------------------- -// virtual  // requestLayerSetUploads()  //-----------------------------------------------------------------------------  void LLVOAvatarSelf::requestLayerSetUploads()  {  	for (U32 i = 0; i < mBakedTextureDatas.size(); i++)  	{ -		ETextureIndex tex_index = mBakedTextureDatas[i].mTextureIndex; -		BOOL layer_baked = isTextureDefined(tex_index, gAgentWearables.getWearableCount(tex_index)); -		if (!layer_baked && mBakedTextureDatas[i].mTexLayerSet) -		{ -			mBakedTextureDatas[i].mTexLayerSet->requestUpload(); -		} +		requestLayerSetUpload((EBakedTextureIndex)i); +	} +} + +void LLVOAvatarSelf::requestLayerSetUpload(LLVOAvatarDefines::EBakedTextureIndex i) +{ +	ETextureIndex tex_index = mBakedTextureDatas[i].mTextureIndex; +	bool  layer_baked = isTextureDefined(tex_index, gAgentWearables.getWearableCount(tex_index)); +	if (!layer_baked && mBakedTextureDatas[i].mTexLayerSet) +	{ +		mBakedTextureDatas[i].mTexLayerSet->requestUpload();  	}  } diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index dc70996f0b..df3493c434 100644 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -222,6 +222,7 @@ protected:  	//--------------------------------------------------------------------  public:  	void 				requestLayerSetUploads(); +	void				requestLayerSetUpload(LLVOAvatarDefines::EBakedTextureIndex i);  	void				requestLayerSetUpdate(LLVOAvatarDefines::ETextureIndex i);  	LLTexLayerSet*		getLayerSet(LLVOAvatarDefines::ETextureIndex index) const; | 
