diff options
author | Todd Stinson <stinson@lindenlab.com> | 2012-01-23 18:27:10 -0800 |
---|---|---|
committer | Todd Stinson <stinson@lindenlab.com> | 2012-01-23 18:27:10 -0800 |
commit | 3b4d841ee254186d881490cfadbdfbac6dcdf6ad (patch) | |
tree | 6c9f5270613250d5939fb762b06c7c5509a9ab1c | |
parent | 3f330d2902aaab3c62ebd0c830fce61c6f1e4524 (diff) |
Introducing a hacky way to get some reporting on the downloading status of the navmesh into the console. This needs to be seriously refactored.
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.cpp | 13 | ||||
-rw-r--r-- | indra/newview/llfloaterpathfindingconsole.h | 3 | ||||
-rw-r--r-- | indra/newview/llnavmeshstation.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llnavmeshstation.h | 8 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_pathfinding_console.xml | 7 |
5 files changed, 32 insertions, 5 deletions
diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index 7b8ede410c..63b863937e 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -307,6 +307,18 @@ void LLFloaterPathfindingConsole::setTerrainMaterialD(F32 pTerrainMaterial) mTerrainMaterialD->setValue(LLSD(pTerrainMaterial));
}
+void LLFloaterPathfindingConsole::setHasNavMeshReceived()
+{
+ std::string str = getString("navmesh_fetch_complete_available");
+ mPathfindingStatus->setText((LLStringExplicit)str);
+}
+
+void LLFloaterPathfindingConsole::setHasNoNavMesh()
+{
+ std::string str = getString("navmesh_fetch_complete_none");
+ mPathfindingStatus->setText((LLStringExplicit)str);
+}
+
LLFloaterPathfindingConsole::LLFloaterPathfindingConsole(const LLSD& pSeed)
: LLFloater(pSeed),
mShowNavMeshCheckBox(NULL),
@@ -324,6 +336,7 @@ LLFloaterPathfindingConsole::LLFloaterPathfindingConsole(const LLSD& pSeed) mTerrainMaterialD(NULL),
mNavMeshDownloadObserver()
{
+ mNavMeshDownloadObserver.setPathfindingConsole(this);
}
LLFloaterPathfindingConsole::~LLFloaterPathfindingConsole()
diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h index ffa1efd349..7d8369c806 100644 --- a/indra/newview/llfloaterpathfindingconsole.h +++ b/indra/newview/llfloaterpathfindingconsole.h @@ -98,6 +98,9 @@ public: BOOL getShowPathToggle() const {return mShowPathCheckBox->get(); }
+ void setHasNavMeshReceived();
+ void setHasNoNavMesh();
+
protected:
private:
diff --git a/indra/newview/llnavmeshstation.cpp b/indra/newview/llnavmeshstation.cpp index bb08f00f40..48f54649f8 100644 --- a/indra/newview/llnavmeshstation.cpp +++ b/indra/newview/llnavmeshstation.cpp @@ -31,10 +31,13 @@ #include "llagent.h" #include "llviewerregion.h" #include "llsdutil.h" +#include "llfloaterpathfindingconsole.h" + //=============================================================================== LLNavMeshStation::LLNavMeshStation() { } + //=============================================================================== class LLNavMeshUploadResponder : public LLCurl::Responder { @@ -98,7 +101,6 @@ public: void result( const LLSD& content ) { - llinfos<<"Content received"<<llendl; //TODO# some sanity checking if ( content.has("error") ) { @@ -115,10 +117,12 @@ public: { const LLSD::Binary& stuff = content["navmesh_data"].asBinary(); LLPathingLib::getInstance()->extractNavMeshSrcFromLLSD( stuff ); + pObserver->getPathfindingConsole()->setHasNavMeshReceived(); } else { llwarns<<"no mesh data "<<llendl; + pObserver->getPathfindingConsole()->setHasNoNavMesh(); } } } diff --git a/indra/newview/llnavmeshstation.h b/indra/newview/llnavmeshstation.h index ce884c1466..566f6d2d8d 100644 --- a/indra/newview/llnavmeshstation.h +++ b/indra/newview/llnavmeshstation.h @@ -31,6 +31,7 @@ #include "llhandle.h" //=============================================================================== class LLCurlRequest; +class LLFloaterPathfindingConsole; //=============================================================================== class LLNavMeshObserver { @@ -51,14 +52,19 @@ class LLNavMeshDownloadObserver { public: //Ctor - LLNavMeshDownloadObserver() { mObserverHandle.bind(this); } + LLNavMeshDownloadObserver() + : mPathfindingConsole(NULL) + { mObserverHandle.bind(this); } //Dtor virtual ~LLNavMeshDownloadObserver() {} //Accessor for the observers handle const LLHandle<LLNavMeshDownloadObserver>& getObserverHandle() const { return mObserverHandle; } + LLFloaterPathfindingConsole *getPathfindingConsole() {return mPathfindingConsole;} + void setPathfindingConsole(LLFloaterPathfindingConsole *pPathfindingConsole) {mPathfindingConsole = pPathfindingConsole;} protected: LLRootHandle<LLNavMeshDownloadObserver> mObserverHandle; + LLFloaterPathfindingConsole *mPathfindingConsole; }; //=============================================================================== class LLNavMeshStation : public LLSingleton<LLNavMeshStation> diff --git a/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml b/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml index f9730e2ece..7b751d525f 100644 --- a/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml +++ b/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml @@ -13,9 +13,10 @@ width="833"> <floater.string name="navmesh_fetch_initial"></floater.string> <floater.string name="navmesh_fetch_inprogress">Downloading the navmesh ...</floater.string> - <floater.string name="navmesh_fetch_complete">Navmesh received.</floater.string> - <floater.string name="navmesh_region_not_enabled">Pathfinding is not enabled for this region</floater.string> - <floater.string name="navmesh_library_not_implemented">Cannot find pathing library implementation</floater.string> + <floater.string name="navmesh_fetch_complete_available">Navmesh received.</floater.string> + <floater.string name="navmesh_fetch_complete_none">No navmesh for region.</floater.string> + <floater.string name="navmesh_region_not_enabled">Pathfinding is not enabled for this region.</floater.string> + <floater.string name="navmesh_library_not_implemented">Cannot find pathing library implementation.</floater.string> <text height="13" word_wrap="true" |