Skip to content

Commit 6e41868

Browse files
committed
Revert godotengine#57392 & rename Camera zoom to zoom_scale
1 parent e69b708 commit 6e41868

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

doc/classes/Camera2D.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -156,8 +156,8 @@
156156
<member name="smoothing_speed" type="float" setter="set_follow_smoothing" getter="get_follow_smoothing" default="5.0">
157157
Speed in pixels per second of the camera's smoothing effect when [member smoothing_enabled] is [code]true[/code].
158158
</member>
159-
<member name="zoom" type="Vector2" setter="set_zoom" getter="get_zoom" default="Vector2(1, 1)">
160-
The camera's zoom. A zoom of [code]Vector(2, 2)[/code] doubles the size seen in the viewport. A zoom of [code]Vector(0.5, 0.5)[/code] halves the size seen in the viewport.
159+
<member name="zoom_scale" type="Vector2" setter="set_zoom_scale" getter="get_zoom_scale" default="Vector2(1, 1)">
160+
The displayed scale of this camera's viewport. A value of [code]Vector(0.5, 0.5)[/code] doubles the size seen in the viewport, zooming in. A value of [code]Vector(2, 2)[/code] halves the size seen in the viewport, zooming out.
161161
</member>
162162
</members>
163163
<constants>

scene/2d/camera_2d.cpp

+11-9
Original file line numberDiff line numberDiff line change
@@ -74,19 +74,21 @@ void Camera2D::_update_process_callback() {
7474
}
7575
}
7676

77-
void Camera2D::set_zoom(const Vector2 &p_zoom) {
77+
void Camera2D::set_zoom_scale(const Vector2 &p_scale) {
7878
// Setting zoom to zero causes 'affine_invert' issues
79-
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).");
79+
//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).");
80+
if (zoom_scale == p_scale) {
81+
return;
82+
}
8083

81-
zoom = p_zoom;
82-
zoom_scale = Vector2(1, 1) / zoom;
84+
zoom_scale = p_scale;
8385
Point2 old_smoothed_camera_pos = smoothed_camera_pos;
8486
_update_scroll();
8587
smoothed_camera_pos = old_smoothed_camera_pos;
8688
};
8789

88-
Vector2 Camera2D::get_zoom() const {
89-
return zoom;
90+
Vector2 Camera2D::get_zoom_scale() const {
91+
return zoom_scale;
9092
};
9193

9294
Transform2D Camera2D::get_camera_transform() {
@@ -704,8 +706,8 @@ void Camera2D::_bind_methods() {
704706
ClassDB::bind_method(D_METHOD("get_target_position"), &Camera2D::get_camera_position);
705707
ClassDB::bind_method(D_METHOD("get_screen_center_position"), &Camera2D::get_camera_screen_center);
706708

707-
ClassDB::bind_method(D_METHOD("set_zoom", "zoom"), &Camera2D::set_zoom);
708-
ClassDB::bind_method(D_METHOD("get_zoom"), &Camera2D::get_zoom);
709+
ClassDB::bind_method(D_METHOD("set_zoom_scale", "zoom_scale"), &Camera2D::set_zoom_scale);
710+
ClassDB::bind_method(D_METHOD("get_zoom_scale"), &Camera2D::get_zoom_scale);
709711

710712
ClassDB::bind_method(D_METHOD("set_custom_viewport", "viewport"), &Camera2D::set_custom_viewport);
711713
ClassDB::bind_method(D_METHOD("get_custom_viewport"), &Camera2D::get_custom_viewport);
@@ -735,7 +737,7 @@ void Camera2D::_bind_methods() {
735737
ADD_PROPERTY(PropertyInfo(Variant::INT, "anchor_mode", PROPERTY_HINT_ENUM, "Fixed TopLeft,Drag Center"), "set_anchor_mode", "get_anchor_mode");
736738
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "ignore_rotation"), "set_ignore_rotation", "is_ignoring_rotation");
737739
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "current"), "set_current", "is_current");
738-
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "zoom", PROPERTY_HINT_LINK), "set_zoom", "get_zoom");
740+
ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "zoom_scale", PROPERTY_HINT_LINK), "set_zoom_scale", "get_zoom_scale");
739741
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "custom_viewport", PROPERTY_HINT_RESOURCE_TYPE, "Viewport", PROPERTY_USAGE_NONE), "set_custom_viewport", "get_custom_viewport");
740742
ADD_PROPERTY(PropertyInfo(Variant::INT, "process_callback", PROPERTY_HINT_ENUM, "Physics,Idle"), "set_process_callback", "get_process_callback");
741743

scene/2d/camera_2d.h

+2-3
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ class Camera2D : public Node2D {
6060
StringName canvas_group_name;
6161
RID canvas;
6262
Vector2 offset;
63-
Vector2 zoom = Vector2(1, 1);
6463
Vector2 zoom_scale = Vector2(1, 1);
6564
AnchorMode anchor_mode = ANCHOR_MODE_DRAG_CENTER;
6665
bool ignore_rotation = true;
@@ -146,8 +145,8 @@ class Camera2D : public Node2D {
146145
void clear_current();
147146
bool is_current() const;
148147

149-
void set_zoom(const Vector2 &p_zoom);
150-
Vector2 get_zoom() const;
148+
void set_zoom_scale(const Vector2 &p_scale);
149+
Vector2 get_zoom_scale() const;
151150

152151
Point2 get_camera_screen_center() const;
153152

0 commit comments

Comments
 (0)