FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons

meow-7.2.2
Ansariel 2016-10-19 11:26:43 +02:00
parent 79c0b8a9b5
commit 680dd107bd
4 changed files with 58 additions and 32 deletions

View File

@ -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;
// <FS:Ansariel> 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;
// </FS:Ansariel>
}
BOOL LLAgent::isControlBlocked(S32 control_index) const

View File

@ -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);
}
// <FS:Ansariel> 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);
// </FS:Ansariel>
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);
}
// <FS:Ansariel> 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);
// </FS:Ansariel>
return TRUE;
}

View File

@ -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;
}
// <FS:Ansariel> 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;
}
// </FS:Ansariel>
// 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;
}
// <FS:Ansariel> 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;
}
// </FS:Ansariel>
// On mousedown, start grabbing
gGrabTransientTool = this;

View File

@ -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())
// <FS:Ansariel> FIRE-19357: Re-revert MAINT-4488 again to fix FPS weapons
//if (!gAgent.leftButtonBlocked())
if (!gAgent.leftButtonGrabbed())
// </FS:Ansariel>
{
// can grab transparent objects (how touch event propagates, scripters rely on this)
gViewerWindow->pickAsync(x, y, mask, pickCallback, /*BOOL pick_transparent*/ TRUE);