diff options
author | Oz Linden <oz@lindenlab.com> | 2016-02-19 12:14:53 -0500 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2016-02-19 12:14:53 -0500 |
commit | 81d5e6e351e6cfd2e6c9b826a8e4dbca940463e0 (patch) | |
tree | 3709b4465047f9f0e7c13ad77ebd8dc4da662f47 | |
parent | e344644849de4a6357a9d48ba6099cd02163f502 (diff) | |
parent | 2ede35f1b67ad4e101f31e7329e53be10128d18c (diff) |
Merged in maxim_productengine/391-blizzard_maint (pull request #11)
MAINT-5681 FIXED particles still render when complexity threshold is reached
-rwxr-xr-x | indra/newview/llviewerpartsim.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/indra/newview/llviewerpartsim.cpp b/indra/newview/llviewerpartsim.cpp index 230bdca4ef..ab510c1e95 100755 --- a/indra/newview/llviewerpartsim.cpp +++ b/indra/newview/llviewerpartsim.cpp @@ -39,6 +39,7 @@ #include "llworld.h" #include "pipeline.h" #include "llspatialpartition.h" +#include "llvoavatarself.h" #include "llvovolume.h" const F32 PART_SIM_BOX_SIDE = 16.f; @@ -703,16 +704,18 @@ void LLViewerPartSim::updateSimulation() if (!mViewerPartSources[i]->isDead()) { BOOL upd = TRUE; - if (!LLPipeline::sRenderAttachedParticles) + LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp; + if (vobj && (vobj->getPCode() == LL_PCODE_VOLUME)) { - LLViewerObject* vobj = mViewerPartSources[i]->mSourceObjectp; - if (vobj && (vobj->getPCode() == LL_PCODE_VOLUME)) + if(vobj->getAvatar() && vobj->getAvatar()->isTooComplex()) { - LLVOVolume* vvo = (LLVOVolume *)vobj; - if (vvo && vvo->isAttachment()) - { - upd = FALSE; - } + upd = FALSE; + } + + LLVOVolume* vvo = (LLVOVolume *)vobj; + if (!LLPipeline::sRenderAttachedParticles && vvo && vvo->isAttachment()) + { + upd = FALSE; } } |