diff options
-rw-r--r-- | indra/newview/CMakeLists.txt | 4 | ||||
-rwxr-xr-x | indra/newview/llagent.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llpanelnavmeshrebake.h | 97 | ||||
-rw-r--r-- | indra/newview/llpanelpathfindingrebakenavmesh.cpp (renamed from indra/newview/llpanelnavmeshrebake.cpp) | 101 | ||||
-rw-r--r-- | indra/newview/llpanelpathfindingrebakenavmesh.h | 96 | ||||
-rw-r--r-- | indra/newview/llpathfindingmanager.cpp | 1 | ||||
-rw-r--r-- | indra/newview/llviewerwindow.cpp | 4 |
8 files changed, 154 insertions, 156 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index a78c9931e5..c91d276c8f 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -382,13 +382,13 @@ set(viewer_SOURCE_FILES llpanelmediasettingspermissions.cpp llpanelmediasettingssecurity.cpp llpanelme.cpp - llpanelnavmeshrebake.cpp llpanelnearbymedia.cpp llpanelobject.cpp llpanelobjectinventory.cpp llpanelonlinestatus.cpp llpaneloutfitedit.cpp llpaneloutfitsinventory.cpp + llpanelpathfindingrebakenavmesh.cpp llpanelpeople.cpp llpanelpeoplemenus.cpp llpanelpermissions.cpp @@ -950,13 +950,13 @@ set(viewer_HEADER_FILES llpanelmediasettingspermissions.h llpanelmediasettingssecurity.h llpanelme.h - llpanelnavmeshrebake.h llpanelnearbymedia.h llpanelobject.h llpanelobjectinventory.h llpanelonlinestatus.h llpaneloutfitedit.h llpaneloutfitsinventory.h + llpanelpathfindingrebakenavmesh.h llpanelpeople.h llpanelpeoplemenus.h llpanelpermissions.h diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index e66df99d76..cf6b0e1562 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -56,7 +56,7 @@ #include "llnavigationbar.h" // to show/hide navigation bar when changing mouse look state #include "llnearbychatbar.h" #include "llnotificationsutil.h" -#include "llpanelnavmeshrebake.h" +#include "llpanelpathfindingrebakenavmesh.h" #include "llpaneltopinfobar.h" #include "llparcel.h" #include "llrendersphere.h" @@ -1871,7 +1871,7 @@ void LLAgent::endAnimationUpdateUI() LLChicletBar::getInstance()->setVisible(TRUE); LLPanelStandStopFlying::getInstance()->setVisible(TRUE); - LLPanelNavMeshRebake::getInstance()->setVisible(TRUE); + LLPanelPathfindingRebakeNavmesh::getInstance()->setVisible(TRUE); LLToolMgr::getInstance()->setCurrentToolset(gBasicToolset); @@ -1981,7 +1981,7 @@ void LLAgent::endAnimationUpdateUI() LLChicletBar::getInstance()->setVisible(FALSE); LLPanelStandStopFlying::getInstance()->setVisible(FALSE); - LLPanelNavMeshRebake::getInstance()->setVisible(FALSE); + LLPanelPathfindingRebakeNavmesh::getInstance()->setVisible(FALSE); // clear out camera lag effect gAgentCamera.clearCameraLag(); diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index ab5775de06..0bd5dc0263 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -54,7 +54,6 @@ #include "pipeline.h" #include "llpathinglib.h" #include "llviewerparcelmgr.h" -#include "llpanelnavmeshrebake.h" #define XUI_RENDER_HEATMAP_NONE 0 #define XUI_RENDER_HEATMAP_A 1 diff --git a/indra/newview/llpanelnavmeshrebake.h b/indra/newview/llpanelnavmeshrebake.h deleted file mode 100644 index ecd5ad2111..0000000000 --- a/indra/newview/llpanelnavmeshrebake.h +++ /dev/null @@ -1,97 +0,0 @@ -/** - * @file llpanelenavmeshrebake.h - * @author prep - * @brief handles the buttons for navmesh rebaking - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -#ifndef LL_NAVMESHREBAKE_H -#define LL_NAVMESHREBAKE_H - -#include <boost/bind.hpp> -#include <boost/signals2.hpp> - -#include "llhandle.h" -#include "llpanel.h" -#include "llpathfindingmanager.h" -#include "llpathfindingnavmesh.h" - -class LLButton; -class LLPathfindingNavMeshStatus; -class LLView; - -class LLPanelNavMeshRebake : public LLPanel -{ - - LOG_CLASS(LLPanelNavMeshRebake); - -public: - static LLPanelNavMeshRebake* getInstance(); - - virtual BOOL postBuild(); - - virtual void draw(); - virtual BOOL handleToolTip( S32 x, S32 y, MASK mask ); - -protected: - -private: - typedef enum - { - kRebakeNavMesh_Available, - kRebakeNavMesh_RequestSent, - kRebakeNavMesh_NotAvailable, - kRebakeNavMesh_Default = kRebakeNavMesh_NotAvailable - } ERebakeNavMeshMode; - - LLPanelNavMeshRebake(); - virtual ~LLPanelNavMeshRebake(); - - static LLPanelNavMeshRebake* getPanel(); - - void setMode(ERebakeNavMeshMode pRebakeNavMeshMode); - - void onNavMeshRebakeClick(); - - void handleAgentState(BOOL pCanRebakeRegion); - void handleRebakeNavMeshResponse(bool pResponseStatus); - void handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus); - void handleRegionBoundaryCrossed(); - - void createNavMeshStatusListenerForCurrentRegion(); - - bool doDraw() const; - void updatePosition(); - - BOOL mCanRebakeRegion; - ERebakeNavMeshMode mRebakeNavMeshMode; - - LLButton* mNavMeshRebakeButton; - LLButton* mNavMeshBakingButton; - - LLPathfindingNavMesh::navmesh_slot_t mNavMeshSlot; - boost::signals2::connection mRegionCrossingSlot; - LLPathfindingManager::agent_state_slot_t mAgentStateSlot; -}; - -#endif //LL_NAVMESHREBAKE_H diff --git a/indra/newview/llpanelnavmeshrebake.cpp b/indra/newview/llpanelpathfindingrebakenavmesh.cpp index ecd90d9f46..4f7b3aa330 100644 --- a/indra/newview/llpanelnavmeshrebake.cpp +++ b/indra/newview/llpanelpathfindingrebakenavmesh.cpp @@ -1,33 +1,34 @@ -/** - * @file LLPanelNavMeshRebake.cpp - * @author prep - * @brief handles the buttons for navmesh rebaking - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ +/** +* @file llpanelpathfindingrebakenavmesh.cpp +* @brief Implementation of llpanelpathfindingrebakenavmesh +* @author Prep@lindenlab.com +* +* $LicenseInfo:firstyear=2012&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2012, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ + #include "llviewerprecompiledheaders.h" -#include "llpanelnavmeshrebake.h" +#include "llpanelpathfindingrebakenavmesh.h" #include <boost/bind.hpp> #include <boost/signals2.hpp> @@ -50,18 +51,18 @@ #include "llviewercontrol.h" #include "llviewerregion.h" -LLPanelNavMeshRebake* LLPanelNavMeshRebake::getInstance() +LLPanelPathfindingRebakeNavmesh* LLPanelPathfindingRebakeNavmesh::getInstance() { - static LLPanelNavMeshRebake* panel = getPanel(); + static LLPanelPathfindingRebakeNavmesh* panel = getPanel(); return panel; } -BOOL LLPanelNavMeshRebake::postBuild() +BOOL LLPanelPathfindingRebakeNavmesh::postBuild() { //Rebake initiated mNavMeshRebakeButton = findChild<LLButton>("navmesh_btn"); llassert(mNavMeshRebakeButton != NULL); - mNavMeshRebakeButton->setCommitCallback(boost::bind(&LLPanelNavMeshRebake::onNavMeshRebakeClick, this)); + mNavMeshRebakeButton->setCommitCallback(boost::bind(&LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick, this)); LLHints::registerHintTarget("navmesh_btn", mNavMeshRebakeButton->getHandle()); //Baking... @@ -75,19 +76,19 @@ BOOL LLPanelNavMeshRebake::postBuild() if ( !mRegionCrossingSlot.connected() ) { - mRegionCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPanelNavMeshRebake::handleRegionBoundaryCrossed, this)); + mRegionCrossingSlot = LLEnvManagerNew::getInstance()->setRegionChangeCallback(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleRegionBoundaryCrossed, this)); } if (!mAgentStateSlot.connected()) { - mAgentStateSlot = LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLPanelNavMeshRebake::handleAgentState, this, _1)); + mAgentStateSlot = LLPathfindingManager::getInstance()->registerAgentStateListener(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleAgentState, this, _1)); } LLPathfindingManager::getInstance()->requestGetAgentState(); return LLPanel::postBuild(); } -void LLPanelNavMeshRebake::draw() +void LLPanelPathfindingRebakeNavmesh::draw() { if (doDraw()) { @@ -96,7 +97,7 @@ void LLPanelNavMeshRebake::draw() } } -BOOL LLPanelNavMeshRebake::handleToolTip( S32 x, S32 y, MASK mask ) +BOOL LLPanelPathfindingRebakeNavmesh::handleToolTip( S32 x, S32 y, MASK mask ) { LLToolTipMgr::instance().unblockToolTips(); @@ -108,7 +109,7 @@ BOOL LLPanelNavMeshRebake::handleToolTip( S32 x, S32 y, MASK mask ) return LLPanel::handleToolTip(x, y, mask); } -LLPanelNavMeshRebake::LLPanelNavMeshRebake() +LLPanelPathfindingRebakeNavmesh::LLPanelPathfindingRebakeNavmesh() : mCanRebakeRegion(FALSE), mRebakeNavMeshMode(kRebakeNavMesh_Default), mNavMeshRebakeButton(NULL), @@ -123,18 +124,18 @@ LLPanelNavMeshRebake::LLPanelNavMeshRebake() b=false; } -LLPanelNavMeshRebake::~LLPanelNavMeshRebake() +LLPanelPathfindingRebakeNavmesh::~LLPanelPathfindingRebakeNavmesh() { } -LLPanelNavMeshRebake* LLPanelNavMeshRebake::getPanel() +LLPanelPathfindingRebakeNavmesh* LLPanelPathfindingRebakeNavmesh::getPanel() { - LLPanelNavMeshRebake* panel = new LLPanelNavMeshRebake(); + LLPanelPathfindingRebakeNavmesh* panel = new LLPanelPathfindingRebakeNavmesh(); panel->buildFromFile("panel_navmesh_rebake.xml"); return panel; } -void LLPanelNavMeshRebake::setMode(ERebakeNavMeshMode pRebakeNavMeshMode) +void LLPanelPathfindingRebakeNavmesh::setMode(ERebakeNavMeshMode pRebakeNavMeshMode) { if (pRebakeNavMeshMode == kRebakeNavMesh_Available) { @@ -145,23 +146,23 @@ void LLPanelNavMeshRebake::setMode(ERebakeNavMeshMode pRebakeNavMeshMode) mRebakeNavMeshMode = pRebakeNavMeshMode; } -void LLPanelNavMeshRebake::onNavMeshRebakeClick() +void LLPanelPathfindingRebakeNavmesh::onNavMeshRebakeClick() { setMode(kRebakeNavMesh_RequestSent); - LLPathfindingManager::getInstance()->requestRebakeNavMesh(boost::bind(&LLPanelNavMeshRebake::handleRebakeNavMeshResponse, this, _1)); + LLPathfindingManager::getInstance()->requestRebakeNavMesh(boost::bind(&LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse, this, _1)); } -void LLPanelNavMeshRebake::handleAgentState(BOOL pCanRebakeRegion) +void LLPanelPathfindingRebakeNavmesh::handleAgentState(BOOL pCanRebakeRegion) { mCanRebakeRegion = pCanRebakeRegion; } -void LLPanelNavMeshRebake::handleRebakeNavMeshResponse(bool pResponseStatus) +void LLPanelPathfindingRebakeNavmesh::handleRebakeNavMeshResponse(bool pResponseStatus) { setMode(pResponseStatus ? kRebakeNavMesh_NotAvailable : kRebakeNavMesh_Available); } -void LLPanelNavMeshRebake::handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus) +void LLPanelPathfindingRebakeNavmesh::handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus) { ERebakeNavMeshMode rebakeNavMeshMode = kRebakeNavMesh_Default; if (pNavMeshStatus.isValid()) @@ -186,13 +187,13 @@ void LLPanelNavMeshRebake::handleNavMeshStatus(const LLPathfindingNavMeshStatus setMode(rebakeNavMeshMode); } -void LLPanelNavMeshRebake::handleRegionBoundaryCrossed() +void LLPanelPathfindingRebakeNavmesh::handleRegionBoundaryCrossed() { createNavMeshStatusListenerForCurrentRegion(); LLPathfindingManager::getInstance()->requestGetAgentState(); } -void LLPanelNavMeshRebake::createNavMeshStatusListenerForCurrentRegion() +void LLPanelPathfindingRebakeNavmesh::createNavMeshStatusListenerForCurrentRegion() { if (mNavMeshSlot.connected()) { @@ -203,17 +204,17 @@ void LLPanelNavMeshRebake::createNavMeshStatusListenerForCurrentRegion() LLViewerRegion *currentRegion = gAgent.getRegion(); if (currentRegion != NULL) { - mNavMeshSlot = LLPathfindingManager::getInstance()->registerNavMeshListenerForRegion(currentRegion, boost::bind(&LLPanelNavMeshRebake::handleNavMeshStatus, this, _2)); + mNavMeshSlot = LLPathfindingManager::getInstance()->registerNavMeshListenerForRegion(currentRegion, boost::bind(&LLPanelPathfindingRebakeNavmesh::handleNavMeshStatus, this, _2)); LLPathfindingManager::getInstance()->requestGetNavMeshForRegion(currentRegion, true); } } -bool LLPanelNavMeshRebake::doDraw() const +bool LLPanelPathfindingRebakeNavmesh::doDraw() const { return ((mCanRebakeRegion || gSavedSettings.getBOOL("PathfindingEnableAlwaysAllowRebakeNavMesh")) && (mRebakeNavMeshMode != kRebakeNavMesh_NotAvailable)); } -void LLPanelNavMeshRebake::updatePosition() +void LLPanelPathfindingRebakeNavmesh::updatePosition() { S32 y_pos = 0; S32 bottom_tb_center = 0; diff --git a/indra/newview/llpanelpathfindingrebakenavmesh.h b/indra/newview/llpanelpathfindingrebakenavmesh.h new file mode 100644 index 0000000000..f81c030c35 --- /dev/null +++ b/indra/newview/llpanelpathfindingrebakenavmesh.h @@ -0,0 +1,96 @@ +/** +* @file llpanelpathfindingrebakenavmesh.h +* @brief Header file for llpanelpathfindingrebakenavmesh +* @author Prep@lindenlab.com +* +* $LicenseInfo:firstyear=2012&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2012, Linden Research, Inc. +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU Lesser General Public +* License as published by the Free Software Foundation; +* version 2.1 of the License only. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +* Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library; if not, write to the Free Software +* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +* +* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA +* $/LicenseInfo$ +*/ +#ifndef LL_LLPANELPATHFINDINGREBAKENAVMESH_H +#define LL_LLPANELPATHFINDINGREBAKENAVMESH_H + +#include <boost/bind.hpp> +#include <boost/signals2.hpp> + +#include "llhandle.h" +#include "llpanel.h" +#include "llpathfindingmanager.h" +#include "llpathfindingnavmesh.h" + +class LLButton; +class LLPathfindingNavMeshStatus; +class LLView; + +class LLPanelPathfindingRebakeNavmesh : public LLPanel +{ + + LOG_CLASS(LLPanelPathfindingRebakeNavmesh); + +public: + static LLPanelPathfindingRebakeNavmesh* getInstance(); + + virtual BOOL postBuild(); + + virtual void draw(); + virtual BOOL handleToolTip( S32 x, S32 y, MASK mask ); + +protected: + +private: + typedef enum + { + kRebakeNavMesh_Available, + kRebakeNavMesh_RequestSent, + kRebakeNavMesh_NotAvailable, + kRebakeNavMesh_Default = kRebakeNavMesh_NotAvailable + } ERebakeNavMeshMode; + + LLPanelPathfindingRebakeNavmesh(); + virtual ~LLPanelPathfindingRebakeNavmesh(); + + static LLPanelPathfindingRebakeNavmesh* getPanel(); + + void setMode(ERebakeNavMeshMode pRebakeNavMeshMode); + + void onNavMeshRebakeClick(); + + void handleAgentState(BOOL pCanRebakeRegion); + void handleRebakeNavMeshResponse(bool pResponseStatus); + void handleNavMeshStatus(const LLPathfindingNavMeshStatus &pNavMeshStatus); + void handleRegionBoundaryCrossed(); + + void createNavMeshStatusListenerForCurrentRegion(); + + bool doDraw() const; + void updatePosition(); + + BOOL mCanRebakeRegion; + ERebakeNavMeshMode mRebakeNavMeshMode; + + LLButton* mNavMeshRebakeButton; + LLButton* mNavMeshBakingButton; + + LLPathfindingNavMesh::navmesh_slot_t mNavMeshSlot; + boost::signals2::connection mRegionCrossingSlot; + LLPathfindingManager::agent_state_slot_t mAgentStateSlot; +}; + +#endif // LL_LLPANELPATHFINDINGREBAKENAVMESH_H diff --git a/indra/newview/llpathfindingmanager.cpp b/indra/newview/llpathfindingmanager.cpp index 019ddbfe96..90199a9cae 100644 --- a/indra/newview/llpathfindingmanager.cpp +++ b/indra/newview/llpathfindingmanager.cpp @@ -53,7 +53,6 @@ #include "lluuid.h" #include "llviewerregion.h" #include "llweb.h" -#include "llpanelnavmeshrebake.h" #include "llenvmanager.h" #define CAP_SERVICE_RETRIEVE_NAVMESH "RetrieveNavMeshSrc" diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 427afb96bc..5315568667 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -126,7 +126,7 @@ #include "llmorphview.h" #include "llmoveview.h" #include "llnavigationbar.h" -#include "llpanelnavmeshrebake.h" +#include "llpanelpathfindingrebakenavmesh.h" #include "llpaneltopinfobar.h" #include "llpopupview.h" #include "llpreviewtexture.h" @@ -1929,7 +1929,7 @@ void LLViewerWindow::initWorldUI() LLPanelStandStopFlying* panel_stand_stop_flying = LLPanelStandStopFlying::getInstance(); panel_ssf_container->addChild(panel_stand_stop_flying); - LLPanelNavMeshRebake *panel_rebake_navmesh = LLPanelNavMeshRebake::getInstance(); + LLPanelPathfindingRebakeNavmesh *panel_rebake_navmesh = LLPanelPathfindingRebakeNavmesh::getInstance(); panel_ssf_container->addChild(panel_rebake_navmesh); panel_ssf_container->setVisible(TRUE); |