Merge remote-tracking branch 'Liru/master'
This commit is contained in:
@@ -182,16 +182,22 @@ THIRD_PERSON Q CTL_ALT_SHIFT pan_left
|
|||||||
THIRD_PERSON D CTL_ALT_SHIFT pan_right
|
THIRD_PERSON D CTL_ALT_SHIFT pan_right
|
||||||
THIRD_PERSON Z CTL_ALT_SHIFT pan_up
|
THIRD_PERSON Z CTL_ALT_SHIFT pan_up
|
||||||
THIRD_PERSON S CTL_ALT_SHIFT pan_down
|
THIRD_PERSON S CTL_ALT_SHIFT pan_down
|
||||||
|
THIRD_PERSON E CTL_ALT_SHIFT pan_in
|
||||||
|
THIRD_PERSON C CTL_ALT_SHIFT pan_out
|
||||||
|
|
||||||
THIRD_PERSON LEFT CTL_ALT_SHIFT pan_left
|
THIRD_PERSON LEFT CTL_ALT_SHIFT pan_left
|
||||||
THIRD_PERSON RIGHT CTL_ALT_SHIFT pan_right
|
THIRD_PERSON RIGHT CTL_ALT_SHIFT pan_right
|
||||||
THIRD_PERSON UP CTL_ALT_SHIFT pan_up
|
THIRD_PERSON UP CTL_ALT_SHIFT pan_up
|
||||||
THIRD_PERSON DOWN CTL_ALT_SHIFT pan_down
|
THIRD_PERSON DOWN CTL_ALT_SHIFT pan_down
|
||||||
|
THIRD_PERSON PGUP CTL_ALT_SHIFT pan_in
|
||||||
|
THIRD_PERSON PGDN CTL_ALT_SHIFT pan_out
|
||||||
|
|
||||||
THIRD_PERSON PAD_LEFT CTL_ALT_SHIFT pan_left
|
THIRD_PERSON PAD_LEFT CTL_ALT_SHIFT pan_left
|
||||||
THIRD_PERSON PAD_RIGHT CTL_ALT_SHIFT pan_right
|
THIRD_PERSON PAD_RIGHT CTL_ALT_SHIFT pan_right
|
||||||
THIRD_PERSON PAD_UP CTL_ALT_SHIFT pan_up
|
THIRD_PERSON PAD_UP CTL_ALT_SHIFT pan_up
|
||||||
THIRD_PERSON PAD_DOWN CTL_ALT_SHIFT pan_down
|
THIRD_PERSON PAD_DOWN CTL_ALT_SHIFT pan_down
|
||||||
|
THIRD_PERSON PAD_PGUP CTL_ALT_SHIFT pan_in
|
||||||
|
THIRD_PERSON PAD_PGDN CTL_ALT_SHIFT pan_out
|
||||||
THIRD_PERSON PAD_ENTER CTL_ALT_SHIFT start_chat
|
THIRD_PERSON PAD_ENTER CTL_ALT_SHIFT start_chat
|
||||||
THIRD_PERSON PAD_DIVIDE CTL_ALT_SHIFT start_gesture
|
THIRD_PERSON PAD_DIVIDE CTL_ALT_SHIFT start_gesture
|
||||||
|
|
||||||
@@ -319,16 +325,22 @@ SITTING Q CTL_ALT_SHIFT pan_left
|
|||||||
SITTING D CTL_ALT_SHIFT pan_right
|
SITTING D CTL_ALT_SHIFT pan_right
|
||||||
SITTING Z CTL_ALT_SHIFT pan_up
|
SITTING Z CTL_ALT_SHIFT pan_up
|
||||||
SITTING S CTL_ALT_SHIFT pan_down
|
SITTING S CTL_ALT_SHIFT pan_down
|
||||||
|
SITTING E CTL_ALT_SHIFT pan_in
|
||||||
|
SITTING C CTL_ALT_SHIFT pan_out
|
||||||
|
|
||||||
SITTING LEFT CTL_ALT_SHIFT pan_left
|
SITTING LEFT CTL_ALT_SHIFT pan_left
|
||||||
SITTING RIGHT CTL_ALT_SHIFT pan_right
|
SITTING RIGHT CTL_ALT_SHIFT pan_right
|
||||||
SITTING UP CTL_ALT_SHIFT pan_up
|
SITTING UP CTL_ALT_SHIFT pan_up
|
||||||
SITTING DOWN CTL_ALT_SHIFT pan_down
|
SITTING DOWN CTL_ALT_SHIFT pan_down
|
||||||
|
SITTING PGUP CTL_ALT_SHIFT pan_in
|
||||||
|
SITTING PGDN CTL_ALT_SHIFT pan_out
|
||||||
|
|
||||||
SITTING PAD_LEFT CTL_ALT_SHIFT pan_left
|
SITTING PAD_LEFT CTL_ALT_SHIFT pan_left
|
||||||
SITTING PAD_RIGHT CTL_ALT_SHIFT pan_right
|
SITTING PAD_RIGHT CTL_ALT_SHIFT pan_right
|
||||||
SITTING PAD_UP CTL_ALT_SHIFT pan_up
|
SITTING PAD_UP CTL_ALT_SHIFT pan_up
|
||||||
SITTING PAD_DOWN CTL_ALT_SHIFT pan_down
|
SITTING PAD_DOWN CTL_ALT_SHIFT pan_down
|
||||||
|
SITTING PAD_PGUP CTL_ALT_SHIFT pan_in
|
||||||
|
SITTING PAD_PGDN CTL_ALT_SHIFT pan_out
|
||||||
SITTING PAD_ENTER CTL_ALT_SHIFT start_chat
|
SITTING PAD_ENTER CTL_ALT_SHIFT start_chat
|
||||||
SITTING PAD_DIVIDE CTL_ALT_SHIFT start_gesture
|
SITTING PAD_DIVIDE CTL_ALT_SHIFT start_gesture
|
||||||
|
|
||||||
|
|||||||
@@ -2272,6 +2272,7 @@ void LLAgentCamera::changeCameraToFollow(BOOL animate)
|
|||||||
if (mCameraMode == CAMERA_MODE_MOUSELOOK)
|
if (mCameraMode == CAMERA_MODE_MOUSELOOK)
|
||||||
{
|
{
|
||||||
animate = FALSE;
|
animate = FALSE;
|
||||||
|
if (gViewerWindow->getRightMouseDown()) LLViewerCamera::instance().loadDefaultFOV(); // <singu/> We could be zoomed in
|
||||||
}
|
}
|
||||||
startCameraAnimation();
|
startCameraAnimation();
|
||||||
|
|
||||||
@@ -2361,6 +2362,7 @@ void LLAgentCamera::changeCameraToThirdPerson(BOOL animate)
|
|||||||
mCurrentCameraDistance = MIN_CAMERA_DISTANCE;
|
mCurrentCameraDistance = MIN_CAMERA_DISTANCE;
|
||||||
mTargetCameraDistance = MIN_CAMERA_DISTANCE;
|
mTargetCameraDistance = MIN_CAMERA_DISTANCE;
|
||||||
animate = FALSE;
|
animate = FALSE;
|
||||||
|
if (gViewerWindow->getRightMouseDown()) LLViewerCamera::instance().loadDefaultFOV(); // <singu/> We could be zoomed in
|
||||||
}
|
}
|
||||||
updateLastCamera();
|
updateLastCamera();
|
||||||
mCameraMode = CAMERA_MODE_THIRD_PERSON;
|
mCameraMode = CAMERA_MODE_THIRD_PERSON;
|
||||||
|
|||||||
@@ -638,7 +638,7 @@ void LLToolCompRotate::render()
|
|||||||
|
|
||||||
LLToolCompGun::LLToolCompGun()
|
LLToolCompGun::LLToolCompGun()
|
||||||
: LLToolComposite(std::string("Mouselook"))
|
: LLToolComposite(std::string("Mouselook"))
|
||||||
, mRightMouseButton(false), mMenuShown(false), mTimerFOV(), mOriginalFOV(), mStartFOV(), mTargetFOV() // <exodus/>
|
, mMenuShown(false), mTimerFOV(), mOriginalFOV(), mStartFOV(), mTargetFOV() // <exodus/>
|
||||||
{
|
{
|
||||||
mGun = new LLToolGun(this);
|
mGun = new LLToolGun(this);
|
||||||
mGrab = new LLToolGrab(this);
|
mGrab = new LLToolGrab(this);
|
||||||
@@ -764,10 +764,9 @@ void LLToolCompGun::handleSelect()
|
|||||||
void LLToolCompGun::handleDeselect()
|
void LLToolCompGun::handleDeselect()
|
||||||
{
|
{
|
||||||
LLToolComposite::handleDeselect();
|
LLToolComposite::handleDeselect();
|
||||||
if (mRightMouseButton || mTimerFOV.getStarted()) // Singu Note: Load Default FOV if we were zoomed in
|
if (mTimerFOV.getStarted()) // <singu/> Note: Load Default FOV if we were zooming in
|
||||||
{
|
{
|
||||||
LLViewerCamera::getInstance()->loadDefaultFOV();
|
LLViewerCamera::getInstance()->loadDefaultFOV();
|
||||||
mRightMouseButton = false;
|
|
||||||
}
|
}
|
||||||
setMouseCapture(FALSE);
|
setMouseCapture(FALSE);
|
||||||
}
|
}
|
||||||
@@ -777,22 +776,18 @@ void LLToolCompGun::handleDeselect()
|
|||||||
BOOL LLToolCompGun::handleRightMouseUp(S32 x, S32 y, MASK mask)
|
BOOL LLToolCompGun::handleRightMouseUp(S32 x, S32 y, MASK mask)
|
||||||
{
|
{
|
||||||
// Singu Note: Beware the alt-click menu
|
// Singu Note: Beware the alt-click menu
|
||||||
if (mRightMouseButton)
|
|
||||||
{
|
|
||||||
mRightMouseButton = false;
|
|
||||||
|
|
||||||
mStartFOV = LLViewerCamera::getInstance()->getDefaultFOV();
|
|
||||||
mTargetFOV = mOriginalFOV;
|
|
||||||
gSavedSettings.getBOOL("LiruMouselookInstantZoom") ? LLViewerCamera::getInstance()->setDefaultFOV(mTargetFOV) :
|
|
||||||
mTimerFOV.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (mMenuShown)
|
if (mMenuShown)
|
||||||
{
|
{
|
||||||
mMenuShown = false;
|
mMenuShown = false;
|
||||||
return LLToolComposite::handleRightMouseUp(x, y, mask);
|
return LLToolComposite::handleRightMouseUp(x, y, mask);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LLViewerCamera& cam(LLViewerCamera::instance());
|
||||||
|
mStartFOV = cam.getDefaultFOV();
|
||||||
|
mTargetFOV = mOriginalFOV;
|
||||||
|
gSavedSettings.getBOOL("LiruMouselookInstantZoom") ? cam.setDefaultFOV(mTargetFOV) : mTimerFOV.start();
|
||||||
|
cam.mSavedFOVLoaded = false;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -805,27 +800,27 @@ BOOL LLToolCompGun::handleRightMouseDown(S32 x, S32 y, MASK mask)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
mRightMouseButton = true;
|
LLViewerCamera& cam(LLViewerCamera::instance());
|
||||||
|
if (!mTimerFOV.getStarted())
|
||||||
if(!mTimerFOV.getStarted())
|
|
||||||
{
|
{
|
||||||
mStartFOV = LLViewerCamera::getInstance()->getAndSaveDefaultFOV();
|
mStartFOV = cam.getAndSaveDefaultFOV();
|
||||||
mOriginalFOV = mStartFOV;
|
mOriginalFOV = mStartFOV;
|
||||||
}
|
}
|
||||||
else mStartFOV = LLViewerCamera::getInstance()->getDefaultFOV();
|
else mStartFOV = cam.getDefaultFOV();
|
||||||
|
|
||||||
mTargetFOV = gSavedSettings.getF32("ExodusAlternativeFOV");
|
mTargetFOV = gSavedSettings.getF32("ExodusAlternativeFOV");
|
||||||
gSavedSettings.getBOOL("LiruMouselookInstantZoom") ? LLViewerCamera::getInstance()->setDefaultFOV(mTargetFOV) :
|
gSavedSettings.getBOOL("LiruMouselookInstantZoom") ? cam.setDefaultFOV(mTargetFOV) : mTimerFOV.start();
|
||||||
mTimerFOV.start();
|
cam.mSavedFOVLoaded = false;
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL LLToolCompGun::handleScrollWheel(S32 x, S32 y, S32 clicks)
|
BOOL LLToolCompGun::handleScrollWheel(S32 x, S32 y, S32 clicks)
|
||||||
{
|
{
|
||||||
if (mRightMouseButton)
|
if (gViewerWindow->getRightMouseDown())
|
||||||
{
|
{
|
||||||
mStartFOV = LLViewerCamera::getInstance()->getDefaultFOV();
|
LLViewerCamera& cam(LLViewerCamera::instance());
|
||||||
|
mStartFOV = cam.getDefaultFOV();
|
||||||
|
|
||||||
gSavedSettings.setF32(
|
gSavedSettings.setF32(
|
||||||
"ExodusAlternativeFOV",
|
"ExodusAlternativeFOV",
|
||||||
@@ -834,8 +829,8 @@ BOOL LLToolCompGun::handleScrollWheel(S32 x, S32 y, S32 clicks)
|
|||||||
llclamp(mTargetFOV -= (0.05f * -clicks), 0.1f, 3.0f)
|
llclamp(mTargetFOV -= (0.05f * -clicks), 0.1f, 3.0f)
|
||||||
);
|
);
|
||||||
|
|
||||||
gSavedSettings.getBOOL("LiruMouselookInstantZoom") ? LLViewerCamera::getInstance()->setDefaultFOV(mTargetFOV) :
|
gSavedSettings.getBOOL("LiruMouselookInstantZoom") ? cam.setDefaultFOV(mTargetFOV) : mTimerFOV.start();
|
||||||
mTimerFOV.start();
|
cam.mSavedFOVLoaded = false;
|
||||||
}
|
}
|
||||||
else if (clicks > 0) gAgentCamera.changeCameraToDefault();
|
else if (clicks > 0) gAgentCamera.changeCameraToDefault();
|
||||||
|
|
||||||
@@ -848,16 +843,17 @@ void LLToolCompGun::draw()
|
|||||||
{
|
{
|
||||||
if (mTimerFOV.getStarted())
|
if (mTimerFOV.getStarted())
|
||||||
{
|
{
|
||||||
if (!LLViewerCamera::getInstance()->mSavedFOVLoaded && mStartFOV != mTargetFOV)
|
LLViewerCamera& cam(LLViewerCamera::instance());
|
||||||
|
if (!cam.mSavedFOVLoaded && mStartFOV != mTargetFOV)
|
||||||
{
|
{
|
||||||
F32 timer = mTimerFOV.getElapsedTimeF32();
|
F32 timer = mTimerFOV.getElapsedTimeF32();
|
||||||
|
|
||||||
if (timer > 0.15f)
|
if (timer > 0.15f)
|
||||||
{
|
{
|
||||||
LLViewerCamera::getInstance()->setDefaultFOV(mTargetFOV);
|
cam.setDefaultFOV(mTargetFOV);
|
||||||
mTimerFOV.stop();
|
mTimerFOV.stop();
|
||||||
}
|
}
|
||||||
else LLViewerCamera::getInstance()->setDefaultFOV(lerp(mStartFOV, mTargetFOV, timer * 6.66f));
|
else cam.setDefaultFOV(lerp(mStartFOV, mTargetFOV, timer * 6.66f));
|
||||||
}
|
}
|
||||||
else mTimerFOV.stop();
|
else mTimerFOV.stop();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -235,7 +235,7 @@ protected:
|
|||||||
|
|
||||||
// <exodus>
|
// <exodus>
|
||||||
private:
|
private:
|
||||||
bool mRightMouseButton, mMenuShown;
|
bool mMenuShown;
|
||||||
LLTimer mTimerFOV;
|
LLTimer mTimerFOV;
|
||||||
F32 mOriginalFOV, mStartFOV, mTargetFOV;
|
F32 mOriginalFOV, mStartFOV, mTargetFOV;
|
||||||
// </exodus>
|
// </exodus>
|
||||||
|
|||||||
@@ -313,11 +313,9 @@ BOOL LLToolCamera::handleMouseUp(S32 x, S32 y, MASK mask)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool right_hold_mouse_walk=false;
|
|
||||||
|
|
||||||
BOOL LLToolCamera::handleHover(S32 x, S32 y, MASK mask)
|
BOOL LLToolCamera::handleHover(S32 x, S32 y, MASK mask)
|
||||||
{
|
{
|
||||||
if(right_hold_mouse_walk)
|
if (gViewerWindow->getRightMouseDown())
|
||||||
{
|
{
|
||||||
agent_push_forward(KEYSTATE_LEVEL);
|
agent_push_forward(KEYSTATE_LEVEL);
|
||||||
}
|
}
|
||||||
@@ -461,7 +459,6 @@ BOOL LLToolCamera::handleRightMouseDown(S32 x, S32 y, MASK mask)
|
|||||||
if(mMouseSteering)
|
if(mMouseSteering)
|
||||||
{
|
{
|
||||||
agent_push_forward(KEYSTATE_DOWN);
|
agent_push_forward(KEYSTATE_DOWN);
|
||||||
right_hold_mouse_walk = true;
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -472,10 +469,9 @@ BOOL LLToolCamera::handleRightMouseDown(S32 x, S32 y, MASK mask)
|
|||||||
|
|
||||||
BOOL LLToolCamera::handleRightMouseUp(S32 x, S32 y, MASK mask)
|
BOOL LLToolCamera::handleRightMouseUp(S32 x, S32 y, MASK mask)
|
||||||
{
|
{
|
||||||
if(mMouseSteering || right_hold_mouse_walk)
|
if (mMouseSteering)
|
||||||
{
|
{
|
||||||
agent_push_forward(KEYSTATE_UP);
|
agent_push_forward(KEYSTATE_UP);
|
||||||
right_hold_mouse_walk = false;
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -487,5 +483,5 @@ BOOL LLToolCamera::handleRightMouseUp(S32 x, S32 y, MASK mask)
|
|||||||
void LLToolCamera::onMouseCaptureLost()
|
void LLToolCamera::onMouseCaptureLost()
|
||||||
{
|
{
|
||||||
releaseMouse();
|
releaseMouse();
|
||||||
handleRightMouseUp(0,0,0);
|
if (gViewerWindow->getRightMouseDown()) agent_push_forward(KEYSTATE_UP);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -751,6 +751,7 @@ void LLViewerCamera::setDefaultFOV(F32 vertical_fov_rads)
|
|||||||
// <exodus>
|
// <exodus>
|
||||||
void LLViewerCamera::loadDefaultFOV()
|
void LLViewerCamera::loadDefaultFOV()
|
||||||
{
|
{
|
||||||
|
if (mSavedFOVLoaded) return;
|
||||||
setView(mSavedFOVDefault);
|
setView(mSavedFOVDefault);
|
||||||
mSavedFOVLoaded = true;
|
mSavedFOVLoaded = true;
|
||||||
mCameraFOVDefault = mSavedFOVDefault;
|
mCameraFOVDefault = mSavedFOVDefault;
|
||||||
|
|||||||
Reference in New Issue
Block a user