diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 1132ee4ea8179a981d0af73b165b748269393786..9d23d439faa44438e238a6e6b1f871d039ee104c 100755 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -400,12 +400,7 @@ void LLAgent::ageChat() //----------------------------------------------------------------------------- void LLAgent::moveAt(S32 direction, bool reset) { - LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get(); - if ( pWindow && pWindow->getHeartBeat() ) - { - return; - } - + mMoveTimer.reset(); LLFirstUse::notMoving(false); @@ -434,11 +429,6 @@ void LLAgent::moveAt(S32 direction, bool reset) //----------------------------------------------------------------------------- void LLAgent::moveAtNudge(S32 direction) { - LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get(); - if ( pWindow && pWindow->getHeartBeat() ) - { - return; - } mMoveTimer.reset(); LLFirstUse::notMoving(false); @@ -660,11 +650,6 @@ void LLAgent::setFlying(BOOL fly) // static void LLAgent::toggleFlying() { - LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get(); - if ( pWindow && pWindow->getHeartBeat() ) - { - return; - } if ( gAgent.mAutoPilot ) { @@ -2724,12 +2709,7 @@ void LLAgent::sendAnimationRequest(const LLUUID &anim_id, EAnimRequest request) void LLAgent::sendWalkRun(bool running) { - LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get(); - if ( pWindow->getHeartBeat() ) - { - return; - } - + LLMessageSystem* msgsys = gMessageSystem; if (msgsys) { diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index 493b4617b5c9e35afe76043011264c79cc1e3243..c336a30bc928656a94b95d597cd4564e3fc315ba 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -873,3 +873,12 @@ U32 LLFloaterPathfindingConsole::getRenderShapeFlags() } return mShapeRenderFlags; } + +void LLFloaterPathfindingConsole::regionCrossingOccured() +{ + std::string statusText(""); + LLStyle::Params styleParams; + styleParams.color = LLUIColorTable::instance().getColor("DrYellow"); + statusText = getString("navmesh_update_needed"); + mPathfindingStatus->setText((LLStringExplicit)statusText, styleParams); +} \ No newline at end of file diff --git a/indra/newview/llfloaterpathfindingconsole.h b/indra/newview/llfloaterpathfindingconsole.h index 8c29bf59095f25727b9ee5c57a3118559a2e1015..0f9f859924d836ab8010bfe659eeeebe4e37b14b 100644 --- a/indra/newview/llfloaterpathfindingconsole.h +++ b/indra/newview/llfloaterpathfindingconsole.h @@ -111,6 +111,8 @@ class LLFloaterPathfindingConsole bool getHeartBeat() const { return mHeartBeat;} void setHeartBeat( bool state ) { mHeartBeat=state; } + void regionCrossingOccured(); + protected: diff --git a/indra/newview/llworld.cpp b/indra/newview/llworld.cpp index 676287c0addbfe4f62f96a69549d8bafcdab6808..9fd77546eb1e913d5193a9151be0d7a358091398 100644 --- a/indra/newview/llworld.cpp +++ b/indra/newview/llworld.cpp @@ -55,6 +55,7 @@ #include "message.h" #include "pipeline.h" #include "llappviewer.h" // for do_disconnect() +#include "llfloaterpathfindingconsole.h" #include <deque> #include <queue> @@ -1091,6 +1092,14 @@ void process_region_handshake(LLMessageSystem* msg, void** user_data) } regionp->unpackRegionHandshake(); + + LLFloaterPathfindingConsole* pWindow = LLFloaterPathfindingConsole::getInstanceHandle().get(); + if ( pWindow && pWindow->getHeartBeat() ) + { + pWindow->regionCrossingOccured(); + return; + } + } 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 75465f1aeaf9217ab85e38ed26edaa149990a98a..dd31a71e0f20f7488afcb5a30fed863797974fca 100644 --- a/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml +++ b/indra/newview/skins/default/xui/en/floater_pathfinding_console.xml @@ -22,6 +22,7 @@ <floater.string name="pathing_choose_start_point">Please choose start point.</floater.string> <floater.string name="pathing_choose_end_point">Please choose end point.</floater.string> <floater.string name="pathing_path_valid">Path is shown in blue.</floater.string> + <floater.string name="navmesh_update_needed">Region boundary hit, navmesh may not be accurate. Update.</floater.string> <text height="13" word_wrap="true"