Merged in ruslantproductengine/ruslanteliuk-391-blizzard (pull request #21)
MAINT-5700 [QuickGraphics-RC] Blocked avatars should always be derenderedmeow-7.2.2
commit
9c727eb2fb
|
|
@ -472,7 +472,9 @@ void LLDrawPoolAvatar::renderShadow(S32 pass)
|
|||
}
|
||||
|
||||
BOOL impostor = avatarp->isImpostor();
|
||||
if (impostor)
|
||||
if (impostor
|
||||
&& LLVOAvatar::AV_DO_NOT_RENDER != avatarp->getVisualMuteSettings()
|
||||
&& LLVOAvatar::AV_ALWAYS_RENDER != avatarp->getVisualMuteSettings())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -1246,7 +1248,9 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)
|
|||
|
||||
BOOL impostor = avatarp->isImpostor() && !single_avatar;
|
||||
|
||||
if (impostor && pass != 0)
|
||||
if (( avatarp->isInMuteList()
|
||||
|| impostor
|
||||
|| (LLVOAvatar::AV_DO_NOT_RENDER == avatarp->getVisualMuteSettings() && !avatarp->needsImpostorUpdate()) ) && pass != 0)
|
||||
{ //don't draw anything but the impostor for impostored avatars
|
||||
return;
|
||||
}
|
||||
|
|
@ -1263,7 +1267,7 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)
|
|||
LLVOAvatar::sNumVisibleAvatars++;
|
||||
}
|
||||
|
||||
if (impostor)
|
||||
if (impostor || (LLVOAvatar::AV_DO_NOT_RENDER == avatarp->getVisualMuteSettings() && !avatarp->needsImpostorUpdate()))
|
||||
{
|
||||
if (LLPipeline::sRenderDeferred && !LLPipeline::sReflectionRender && avatarp->mImpostor.isComplete())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -3145,6 +3145,8 @@ class LLObjectMute : public view_listener_t
|
|||
LLVOAvatar* avatar = find_avatar_from_object(object);
|
||||
if (avatar)
|
||||
{
|
||||
avatar->mNeedsImpostorUpdate = TRUE;
|
||||
|
||||
id = avatar->getID();
|
||||
|
||||
LLNameValue *firstname = avatar->getNVPair("FirstName");
|
||||
|
|
|
|||
|
|
@ -705,7 +705,13 @@ void LLViewerPartSim::updateSimulation()
|
|||
{
|
||||
BOOL upd = TRUE;
|
||||
LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp;
|
||||
if (vobj && (vobj->getPCode() == LL_PCODE_VOLUME))
|
||||
|
||||
if (vobj && vobj->isAvatar() && ((LLVOAvatar*)vobj)->isInMuteList())
|
||||
{
|
||||
upd = FALSE;
|
||||
}
|
||||
|
||||
if (upd && vobj && (vobj->getPCode() == LL_PCODE_VOLUME))
|
||||
{
|
||||
if(vobj->getAvatar() && vobj->getAvatar()->isTooComplex())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/**
|
||||
/**
|
||||
* @File llvoavatar.cpp
|
||||
* @brief Implementation of LLVOAvatar class which is a derivation of LLViewerObject
|
||||
*
|
||||
|
|
@ -8138,7 +8138,7 @@ void LLVOAvatar::updateImpostors()
|
|||
{
|
||||
LLVOAvatar* avatar = (LLVOAvatar*) *iter;
|
||||
if (!avatar->isDead() && avatar->isVisible()
|
||||
&& (avatar->isImpostor() && avatar->needsImpostorUpdate())
|
||||
&& ((avatar->isImpostor() || LLVOAvatar::AV_DO_NOT_RENDER == avatar->getVisualMuteSettings()) && avatar->needsImpostorUpdate())
|
||||
)
|
||||
{
|
||||
avatar->calcMutedAVColor();
|
||||
|
|
@ -8487,7 +8487,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity()
|
|||
void LLVOAvatar::setVisualMuteSettings(VisualMuteSettings set)
|
||||
{
|
||||
mVisuallyMuteSetting = set;
|
||||
mNeedsImpostorUpdate = true;
|
||||
mNeedsImpostorUpdate = TRUE;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -3114,7 +3114,9 @@ void LLPipeline::markVisible(LLDrawable *drawablep, LLCamera& camera)
|
|||
if (vobj) // this test may not be needed, see above
|
||||
{
|
||||
LLVOAvatar* av = vobj->asAvatar();
|
||||
if (av && av->isImpostor())
|
||||
if (av && (av->isImpostor()
|
||||
|| av->isInMuteList()
|
||||
|| (LLVOAvatar::AV_DO_NOT_RENDER == av->getVisualMuteSettings() && !av->needsImpostorUpdate()) ))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue