summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autobuild.xml12
-rw-r--r--indra/newview/llfloaterpathfindingcharacters.cpp15
-rw-r--r--indra/newview/llfloaterpathfindingcharacters.h4
-rw-r--r--indra/newview/pipeline.cpp15
4 files changed, 25 insertions, 21 deletions
diff --git a/autobuild.xml b/autobuild.xml
index e5a7d2e154..39c09e9d6d 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1110,9 +1110,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>2f8599b736cdeb504e0a4f5417957392</string>
+ <string>18aed5e908b5b7de719f51d1b368b54d</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/258952/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120606.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/259057/arch/Darwin/installer/llphysicsextensions-0.1-darwin-20120607.tar.bz2</string>
</map>
<key>name</key>
<string>darwin</string>
@@ -1122,9 +1122,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>82689d3216121fb8ad7f0bae144ee6a7</string>
+ <string>4b56219aad02f01324828a3034ef6b2f</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/258952/arch/Linux/installer/llphysicsextensions-0.1-linux-20120606.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/259057/arch/Linux/installer/llphysicsextensions-0.1-linux-20120607.tar.bz2</string>
</map>
<key>name</key>
<string>linux</string>
@@ -1134,9 +1134,9 @@
<key>archive</key>
<map>
<key>hash</key>
- <string>fdc1f6cb1497bf2e095d5c74316e7673</string>
+ <string>90a5a1e2fd78eaaa84f36dcafe255963</string>
<key>url</key>
- <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/258952/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120606.tar.bz2</string>
+ <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/stinson_llpathinglibrary/rev/259057/arch/CYGWIN/installer/llphysicsextensions-0.1-windows-20120607.tar.bz2</string>
</map>
<key>name</key>
<string>windows</string>
diff --git a/indra/newview/llfloaterpathfindingcharacters.cpp b/indra/newview/llfloaterpathfindingcharacters.cpp
index 098881544f..b4a1394b06 100644
--- a/indra/newview/llfloaterpathfindingcharacters.cpp
+++ b/indra/newview/llfloaterpathfindingcharacters.cpp
@@ -74,12 +74,12 @@ void LLFloaterPathfindingCharacters::setShowPhysicsCapsule(BOOL pIsShowPhysicsCa
#endif // SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE
}
-BOOL LLFloaterPathfindingCharacters::isPhysicsCapsuleEnabled(LLUUID& id, LLVector3& pos) const
+BOOL LLFloaterPathfindingCharacters::isPhysicsCapsuleEnabled(LLUUID& id, LLVector3& pos, LLQuaternion& rot) const
{
id = mSelectedCharacterId;
- // Physics capsule is enable if the checkbox is enabled and if we can get a position
- // for any selected object
- return (isShowPhysicsCapsule() && getCapsulePosition(pos));
+ // Physics capsule is enable if the checkbox is enabled and if we can get the required render
+ // parameters for any selected object
+ return (isShowPhysicsCapsule() && getCapsuleRenderData(pos, rot ));
}
void LLFloaterPathfindingCharacters::openCharactersViewer()
@@ -286,7 +286,7 @@ void LLFloaterPathfindingCharacters::hideCapsule() const
}
}
-bool LLFloaterPathfindingCharacters::getCapsulePosition(LLVector3 &pPosition) const
+bool LLFloaterPathfindingCharacters::getCapsuleRenderData(LLVector3& pPosition, LLQuaternion& rot) const
{
bool result = false;
@@ -298,8 +298,9 @@ bool LLFloaterPathfindingCharacters::getCapsulePosition(LLVector3 &pPosition) co
LLViewerObject *viewerObject = gObjectList.findObject(mSelectedCharacterId);
if ( viewerObject != NULL )
{
- pPosition = viewerObject->getRenderPosition();
- result = true;
+ rot = viewerObject->getRotation() ;
+ pPosition = viewerObject->getRenderPosition();
+ result = true;
}
}
diff --git a/indra/newview/llfloaterpathfindingcharacters.h b/indra/newview/llfloaterpathfindingcharacters.h
index fe24b6c562..a86a9700b1 100644
--- a/indra/newview/llfloaterpathfindingcharacters.h
+++ b/indra/newview/llfloaterpathfindingcharacters.h
@@ -44,7 +44,7 @@ public:
BOOL isShowPhysicsCapsule() const;
void setShowPhysicsCapsule(BOOL pIsShowPhysicsCapsule);
- BOOL isPhysicsCapsuleEnabled(LLUUID& id, LLVector3& pos) const;
+ BOOL isPhysicsCapsuleEnabled(LLUUID& id, LLVector3& pos, LLQuaternion& rot ) const;
static void openCharactersViewer();
static LLHandle<LLFloaterPathfindingCharacters> getInstanceHandle();
@@ -79,7 +79,7 @@ private:
void showCapsule() const;
void hideCapsule() const;
- bool getCapsulePosition(LLVector3 &pPosition) const;
+ bool getCapsuleRenderData(LLVector3& pPosition, LLQuaternion& rot) const;
LLCheckBoxCtrl *mShowPhysicsCapsuleCheckBox;
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 3531599764..708bb20bc2 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -4377,24 +4377,27 @@ void LLPipeline::renderDebug()
gPathfindingProgram.uniform1f("alpha_scale", 1.f);
}
- LLUUID id;
+ //Requried character physics capsule render parameters
+ LLUUID id;
LLVector3 pos;
- if ( pathfindingCharacter->isPhysicsCapsuleEnabled( id, pos ) )
- {
+ LLQuaternion rot;
+
+ if ( pathfindingCharacter->isPhysicsCapsuleEnabled( id, pos, rot ) )
+ {
if (LLGLSLShader::sNoFixedFunction)
{
//remove blending artifacts
gGL.setColorMask(false, false);
- llPathingLibInstance->renderSimpleShapeCapsuleID( gGL, id, pos );
+ llPathingLibInstance->renderSimpleShapeCapsuleID( gGL, id, pos, rot );
gGL.setColorMask(true, false);
LLGLEnable blend(GL_BLEND);
gPathfindingProgram.uniform1f("alpha_scale", 0.90f);
- llPathingLibInstance->renderSimpleShapeCapsuleID( gGL, id, pos );
+ llPathingLibInstance->renderSimpleShapeCapsuleID( gGL, id, pos, rot );
gPathfindingProgram.bind();
}
else
{
- llPathingLibInstance->renderSimpleShapeCapsuleID( gGL, id, pos );
+ llPathingLibInstance->renderSimpleShapeCapsuleID( gGL, id, pos, rot );
}
}
}