aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llviewerwindow.cpp
diff options
context:
space:
mode:
authorMcCabe Maxsted2010-10-09 03:27:47 -0700
committerMcCabe Maxsted2010-10-09 03:27:47 -0700
commit1866bc2af39189c17b636970d4df7edc983c1830 (patch)
treee60963a49832280cf3d2d9b5a8b589853469caee /linden/indra/newview/llviewerwindow.cpp
parentUse all those cores for compile (diff)
downloadmeta-impy-1866bc2af39189c17b636970d4df7edc983c1830.zip
meta-impy-1866bc2af39189c17b636970d4df7edc983c1830.tar.gz
meta-impy-1866bc2af39189c17b636970d4df7edc983c1830.tar.bz2
meta-impy-1866bc2af39189c17b636970d4df7edc983c1830.tar.xz
Applied RLVa-1.1.2-Imprudence.patch by Kitty Barnett
Diffstat (limited to 'linden/indra/newview/llviewerwindow.cpp')
-rw-r--r--linden/indra/newview/llviewerwindow.cpp36
1 files changed, 32 insertions, 4 deletions
diff --git a/linden/indra/newview/llviewerwindow.cpp b/linden/indra/newview/llviewerwindow.cpp
index 3a68f0f..401e62d 100644
--- a/linden/indra/newview/llviewerwindow.cpp
+++ b/linden/indra/newview/llviewerwindow.cpp
@@ -187,6 +187,10 @@
187#include "llfloatertest.h" // HACK! 187#include "llfloatertest.h" // HACK!
188#include "llfloaternotificationsconsole.h" 188#include "llfloaternotificationsconsole.h"
189 189
190// [RLVa:KB]
191#include "rlvhandler.h"
192// [/RLVa:KB]
193
190#if LL_WINDOWS 194#if LL_WINDOWS
191#include <tchar.h> // For Unicode conversion methods 195#include <tchar.h> // For Unicode conversion methods
192#endif 196#endif
@@ -3473,17 +3477,41 @@ LLViewerObject* LLViewerWindow::cursorIntersect(S32 mouse_x, S32 mouse_y, F32 de
3473 } 3477 }
3474 3478
3475 else // check ALL objects 3479 else // check ALL objects
3476 { 3480 {
3477 found = gPipeline.lineSegmentIntersectInHUD(mouse_hud_start, mouse_hud_end, pick_transparent, 3481 found = gPipeline.lineSegmentIntersectInHUD(mouse_hud_start, mouse_hud_end, pick_transparent,
3478 face_hit, intersection, uv, normal, binormal); 3482 face_hit, intersection, uv, normal, binormal);
3479 3483
3480 if (!found) // if not found in HUD, look in world: 3484// [RLVa:KB] - Checked: 2009-12-28 (RLVa-1.1.0k) | Modified: RLVa-1.1.0k
3485 if ( (rlv_handler_t::isEnabled()) && (LLToolCamera::getInstance()->hasMouseCapture()) && (gKeyboard->currentMask(TRUE) & MASK_ALT) )
3486 {
3487 found = NULL;
3488 }
3489// [/RLVa:KB]
3481 3490
3482 { 3491 if (!found) // if not found in HUD, look in world:
3492 {
3483 found = gPipeline.lineSegmentIntersectInWorld(mouse_world_start, mouse_world_end, pick_transparent, 3493 found = gPipeline.lineSegmentIntersectInWorld(mouse_world_start, mouse_world_end, pick_transparent,
3484 face_hit, intersection, uv, normal, binormal); 3494 face_hit, intersection, uv, normal, binormal);
3485 }
3486 3495
3496// [RLVa:KB] - Checked: 2010-01-02 (RLVa-1.1.0l) | Added: RLVa-1.1.0l
3497#ifdef RLV_EXTENSION_CMD_INTERACT
3498 if ( (rlv_handler_t::isEnabled()) && (found) && (gRlvHandler.hasBehaviour(RLV_BHVR_INTERACT)) )
3499 {
3500 // Allow picking if:
3501 // - the drag-and-drop tool is active (allows inventory offers)
3502 // - the camera tool is active
3503 // - the pie tool is active *and* we picked our own avie (allows "mouse steering" and the self pie menu)
3504 LLTool* pCurTool = LLToolMgr::getInstance()->getCurrentTool();
3505 if ( (LLToolDragAndDrop::getInstance() != pCurTool) &&
3506 (!LLToolCamera::getInstance()->hasMouseCapture()) &&
3507 ((LLToolPie::getInstance() != pCurTool) || (gAgent.getID() != found->getID())) )
3508 {
3509 found = NULL;
3510 }
3511 }
3512#endif // RLV_EXTENSION_CMD_INTERACT
3513// [/RLVa:KB]
3514 }
3487 } 3515 }
3488 3516
3489 return found; 3517 return found;