From f13b1b4d8445bd2fe671b66df447b8e05d27b55f Mon Sep 17 00:00:00 2001 From: Joonas Rikkonen Date: Fri, 20 Jul 2018 11:36:22 +0300 Subject: [PATCH] Fixed camera ScreenToWorld & WorldToScreen returning invalid values when Camera.UpdateTransform has only been called once, because interpolated zoom value is initially 0 which messes up the transformation matrices. Closes #504 --- Barotrauma/BarotraumaClient/Source/Camera.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Barotrauma/BarotraumaClient/Source/Camera.cs b/Barotrauma/BarotraumaClient/Source/Camera.cs index 487bb3b87..6b5da39dc 100644 --- a/Barotrauma/BarotraumaClient/Source/Camera.cs +++ b/Barotrauma/BarotraumaClient/Source/Camera.cs @@ -99,7 +99,7 @@ namespace Barotrauma public Camera() { - zoom = 1.0f; + zoom = prevZoom = 1.0f; rotation = 0.0f; position = Vector2.Zero; @@ -112,7 +112,7 @@ namespace Barotrauma viewMatrix = Matrix.CreateTranslation(new Vector3(GameMain.GraphicsWidth / 2.0f, GameMain.GraphicsHeight / 2.0f, 0)); - UpdateTransform(); + UpdateTransform(false); } public Vector2 TargetPos