diff options
-rw-r--r-- | autobuild.xml | 12 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingcharacters.cpp | 15 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingcharacters.h | 4 | ||||
-rw-r--r-- | indra/newview/pipeline.cpp | 15 |
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 ); } } } |