From 5ac4d55bb902803e087b0561ab2a240551b99869 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Fri, 8 Mar 2024 02:10:49 +0200 Subject: [PATCH] viewer#730 Zoom slider not working in some cases. --- indra/newview/llagentcamera.cpp | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp index d77fa82c8a..3ce4ae4b74 100644 --- a/indra/newview/llagentcamera.cpp +++ b/indra/newview/llagentcamera.cpp @@ -782,11 +782,6 @@ F32 LLAgentCamera::getCameraZoomFraction(bool get_third_person) return mHUDTargetZoom; } - if (isDisableCameraConstraints()) - { - return mCameraZoomFraction; - } - if (get_third_person || (mFocusOnAvatar && cameraThirdPerson())) { return clamp_rescale(mCameraZoomFraction, MIN_ZOOM_FRACTION, MAX_ZOOM_FRACTION, 1.f, 0.f); @@ -800,6 +795,10 @@ F32 LLAgentCamera::getCameraZoomFraction(bool get_third_person) F32 min_zoom; F32 max_zoom = getCameraMaxZoomDistance(); + if (isDisableCameraConstraints()) + { + max_zoom = MAX_CAMERA_DISTANCE_FROM_OBJECT; + } F32 distance = (F32)mCameraFocusOffsetTarget.magVec(); if (mFocusObject.notNull()) @@ -831,10 +830,6 @@ void LLAgentCamera::setCameraZoomFraction(F32 fraction) { mHUDTargetZoom = fraction; } - else if (isDisableCameraConstraints()) - { - mCameraZoomFraction = fraction; - } else if (mFocusOnAvatar && cameraThirdPerson()) { mCameraZoomFraction = rescale(fraction, 0.f, 1.f, MAX_ZOOM_FRACTION, MIN_ZOOM_FRACTION); @@ -849,6 +844,10 @@ void LLAgentCamera::setCameraZoomFraction(F32 fraction) { F32 min_zoom = LAND_MIN_ZOOM; F32 max_zoom = getCameraMaxZoomDistance(); + if (isDisableCameraConstraints()) + { + max_zoom = MAX_CAMERA_DISTANCE_FROM_OBJECT; + } if (mFocusObject.notNull()) {