diff options
author | Steven Bennetts <steve@lindenlab.com> | 2008-08-12 17:29:50 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2008-08-12 17:29:50 +0000 |
commit | 80be4c1d2d73982ea2df6dd7ef3fc3465416c882 (patch) | |
tree | 9c5958572368be494b6302db8b03967a2c67b7ad /indra/newview/llviewerjoystick.cpp | |
parent | a09f7d41efdb945755efaeb07f7418c1f6e2a78b (diff) |
QAR-767 Combined maint-render-7 and maint-viewer-9 merge
merge release@93398 viewer-merge-1@94007 -> release
dataserver-is-deprecated
Diffstat (limited to 'indra/newview/llviewerjoystick.cpp')
-rw-r--r-- | indra/newview/llviewerjoystick.cpp | 31 |
1 files changed, 23 insertions, 8 deletions
diff --git a/indra/newview/llviewerjoystick.cpp b/indra/newview/llviewerjoystick.cpp index 1717153810..96e6da76b6 100644 --- a/indra/newview/llviewerjoystick.cpp +++ b/indra/newview/llviewerjoystick.cpp @@ -99,6 +99,11 @@ void LLViewerJoystick::setOverrideCamera(bool val) { mOverrideCamera = val; } + + if (mOverrideCamera) + { + gAgent.changeCameraToDefault(); + } } // ----------------------------------------------------------------------------- @@ -793,14 +798,6 @@ void LLViewerJoystick::moveFlycam(bool reset) { cur_delta[i] = -getJoystickAxis(axis[i]); - // we need smaller camera movements in build mode - if (in_build_mode) - { - if (i == X_I || i == Y_I || i == Z_I) - { - cur_delta[i] /= BUILDMODE_FLYCAM_T_SCALE; - } - } F32 tmp = cur_delta[i]; if (absolute) @@ -817,6 +814,18 @@ void LLViewerJoystick::moveFlycam(bool reset) { cur_delta[i] = llmin(cur_delta[i]+dead_zone[i], 0.f); } + + // we need smaller camera movements in build mode + // NOTE: this needs to remain after the deadzone calculation, otherwise + // we have issues with flycam "jumping" when the build dialog is opened/closed -Nyx + if (in_build_mode) + { + if (i == X_I || i == Y_I || i == Z_I) + { + cur_delta[i] /= BUILDMODE_FLYCAM_T_SCALE; + } + } + cur_delta[i] *= axis_scale[i]; if (!absolute) @@ -875,10 +884,16 @@ bool LLViewerJoystick::toggleFlycam() { return false; } + if (!mOverrideCamera) + { + gAgent.changeCameraToDefault(); + } + mOverrideCamera = !mOverrideCamera; if (mOverrideCamera) { moveFlycam(true); + } else if (!LLToolMgr::getInstance()->inBuildMode()) { |