SL-12904 FIXED Camera Preset does not restore correctly when sitting

master
Mnikolenko Productengine 2020-04-06 16:03:19 +03:00
parent 2dde386917
commit 1f5bb7be28
2 changed files with 4 additions and 4 deletions

View File

@ -1805,7 +1805,7 @@ LLVector3d LLAgentCamera::calcCameraPositionTargetGlobal(BOOL *hit_limit)
at_axis.normalize();
gAgent.resetAxes(at_axis * ~parent_rot);
local_camera_offset = local_camera_offset * gAgent.getFrameAgent().getQuaternion() * parent_rot;
local_camera_offset = local_camera_offset * parent_rot;
}
else
{
@ -1999,9 +1999,7 @@ LLVector3d LLAgentCamera::getCurrentFocusOffset()
LLQuaternion LLAgentCamera::getCurrentAvatarRotation()
{
LLViewerObject* sit_object = (LLViewerObject*)gAgentAvatarp->getParent();
LLQuaternion av_rot = gAgent.getFrameAgent().getQuaternion();
LLQuaternion obj_rot = sit_object ? sit_object->getRenderRotation() : LLQuaternion::DEFAULT;
return av_rot * obj_rot;
return sit_object ? sit_object->getRenderRotation() : gAgent.getFrameAgent().getQuaternion();
}
bool LLAgentCamera::isJoystickCameraUsed()

View File

@ -345,6 +345,7 @@ void camera_spin_around_ccw_sitting( EKeystate s )
else
{
//change camera but do not send keystrokes
gAgentCamera.unlockView();
gAgentCamera.setOrbitLeftKey( get_orbit_rate() );
}
}
@ -361,6 +362,7 @@ void camera_spin_around_cw_sitting( EKeystate s )
else
{
//change camera but do not send keystrokes
gAgentCamera.unlockView();
gAgentCamera.setOrbitRightKey( get_orbit_rate() );
}
}