summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerobjectlist.cpp
diff options
context:
space:
mode:
authorBrad Kittenbrink <brad@lindenlab.com>2008-02-27 18:58:14 +0000
committerBrad Kittenbrink <brad@lindenlab.com>2008-02-27 18:58:14 +0000
commit6d52efe452aa8469e0343da1c7d108f3f52ab651 (patch)
treea87be48e9840d7fc1f7ee514d7c7f994e71fdb3c /indra/newview/llviewerobjectlist.cpp
parent6027ad2630b8650cabcf00628ee9b0d25bedd67f (diff)
Merge of windlight into release (QAR-286). This includes all changes in
windlight14 which have passed QA (up through r79932). svn merge -r 80831:80833 svn+ssh://svn.lindenlab.com/svn/linden/branches/merge_windlight14_r80620
Diffstat (limited to 'indra/newview/llviewerobjectlist.cpp')
-rw-r--r--indra/newview/llviewerobjectlist.cpp45
1 files changed, 20 insertions, 25 deletions
diff --git a/indra/newview/llviewerobjectlist.cpp b/indra/newview/llviewerobjectlist.cpp
index 012bdb0843..8d1867cc31 100644
--- a/indra/newview/llviewerobjectlist.cpp
+++ b/indra/newview/llviewerobjectlist.cpp
@@ -36,6 +36,7 @@
#include "message.h"
#include "timing.h"
#include "llfasttimer.h"
+#include "llglimmediate.h"
#include "llviewercontrol.h"
#include "llface.h"
@@ -45,6 +46,7 @@
#include "llnetmap.h"
#include "llagent.h"
#include "pipeline.h"
+#include "llspatialpartition.h"
#include "llhoverview.h"
#include "llworld.h"
#include "llstring.h"
@@ -206,30 +208,28 @@ void LLViewerObjectList::processUpdateCore(LLViewerObject* objectp,
// ignore returned flags
objectp->processUpdateMessage(msg, user_data, i, update_type, dpp);
-
+
if (objectp->isDead())
{
// The update failed
return;
}
- updateActive(objectp);
-
- // Also sets the approx. pixel area
- objectp->setPixelAreaAndAngle(gAgent);
- // Update the image levels of textures for this object.
- objectp->updateTextures(gAgent);
+ updateActive(objectp);
if (just_created)
{
gPipeline.addObject(objectp);
}
+ // Also sets the approx. pixel area
+ objectp->setPixelAreaAndAngle(gAgent);
+
// RN: this must be called after we have a drawable
// (from gPipeline.addObject)
// so that the drawable parent is set properly
findOrphans(objectp, msg->getSenderIP(), msg->getSenderPort());
-
+
// If we're just wandering around, don't create new objects selected.
if (just_created
&& update_type != OUT_TERSE_IMPROVED
@@ -528,18 +528,6 @@ void LLViewerObjectList::processCachedObjectUpdate(LLMessageSystem *mesgsys,
processObjectUpdate(mesgsys, user_data, update_type, true, false);
}
-void LLViewerObjectList::relightAllObjects()
-{
- for (S32 i = 0; i < mObjects.count(); i++)
- {
- LLDrawable *drawable = mObjects[i]->mDrawable;
- if (drawable)
- {
- gPipeline.markRelight(drawable);
- }
- }
-}
-
void LLViewerObjectList::dirtyAllObjectInventory()
{
S32 count = mObjects.count();
@@ -1008,7 +996,7 @@ void LLViewerObjectList::shiftObjects(const LLVector3 &offset)
}
gPipeline.shiftObjects(offset);
- gWorldPointer->mPartSim.shift(offset);
+ gWorldp->shiftRegions(offset);
}
void LLViewerObjectList::renderObjectsForMap(LLNetMap &netmap)
@@ -1109,12 +1097,17 @@ U32 LLViewerObjectList::renderObjectsForSelect(LLCamera &camera, BOOL pick_parce
std::vector<LLDrawable*> pick_drawables;
- for (i = 0; i < LLPipeline::NUM_PARTITIONS-1; i++)
+ for (LLWorld::region_list_t::iterator iter = gWorldp->getRegionList().begin();
+ iter != gWorldp->getRegionList().end(); ++iter)
{
- LLSpatialPartition* part = gPipeline.getSpatialPartition(i);
- if (part)
+ LLViewerRegion* region = *iter;
+ for (U32 i = 0; i < LLViewerRegion::NUM_PARTITIONS; i++)
{
- part->cull(camera, &pick_drawables, TRUE);
+ LLSpatialPartition* part = region->getSpatialPartition(i);
+ if (part)
+ {
+ part->cull(camera, &pick_drawables, TRUE);
+ }
}
}
@@ -1213,10 +1206,12 @@ U32 LLViewerObjectList::renderObjectsForSelect(LLCamera &camera, BOOL pick_parce
//
// Render pass for selected objects
//
+ gGL.start();
gViewerWindow->renderSelections( TRUE, pick_parcel_wall, FALSE );
// render pickable ui elements, like names, etc.
LLHUDObject::renderAllForSelect();
+ gGL.stop();
gRenderForSelect = FALSE;