summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-02-27 16:28:56 -0800
committerTodd Stinson <stinson@lindenlab.com>2012-02-27 16:28:56 -0800
commite86547d6248c50bdf3e962c82c38dc3612b31d54 (patch)
treed3641c52f12a56a3debfa3adcaca9971ae49727a
parent1503338ddcd170871815d70d328cbbd1dfd40c82 (diff)
parent8cd8d5169c8b8b40c4ebece8e5e8bb8d22e795cb (diff)
Pull and merge from ssh://hg@bitbucket.org/stinson_linden/viewer-development-havokai.
-rw-r--r--autobuild.xml12
-rw-r--r--indra/newview/llfloaterpathfindingconsole.cpp35
-rw-r--r--indra/newview/llfloaterpathfindingconsole.h7
-rw-r--r--indra/newview/llviewerdisplay.cpp4
4 files changed, 49 insertions, 9 deletions
diff --git a/autobuild.xml b/autobuild.xml
index 2f5351d71b..0693b26d76 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1110,9 +1110,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>0fb8533cb26dd2707d10904cd4c177b9</string>
+ <string>6cfff4ad41a9256531b3004a53c6a126</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/249990/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120224.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/250092/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120227.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@@ -1122,9 +1122,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>32712ec04262c251e84a277ef0215c4a</string>
+ <string>adce35d5dfcc9500e99d8cd81d80dfe6</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/249990/arch/Linux/installer/llphysicsextensions-0.1-linux-20120224.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/250092/arch/Linux/installer/llphysicsextensions-0.1-linux-20120227.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
@@ -1134,9 +1134,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>4604a26b599e7cb2478835fcceff7f24</string>
+ <string>d46d14090c3c78d693a1598981cc4c06</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/249990/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120224.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/250092/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120227.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp
index e09bc028ce..862f4d2fda 100644
--- a/indra/newview/llfloaterpathfindingconsole.cpp
+++ b/indra/newview/llfloaterpathfindingconsole.cpp
@@ -799,3 +799,38 @@ void LLFloaterPathfindingConsole::updatePathTestStatus()
mPathTestingStatus->setText((LLStringExplicit)statusText, styleParams);
}
+
+
+BOOL LLFloaterPathfindingConsole::isRenderAnyShapes() const
+{
+ if ( isRenderWalkables() || isRenderStaticObstacles() ||
+ isRenderMaterialVolumes() || isRenderExclusionVolumes() )
+ {
+ return true;
+ }
+
+ return false;
+}
+
+U32 LLFloaterPathfindingConsole::getRenderShapeFlags()
+{
+ resetShapeRenderFlags();
+
+ if ( isRenderWalkables() )
+ {
+ setShapeRenderFlag( LLPathingLib::LLST_WalkableObjects );
+ }
+ if ( isRenderStaticObstacles() )
+ {
+ setShapeRenderFlag( LLPathingLib::LLST_ObstacleObjects );
+ }
+ if ( isRenderMaterialVolumes() )
+ {
+ setShapeRenderFlag( LLPathingLib::LLST_MaterialPhantoms );
+ }
+ if ( isRenderExclusionVolumes() )
+ {
+ setShapeRenderFlag( LLPathingLib::LLST_ExclusionPhantoms );
+ }
+ return mShapeRenderFlags;
+}
diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h
index 3735a94c18..fc135d7dd7 100644
--- a/indra/newview/llfloaterpathfindingconsole.h
+++ b/indra/newview/llfloaterpathfindingconsole.h
@@ -95,6 +95,9 @@ public:
BOOL isRenderWorld() const;
void setRenderWorld(BOOL pIsRenderWorld);
+
+ BOOL isRenderAnyShapes() const;
+ U32 getRenderShapeFlags();
ERenderHeatmapType getRenderHeatmapType() const;
void setRenderHeatmapType(ERenderHeatmapType pRenderHeatmapType);
@@ -133,6 +136,8 @@ private:
void generatePath();
void updatePathTestStatus();
+ void resetShapeRenderFlags() { mShapeRenderFlags = 0; }
+ void setShapeRenderFlag( LLPathingLib::LLShapeType type ) { mShapeRenderFlags |= (1<<type); }
LLRootHandle<LLFloaterPathfindingConsole> mSelfHandle;
LLCheckBoxCtrl *mShowNavMeshCheckBox;
@@ -165,7 +170,7 @@ private:
LLPathingLib::PathingPacket mPathData;
bool mHasStartPoint;
bool mHasEndPoint;
-
+ U32 mShapeRenderFlags;
static LLHandle<LLFloaterPathfindingConsole> sInstanceHandle;
};
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 42c04f3fd8..001c23278d 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -1015,9 +1015,9 @@ void render_navmesh( bool& allowRenderables, bool& exclusiveNavDraw )
exclusiveNavDraw = true;
}
//physics/exclusion shapes
- if ( pathfindingConsole->isRenderExclusionVolumes() )
+ if ( pathfindingConsole->isRenderAnyShapes() )
{
- llPathingLibInstance->renderNavMeshShapesVBO();
+ llPathingLibInstance->renderNavMeshShapesVBO( pathfindingConsole->getRenderShapeFlags() );
exclusiveNavDraw = true;
}
//User designated path