summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTofu Buzzard <no-email>2011-03-09 16:07:51 -0800
committerTofu Buzzard <no-email>2011-03-09 16:07:51 -0800
commitb9fcdc217dafbdd06ecb629ed98c4fee675a92de (patch)
treeab255b97f84698b63db553be8fda4ee8d81f460b
parent75e938cd75d82fcea7d58c556abf403b3629283e (diff)
parenta0ddc7e80fec9e6d574e8937bae0a55799b2dc86 (diff)
merge
-rw-r--r--indra/newview/lldrawpoolavatar.cpp2
-rwxr-xr-xindra/newview/llfloatermodelpreview.cpp40
-rw-r--r--indra/newview/llvoavatar.cpp2
-rwxr-xr-xindra/newview/pipeline.cpp18
-rw-r--r--indra/newview/skins/default/xui/en/floater_model_preview.xml3
5 files changed, 43 insertions, 22 deletions
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index 2de4c93ffd..645c7ebcae 100644
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -1137,7 +1137,7 @@ void LLDrawPoolAvatar::renderAvatars(LLVOAvatar* single_avatar, S32 pass)
if (impostor)
{
- if (LLPipeline::sRenderDeferred && avatarp->mImpostor.isComplete())
+ if (LLPipeline::sRenderDeferred && !LLPipeline::sReflectionRender && avatarp->mImpostor.isComplete())
{
if (normal_channel > -1)
{
diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index e33ce055f6..c2054bf00f 100755
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -773,11 +773,13 @@ void LLFloaterModelPreview::onPhysicsStageExecute(LLUICtrl* ctrl, void* data)
if (stage == "Decompose")
{
+ sInstance->setStatusMessage(sInstance->getString("decomposing"));
sInstance->childSetVisible("Decompose", false);
sInstance->childSetVisible("decompose_cancel", true);
}
else if (stage == "Simplify")
{
+ sInstance->setStatusMessage(sInstance->getString("simplifying"));
sInstance->childSetVisible("Simplify", false);
sInstance->childSetVisible("simplify_cancel", true);
}
@@ -823,6 +825,8 @@ void LLFloaterModelPreview::onPhysicsStageCancel(LLUICtrl* ctrl, void*data)
DecompRequest* req = *iter;
req->mContinue = 0;
}
+
+ sInstance->mCurRequest.clear();
}
}
@@ -4301,10 +4305,13 @@ void LLFloaterModelPreview::setStatusMessage(const std::string& msg)
S32 LLFloaterModelPreview::DecompRequest::statusCallback(const char* status, S32 p1, S32 p2)
{
- setStatusMessage(llformat("%s: %d/%d", status, p1, p2));
- if (LLFloaterModelPreview::sInstance)
+ if (mContinue)
{
- LLFloaterModelPreview::sInstance->setStatusMessage(mStatusMessage);
+ setStatusMessage(llformat("%s: %d/%d", status, p1, p2));
+ if (LLFloaterModelPreview::sInstance)
+ {
+ LLFloaterModelPreview::sInstance->setStatusMessage(mStatusMessage);
+ }
}
return mContinue;
@@ -4312,20 +4319,27 @@ S32 LLFloaterModelPreview::DecompRequest::statusCallback(const char* status, S32
void LLFloaterModelPreview::DecompRequest::completed()
{ //called from the main thread
- mModel->setConvexHullDecomposition(mHull);
-
- if (sInstance)
+ if (mContinue)
{
- if (mContinue)
+ mModel->setConvexHullDecomposition(mHull);
+
+ if (sInstance)
{
- if (sInstance->mModelPreview)
+ if (mContinue)
{
- sInstance->mModelPreview->mPhysicsMesh[mModel] = mHullMesh;
- sInstance->mModelPreview->mDirty = true;
- LLFloaterModelPreview::sInstance->mModelPreview->refresh();
+ if (sInstance->mModelPreview)
+ {
+ sInstance->mModelPreview->mPhysicsMesh[mModel] = mHullMesh;
+ sInstance->mModelPreview->mDirty = true;
+ LLFloaterModelPreview::sInstance->mModelPreview->refresh();
+ }
}
- }
- sInstance->mCurRequest.erase(this);
+ sInstance->mCurRequest.erase(this);
+ }
+ }
+ else if (sInstance)
+ {
+ llassert(sInstance->mCurRequest.find(this) == sInstance->mCurRequest.end());
}
}
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index aa7349f129..a73bac39cf 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -1428,7 +1428,7 @@ void LLVOAvatar::getSpatialExtents(LLVector4a& newMin, LLVector4a& newMax)
if (attached_object && !attached_object->isHUDAttachment())
{
LLDrawable* drawable = attached_object->mDrawable;
- if (drawable)
+ if (drawable && !drawable->isState(LLDrawable::RIGGED))
{
LLSpatialBridge* bridge = drawable->getSpatialBridge();
if (bridge)
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index c8ef75030d..eaa6ba231d 100755
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -192,19 +192,20 @@ std::string gPoolNames[] =
// Correspond to LLDrawpool enum render type
"NONE",
"POOL_SIMPLE",
- "POOL_TERRAIN",
+ "POOL_GROUND",
+ "POOL_FULLBRIGHT",
"POOL_BUMP",
- "POOL_TREE",
+ "POOL_TERRAIN,"
"POOL_SKY",
"POOL_WL_SKY",
- "POOL_GROUND",
+ "POOL_TREE",
+ "POOL_GRASS",
"POOL_INVISIBLE",
"POOL_AVATAR",
+ "POOL_VOIDWATER",
"POOL_WATER",
- "POOL_GRASS",
- "POOL_FULLBRIGHT",
"POOL_GLOW",
- "POOL_ALPHA",
+ "POOL_ALPHA"
};
void drawBox(const LLVector3& c, const LLVector3& r);
@@ -3972,6 +3973,8 @@ void LLPipeline::renderDebug()
glLoadMatrixd(gGLModelView);
gGL.setColorMask(true, false);
+ bool hud_only = hasRenderType(LLPipeline::RENDER_TYPE_HUD);
+
// Debug stuff.
for (LLWorld::region_list_t::const_iterator iter = LLWorld::getInstance()->getRegionList().begin();
iter != LLWorld::getInstance()->getRegionList().end(); ++iter)
@@ -3982,7 +3985,8 @@ void LLPipeline::renderDebug()
LLSpatialPartition* part = region->getSpatialPartition(i);
if (part)
{
- if (hasRenderType(part->mDrawableType))
+ if ( hud_only && (part->mDrawableType == RENDER_TYPE_HUD || part->mDrawableType == RENDER_TYPE_HUD_PARTICLES) ||
+ !hud_only && hasRenderType(part->mDrawableType) )
{
part->renderDebug();
}
diff --git a/indra/newview/skins/default/xui/en/floater_model_preview.xml b/indra/newview/skins/default/xui/en/floater_model_preview.xml
index 8a18861e1a..1ebb3b3fb1 100644
--- a/indra/newview/skins/default/xui/en/floater_model_preview.xml
+++ b/indra/newview/skins/default/xui/en/floater_model_preview.xml
@@ -18,6 +18,9 @@
<string name="mesh_status_too_many_vertices">Level of detail has too many vertices.</string>
<string name="mesh_status_missing_lod">Missing required level of detail.</string>
<string name="layer_all">All</string> <!-- Text to display in physics layer combo box for "all layers" -->
+ <string name="decomposing">Analyzing...</string>
+ <string name="simplifying">Simplifying...</string>
+
<text left="15" bottom="25" follows="top|left" height="15" name="name_label">
Name: