From c76ee31d4da07dff8e446a3f60322265c01bd69b Mon Sep 17 00:00:00 2001 From: Armin Weatherwax Date: Fri, 15 Apr 2011 13:27:35 +0200 Subject: Add HeadFollowsMouse debugsetting + UI in preferences > advanced. Defaults to *false* if false own avatars head doesn't follow the mouse no matter to what PitchFromMousePosition and YawFromMousePosition are set. --- linden/indra/newview/app_settings/settings.xml | 11 +++++++++ linden/indra/newview/llagent.cpp | 26 +++++++++++++++------- .../xui/en-us/panel_preferences_advanced.xml | 5 +++++ 3 files changed, 34 insertions(+), 8 deletions(-) diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index 00c30c1..44c6b9a 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml @@ -135,6 +135,17 @@ 1 + HeadFollowsMouse + + Comment + IF your avatars head follows your mouse movements (then the extend is defined in YawFromMousePosition and PitchFromMousePosition + Persist + 1 + Type + Boolean + Value + 0 + HighlightOwnNameInChat Comment diff --git a/linden/indra/newview/llagent.cpp b/linden/indra/newview/llagent.cpp index 871c90d..922db37 100644 --- a/linden/indra/newview/llagent.cpp +++ b/linden/indra/newview/llagent.cpp @@ -2734,14 +2734,24 @@ void LLAgent::updateLookAt(const S32 mouse_x, const S32 mouse_y) } else if (cameraThirdPerson()) { - // range from -.5 to .5 - F32 x_from_center = - ((F32) mouse_x / (F32) gViewerWindow->getWindowWidth() ) - 0.5f; - F32 y_from_center = - ((F32) mouse_y / (F32) gViewerWindow->getWindowHeight() ) - 0.5f; - - frameCamera.yaw( - x_from_center * gSavedSettings.getF32("YawFromMousePosition") * DEG_TO_RAD); - frameCamera.pitch( - y_from_center * gSavedSettings.getF32("PitchFromMousePosition") * DEG_TO_RAD); + if (gSavedSettings.getBOOL("HeadFollowsMouse")) + { + // range from -.5 to .5 + F32 x_from_center = + ((F32) mouse_x / (F32) gViewerWindow->getWindowWidth() ) - 0.5f; + F32 y_from_center = + ((F32) mouse_y / (F32) gViewerWindow->getWindowHeight() ) - 0.5f; + + frameCamera.yaw( - x_from_center * gSavedSettings.getF32("YawFromMousePosition") + * DEG_TO_RAD); + frameCamera.pitch( - y_from_center * gSavedSettings.getF32("PitchFromMousePosition") + * DEG_TO_RAD); + } + else + { + frameCamera.yaw( 0.f ); + frameCamera.pitch( 0.f ); + } lookAtType = LOOKAT_TARGET_FREELOOK; } diff --git a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml index b8f6e7d..9817756 100644 --- a/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml +++ b/linden/indra/newview/skins/default/xui/en-us/panel_preferences_advanced.xml @@ -77,6 +77,11 @@ tool_tip="Toggle editing animation and standing up when entering appearance mode" label="Animate avatar when editing appearance" left="12" mouse_opaque="true" name="appearance_anim_check" radio_style="false" width="217" /> +