diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-04-17 15:31:22 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2023-04-18 15:53:13 +0300 | 
| commit | 1f94ac9b89ddc86160e92a361bda42347b975f67 (patch) | |
| tree | b6b7cd38dc5d6c7971d89ad93cbd9ba50cd0c401 | |
| parent | eaccee37f2875c4d2378cf0ce562f382b88487d7 (diff) | |
SL-19549 Add option to show ban lines on collision #2
| -rw-r--r-- | indra/newview/llviewermessage.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llviewerparcelmgr.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llviewerparcelmgr.h | 6 | 
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); | 
