diff --git a/Source/Contents/Camera/CameraSmoothing.cpp b/Source/Contents/Camera/CameraSmoothing.cpp index 273effc2..f111407e 100644 --- a/Source/Contents/Camera/CameraSmoothing.cpp +++ b/Source/Contents/Camera/CameraSmoothing.cpp @@ -70,16 +70,16 @@ void CameraState::Smooth() { this->target[2] = next[2]; this->target[1] = next[1]; this->target[0] = next[0]; - const int angle = TruncateToInt(-this->pitch); - const float sine = ClientSine(angle); - const float cosine = ClientCosine(angle); - const float tangent = static_cast(static_cast(sine) / cosine); - const float cotangent = static_cast(static_cast(cosine) / sine); + + const float tangent = ClientSine(static_cast(-this->pitch)) / ClientCosine(static_cast(-this->pitch)); + const float cotangent = ClientCosine(static_cast(-this->pitch)) / ClientSine(static_cast(-this->pitch)); + const float scaledTangent = tangent * g_projectionScale; - g_tangent = static_cast(static_cast(scaledTangent) / g_renderer->UiScaleY()); + g_tangent = scaledTangent / g_renderer->UiScaleY(); const float scaledCotangent = cotangent * g_projectionScale; - g_cotangent = static_cast(static_cast(scaledCotangent) / g_renderer->UiScaleY()); - const float relativeSine = static_cast((static_cast(sine) / ClientSine(45)) * 0.000009f); + g_cotangent = scaledCotangent / g_renderer->UiScaleY(); + + const float relativeSine = ClientSine(static_cast(-this->pitch)) / ClientSine(45) * 0.000009f; g_cameraScaleY = (g_cameraBaseDistance / this->distance) * relativeSine; g_cameraScaleX = (g_cameraBaseDistance / this->distance) * 0.000036f; }