diff options
Diffstat (limited to 'indra')
| -rwxr-xr-x | indra/newview/llagentwearables.cpp | 40 | ||||
| -rwxr-xr-x | indra/newview/llstartup.cpp | 6 | ||||
| -rwxr-xr-x | indra/newview/llviewermenu.cpp | 1 | ||||
| -rwxr-xr-x | indra/newview/llvoavatar.cpp | 11 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.cpp | 184 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.h | 11 | 
6 files changed, 12 insertions, 241 deletions
| diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp index eda0ff71ba..798b733efb 100755 --- a/indra/newview/llagentwearables.cpp +++ b/indra/newview/llagentwearables.cpp @@ -211,11 +211,6 @@ void LLAgentWearables::AddWearableToAgentInventoryCallback::fire(const LLUUID& i  	gAgentWearables.addWearabletoAgentInventoryDone(mType, mIndex, inv_item, mWearable); -	if (mTodo & CALL_RECOVERDONE) -	{ -		LLAppearanceMgr::instance().addCOFItemLink(inv_item); -		gAgentWearables.recoverMissingWearableDone(); -	}  	/*  	 * Do this for every one in the loop  	 */ @@ -640,39 +635,6 @@ BOOL LLAgentWearables::isWearingItem(const LLUUID& item_id) const  	return getWearableFromItemID(item_id) != NULL;  } -// Normally, all wearables referred to "AgentWearablesUpdate" will correspond to actual assets in the -// database.  If for some reason, we can't load one of those assets, we can try to reconstruct it so that -// the user isn't left without a shape, for example.  (We can do that only after the inventory has loaded.) -void LLAgentWearables::recoverMissingWearable(const LLWearableType::EType type, U32 index) -{ -	// Try to recover by replacing missing wearable with a new one. -	LLNotificationsUtil::add("ReplacedMissingWearable"); -	lldebugs << "Wearable " << LLWearableType::getTypeLabel(type) << " could not be downloaded.  Replaced inventory item with default wearable." << llendl; -	LLViewerWearable* new_wearable = LLWearableList::instance().createNewWearable(type, gAgentAvatarp); - -	setWearable(type,index,new_wearable); -	//new_wearable->writeToAvatar(TRUE); - -	// Add a new one in the lost and found folder. -	// (We used to overwrite the "not found" one, but that could potentially -	// destroy content.) JC -	const LLUUID lost_and_found_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND); -	LLPointer<LLInventoryCallback> cb = -		new AddWearableToAgentInventoryCallback( -			LLPointer<LLRefCount>(NULL), -			type, -			index, -			new_wearable, -			AddWearableToAgentInventoryCallback::CALL_RECOVERDONE); -	addWearableToAgentInventory(cb, new_wearable, lost_and_found_id, TRUE); -} - -void LLAgentWearables::recoverMissingWearableDone() -{ -	gInventory.addChangedMask(LLInventoryObserver::LABEL, LLUUID::null); -	gInventory.notifyObservers(); -} -  void LLAgentWearables::addLocalTextureObject(const LLWearableType::EType wearable_type, const LLAvatarAppearanceDefines::ETextureIndex texture_type, U32 wearable_index)  {  	LLViewerWearable* wearable = getViewerWearable((LLWearableType::EType)wearable_type, wearable_index); @@ -1071,8 +1033,6 @@ void LLAgentWearables::setWearableOutfit(const LLInventoryItem::item_array_t& it  	// Start rendering & update the server  	mWearablesLoaded = TRUE;  -	// SUNSHINE CLEANUP - these checks for done never worked. Should they be modified? -	//checkWearablesLoaded();  	notifyLoadingFinished();  	gAgentAvatarp->dumpAvatarTEs("setWearableOutfit"); diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 4be0f6b40b..239227b904 100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2062,6 +2062,7 @@ bool idle_startup()  		const F32 wearables_time = wearables_timer.getElapsedTimeF32();  		const F32 MAX_WEARABLES_TIME = 10.f; +#if 0  		if (!gAgent.isGenderChosen() && isAgentAvatarValid())  		{  			// No point in waiting for clothing, we don't even @@ -2077,6 +2078,7 @@ bool idle_startup()  			LLStartUp::setStartupState( STATE_CLEANUP );  			return TRUE;  		} +#endif  		display_startup(); @@ -2370,7 +2372,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("RebakeAvatarTextures", LLVOAvatarSelf::processRebakeAvatarTextures);  	msg->setHandlerFuncFast(_PREHASH_CameraConstraint,		process_camera_constraint);  	msg->setHandlerFuncFast(_PREHASH_AvatarSitResponse,		process_avatar_sit_response);  	msg->setHandlerFunc("SetFollowCamProperties",			process_set_follow_cam_properties); @@ -2444,9 +2445,6 @@ void register_viewer_callbacks(LLMessageSystem* msg)  	// msg->setHandlerFuncFast(_PREHASH_ReputationIndividualReply,  	//					LLFloaterRate::processReputationIndividualReply); -	//msg->setHandlerFuncFast(_PREHASH_AgentWearablesUpdate, -	//					LLAgentWearables::processAgentInitialWearablesUpdate ); -  	msg->setHandlerFunc("ScriptControlChange",  						LLAgent::processScriptControlChange ); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 49eb7dc94a..e1faf3b29b 100755 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -7719,6 +7719,7 @@ void handle_buy_currency_test(void*)  	LLFloaterReg::showInstance("buy_currency_html", LLSD(url));  } +// SUNSHINE CLEANUP - is only the request update at the end needed now?  void handle_rebake_textures(void*)  {  	if (!isAgentAvatarValid()) return; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 49bbf97a23..df54f26ae7 100755 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -6856,7 +6856,7 @@ bool resolve_appearance_version(const LLAppearanceMessageContents& contents, S32  	{  		appearance_version = contents.mAppearanceVersion;  	} -	else // still not set, go with 0. +	else // still not set, go with 1.  	{  		appearance_version = 1;  	} @@ -6866,7 +6866,6 @@ 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()  //----------------------------------------------------------------------------- @@ -6898,11 +6897,15 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )  		return;  	}  	llassert(appearance_version > 0); +	if (appearance_version > 1) +	{ +		llwarns << "unsupported appearance version " << appearance_version << ", discarding appearance message" << llendl; +		return; +	}  	S32 this_update_cof_version = contents.mCOFVersion;  	S32 last_update_request_cof_version = mLastUpdateRequestCOFVersion; -	// Only now that we have result of appearance_version can we decide whether to bail out.  	if( isSelf() )  	{  		LL_DEBUGS("Avatar") << "this_update_cof_version " << this_update_cof_version @@ -6941,7 +6944,7 @@ void LLVOAvatar::processAvatarAppearance( LLMessageSystem* mesgsys )  		return;  	} -	// No backsies zone - if we get here, the message should be valid and usable, will process. +	// No backsies zone - if we get here, the message should be valid and usable, will be processed.  	// Note:  	// RequestAgentUpdateAppearanceResponder::onRequestRequested() diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 498f8c8277..d7ff78d2a6 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -764,58 +764,6 @@ void LLVOAvatarSelf::stopMotionFromSource(const LLUUID& source_id)  	}  } -//virtual -U32  LLVOAvatarSelf::processUpdateMessage(LLMessageSystem *mesgsys, -													 void **user_data, -													 U32 block_num, -													 const EObjectUpdateType update_type, -													 LLDataPacker *dp) -{ -	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 -	// the texture ids. If we don't wait, we don't yet know where to -	// look for baked textures, because we haven't received the -	// appearance version data from the appearance message. This looks -	// like an old optimization that's incompatible with server-side -	// texture baking. -	 -	// FIXME DRANO - skipping in the case of !mFirstAppearanceMessageReceived prevents us from trying to -	// load textures before we know where they come from (ie, from baking service or not); -	// unknown impact on performance. -	if (mInitialBakesLoaded == false && retval == 0x0 && mFirstAppearanceMessageReceived) -	{ -		// call update textures to force the images to be created -		updateMeshTextures(); - -		// unpack the texture UUIDs to the texture slots -		retval = unpackTEMessage(mesgsys, _PREHASH_ObjectData, (S32) block_num); - -		// need to trigger a few operations to get the avatar to use the new bakes -		for (U32 i = 0; i < mBakedTextureDatas.size(); i++) -		{ -			const LLAvatarAppearanceDefines::ETextureIndex te = mBakedTextureDatas[i].mTextureIndex; -			LLUUID texture_id = getTEImage(te)->getID(); -			setNewBakedTexture(te, texture_id); -			mInitialBakeIDs[i] = texture_id; -		} - -		onFirstTEMessageReceived(); - -		mInitialBakesLoaded = true; -	} -#endif - -	return retval; -} - -  void LLVOAvatarSelf::setLocalTextureTE(U8 te, LLViewerTexture* image, U32 index)  {  	if (te >= TEX_NUM_INDICES) @@ -2492,81 +2440,6 @@ ETextureIndex LLVOAvatarSelf::getBakedTE( const LLViewerTexLayerSet* layerset )  	return TEX_HEAD_BAKED;  } - -void LLVOAvatarSelf::setNewBakedTexture(LLAvatarAppearanceDefines::EBakedTextureIndex i, const LLUUID &uuid) -{ -	ETextureIndex index = LLAvatarAppearanceDictionary::bakedToLocalTextureIndex(i); -	setNewBakedTexture(index, uuid); -} - - -//----------------------------------------------------------------------------- -// setNewBakedTexture() -// A new baked texture has been successfully uploaded and we can start using it now. -//----------------------------------------------------------------------------- -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 ) ); -	updateMeshTextures(); -	dirtyMesh(); - -	LLVOAvatar::cullAvatarsByPixelArea(); - -	/* switch(te) -		case TEX_HEAD_BAKED: -			llinfos << "New baked texture: HEAD" << llendl; */ -	const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = LLAvatarAppearanceDictionary::getInstance()->getTexture(te); -	if (texture_dict->mIsBakedTexture) -	{ -		debugBakedTextureUpload(texture_dict->mBakedTextureIndex, TRUE); // FALSE for start of upload, TRUE for finish. -		llinfos << "New baked texture: " << texture_dict->mName << " UUID: " << uuid <<llendl; -	} -	else -	{ -		llwarns << "New baked texture: unknown te " << te << llendl; -	} -	 -	//	dumpAvatarTEs( "setNewBakedTexture() send" ); -	// RN: throttle uploads -	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 -		{ -			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(); -} -  // FIXME: This is not called consistently. Something may be broken.  void LLVOAvatarSelf::outputRezDiagnostics() const  { @@ -2642,55 +2515,7 @@ void LLVOAvatarSelf::reportAvatarRezTime() const  	// TODO: report mDebugSelfLoadTimer.getElapsedTimeF32() somehow.  } -// static -void LLVOAvatarSelf::processRebakeAvatarTextures(LLMessageSystem* msg, void**) -{ -	LLUUID texture_id; -	msg->getUUID("TextureData", "TextureID", texture_id); -	if (!isAgentAvatarValid()) return; - -	// If this is a texture corresponding to one of our baked entries,  -	// just rebake that layer set. -	BOOL found = FALSE; - -	/* ETextureIndex baked_texture_indices[BAKED_NUM_INDICES] = -			TEX_HEAD_BAKED, -			TEX_UPPER_BAKED, */ -	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) -		{ -			if (texture_id == gAgentAvatarp->getTEImage(index)->getID()) -			{ -				LLViewerTexLayerSet* layer_set = gAgentAvatarp->getLayerSet(index); -				if (layer_set) -				{ -					llinfos << "TAT: rebake - matched entry " << (S32)index << llendl; -					gAgentAvatarp->invalidateComposite(layer_set); -					found = TRUE; -					LLViewerStats::getInstance()->incStat(LLViewerStats::ST_TEX_REBAKES); -				} -			} -		} -	} - -	// If texture not found, rebake all entries. -	if (!found) -	{ -		gAgentAvatarp->forceBakeAllTextures(); -	} -	else -	{ -		// Not sure if this is necessary, but forceBakeAllTextures() does it. -		gAgentAvatarp->updateMeshTextures(); -	} -} - - +// SUNSHINE CLEANUP - not clear we need any of this, may be sufficient to request server appearance in llviewermenu.cpp:handle_rebake_textures()  void LLVOAvatarSelf::forceBakeAllTextures(bool slam_for_debug)  {  	llinfos << "TAT: forced full rebake. " << llendl; @@ -2806,13 +2631,6 @@ void LLVOAvatarSelf::onCustomizeEnd(bool disable_camera_switch)  	if (isAgentAvatarValid())  	{  		gAgentAvatarp->mIsEditingAppearance = false; -		// SUNSHINE CLEANUP - should no longer happen -		if (gAgentAvatarp->getRegion() && !gAgentAvatarp->getRegion()->getCentralBakeVersion()) -		{ -			// FIXME DRANO - move to sendAgentSetAppearance, make conditional on upload complete. -			gAgentAvatarp->mUseLocalAppearance = false; -		} -  		gAgentAvatarp->invalidateAll();  		if (gSavedSettings.getBOOL("AppearanceCameraMovement") && !disable_camera_switch) diff --git a/indra/newview/llvoavatarself.h b/indra/newview/llvoavatarself.h index 7eaa239890..0eb80d1fad 100755 --- a/indra/newview/llvoavatarself.h +++ b/indra/newview/llvoavatarself.h @@ -103,12 +103,6 @@ public:  	/*virtual*/ void updateVisualParams();  	/*virtual*/ void idleUpdateAppearanceAnimation(); -	/*virtual*/ U32  processUpdateMessage(LLMessageSystem *mesgsys, -													 void **user_data, -													 U32 block_num, -													 const EObjectUpdateType update_type, -													 LLDataPacker *dp); -  private:  	// helper function. Passed in param is assumed to be in avatar's parameter list.  	BOOL setParamWeight(const LLViewerVisualParam *param, F32 weight); @@ -234,11 +228,8 @@ 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); +	// SUNSHINE CLEANUP - dead? or update to just call request appearance update?  	void				forceBakeAllTextures(bool slam_for_debug = false); -	static void			processRebakeAvatarTextures(LLMessageSystem* msg, void**);  protected:  	/*virtual*/ void	removeMissingBakedTextures(); | 
