From e045d212d35354d679c2d2e05c6d4689f9f8ac95 Mon Sep 17 00:00:00 2001 From: "Nyx (Neal Orman)" Date: Mon, 27 Sep 2010 22:56:08 -0400 Subject: STORM-1126 WIP Windlight Estate Settings port from 1.23: first pass at merging in windlight estate settings to viewer-dev codebase. not built, not tested. Probably needs a bunch of fixes to be able to be integrated. (resubmitted by Vadim ProductEngine) --- indra/newview/llagent.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'indra/newview/llagent.cpp') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index c9bd7851ed..56d2c76dc7 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -36,8 +36,10 @@ #include "llanimationstates.h" #include "llbottomtray.h" #include "llcallingcard.h" +#include "llcapabilitylistener.h" #include "llchannelmanager.h" #include "llconsole.h" +#include "llenvmanager.h" #include "llfirstuse.h" #include "llfloatercamera.h" #include "llfloaterreg.h" @@ -76,6 +78,7 @@ #include "llwindow.h" #include "llworld.h" #include "llworldmap.h" +#include "stringize.h" using namespace LLVOAvatarDefines; @@ -620,6 +623,16 @@ void LLAgent::setRegion(LLViewerRegion *regionp) gSky.mVOGroundp->setRegion(regionp); } + // Notify windlight managers + bool teleport = (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE); + if (teleport) + { + LLEnvManager::getInstance()->notifyTP(); + } + else + { + LLEnvManager::getInstance()->notifyCrossing(); + } } else { @@ -636,6 +649,9 @@ void LLAgent::setRegion(LLViewerRegion *regionp) // Update all of the regions. LLWorld::getInstance()->updateAgentOffset(mAgentOriginGlobal); + + // Notify windlight managers about login + LLEnvManager::getInstance()->notifyLogin(); } } mRegionp = regionp; @@ -653,6 +669,9 @@ void LLAgent::setRegion(LLViewerRegion *regionp) LLSelectMgr::getInstance()->updateSelectionCenter(); LLFloaterMove::sUpdateFlyingStatus(); + + // notify EnvManager that a refresh is needed + LLEnvManager::instance().refreshFromStorage(LLEnvKey::SCOPE_REGION); } -- cgit v1.2.3 From cccca566bd2365c88cca819729c5432af9dfa52f Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Mon, 16 May 2011 17:17:01 +0300 Subject: STORM-1245 WIP Reimplementing management of local presets according to the new spec. User environment preferences are now persistent. TODO: Implement applying region env. settings. --- indra/newview/llagent.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'indra/newview/llagent.cpp') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index cb3c5319c9..38e6caa4b3 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -637,11 +637,19 @@ void LLAgent::setRegion(LLViewerRegion *regionp) bool teleport = (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE); if (teleport) { +#if 0 LLEnvManager::getInstance()->notifyTP(); +#else + LLEnvManagerNew::instance().onTeleport(); +#endif } else { +#if 0 LLEnvManager::getInstance()->notifyCrossing(); +#else + LLEnvManagerNew::instance().onRegionCrossing(); +#endif } } else @@ -661,7 +669,11 @@ void LLAgent::setRegion(LLViewerRegion *regionp) LLWorld::getInstance()->updateAgentOffset(mAgentOriginGlobal); // Notify windlight managers about login +#if 0 LLEnvManager::getInstance()->notifyLogin(); +#else + LLEnvManagerNew::instance().onLogin(); +#endif } // Pass new region along to metrics components that care about this level of detail. @@ -687,8 +699,12 @@ void LLAgent::setRegion(LLViewerRegion *regionp) LLFloaterMove::sUpdateFlyingStatus(); +#if 0 // notify EnvManager that a refresh is needed LLEnvManager::instance().refreshFromStorage(LLEnvKey::SCOPE_REGION); +#else + LLEnvManagerNew::instance().onTeleport(); +#endif } -- cgit v1.2.3 From 683c9ff3f8e662c1906e5ee6319f7d46513bca81 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Mon, 16 May 2011 17:21:53 +0300 Subject: STORM-1245 WIP Removed some dead code. --- indra/newview/llagent.cpp | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) (limited to 'indra/newview/llagent.cpp') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 38e6caa4b3..bcc1953acc 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -637,19 +637,11 @@ void LLAgent::setRegion(LLViewerRegion *regionp) bool teleport = (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE); if (teleport) { -#if 0 - LLEnvManager::getInstance()->notifyTP(); -#else LLEnvManagerNew::instance().onTeleport(); -#endif } else { -#if 0 - LLEnvManager::getInstance()->notifyCrossing(); -#else LLEnvManagerNew::instance().onRegionCrossing(); -#endif } } else @@ -669,11 +661,7 @@ void LLAgent::setRegion(LLViewerRegion *regionp) LLWorld::getInstance()->updateAgentOffset(mAgentOriginGlobal); // Notify windlight managers about login -#if 0 - LLEnvManager::getInstance()->notifyLogin(); -#else LLEnvManagerNew::instance().onLogin(); -#endif } // Pass new region along to metrics components that care about this level of detail. @@ -699,12 +687,7 @@ void LLAgent::setRegion(LLViewerRegion *regionp) LLFloaterMove::sUpdateFlyingStatus(); -#if 0 - // notify EnvManager that a refresh is needed - LLEnvManager::instance().refreshFromStorage(LLEnvKey::SCOPE_REGION); -#else - LLEnvManagerNew::instance().onTeleport(); -#endif + LLEnvManagerNew::instance().onTeleport(); } -- cgit v1.2.3 From 348218e40f362d386a0175d4b010b639282764b2 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Tue, 17 May 2011 16:26:55 +0300 Subject: STORM-1245 WIP Restored environment settings interpolation on region crossing. Also got rid of duplicated region environment settings requests. --- indra/newview/llagent.cpp | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'indra/newview/llagent.cpp') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index bcc1953acc..fbe15505d8 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -596,6 +596,8 @@ void LLAgent::standUp() //----------------------------------------------------------------------------- void LLAgent::setRegion(LLViewerRegion *regionp) { + bool teleport = true; + llassert(regionp); if (mRegionp != regionp) { @@ -634,15 +636,7 @@ void LLAgent::setRegion(LLViewerRegion *regionp) } // Notify windlight managers - bool teleport = (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE); - if (teleport) - { - LLEnvManagerNew::instance().onTeleport(); - } - else - { - LLEnvManagerNew::instance().onRegionCrossing(); - } + teleport = (gAgent.getTeleportState() != LLAgent::TELEPORT_NONE); } else { @@ -659,9 +653,6 @@ void LLAgent::setRegion(LLViewerRegion *regionp) // Update all of the regions. LLWorld::getInstance()->updateAgentOffset(mAgentOriginGlobal); - - // Notify windlight managers about login - LLEnvManagerNew::instance().onLogin(); } // Pass new region along to metrics components that care about this level of detail. @@ -687,7 +678,14 @@ void LLAgent::setRegion(LLViewerRegion *regionp) LLFloaterMove::sUpdateFlyingStatus(); - LLEnvManagerNew::instance().onTeleport(); + if (teleport) + { + LLEnvManagerNew::instance().onTeleport(); + } + else + { + LLEnvManagerNew::instance().onRegionCrossing(); + } } -- cgit v1.2.3 From 424366a66fc44d2f7194c9b1d1cc940bb4df6c79 Mon Sep 17 00:00:00 2001 From: Vadim ProductEngine Date: Fri, 1 Jul 2011 21:11:36 +0300 Subject: STORM-1137 FIXED Close the REGION/ESTATE floater when teleporting. --- indra/newview/llagent.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/llagent.cpp') diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index fa6488e486..8954937f69 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -3350,6 +3350,9 @@ bool LLAgent::teleportCore(bool is_local) // hide land floater too - it'll be out of date LLFloaterReg::hideInstance("about_land"); + // hide the Region/Estate floater + LLFloaterReg::hideInstance("region_info"); + // hide the search floater (EXT-8276) LLFloaterReg::hideInstance("search"); -- cgit v1.2.3