From 6294e9ed1c07b41ee7051c760b0f54b60cfc83ca Mon Sep 17 00:00:00 2001 From: WereTech <17415815+WereTech@users.noreply.github.com> Date: Tue, 28 Nov 2023 11:04:45 -0600 Subject: add camera panning speed setting - adds a setting that changes the speed of the camera when panning with the CameraShift keybind. - fixes what I assume is a typo in the zoom slider that referenced the resolution list size instead of the zoom list size --- source/client/StarClientApplication.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'source/client/StarClientApplication.cpp') diff --git a/source/client/StarClientApplication.cpp b/source/client/StarClientApplication.cpp index 6c891c2..ea24c36 100644 --- a/source/client/StarClientApplication.cpp +++ b/source/client/StarClientApplication.cpp @@ -51,6 +51,7 @@ Json const AdditionalDefaultConfiguration = Json::parseJson(R"JSON( "borderless" : false, "maximized" : true, "zoomLevel" : 3.0, + "cameraSpeedFactor" : 1.0, "speechBubbles" : true, "title" : { @@ -1008,8 +1009,8 @@ void ClientApplication::updateCamera(float dt) { const float triggerRadius = 100.0f; const float deadzone = 0.1f; - const float smoothFactor = 30.0f; const float panFactor = 1.5f; + float cameraSpeedFactor = 30.0f / m_root->configuration()->get("cameraSpeedFactor").toFloat(); auto playerCameraPosition = m_player->cameraPosition(); @@ -1027,15 +1028,15 @@ void ClientApplication::updateCamera(float dt) { magnitude = 1; cameraXOffset *= magnitude * 0.5f * camera.pixelRatio() * panFactor; cameraYOffset *= magnitude * 0.5f * camera.pixelRatio() * panFactor; - m_cameraXOffset = (m_cameraXOffset * (smoothFactor - 1.0) + cameraXOffset) / smoothFactor; - m_cameraYOffset = (m_cameraYOffset * (smoothFactor - 1.0) + cameraYOffset) / smoothFactor; + m_cameraXOffset = (m_cameraXOffset * (cameraSpeedFactor - 1.0) + cameraXOffset) / cameraSpeedFactor; + m_cameraYOffset = (m_cameraYOffset * (cameraSpeedFactor - 1.0) + cameraYOffset) / cameraSpeedFactor; } } else { if ((m_cameraOffsetDownTicks > 0) && (m_cameraOffsetDownTicks < 20)) m_snapBackCameraOffset = true; if (m_snapBackCameraOffset) { - m_cameraXOffset = (m_cameraXOffset * (smoothFactor - 1.0)) / smoothFactor; - m_cameraYOffset = (m_cameraYOffset * (smoothFactor - 1.0)) / smoothFactor; + m_cameraXOffset = (m_cameraXOffset * (cameraSpeedFactor - 1.0)) / cameraSpeedFactor; + m_cameraYOffset = (m_cameraYOffset * (cameraSpeedFactor - 1.0)) / cameraSpeedFactor; } m_cameraOffsetDownTicks = 0; } -- cgit v1.2.3