diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llhudeffectbeam.cpp | 5 | ||||
-rw-r--r-- | linden/indra/newview/llhudeffectbeam.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/llhudeffecttrail.cpp | 5 | ||||
-rw-r--r-- | linden/indra/newview/llhudeffecttrail.h | 1 | ||||
-rw-r--r-- | linden/indra/newview/llhudobject.cpp | 21 | ||||
-rw-r--r-- | linden/indra/newview/llhudobject.h | 2 | ||||
-rw-r--r-- | linden/indra/newview/pipeline.cpp | 23 |
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 | ||
315 | void LLHUDEffectBeam::renderForTimer() | ||
316 | { | ||
317 | render(); | ||
318 | } | ||
319 | |||
315 | void LLHUDEffectBeam::setupParticle(const S32 i) | 320 | void 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); |
63 | private: | 64 | private: |
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 | |||
291 | void 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); |
73 | private: | 74 | private: |
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 |
311 | void 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 | ||
311 | void LLHUDObject::sortObjects() | 332 | void 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 | ||
110 | protected: | 112 | protected: |
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 | { |