diff options
-rw-r--r-- | autobuild.xml | 24 | ||||
-rw-r--r-- | indra/cmake/Havok.cmake | 2 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.cpp | 20 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.h | 4 | ||||
-rw-r--r-- | indra/newview/llpanelpathfindingrebakenavmesh.cpp | 15 | ||||
-rw-r--r-- | indra/newview/llpanelpathfindingrebakenavmesh.h | 3 | ||||
-rw-r--r-- | indra/newview/llselectmgr.cpp | 30 | ||||
-rw-r--r-- | indra/newview/llselectmgr.h | 2 | ||||
-rw-r--r-- | indra/newview/llviewermenu.cpp | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml | 69 |
10 files changed, 148 insertions, 23 deletions
diff --git a/autobuild.xml b/autobuild.xml index cc6e3c710d..0f2cdd8e6c 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -870,9 +870,9 @@ <key>archive</key> <map> <key>hash</key> - <string>4ceeb68ac59a2b999a069b27020f76d3</string> + <string>efaf5cb3e861d44518eb03f4c406f03c</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/falcon_3p-havok-source/rev/261056/arch/Darwin/installer/havok_source-2012.1-darwin-20120702.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/falcon_3p-havok-source/rev/261536/arch/Darwin/installer/havok_source-2012.1-darwin-20120710.tar.bz2</string> </map> <key>name</key> <string>darwin</string> @@ -882,9 +882,9 @@ <key>archive</key> <map> <key>hash</key> - <string>0591902d3e7eff848f71915df86d8837</string> + <string>d429de68361ef74081c5a96e444e877b</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/falcon_3p-havok-source/rev/261056/arch/Linux/installer/havok_source-2012.1-linux-20120702.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/falcon_3p-havok-source/rev/261536/arch/Linux/installer/havok_source-2012.1-linux-20120711.tar.bz2</string> </map> <key>name</key> <string>linux</string> @@ -894,9 +894,9 @@ <key>archive</key> <map> <key>hash</key> - <string>3a860c548aa311dc4e09d17a3a914a98</string> + <string>cd6638f5a03469654615730c16889a60</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/falcon_3p-havok-source/rev/261056/arch/CYGWIN/installer/havok_source-2012.1-windows-20120702.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/falcon_3p-havok-source/rev/261536/arch/CYGWIN/installer/havok_source-2012.1-windows-20120710.tar.bz2</string> </map> <key>name</key> <string>windows</string> @@ -1158,11 +1158,11 @@ <key>archive</key> <map> <key>hash</key> - <string>5f75735d1092b087b3373ca874c41593</string> + <string>11bfb4c6ca2bfe64375f7ece1ea1d313</string> <key>hash_algorithm</key> <string>md5</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/oz_llphysicsextensions-source/rev/261490/arch/Darwin/installer/llphysicsextensions_source-0.2-darwin-20120710.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/oz_llphysicsextensions-source/rev/261538/arch/Darwin/installer/llphysicsextensions_source-0.2-darwin-20120710.tar.bz2</string> </map> <key>name</key> <string>darwin</string> @@ -1172,9 +1172,9 @@ <key>archive</key> <map> <key>hash</key> - <string>911f46354e338a7013f023385a3f905f</string> + <string>71505a9cd2d4490ba1bea6a67f20ecac</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/oz_llphysicsextensions-source/rev/261490/arch/Linux/installer/llphysicsextensions_source-0.2-linux-20120710.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/oz_llphysicsextensions-source/rev/261538/arch/Linux/installer/llphysicsextensions_source-0.2-linux-20120711.tar.bz2</string> </map> <key>name</key> <string>linux</string> @@ -1184,9 +1184,9 @@ <key>archive</key> <map> <key>hash</key> - <string>b1212ec910042d186836d496d288984c</string> + <string>1286c0fb573498f7aa419174e0f46d7c</string> <key>url</key> - <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/oz_llphysicsextensions-source/rev/261490/arch/CYGWIN/installer/llphysicsextensions_source-0.2-windows-20120710.tar.bz2</string> + <string>http://s3-proxy.lindenlab.com/private-builds-secondlife-com/hg/repo/oz_llphysicsextensions-source/rev/261538/arch/CYGWIN/installer/llphysicsextensions_source-0.2-windows-20120710.tar.bz2</string> </map> <key>name</key> <string>windows</string> diff --git a/indra/cmake/Havok.cmake b/indra/cmake/Havok.cmake index 7e65efda68..3d63459f02 100644 --- a/indra/cmake/Havok.cmake +++ b/indra/cmake/Havok.cmake @@ -68,7 +68,7 @@ foreach(HAVOK_LIB ${HAVOK_LIBS}) file(GLOB extracted_debug "${debug_dir}/*.o") file(GLOB extracted_release "${release_dir}/*.o") - file(GLOB extracted_relwithdebinfo "${release_dir}/*.o") + file(GLOB extracted_relwithdebinfo "${relwithdebinfo_dir}/*.o") list(APPEND HK_DEBUG_LIBRARIES ${extracted_debug}) list(APPEND HK_RELEASE_LIBRARIES ${extracted_release}) list(APPEND HK_RELWITHDEBINFO_LIBRARIES ${extracted_relwithdebinfo}) diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp index 9516b4b0c1..bb0ac8f4b9 100644 --- a/indra/newview/llfloaterpathfindinglinksets.cpp +++ b/indra/newview/llfloaterpathfindinglinksets.cpp @@ -86,12 +86,16 @@ LLFloaterPathfindingLinksets::LLFloaterPathfindingLinksets(const LLSD& pSeed) mEditLinksetUseDynamicPhantom(NULL), mLabelWalkabilityCoefficients(NULL), mLabelEditA(NULL), + mLabelSuggestedUseA(NULL), mEditA(NULL), mLabelEditB(NULL), + mLabelSuggestedUseB(NULL), mEditB(NULL), mLabelEditC(NULL), + mLabelSuggestedUseC(NULL), mEditC(NULL), mLabelEditD(NULL), + mLabelSuggestedUseD(NULL), mEditD(NULL), mApplyEditsButton(NULL), mBeaconColor() @@ -158,6 +162,9 @@ BOOL LLFloaterPathfindingLinksets::postBuild() mLabelEditA = findChild<LLTextBase>("edit_a_label"); llassert(mLabelEditA != NULL); + mLabelSuggestedUseA = findChild<LLTextBase>("suggested_use_a_label"); + llassert(mLabelSuggestedUseA != NULL); + mEditA = findChild<LLLineEditor>("edit_a_value"); llassert(mEditA != NULL); mEditA->setPrevalidate(LLTextValidate::validateNonNegativeS32); @@ -166,6 +173,9 @@ BOOL LLFloaterPathfindingLinksets::postBuild() mLabelEditB = findChild<LLTextBase>("edit_b_label"); llassert(mLabelEditB != NULL); + mLabelSuggestedUseB = findChild<LLTextBase>("suggested_use_b_label"); + llassert(mLabelSuggestedUseB != NULL); + mEditB = findChild<LLLineEditor>("edit_b_value"); llassert(mEditB != NULL); mEditB->setPrevalidate(LLTextValidate::validateNonNegativeS32); @@ -174,6 +184,9 @@ BOOL LLFloaterPathfindingLinksets::postBuild() mLabelEditC = findChild<LLTextBase>("edit_c_label"); llassert(mLabelEditC != NULL); + mLabelSuggestedUseC = findChild<LLTextBase>("suggested_use_c_label"); + llassert(mLabelSuggestedUseC != NULL); + mEditC = findChild<LLLineEditor>("edit_c_value"); llassert(mEditC != NULL); mEditC->setPrevalidate(LLTextValidate::validateNonNegativeS32); @@ -182,6 +195,9 @@ BOOL LLFloaterPathfindingLinksets::postBuild() mLabelEditD = findChild<LLTextBase>("edit_d_label"); llassert(mLabelEditD != NULL); + mLabelSuggestedUseD = findChild<LLTextBase>("suggested_use_d_label"); + llassert(mLabelSuggestedUseD != NULL); + mEditD = findChild<LLLineEditor>("edit_d_value"); llassert(mEditD != NULL); mEditD->setPrevalidate(LLTextValidate::validateNonNegativeS32); @@ -500,6 +516,10 @@ void LLFloaterPathfindingLinksets::updateStateOnEditFields() mLabelEditB->setEnabled(isEditEnabled); mLabelEditC->setEnabled(isEditEnabled); mLabelEditD->setEnabled(isEditEnabled); + mLabelSuggestedUseA->setEnabled(isEditEnabled); + mLabelSuggestedUseB->setEnabled(isEditEnabled); + mLabelSuggestedUseC->setEnabled(isEditEnabled); + mLabelSuggestedUseD->setEnabled(isEditEnabled); mEditA->setEnabled(isEditEnabled); mEditB->setEnabled(isEditEnabled); mEditC->setEnabled(isEditEnabled); diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h index a4631ffeb7..342a64fc77 100644 --- a/indra/newview/llfloaterpathfindinglinksets.h +++ b/indra/newview/llfloaterpathfindinglinksets.h @@ -115,12 +115,16 @@ private: LLScrollListItem *mEditLinksetUseDynamicPhantom; LLTextBase *mLabelWalkabilityCoefficients; LLTextBase *mLabelEditA; + LLTextBase *mLabelSuggestedUseA; LLLineEditor *mEditA; LLTextBase *mLabelEditB; + LLTextBase *mLabelSuggestedUseB; LLLineEditor *mEditB; LLTextBase *mLabelEditC; + LLTextBase *mLabelSuggestedUseC; LLLineEditor *mEditC; LLTextBase *mLabelEditD; + LLTextBase *mLabelSuggestedUseD; LLLineEditor *mEditD; LLButton *mApplyEditsButton; diff --git a/indra/newview/llpanelpathfindingrebakenavmesh.cpp b/indra/newview/llpanelpathfindingrebakenavmesh.cpp index 2c8c46c7bc..8df041f578 100644 --- a/indra/newview/llpanelpathfindingrebakenavmesh.cpp +++ b/indra/newview/llpanelpathfindingrebakenavmesh.cpp @@ -159,6 +159,11 @@ void LLPanelPathfindingRebakeNavmesh::setMode(ERebakeNavMeshMode pRebakeNavMeshM mRebakeNavMeshMode = pRebakeNavMeshMode; } +LLPanelPathfindingRebakeNavmesh::ERebakeNavMeshMode LLPanelPathfindingRebakeNavmesh::getMode() const +{ + return mRebakeNavMeshMode; +} + void LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick() { setMode(kRebakeNavMesh_RequestSent); @@ -172,16 +177,14 @@ void LLPanelPathfindingRebakeNavmesh::handleAgentState(BOOL pCanRebakeRegion) void LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse(bool pResponseStatus) { - setMode(pResponseStatus ? kRebakeNavMesh_InProgress : kRebakeNavMesh_Default); - if (!pResponseStatus) + if (getMode() == kRebakeNavMesh_RequestSent) { - LLNotificationsUtil::add("PathfindingCannotRebakeNavmesh"); + setMode(pResponseStatus ? kRebakeNavMesh_InProgress : kRebakeNavMesh_Default); } - LLViewerRegion *currentRegion = gAgent.getRegion(); - if (currentRegion != NULL) + if (!pResponseStatus) { - LLPathfindingManager::getInstance()->requestGetNavMeshForRegion(currentRegion, true); + LLNotificationsUtil::add("PathfindingCannotRebakeNavmesh"); } } diff --git a/indra/newview/llpanelpathfindingrebakenavmesh.h b/indra/newview/llpanelpathfindingrebakenavmesh.h index 5fe581ec2f..48764f2aa7 100644 --- a/indra/newview/llpanelpathfindingrebakenavmesh.h +++ b/indra/newview/llpanelpathfindingrebakenavmesh.h @@ -66,7 +66,8 @@ private: static LLPanelPathfindingRebakeNavmesh* getPanel(); - void setMode(ERebakeNavMeshMode pRebakeNavMeshMode); + void setMode(ERebakeNavMeshMode pRebakeNavMeshMode); + ERebakeNavMeshMode getMode() const; void onNavMeshRebakeClick(); diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 71ea5d80a9..b9449e806f 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -2787,6 +2787,36 @@ BOOL LLSelectMgr::selectGetRootsNonCharacter() //----------------------------------------------------------------------------- +// selectGetEditableLinksets() - return TRUE if all objects are editable +// pathfinding linksets +//----------------------------------------------------------------------------- +BOOL LLSelectMgr::selectGetEditableLinksets() +{ + for (LLObjectSelection::iterator iter = getSelection()->begin(); + iter != getSelection()->end(); iter++ ) + { + LLSelectNode* node = *iter; + LLViewerObject* object = node->getObject(); + if( !object || !node->mValid ) + { + return FALSE; + } + if (object->flagUsePhysics() || + object->flagTemporaryOnRez() || + object->flagCharacter() || + object->flagAnimSource() || + (!gAgent.isGodlike() && + !gAgent.canManageEstate() && + !object->permYouOwner() && + !object->permMove())) + { + return FALSE; + } + } + return TRUE; +} + +//----------------------------------------------------------------------------- // selectGetRootsTransfer() - return TRUE if current agent can transfer all // selected root objects. //----------------------------------------------------------------------------- diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h index bf40ab458f..feab6ebdf8 100644 --- a/indra/newview/llselectmgr.h +++ b/indra/newview/llselectmgr.h @@ -584,6 +584,8 @@ public: BOOL selectGetRootsNonCharacter(); BOOL selectGetNonCharacter(); + BOOL selectGetEditableLinksets(); + // returns TRUE if selected objects can be transferred. BOOL selectGetRootsTransfer(); diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 06ffd2df92..3eb0538328 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2804,7 +2804,7 @@ bool enable_object_build() bool enable_object_select_in_pathfinding_linksets() { - return LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion() && LLSelectMgr::getInstance()->selectGetNonCharacter(); + return LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion() && LLSelectMgr::getInstance()->selectGetEditableLinksets(); } bool enable_object_select_in_pathfinding_characters() diff --git a/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml b/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml index 833e5489ba..cd0f57be99 100644 --- a/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml +++ b/indra/newview/skins/default/xui/en/floater_pathfinding_linksets.xml @@ -3,9 +3,9 @@ open_positioning="cascading" can_resize="true" can_tear_off="false" - height="382" + height="395" width="1015" - min_height="382" + min_height="395" min_width="1015" layout="topleft" name="floater_pathfinding_linksets" @@ -428,6 +428,7 @@ top_pad="-19" max_length_chars="3" name="edit_a_value" + tool_tip="Walkability for characters of type A. Example character type is humanoid." width="45" /> <text height="13" @@ -455,6 +456,7 @@ top_pad="-19" max_length_chars="3" name="edit_b_value" + tool_tip="Walkability for characters of type B. Example character type is creature." width="45" /> <text height="13" @@ -482,6 +484,7 @@ top_pad="-19" max_length_chars="3" name="edit_c_value" + tool_tip="Walkability for characters of type C. Example character type is mechanical." width="45" /> <text height="13" @@ -509,6 +512,7 @@ top_pad="-19" max_length_chars="3" name="edit_d_value" + tool_tip="Walkability for characters of type D. Example character type is other." width="45" /> <button follows="right|bottom" @@ -519,5 +523,66 @@ top_pad="-21" left_pad="40" width="140"/> + <text + height="13" + word_wrap="false" + use_ellipses="false" + type="string" + text_color="LabelTextColor" + text_readonly_color="LabelDisabledColor" + name="suggested_use_a_label" + length="1" + follows="left|bottom" + layout="topleft" + left="363" + top_pad="5" + width="107"> + (Humanoid) + </text> + <text + height="13" + word_wrap="false" + use_ellipses="false" + type="string" + text_color="LabelTextColor" + text_readonly_color="LabelDisabledColor" + name="suggested_use_b_label" + length="1" + follows="left|bottom" + layout="topleft" + left_pad="0" + width="107"> + (Creature) + </text> + <text + height="13" + word_wrap="false" + use_ellipses="false" + type="string" + text_color="LabelTextColor" + text_readonly_color="LabelDisabledColor" + name="suggested_use_c_label" + length="1" + follows="left|bottom" + layout="topleft" + left_pad="0" + width="107"> + (Mechanical) + </text> + <text + height="13" + word_wrap="false" + use_ellipses="false" + type="string" + text_color="LabelTextColor" + text_readonly_color="LabelDisabledColor" + name="suggested_use_d_label" + length="1" + follows="left|bottom" + layout="topleft" + left_pad="0" + width="107"> + (Other) + </text> </panel> </floater> |