FIRE-29012: Polymorphism done right...

meow-7.2.2
Ansariel 2020-04-10 12:50:42 +02:00
parent 5e553a2a27
commit 4ae15713d2
4 changed files with 16 additions and 5 deletions

View File

@ -674,3 +674,14 @@ void LLControlAvatar::onRegionChanged()
cav->mRegionChanged = true;
}
}
// <FS:Ansariel> FIRE-29012: Standalone animesh avatars get affected by complexity limit
bool LLControlAvatar::isTooComplex() const
{
if (mRootVolp && !mRootVolp->isAttachment())
{
return false;
}
return LLVOAvatar::isTooComplex();
}
// </FS:Ansariel>

View File

@ -76,6 +76,9 @@ public:
virtual bool shouldRenderRigged() const;
virtual BOOL isImpostor();
bool isTooComplex() const; // <FS:Ansariel> FIRE-29012: Standalone animesh avatars get affected by complexity limit
bool mPlaying;

View File

@ -8789,10 +8789,7 @@ bool LLVOAvatar::isTooComplex() const
bool render_friend = (LLAvatarTracker::instance().isBuddy(getID()) && alwaysRenderFriends);
// </FS:Ansariel>
// <FS:Ansariel> 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()))
// </FS:Ansariel>
if (isSelf() || render_friend || mVisuallyMuteSetting == AV_ALWAYS_RENDER)
{
too_complex = false;
}

View File

@ -358,7 +358,7 @@ public:
//--------------------------------------------------------------------
public:
BOOL isFullyLoaded() const;
bool isTooComplex() const;
virtual bool isTooComplex() const; // <FS:Ansariel> FIRE-29012: Standalone animesh avatars get affected by complexity limit; changed to virtual
bool visualParamWeightsAreDefault();
virtual bool getIsCloud() const;
BOOL isFullyTextured() const;