From 1f94ac9b89ddc86160e92a361bda42347b975f67 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 17 Apr 2023 15:31:22 +0300 Subject: SL-19549 Add option to show ban lines on collision #2 --- indra/newview/llviewermessage.cpp | 10 ++++++++-- indra/newview/llviewerparcelmgr.cpp | 10 +++++----- indra/newview/llviewerparcelmgr.h | 6 +++++- 3 files changed, 18 insertions(+), 8 deletions(-) (limited to 'indra/newview') 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 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 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 ban_lines_mode(gSavedSettings , "ShowBanLines" , PARCEL_BAN_LINES_DRAW_SECS_ON_COLLISION); + static LLCachedControl 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 ban_lines_mode(gSavedSettings , "ShowBanLines" , PARCEL_BAN_LINES_DRAW_SECS_ON_COLLISION); + static LLCachedControl 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); -- cgit v1.2.3