diff --git a/indra/newview/llcontrolavatar.cpp b/indra/newview/llcontrolavatar.cpp index 1b5b2d48bd..c64d298f0c 100644 --- a/indra/newview/llcontrolavatar.cpp +++ b/indra/newview/llcontrolavatar.cpp @@ -674,3 +674,14 @@ void LLControlAvatar::onRegionChanged() cav->mRegionChanged = true; } } + +// FIRE-29012: Standalone animesh avatars get affected by complexity limit +bool LLControlAvatar::isTooComplex() const +{ + if (mRootVolp && !mRootVolp->isAttachment()) + { + return false; + } + return LLVOAvatar::isTooComplex(); +} +// diff --git a/indra/newview/llcontrolavatar.h b/indra/newview/llcontrolavatar.h index 288d07cd48..4fd0075be7 100644 --- a/indra/newview/llcontrolavatar.h +++ b/indra/newview/llcontrolavatar.h @@ -76,6 +76,9 @@ public: virtual bool shouldRenderRigged() const; virtual BOOL isImpostor(); + + bool isTooComplex() const; // FIRE-29012: Standalone animesh avatars get affected by complexity limit + bool mPlaying; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index cfe31c809e..18f818c9a3 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -8789,10 +8789,7 @@ bool LLVOAvatar::isTooComplex() const bool render_friend = (LLAvatarTracker::instance().isBuddy(getID()) && alwaysRenderFriends); // - // FIRE-29012: Standalone animesh avatars get affected by complexity limit - //if (isSelf() || render_friend || mVisuallyMuteSetting == AV_ALWAYS_RENDER) - if (isSelf() || render_friend || mVisuallyMuteSetting == AV_ALWAYS_RENDER || (isControlAvatar() && ((LLControlAvatar*)this)->mRootVolp != NULL && !((LLControlAvatar*)this)->mRootVolp->isAttachment())) - // + if (isSelf() || render_friend || mVisuallyMuteSetting == AV_ALWAYS_RENDER) { too_complex = false; } diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 48f39ab363..842c6923e2 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -358,7 +358,7 @@ public: //-------------------------------------------------------------------- public: BOOL isFullyLoaded() const; - bool isTooComplex() const; + virtual bool isTooComplex() const; // FIRE-29012: Standalone animesh avatars get affected by complexity limit; changed to virtual bool visualParamWeightsAreDefault(); virtual bool getIsCloud() const; BOOL isFullyTextured() const;