Răsfoiți Sursa

Fix camera2d zoom when set to zero (causing ERROR: affine_invert: Condition ' det == 0 ' is true.)

Fixes: #41873
Dominik 'dreamsComeTrue' Jasiński 4 ani în urmă
părinte
comite
aba477361d
1 a modificat fișierele cu 3 adăugiri și 0 ștergeri
  1. 3 0
      scene/2d/camera_2d.cpp

+ 3 - 0
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();