diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/CMakeLists.txt | 13 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingcharacters.cpp | 12 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingcharacters.h | 6 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.h | 2 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingobjects.cpp | 27 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingobjects.h | 9 | ||||
-rw-r--r-- | indra/newview/lllocationinputctrl.cpp | 4 | ||||
-rw-r--r-- | indra/newview/llpathfindingmanager.cpp | 10 | ||||
-rw-r--r-- | indra/newview/llpathfindingmanager.h | 8 | ||||
-rw-r--r-- | indra/newview/llstartup.cpp | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png | bin | 683 -> 384 bytes | |||
-rw-r--r-- | indra/newview/skins/default/xui/en/notifications.xml | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/strings.xml | 2 |
14 files changed, 60 insertions, 41 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 4d295ac5e5..04d67b5108 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -1550,7 +1550,7 @@ if (WINDOWS) #LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:\"__tcmalloc\"" LINK_FLAGS "/debug /NODEFAULTLIB:LIBCMT /SUBSYSTEM:WINDOWS /INCLUDE:__tcmalloc " LINK_FLAGS_DEBUG "/NODEFAULTLIB:\"LIBCMT;LIBCMTD;MSVCRT\" /INCREMENTAL:NO" - LINK_FLAGS_RELEASE "/FORCE:MULTIPLE" + LINK_FLAGS_RELEASE "/FORCE:MULTIPLE /MAP\"secondlife-bin.MAP\" /OPT:REF" ) if(USE_PRECOMPILED_HEADERS) set_target_properties( @@ -1755,6 +1755,17 @@ if (WINDOWS) #${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/event_host.tar.bz2) endif (PACKAGE) +elseif (DARWIN) + set_target_properties(${VIEWER_BINARY_NAME} + PROPERTIES + LINK_FLAGS_RELEASE "${LINK_FLAGS_RELEASE} -Xlinker -dead_strip -Xlinker -map -Xlinker ${CMAKE_CURRENT_BINARY_DIR}/${VIEWER_BINARY_NAME}.MAP" + ) +else (WINDOWS) + # Linux + set_target_properties(${VIEWER_BINARY_NAME} + PROPERTIES + LINK_FLAGS_RELEASE "${LINK_FLAGS_RELEASE} -Wl,--Map=${VIEWER_BINARY_NAME}.MAP" + ) endif (WINDOWS) # *NOTE - this list is very sensitive to ordering, test carefully on all diff --git a/indra/newview/llfloaterpathfindingcharacters.cpp b/indra/newview/llfloaterpathfindingcharacters.cpp index b4a1394b06..60e66174f3 100644 --- a/indra/newview/llfloaterpathfindingcharacters.cpp +++ b/indra/newview/llfloaterpathfindingcharacters.cpp @@ -160,11 +160,11 @@ LLSD LLFloaterPathfindingCharacters::convertObjectsIntoScrollListData(const LLPa return scrollListData; } -void LLFloaterPathfindingCharacters::updateControls() +void LLFloaterPathfindingCharacters::updateControlsOnScrollListChange() { - LLFloaterPathfindingObjects::updateControls(); - updateOnScrollListChange(); - updateStateOnActionFields(); + LLFloaterPathfindingObjects::updateControlsOnScrollListChange(); + updateStateOnDisplayControls(); + showSelectedCharacterCapsules(); } S32 LLFloaterPathfindingCharacters::getNameColumnIndex() const @@ -233,7 +233,7 @@ LLSD LLFloaterPathfindingCharacters::buildCharacterScrollListData(const LLPathfi return element; } -void LLFloaterPathfindingCharacters::updateStateOnActionFields() +void LLFloaterPathfindingCharacters::updateStateOnDisplayControls() { int numSelectedItems = getNumSelectedObjects();; #ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE @@ -249,7 +249,7 @@ void LLFloaterPathfindingCharacters::updateStateOnActionFields() } } -void LLFloaterPathfindingCharacters::updateOnScrollListChange() +void LLFloaterPathfindingCharacters::showSelectedCharacterCapsules() { // Hide any previous capsule hideCapsule(); diff --git a/indra/newview/llfloaterpathfindingcharacters.h b/indra/newview/llfloaterpathfindingcharacters.h index a86a9700b1..be178d2746 100644 --- a/indra/newview/llfloaterpathfindingcharacters.h +++ b/indra/newview/llfloaterpathfindingcharacters.h @@ -61,7 +61,7 @@ protected: virtual LLSD convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr); - virtual void updateControls(); + virtual void updateControlsOnScrollListChange(); virtual S32 getNameColumnIndex() const; virtual const LLColor4 &getBeaconColor() const; @@ -73,8 +73,8 @@ private: LLSD buildCharacterScrollListData(const LLPathfindingCharacter *pCharacterPtr) const; - void updateStateOnActionFields(); - void updateOnScrollListChange(); + void updateStateOnDisplayControls(); + void showSelectedCharacterCapsules(); void showCapsule() const; void hideCapsule() const; diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp index 8488ee1aa3..a7b856b271 100644 --- a/indra/newview/llfloaterpathfindinglinksets.cpp +++ b/indra/newview/llfloaterpathfindinglinksets.cpp @@ -250,9 +250,9 @@ LLSD LLFloaterPathfindingLinksets::convertObjectsIntoScrollListData(const LLPath return scrollListData; } -void LLFloaterPathfindingLinksets::updateControls() +void LLFloaterPathfindingLinksets::updateControlsOnScrollListChange() { - LLFloaterPathfindingObjects::updateControls(); + LLFloaterPathfindingObjects::updateControlsOnScrollListChange(); updateEditFieldValues(); updateStateOnEditFields(); updateStateOnEditLinksetUse(); diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h index 8c464dc1d5..c9ae5a059a 100644 --- a/indra/newview/llfloaterpathfindinglinksets.h +++ b/indra/newview/llfloaterpathfindinglinksets.h @@ -60,7 +60,7 @@ protected: virtual LLSD convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr); - virtual void updateControls(); + virtual void updateControlsOnScrollListChange(); virtual S32 getNameColumnIndex() const; virtual const LLColor4 &getBeaconColor() const; diff --git a/indra/newview/llfloaterpathfindingobjects.cpp b/indra/newview/llfloaterpathfindingobjects.cpp index 6f183c78b1..14fa0ac428 100644 --- a/indra/newview/llfloaterpathfindingobjects.cpp +++ b/indra/newview/llfloaterpathfindingobjects.cpp @@ -348,7 +348,7 @@ void LLFloaterPathfindingObjects::rebuildObjectsScrollList() mObjectsScrollList->selectMultiple(selectedUUIDs); mObjectsScrollList->setScrollPos(origScrollPosition); - updateControls(); + updateControlsOnScrollListChange(); } LLSD LLFloaterPathfindingObjects::convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) @@ -368,11 +368,17 @@ void LLFloaterPathfindingObjects::rebuildScrollListAfterAvatarNameLoads(const LL } } -void LLFloaterPathfindingObjects::updateControls() +void LLFloaterPathfindingObjects::updateControlsOnScrollListChange() { updateMessagingStatus(); - updateStateOnListActionControls(); - updateStateOnEditFields(); + updateStateOnListControls(); + selectScrollListItemsInWorld(); + updateStateOnActionControls(); +} + +void LLFloaterPathfindingObjects::updateControlsOnInWorldSelectionChange() +{ + updateStateOnActionControls(); } S32 LLFloaterPathfindingObjects::getNameColumnIndex() const @@ -491,7 +497,7 @@ LLFloaterPathfindingObjects::EMessagingState LLFloaterPathfindingObjects::getMes void LLFloaterPathfindingObjects::setMessagingState(EMessagingState pMessagingState) { mMessagingState = pMessagingState; - updateControls(); + updateControlsOnScrollListChange(); } void LLFloaterPathfindingObjects::onRefreshObjectsClicked() @@ -539,13 +545,12 @@ void LLFloaterPathfindingObjects::onTeleportClicked() void LLFloaterPathfindingObjects::onScrollListSelectionChanged() { - updateOnScrollListChange(); - updateControls(); + updateControlsOnScrollListChange(); } void LLFloaterPathfindingObjects::onInWorldSelectionListChanged() { - updateControls(); + updateControlsOnInWorldSelectionChange(); } void LLFloaterPathfindingObjects::onRegionBoundaryCrossed() @@ -632,7 +637,7 @@ void LLFloaterPathfindingObjects::updateMessagingStatus() mMessagingStatus->setText((LLStringExplicit)statusText, styleParams); } -void LLFloaterPathfindingObjects::updateStateOnListActionControls() +void LLFloaterPathfindingObjects::updateStateOnListControls() { switch (getMessagingState()) { @@ -665,7 +670,7 @@ void LLFloaterPathfindingObjects::updateStateOnListActionControls() } } -void LLFloaterPathfindingObjects::updateStateOnEditFields() +void LLFloaterPathfindingObjects::updateStateOnActionControls() { int numSelectedItems = mObjectsScrollList->getNumSelected(); bool isEditEnabled = (numSelectedItems > 0); @@ -678,7 +683,7 @@ void LLFloaterPathfindingObjects::updateStateOnEditFields() mTeleportButton->setEnabled(numSelectedItems == 1); } -void LLFloaterPathfindingObjects::updateOnScrollListChange() +void LLFloaterPathfindingObjects::selectScrollListItemsInWorld() { mObjectsSelection.clear(); LLSelectMgr::getInstance()->deselectAll(); diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index cf418b3b71..88790db12d 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -82,7 +82,8 @@ protected: void rebuildScrollListAfterAvatarNameLoads(const LLUUID &pAvatarId); - virtual void updateControls(); + virtual void updateControlsOnScrollListChange(); + virtual void updateControlsOnInWorldSelectionChange(); virtual S32 getNameColumnIndex() const; virtual const LLColor4 &getBeaconColor() const; @@ -124,9 +125,9 @@ private: void handleAvatarNameLoads(const LLUUID &pAvatarId, const LLAvatarName &pAvatarName); void updateMessagingStatus(); - void updateStateOnListActionControls(); - void updateStateOnEditFields(); - void updateOnScrollListChange(); + void updateStateOnListControls(); + void updateStateOnActionControls(); + void selectScrollListItemsInWorld(); LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; diff --git a/indra/newview/lllocationinputctrl.cpp b/indra/newview/lllocationinputctrl.cpp index db7371d993..0d8526d3f1 100644 --- a/indra/newview/lllocationinputctrl.cpp +++ b/indra/newview/lllocationinputctrl.cpp @@ -827,7 +827,7 @@ void LLLocationInputCtrl::refreshParcelIcons() bool allow_scripts = vpm->allowAgentScripts(agent_region, current_parcel); bool allow_damage = vpm->allowAgentDamage(agent_region, current_parcel); bool see_avs = current_parcel->getSeeAVs(); - bool pathfinding_dynamic = gAgent.getRegion()->dynamicPathfindingEnabled(); + bool pathfinding_dynamic_enabled = gAgent.getRegion()->dynamicPathfindingEnabled(); // Most icons are "block this ability" mParcelIcon[VOICE_ICON]->setVisible( !allow_voice ); @@ -836,7 +836,7 @@ void LLLocationInputCtrl::refreshParcelIcons() mParcelIcon[BUILD_ICON]->setVisible( !allow_build ); mParcelIcon[SCRIPTS_ICON]->setVisible( !allow_scripts ); mParcelIcon[DAMAGE_ICON]->setVisible( allow_damage ); - mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setVisible( pathfinding_dynamic ); + mParcelIcon[PATHFINDING_DYNAMIC_ICON]->setVisible( !pathfinding_dynamic_enabled ); mDamageText->setVisible(allow_damage); mParcelIcon[SEE_AVATARS_ICON]->setVisible( !see_avs ); diff --git a/indra/newview/llpathfindingmanager.cpp b/indra/newview/llpathfindingmanager.cpp index 16283282fb..a77d6bcc4c 100644 --- a/indra/newview/llpathfindingmanager.cpp +++ b/indra/newview/llpathfindingmanager.cpp @@ -285,10 +285,7 @@ LLPathfindingManager::LLPathfindingManager() mShowNavMeshRebake(false), mCrossingSlot() { - if ( !mCrossingSlot.connected() ) - { - mCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPathfindingManager::onRegionBoundaryCrossed, this)); - } + } void LLPathfindingManager::onRegionBoundaryCrossed() @@ -616,6 +613,11 @@ LLPathfindingNavMeshPtr LLPathfindingManager::getNavMeshForRegion(LLViewerRegion void LLPathfindingManager::requestGetAgentState() { + if ( !mCrossingSlot.connected() ) + { + mCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPathfindingManager::onRegionBoundaryCrossed, this)); + } + std::string agentStateURL = getAgentStateURLForCurrentRegion( getCurrentRegion() ); if ( !agentStateURL.empty() ) diff --git a/indra/newview/llpathfindingmanager.h b/indra/newview/llpathfindingmanager.h index 309d7513c6..1de9fd6525 100644 --- a/indra/newview/llpathfindingmanager.h +++ b/indra/newview/llpathfindingmanager.h @@ -98,6 +98,7 @@ public: void handleNavMeshRebakeError( U32 pStatus, const std::string &pReason, const std::string &pURL ); void triggerNavMeshRebuild(); void onRegionBoundaryCrossed(); + void requestGetAgentState(); protected: @@ -129,16 +130,13 @@ private: void displayNavMeshRebakePanel(); void hideNavMeshRebakePanel(); - - - void requestGetAgentState(); - void handleAgentStateResult(const LLSD &pContent );//, EAgentState pRequestedAgentState); + void handleAgentStateResult(const LLSD &pContent ); void handleAgentStateError(U32 pStatus, const std::string &pReason, const std::string &pURL); NavMeshMap mNavMeshMap; - + //prep#stinson# set this flag instead of directly showing/hiding the rebake panel BOOL mShowNavMeshRebake; }; diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 6bee373181..fd6f6e14d3 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2169,6 +2169,8 @@ bool idle_startup() LLIMFloater::initIMFloater(); display_startup(); + LLPathfindingManager::getInstance()->requestGetAgentState(); + return TRUE; } diff --git a/indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png b/indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png Binary files differindex 2c485aef0d..0622141848 100644 --- a/indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png +++ b/indra/newview/skins/default/textures/icons/Pathfinding_Dynamic.png diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index e9151c2db9..ac36736a51 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -5786,7 +5786,7 @@ This area has building disabled. You can't build or rez objects here. persist="true" type="notify"> <unique/> - Dynamic pathing is enabled. + Dynamic pathing is not available. </notification> <notification diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index e6af4cf5a6..8771d83aa4 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3325,7 +3325,7 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. <string name="LocationCtrlModerateIconTooltip">Moderate Region</string> <string name="LocationCtrlGeneralIconTooltip">General Region</string> <string name="LocationCtrlSeeAVsTooltip">Avatars visible and chat allowed outside of this parcel</string> - <string name="PathfindingDynamicTooltip">Dynamic Pathfinding Enabled</string> + <string name="PathfindingDynamicTooltip">Dynamic Pathfinding is not available</string> <!-- Strings used by the (currently Linux) auto-updater app --> <string name="UpdaterWindowTitle"> [APP_NAME] Update |