diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 97cab58eb1..9e5d3f09bd 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -14218,6 +14218,17 @@ Boolean Value 0 + + DisableLookAtAnimation + + Comment + Avatar follows cursor with avatars eyes, when disabled, avatar will look forward + Persist + 0 + Type + Boolean + Value + 0 WebProfileFloaterRect diff --git a/indra/newview/llhudeffectlookat.cpp b/indra/newview/llhudeffectlookat.cpp index c8b7e00776..d0d2ee191a 100644 --- a/indra/newview/llhudeffectlookat.cpp +++ b/indra/newview/llhudeffectlookat.cpp @@ -36,6 +36,7 @@ #include "llvoavatar.h" #include "lldrawable.h" #include "llviewerobjectlist.h" +#include "llviewercontrol.h" #include "llrendersphere.h" #include "llselectmgr.h" #include "llglheaders.h" @@ -561,8 +562,16 @@ void LLHUDEffectLookAt::update() { if (calcTargetPosition()) { + static LLCachedControl disable_look_at(gSavedSettings, "DisableLookAtAnimation", true); LLMotion* head_motion = ((LLVOAvatar*)(LLViewerObject*)mSourceObject)->findMotion(ANIM_AGENT_HEAD_ROT); - if (!head_motion || head_motion->isStopped()) + if (disable_look_at()) + { + if (head_motion) + { + ((LLVOAvatar*)(LLViewerObject*)mSourceObject)->stopMotion(ANIM_AGENT_HEAD_ROT); + } + } + else if (!head_motion || head_motion->isStopped()) { ((LLVOAvatar*)(LLViewerObject*)mSourceObject)->startMotion(ANIM_AGENT_HEAD_ROT); } @@ -665,7 +674,15 @@ bool LLHUDEffectLookAt::calcTargetPosition() if (!mTargetPos.isFinite()) return false; - source_avatar->setAnimationData("LookAtPoint", (void *)&mTargetPos); + static LLCachedControl disable_look_at(gSavedSettings, "DisableLookAtAnimation", true); + if (disable_look_at()) + { + source_avatar->removeAnimationData("LookAtPoint"); + } + else + { + source_avatar->setAnimationData("LookAtPoint", (void*)&mTargetPos); + } return true; } diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 347638249b..941f0c6bb7 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -3966,6 +3966,16 @@ function="World.EnvPreset" function="ToggleControl" parameter="AllowSelectAvatar" /> + + + +