summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-04-17 15:31:22 +0300
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-04-18 15:53:13 +0300
commit1f94ac9b89ddc86160e92a361bda42347b975f67 (patch)
treeb6b7cd38dc5d6c7971d89ad93cbd9ba50cd0c401 /indra
parenteaccee37f2875c4d2378cf0ce562f382b88487d7 (diff)
SL-19549 Add option to show ban lines on collision #2
Diffstat (limited to 'indra')
-rw-r--r--indra/newview/llviewermessage.cpp10
-rw-r--r--indra/newview/llviewerparcelmgr.cpp10
-rw-r--r--indra/newview/llviewerparcelmgr.h6
3 files changed, 18 insertions, 8 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index a535433b5b..a60f11d97b 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -5151,7 +5151,11 @@ bool attempt_standard_notification(LLMessageSystem* msgsystem)
LandBuyAccessBlocked_AdultsOnlyContent
-----------------------------------------------------------------------*/
- LLViewerParcelMgr::getInstance()->resetCollisionTimer();
+ static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION);
+ if (ban_lines_mode == LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION)
+ {
+ LLViewerParcelMgr::getInstance()->resetCollisionTimer();
+ }
if (handle_special_notification(notificationID, llsdBlock))
{
return true;
@@ -5321,7 +5325,9 @@ void process_alert_message(LLMessageSystem *msgsystem, void **user_data)
BOOL modal = FALSE;
process_alert_core(message, modal);
- if (message.find("Cannot enter parcel") != std::string::npos)
+ static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION);
+ if (ban_lines_mode == LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION
+ && message.find("Cannot enter parcel") != std::string::npos)
{
LLViewerParcelMgr::getInstance()->resetCollisionTimer();
}
diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp
index bb68278555..15accd0547 100644
--- a/indra/newview/llviewerparcelmgr.cpp
+++ b/indra/newview/llviewerparcelmgr.cpp
@@ -74,14 +74,14 @@
const F32 PARCEL_BAN_LINES_DRAW_SECS_ON_COLLISION = 10.f;
const F32 PARCEL_COLLISION_DRAW_SECS_ON_PROXIMITY = 1.f;
-const S32 PARCEL_BAN_LINES_HIDE = 0;
-const S32 PARCEL_BAN_LINES_ON_COLLISION = 1;
-const S32 PARCEL_BAN_LINES_ON_PROXIMITY = 2;
// Globals
U8* LLViewerParcelMgr::sPackedOverlay = NULL;
+S32 LLViewerParcelMgr::PARCEL_BAN_LINES_HIDE = 0;
+S32 LLViewerParcelMgr::PARCEL_BAN_LINES_ON_COLLISION = 1;
+S32 LLViewerParcelMgr::PARCEL_BAN_LINES_ON_PROXIMITY = 2;
LLUUID gCurrentMovieID = LLUUID::null;
@@ -896,7 +896,7 @@ void LLViewerParcelMgr::render()
void LLViewerParcelMgr::renderParcelCollision()
{
- static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , PARCEL_BAN_LINES_DRAW_SECS_ON_COLLISION);
+ static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , PARCEL_BAN_LINES_ON_COLLISION);
// check for expiration
F32 expiration = (ban_lines_mode == PARCEL_BAN_LINES_ON_PROXIMITY)
@@ -1851,7 +1851,7 @@ void LLViewerParcelMgr::processParcelProperties(LLMessageSystem *msg, void **use
sequence_id == COLLISION_BANNED_PARCEL_SEQ_ID)
{
// We're about to collide with this parcel
- static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , PARCEL_BAN_LINES_DRAW_SECS_ON_COLLISION);
+ static LLCachedControl<S32> ban_lines_mode(gSavedSettings , "ShowBanLines" , PARCEL_BAN_LINES_ON_COLLISION);
if (ban_lines_mode == PARCEL_BAN_LINES_ON_PROXIMITY)
{
parcel_mgr.resetCollisionTimer();
diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h
index d45ff674af..56dacd3efd 100644
--- a/indra/newview/llviewerparcelmgr.h
+++ b/indra/newview/llviewerparcelmgr.h
@@ -204,7 +204,11 @@ public:
void renderOneSegment(F32 x1, F32 y1, F32 x2, F32 y2, F32 height, U8 direction, LLViewerRegion* regionp);
void renderHighlightSegments(const U8* segments, LLViewerRegion* regionp);
void renderCollisionSegments(U8* segments, BOOL use_pass, LLViewerRegion* regionp);
- void resetCollisionTimer();
+
+ static S32 PARCEL_BAN_LINES_HIDE;
+ static S32 PARCEL_BAN_LINES_ON_COLLISION;
+ static S32 PARCEL_BAN_LINES_ON_PROXIMITY;
+ void resetCollisionTimer(); // Ban lines visibility timer
void sendParcelGodForceOwner(const LLUUID& owner_id);