summaryrefslogtreecommitdiff
path: root/scene/2d
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <remi@verschelde.fr>2020-12-17 08:56:37 +0100
committerGitHub <noreply@github.com>2020-12-17 08:56:37 +0100
commit933cf114d880651a65082e417c05c77bf771af95 (patch)
treec875c695c6e693ec2929808b1da5e0ba5369021c /scene/2d
parentfb2465b3c8726a2b86313adf8cd1c19c283a38aa (diff)
parentaba477361d02da485076c873b29b06e10f17f279 (diff)
Merge pull request #42872 from dreamsComeTrue/better-camera2d-zoom
Fix camera2d zoom when set to zero (affine_invert: Condition ' det == 0 ' is true)
Diffstat (limited to 'scene/2d')
-rw-r--r--scene/2d/camera_2d.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/scene/2d/camera_2d.cpp b/scene/2d/camera_2d.cpp
index 79b0b64efb..0d09d21a71 100644
--- a/scene/2d/camera_2d.cpp
+++ b/scene/2d/camera_2d.cpp
@@ -77,6 +77,9 @@ void Camera2D::_update_process_mode() {
}
void Camera2D::set_zoom(const Vector2 &p_zoom) {
+ // Setting zoom to zero causes 'affine_invert' issues
+ ERR_FAIL_COND_MSG(Math::is_zero_approx(p_zoom.x) || Math::is_zero_approx(p_zoom.y), "Zoom level must be different from 0 (can be negative).");
+
zoom = p_zoom;
Point2 old_smoothed_camera_pos = smoothed_camera_pos;
_update_scroll();