From 680dd107bdc8f2e69f0acacb6942f581a83fecdf Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 19 Oct 2016 11:26:43 +0200 Subject: [PATCH] FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons --- indra/newview/llagent.cpp | 9 ++++++--- indra/newview/lltool.cpp | 38 +++++++++++++++++++++--------------- indra/newview/lltoolcomp.cpp | 38 ++++++++++++++++++++++++------------ indra/newview/lltoolgrab.cpp | 5 ++++- 4 files changed, 58 insertions(+), 32 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 9d097f5a48..9093187f45 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -4351,9 +4351,12 @@ BOOL LLAgent::anyControlGrabbed() const BOOL LLAgent::isControlGrabbed(S32 control_index) const { - if (gAgent.mControlsTakenCount[control_index] > 0) - return TRUE; - return gAgent.mControlsTakenPassedOnCount[control_index] > 0; + // FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons + //if (gAgent.mControlsTakenCount[control_index] > 0) + // return TRUE; + //return gAgent.mControlsTakenPassedOnCount[control_index] > 0; + return mControlsTakenCount[control_index] > 0; + // } BOOL LLAgent::isControlBlocked(S32 control_index) const diff --git a/indra/newview/lltool.cpp b/indra/newview/lltool.cpp index 42ef7510e7..194f07ac26 100644 --- a/indra/newview/lltool.cpp +++ b/indra/newview/lltool.cpp @@ -85,14 +85,17 @@ BOOL LLTool::handleMouseDown(S32 x, S32 y, MASK mask) } // by default, didn't handle it // LL_INFOS() << "LLTool::handleMouseDown" << LL_ENDL; - if (gAgentCamera.cameraMouselook()) - { - gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_DOWN); - } - else - { - gAgent.setControlFlags(AGENT_CONTROL_LBUTTON_DOWN); - } + // FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons + //if (gAgentCamera.cameraMouselook()) + //{ + // gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_DOWN); + //} + //else + //{ + // gAgent.setControlFlags(AGENT_CONTROL_LBUTTON_DOWN); + //} + gAgent.setControlFlags(AGENT_CONTROL_LBUTTON_DOWN); + // return TRUE; } @@ -104,14 +107,17 @@ BOOL LLTool::handleMouseUp(S32 x, S32 y, MASK mask) } // by default, didn't handle it // LL_INFOS() << "LLTool::handleMouseUp" << LL_ENDL; - if (gAgentCamera.cameraMouselook()) - { - gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_UP); - } - else - { - gAgent.setControlFlags(AGENT_CONTROL_LBUTTON_UP); - } + // FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons + //if (gAgentCamera.cameraMouselook()) + //{ + // gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_UP); + //} + //else + //{ + // gAgent.setControlFlags(AGENT_CONTROL_LBUTTON_UP); + //} + gAgent.setControlFlags(AGENT_CONTROL_LBUTTON_UP); + // return TRUE; } diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp index c82e57183a..306ecc21d0 100644 --- a/indra/newview/lltoolcomp.cpp +++ b/indra/newview/lltoolcomp.cpp @@ -761,12 +761,19 @@ BOOL LLToolCompGun::handleHover(S32 x, S32 y, MASK mask) BOOL LLToolCompGun::handleMouseDown(S32 x, S32 y, MASK mask) { // if the left button is blocked, don't put up the pie menu - if (gAgent.leftButtonBlocked()) - { - // in case of "grabbed" control flag will be set later - gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_DOWN); - return FALSE; - } + // FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons + //if (gAgent.leftButtonBlocked()) + //{ + // // in case of "grabbed" control flag will be set later + // gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_DOWN); + // return FALSE; + //} + if (gAgent.leftButtonGrabbed()) + { + gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_DOWN); + return FALSE; + } + // // On mousedown, start grabbing gGrabTransientTool = this; @@ -779,12 +786,19 @@ BOOL LLToolCompGun::handleMouseDown(S32 x, S32 y, MASK mask) BOOL LLToolCompGun::handleDoubleClick(S32 x, S32 y, MASK mask) { // if the left button is blocked, don't put up the pie menu - if (gAgent.leftButtonBlocked()) - { - // in case of "grabbed" control flag will be set later - gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_DOWN); - return FALSE; - } + // FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons + //if (gAgent.leftButtonBlocked()) + //{ + // // in case of "grabbed" control flag will be set later + // gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_DOWN); + // return FALSE; + //} + if (gAgent.leftButtonGrabbed()) + { + gAgent.setControlFlags(AGENT_CONTROL_ML_LBUTTON_DOWN); + return FALSE; + } + // // On mousedown, start grabbing gGrabTransientTool = this; diff --git a/indra/newview/lltoolgrab.cpp b/indra/newview/lltoolgrab.cpp index 0c3a537c41..d554477e0d 100644 --- a/indra/newview/lltoolgrab.cpp +++ b/indra/newview/lltoolgrab.cpp @@ -146,7 +146,10 @@ BOOL LLToolGrab::handleMouseDown(S32 x, S32 y, MASK mask) // call the base class to propogate info to sim LLTool::handleMouseDown(x, y, mask); - if (!gAgent.leftButtonBlocked()) + // FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons + //if (!gAgent.leftButtonBlocked()) + if (!gAgent.leftButtonGrabbed()) + // { // can grab transparent objects (how touch event propagates, scripters rely on this) gViewerWindow->pickAsync(x, y, mask, pickCallback, /*BOOL pick_transparent*/ TRUE);