aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra')
-rw-r--r--linden/indra/newview/llhudeffectbeam.cpp5
-rw-r--r--linden/indra/newview/llhudeffectbeam.h1
-rw-r--r--linden/indra/newview/llhudeffecttrail.cpp5
-rw-r--r--linden/indra/newview/llhudeffecttrail.h1
-rw-r--r--linden/indra/newview/llhudobject.cpp21
-rw-r--r--linden/indra/newview/llhudobject.h2
-rw-r--r--linden/indra/newview/pipeline.cpp23
7 files changed, 53 insertions, 5 deletions
diff --git a/linden/indra/newview/llhudeffectbeam.cpp b/linden/indra/newview/llhudeffectbeam.cpp
index 6cb3bef..a7c1214 100644
--- a/linden/indra/newview/llhudeffectbeam.cpp
+++ b/linden/indra/newview/llhudeffectbeam.cpp
@@ -312,6 +312,11 @@ void LLHUDEffectBeam::render()
312 } 312 }
313} 313}
314 314
315void LLHUDEffectBeam::renderForTimer()
316{
317 render();
318}
319
315void LLHUDEffectBeam::setupParticle(const S32 i) 320void LLHUDEffectBeam::setupParticle(const S32 i)
316{ 321{
317 LLVector3d start_pos_global; 322 LLVector3d start_pos_global;
diff --git a/linden/indra/newview/llhudeffectbeam.h b/linden/indra/newview/llhudeffectbeam.h
index 7365894..69e2b51 100644
--- a/linden/indra/newview/llhudeffectbeam.h
+++ b/linden/indra/newview/llhudeffectbeam.h
@@ -58,6 +58,7 @@ protected:
58 ~LLHUDEffectBeam(); 58 ~LLHUDEffectBeam();
59 59
60 /*virtual*/ void render(); 60 /*virtual*/ void render();
61 /*virtual*/ void renderForTimer();
61 /*virtual*/ void packData(LLMessageSystem *mesgsys); 62 /*virtual*/ void packData(LLMessageSystem *mesgsys);
62 /*virtual*/ void unpackData(LLMessageSystem *mesgsys, S32 blocknum); 63 /*virtual*/ void unpackData(LLMessageSystem *mesgsys, S32 blocknum);
63private: 64private:
diff --git a/linden/indra/newview/llhudeffecttrail.cpp b/linden/indra/newview/llhudeffecttrail.cpp
index 32b52f8..08f4c78 100644
--- a/linden/indra/newview/llhudeffecttrail.cpp
+++ b/linden/indra/newview/llhudeffecttrail.cpp
@@ -287,3 +287,8 @@ void LLHUDEffectSpiral::render()
287 return; 287 return;
288 } 288 }
289} 289}
290
291void LLHUDEffectSpiral::renderForTimer()
292{
293 render();
294}
diff --git a/linden/indra/newview/llhudeffecttrail.h b/linden/indra/newview/llhudeffecttrail.h
index 60836c2..033fbeb 100644
--- a/linden/indra/newview/llhudeffecttrail.h
+++ b/linden/indra/newview/llhudeffecttrail.h
@@ -68,6 +68,7 @@ protected:
68 ~LLHUDEffectSpiral(); 68 ~LLHUDEffectSpiral();
69 69
70 /*virtual*/ void render(); 70 /*virtual*/ void render();
71 /*virtual*/ void renderForTimer();
71 /*virtual*/ void packData(LLMessageSystem *mesgsys); 72 /*virtual*/ void packData(LLMessageSystem *mesgsys);
72 /*virtual*/ void unpackData(LLMessageSystem *mesgsys, S32 blocknum); 73 /*virtual*/ void unpackData(LLMessageSystem *mesgsys, S32 blocknum);
73private: 74private:
diff --git a/linden/indra/newview/llhudobject.cpp b/linden/indra/newview/llhudobject.cpp
index bdff492..ea6e0bf 100644
--- a/linden/indra/newview/llhudobject.cpp
+++ b/linden/indra/newview/llhudobject.cpp
@@ -308,6 +308,27 @@ void LLHUDObject::renderAllForSelect()
308} 308}
309 309
310// static 310// static
311void LLHUDObject::renderAllForTimer()
312{
313 LLHUDObject *hud_objp;
314
315 hud_object_list_t::iterator object_it;
316 for (object_it = sHUDObjects.begin(); object_it != sHUDObjects.end(); )
317 {
318 hud_object_list_t::iterator cur_it = object_it++;
319 hud_objp = (*cur_it);
320 if (hud_objp->getNumRefs() == 1)
321 {
322 sHUDObjects.erase(cur_it);
323 }
324 else if (hud_objp->isVisible())
325 {
326 hud_objp->renderForTimer();
327 }
328 }
329}
330
331// static
311void LLHUDObject::sortObjects() 332void LLHUDObject::sortObjects()
312{ 333{
313 sHUDObjects.sort(hud_object_further_away()); 334 sHUDObjects.sort(hud_object_further_away());
diff --git a/linden/indra/newview/llhudobject.h b/linden/indra/newview/llhudobject.h
index 2cd8abf..84c2f84 100644
--- a/linden/indra/newview/llhudobject.h
+++ b/linden/indra/newview/llhudobject.h
@@ -75,6 +75,7 @@ public:
75 static void updateAll(); 75 static void updateAll();
76 static void renderAll(); 76 static void renderAll();
77 static void renderAllForSelect(); 77 static void renderAllForSelect();
78 static void renderAllForTimer();
78 79
79 static void cleanupHUDObjects(); 80 static void cleanupHUDObjects();
80 81
@@ -106,6 +107,7 @@ protected:
106 107
107 virtual void render() = 0; 108 virtual void render() = 0;
108 virtual void renderForSelect() {}; 109 virtual void renderForSelect() {};
110 virtual void renderForTimer() {};
109 111
110protected: 112protected:
111 U8 mType; 113 U8 mType;
diff --git a/linden/indra/newview/pipeline.cpp b/linden/indra/newview/pipeline.cpp
index 4ea9e41..d3ee8b6 100644
--- a/linden/indra/newview/pipeline.cpp
+++ b/linden/indra/newview/pipeline.cpp
@@ -2724,12 +2724,20 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate)
2724 2724
2725 LLVertexBuffer::unbind(); 2725 LLVertexBuffer::unbind();
2726 2726
2727 if (!LLPipeline::sReflectionRender && !LLPipeline::sRenderDeferred && gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI)) 2727 if (!LLPipeline::sReflectionRender && !LLPipeline::sRenderDeferred)
2728 { 2728 {
2729 // Render debugging beacons. 2729 if (gPipeline.hasRenderDebugFeatureMask(LLPipeline::RENDER_DEBUG_FEATURE_UI))
2730 gObjectList.renderObjectBeacons(); 2730 {
2731 LLHUDObject::renderAll(); 2731 // Render debugging beacons.
2732 gObjectList.resetObjectBeacons(); 2732 gObjectList.renderObjectBeacons();
2733 LLHUDObject::renderAll();
2734 gObjectList.resetObjectBeacons();
2735 }
2736 else
2737 {
2738 // Make sure particle effects disappear
2739 LLHUDObject::renderAllForTimer();
2740 }
2733 } 2741 }
2734 2742
2735 LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderGeomEnd"); 2743 LLAppViewer::instance()->pingMainloopTimeout("Pipeline:RenderGeomEnd");
@@ -2954,6 +2962,11 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera)
2954 LLHUDObject::renderAll(); 2962 LLHUDObject::renderAll();
2955 gObjectList.resetObjectBeacons(); 2963 gObjectList.resetObjectBeacons();
2956 } 2964 }
2965 else
2966 {
2967 // Make sure particle effects disappear
2968 LLHUDObject::renderAllForTimer();
2969 }
2957 2970
2958 if (occlude) 2971 if (occlude)
2959 { 2972 {