diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llcontrolavatar.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llselectmgr.cpp | 14 | ||||
| -rw-r--r-- | indra/newview/llselectmgr.h | 1 | ||||
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llviewerobject.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llvoavatar.cpp | 12 | 
6 files changed, 12 insertions, 24 deletions
| diff --git a/indra/newview/llcontrolavatar.cpp b/indra/newview/llcontrolavatar.cpp index afa6be188d..7600bc6959 100644 --- a/indra/newview/llcontrolavatar.cpp +++ b/indra/newview/llcontrolavatar.cpp @@ -52,7 +52,8 @@ LLControlAvatar::~LLControlAvatar()  // virtual  void LLControlAvatar::initInstance()  { -	// AXON - potential optimizations here - avoid creating system avatar mesh since it's not used. +	// AXON - potential optimizations here - avoid creating system +	// avatar mesh since it's not used.      LLVOAvatar::initInstance();  } diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 473d7e5b5f..2e489fbc09 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -691,7 +691,7 @@ bool LLSelectMgr::enableLinkObjects()  			new_value = LLSelectMgr::getInstance()->getSelection()->applyToRootObjects(&func, firstonly);  		}  	} -    if (!LLSelectMgr::getInstance()->getSelection()->checkAnimatedObjectEstTris()) +    if (!LLSelectMgr::getInstance()->getSelection()->checkAnimatedObjectLinkable())      {          new_value = false;      } @@ -7451,17 +7451,7 @@ bool LLObjectSelection::checkAnimatedObjectEstTris()  bool LLObjectSelection::checkAnimatedObjectLinkable()  { -    LL_ERRS() << "Not using this restriction" << LL_ENDL; -    // Can't link if any of the roots is currently an animated object -	for (root_iterator iter = root_begin(); iter != root_end(); ++iter) -	{ -        LLViewerObject* objectp = (*iter)->getObject(); -        if (objectp && objectp->isAnimatedObject()) -        { -            return false; -        } -	} -	return true; +    return checkAnimatedObjectEstTris();  }  bool LLObjectSelection::applyToRootObjects(LLSelectedObjectFunctor* func, bool firstonly) diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index fcbfd5fccd..eaeeba576c 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -339,7 +339,6 @@ public:  	// returns TRUE is any node is currenly worn as an attachment  	BOOL isAttachment(); -    // AXON validate a potential link against limits      bool checkAnimatedObjectEstTris();      bool checkAnimatedObjectLinkable(); diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 7260d7f928..ae9798b5d5 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -5126,8 +5126,7 @@ void process_object_animation(LLMessageSystem *mesgsys, void **user_data)              avatarp->mRootVolp->recursiveMarkForUpdate(TRUE);          }      } -#else -    // AXON REMOVE BEFORE RELEASE? +#else// AXON REMOVE BEFORE RELEASE?      // In this block we switch back into static mode when no animations are      // playing. This is mostly useful for debugging.      if (num_blocks > 0 && !avatarp->mPlaying) diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp index 7d370aff35..6fff3b0afd 100644 --- a/indra/newview/llviewerobject.cpp +++ b/indra/newview/llviewerobject.cpp @@ -3609,8 +3609,7 @@ F32 LLViewerObject::recursiveGetEstTrianglesMax() const  S32 LLViewerObject::getAnimatedObjectMaxTris() const  {      S32 max_tris = 0; -    // AXON REMOVE AFTER SERVER TESTING DONE -    if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits")) +    if (gSavedSettings.getBOOL("AnimatedObjectsIgnoreLimits")) // AXON REMOVE AFTER SERVER TESTING DONE      {          max_tris = S32_MAX;      } diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index ea7214d937..b1ae7f543a 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -1976,9 +1976,8 @@ void LLVOAvatar::resetSkeleton(bool reset_animations)  //-----------------------------------------------------------------------------  void LLVOAvatar::releaseMeshData()  { -    // AXON what should we be doing here for control avs? Why are -    // dummies treated differently in the first place? -	if (sInstances.size() < AVATAR_RELEASE_THRESHOLD || mIsDummy) +	if (sInstances.size() < AVATAR_RELEASE_THRESHOLD || +        (mIsDummy && !isControlAvatar()))  	{  		return;  	} @@ -2781,8 +2780,8 @@ void LLVOAvatar::idleUpdateLoadingEffect()  																 LLPartData::LL_PART_EMISSIVE_MASK | // LLPartData::LL_PART_FOLLOW_SRC_MASK |  																 LLPartData::LL_PART_TARGET_POS_MASK ); -            // AXON skip cloud effects for dummy avs as well -			if (!mIsDummy && !isTooComplex()) // do not generate particles for overly-complex avatars +			// do not generate particles for dummy or overly-complex avatars +			if (!mIsDummy && !isTooComplex())  			{  				setParticleSource(particle_parameters, getID());  			} @@ -4393,7 +4392,8 @@ void LLVOAvatar::updateVisibility()  	}  	else  	{ -		if (mMeshValid && mMeshInvisibleTime.getElapsedTimeF32() > TIME_BEFORE_MESH_CLEANUP) +		if (mMeshValid && +            (isControlAvatar() || mMeshInvisibleTime.getElapsedTimeF32() > TIME_BEFORE_MESH_CLEANUP))  		{  			releaseMeshData();  		} | 
