summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/classes/@GlobalScope.xml16
-rw-r--r--doc/classes/Array.xml2
-rw-r--r--doc/classes/Camera2D.xml16
-rw-r--r--doc/classes/ConeTwistJoint3D.xml4
-rw-r--r--doc/classes/Control.xml123
-rw-r--r--doc/classes/Dictionary.xml2
-rw-r--r--doc/classes/Engine.xml6
-rw-r--r--doc/classes/Environment.xml39
-rw-r--r--doc/classes/GraphNode.xml10
-rw-r--r--doc/classes/HingeJoint3D.xml4
-rw-r--r--doc/classes/Joint3D.xml2
-rw-r--r--doc/classes/NinePatchRect.xml8
-rw-r--r--doc/classes/PackedByteArray.xml10
-rw-r--r--doc/classes/PackedColorArray.xml10
-rw-r--r--doc/classes/PackedFloat32Array.xml10
-rw-r--r--doc/classes/PackedFloat64Array.xml10
-rw-r--r--doc/classes/PackedInt32Array.xml10
-rw-r--r--doc/classes/PackedInt64Array.xml10
-rw-r--r--doc/classes/PackedStringArray.xml10
-rw-r--r--doc/classes/PackedVector2Array.xml10
-rw-r--r--doc/classes/PackedVector3Array.xml10
-rw-r--r--doc/classes/PinJoint3D.xml4
-rw-r--r--doc/classes/ProjectSettings.xml19
-rw-r--r--doc/classes/Rect2.xml7
-rw-r--r--doc/classes/Rect2i.xml7
-rw-r--r--doc/classes/RenderingServer.xml38
-rw-r--r--doc/classes/SceneTree.xml2
-rw-r--r--doc/classes/SliderJoint3D.xml4
-rw-r--r--doc/classes/String.xml2
-rw-r--r--doc/classes/StyleBox.xml12
-rw-r--r--doc/classes/StyleBoxFlat.xml18
-rw-r--r--doc/classes/StyleBoxTexture.xml16
-rw-r--r--doc/classes/TextureProgressBar.xml4
-rw-r--r--doc/classes/XRController3D.xml2
-rw-r--r--doc/classes/XRPositionalTracker.xml10
35 files changed, 256 insertions, 211 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 3f0a7b7c25..f128de52ea 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -1250,17 +1250,17 @@
</member>
</members>
<constants>
- <constant name="MARGIN_LEFT" value="0" enum="Margin">
- Left margin, usually used for [Control] or [StyleBox]-derived classes.
+ <constant name="SIDE_LEFT" value="0" enum="Side">
+ Left side, usually used for [Control] or [StyleBox]-derived classes.
</constant>
- <constant name="MARGIN_TOP" value="1" enum="Margin">
- Top margin, usually used for [Control] or [StyleBox]-derived classes.
+ <constant name="SIDE_TOP" value="1" enum="Side">
+ Top side, usually used for [Control] or [StyleBox]-derived classes.
</constant>
- <constant name="MARGIN_RIGHT" value="2" enum="Margin">
- Right margin, usually used for [Control] or [StyleBox]-derived classes.
+ <constant name="SIDE_RIGHT" value="2" enum="Side">
+ Right side, usually used for [Control] or [StyleBox]-derived classes.
</constant>
- <constant name="MARGIN_BOTTOM" value="3" enum="Margin">
- Bottom margin, usually used for [Control] or [StyleBox]-derived classes.
+ <constant name="SIDE_BOTTOM" value="3" enum="Side">
+ Bottom side, usually used for [Control] or [StyleBox]-derived classes.
</constant>
<constant name="CORNER_TOP_LEFT" value="0" enum="Corner">
Top-left corner.
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index 6a9eb89602..e4f9dcf993 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -228,7 +228,7 @@
If [code]deep[/code] is [code]true[/code], a deep copy is performed: all nested arrays and dictionaries are duplicated and will not be shared with the original array. If [code]false[/code], a shallow copy is made and references to the original nested arrays and dictionaries are kept, so that modifying a sub-array or dictionary in the copy will also impact those referenced in the source array.
</description>
</method>
- <method name="empty">
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml
index c7ee915109..957195d73b 100644
--- a/doc/classes/Camera2D.xml
+++ b/doc/classes/Camera2D.xml
@@ -52,19 +52,19 @@
<method name="get_drag_margin" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the specified margin. See also [member drag_margin_bottom], [member drag_margin_top], [member drag_margin_left], and [member drag_margin_right].
+ Returns the drag margin for the specified [enum Side]. See also [member drag_margin_bottom], [member drag_margin_top], [member drag_margin_left], and [member drag_margin_right].
</description>
</method>
<method name="get_limit" qualifiers="const">
<return type="int">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the specified camera limit. See also [member limit_bottom], [member limit_top], [member limit_left], and [member limit_right].
+ Returns the camera limit for the specified [enum Side]. See also [member limit_bottom], [member limit_top], [member limit_left], and [member limit_right].
</description>
</method>
<method name="make_current">
@@ -85,23 +85,23 @@
<method name="set_drag_margin">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="drag_margin" type="float">
</argument>
<description>
- Sets the specified margin. See also [member drag_margin_bottom], [member drag_margin_top], [member drag_margin_left], and [member drag_margin_right].
+ Sets the drag margin for the specified [enum Side]. See also [member drag_margin_bottom], [member drag_margin_top], [member drag_margin_left], and [member drag_margin_right].
</description>
</method>
<method name="set_limit">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="limit" type="int">
</argument>
<description>
- Sets the specified camera limit. See also [member limit_bottom], [member limit_top], [member limit_left], and [member limit_right].
+ Sets the camera limit for the specified [enum Side]. See also [member limit_bottom], [member limit_top], [member limit_left], and [member limit_right].
</description>
</method>
</methods>
diff --git a/doc/classes/ConeTwistJoint3D.xml b/doc/classes/ConeTwistJoint3D.xml
index e86e95bec3..bd6e24dafd 100644
--- a/doc/classes/ConeTwistJoint3D.xml
+++ b/doc/classes/ConeTwistJoint3D.xml
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConeTwistJoint3D" inherits="Joint3D" version="4.0">
<brief_description>
- A twist joint between two 3D bodies.
+ A twist joint between two 3D PhysicsBodies.
</brief_description>
<description>
The joint can rotate the bodies across an axis defined by the local x-axes of the [Joint3D].
The twist axis is initiated as the X axis of the [Joint3D].
- Once the Bodies swing, the twist axis is calculated as the middle of the x-axes of the Joint3D in the local space of the two Bodies.
+ Once the Bodies swing, the twist axis is calculated as the middle of the x-axes of the Joint3D in the local space of the two Bodies. See also [Generic6DOFJoint3D].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index 14d44a2fbe..9f15006262 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Control" inherits="CanvasItem" version="4.0">
<brief_description>
- All user interface nodes inherit from Control. A control's anchors and margins adapt its position and size relative to its parent.
+ All user interface nodes inherit from Control. A control's anchors and offsets adapt its position and size relative to its parent.
</brief_description>
<description>
- Base class for all UI-related nodes. [Control] features a bounding rectangle that defines its extents, an anchor position relative to its parent control or the current viewport, and margins that represent an offset to the anchor. The margins update automatically when the node, any of its parents, or the screen size change.
- For more information on Godot's UI system, anchors, margins, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from [Control] and [Container] nodes.
+ Base class for all UI-related nodes. [Control] features a bounding rectangle that defines its extents, an anchor position relative to its parent control or the current viewport, and offsets relative to the anchor. The offsets update automatically when the node, any of its parents, or the screen size change.
+ For more information on Godot's UI system, anchors, offsets, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from [Control] and [Container] nodes.
[b]User Interface nodes and input[/b]
Godot sends input events to the scene's root node first, by calling [method Node._input]. [method Node._input] forwards the event down the node tree to the nodes under the mouse cursor, or on keyboard focus. To do so, it calls [code]MainLoop._input_event[/code].
[b]FIXME:[/b] No longer valid after DisplayServer split and Input refactoring.
@@ -332,17 +332,17 @@
<method name="get_anchor" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the anchor identified by [code]margin[/code] constant from [enum Margin] enum. A getter method for [member anchor_bottom], [member anchor_left], [member anchor_right] and [member anchor_top].
+ Returns the anchor for the specified [enum Side]. A getter method for [member anchor_bottom], [member anchor_left], [member anchor_right] and [member anchor_top].
</description>
</method>
<method name="get_begin" qualifiers="const">
<return type="Vector2">
</return>
<description>
- Returns [member margin_left] and [member margin_top]. See also [member rect_position].
+ Returns [member offset_left] and [member offset_top]. See also [member rect_position].
</description>
</method>
<method name="get_combined_minimum_size" qualifiers="const">
@@ -391,16 +391,16 @@
<return type="Vector2">
</return>
<description>
- Returns [member margin_right] and [member margin_bottom].
+ Returns [member offset_right] and [member offset_bottom].
</description>
</method>
<method name="get_focus_neighbor" qualifiers="const">
<return type="NodePath">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the focus neighbor identified by [code]margin[/code] constant from [enum Margin] enum. A getter method for [member focus_neighbor_bottom], [member focus_neighbor_left], [member focus_neighbor_right] and [member focus_neighbor_top].
+ Returns the focus neighbor for the specified [enum Side]. A getter method for [member focus_neighbor_bottom], [member focus_neighbor_left], [member focus_neighbor_right] and [member focus_neighbor_top].
</description>
</method>
<method name="get_focus_owner" qualifiers="const">
@@ -417,13 +417,13 @@
Returns the position and size of the control relative to the top-left corner of the screen. See [member rect_position] and [member rect_size].
</description>
</method>
- <method name="get_margin" qualifiers="const">
+ <method name="get_offset" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the anchor identified by [code]margin[/code] constant from [enum Margin] enum. A getter method for [member margin_bottom], [member margin_left], [member margin_right] and [member margin_top].
+ Returns the anchor for the specified [enum Side]. A getter method for [member offset_bottom], [member offset_left], [member offset_right] and [member offset_top].
</description>
</method>
<method name="get_minimum_size" qualifiers="const">
@@ -454,13 +454,6 @@
Returns the position and size of the control relative to the top-left corner of the parent Control. See [member rect_position] and [member rect_size].
</description>
</method>
- <method name="get_rotation" qualifiers="const">
- <return type="float">
- </return>
- <description>
- Returns the rotation (in radians).
- </description>
- </method>
<method name="get_theme_color" qualifiers="const">
<return type="Color">
</return>
@@ -745,24 +738,24 @@
<method name="set_anchor">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="anchor" type="float">
</argument>
- <argument index="2" name="keep_margin" type="bool" default="false">
+ <argument index="2" name="keep_offset" type="bool" default="false">
</argument>
<argument index="3" name="push_opposite_anchor" type="bool" default="true">
</argument>
<description>
- Sets the anchor identified by [code]margin[/code] constant from [enum Margin] enum to value [code]anchor[/code]. A setter method for [member anchor_bottom], [member anchor_left], [member anchor_right] and [member anchor_top].
- If [code]keep_margin[/code] is [code]true[/code], margins aren't updated after this operation.
+ Sets the anchor for the specified [enum Side] to [code]anchor[/code]. A setter method for [member anchor_bottom], [member anchor_left], [member anchor_right] and [member anchor_top].
+ If [code]keep_offset[/code] is [code]true[/code], offsets aren't updated after this operation.
If [code]push_opposite_anchor[/code] is [code]true[/code] and the opposite anchor overlaps this anchor, the opposite one will have its value overridden. For example, when setting left anchor to 1 and the right anchor has value of 0.5, the right anchor will also get value of 1. If [code]push_opposite_anchor[/code] was [code]false[/code], the left anchor would get value 0.5.
</description>
</method>
- <method name="set_anchor_and_margin">
+ <method name="set_anchor_and_offset">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="anchor" type="float">
</argument>
@@ -771,10 +764,10 @@
<argument index="3" name="push_opposite_anchor" type="bool" default="false">
</argument>
<description>
- Works the same as [method set_anchor], but instead of [code]keep_margin[/code] argument and automatic update of margin, it allows to set the margin offset yourself (see [method set_margin]).
+ Works the same as [method set_anchor], but instead of [code]keep_offset[/code] argument and automatic update of offset, it allows to set the offset yourself (see [method set_offset]).
</description>
</method>
- <method name="set_anchors_and_margins_preset">
+ <method name="set_anchors_and_offsets_preset">
<return type="void">
</return>
<argument index="0" name="preset" type="int" enum="Control.LayoutPreset">
@@ -784,7 +777,7 @@
<argument index="2" name="margin" type="int" default="0">
</argument>
<description>
- Sets both anchor preset and margin preset. See [method set_anchors_preset] and [method set_margins_preset].
+ Sets both anchor preset and offset preset. See [method set_anchors_preset] and [method set_offsets_preset].
</description>
</method>
<method name="set_anchors_preset">
@@ -792,11 +785,11 @@
</return>
<argument index="0" name="preset" type="int" enum="Control.LayoutPreset">
</argument>
- <argument index="1" name="keep_margins" type="bool" default="false">
+ <argument index="1" name="keep_offsets" type="bool" default="false">
</argument>
<description>
Sets the anchors to a [code]preset[/code] from [enum Control.LayoutPreset] enum. This is code equivalent of using the Layout menu in 2D editor.
- If [code]keep_margins[/code] is [code]true[/code], control's position will also be updated.
+ If [code]keep_offsets[/code] is [code]true[/code], control's position will also be updated.
</description>
</method>
<method name="set_begin">
@@ -805,7 +798,7 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- Sets [member margin_left] and [member margin_top] at the same time. Equivalent of changing [member rect_position].
+ Sets [member offset_left] and [member offset_top] at the same time. Equivalent of changing [member rect_position].
</description>
</method>
<method name="set_drag_forwarding">
@@ -917,18 +910,18 @@
<argument index="0" name="position" type="Vector2">
</argument>
<description>
- Sets [member margin_right] and [member margin_bottom] at the same time.
+ Sets [member offset_right] and [member offset_bottom] at the same time.
</description>
</method>
<method name="set_focus_neighbor">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="neighbor" type="NodePath">
</argument>
<description>
- Sets the anchor identified by [code]margin[/code] constant from [enum Margin] enum to [Control] at [code]neighbor[/code] node path. A setter method for [member focus_neighbor_bottom], [member focus_neighbor_left], [member focus_neighbor_right] and [member focus_neighbor_top].
+ Sets the anchor for the specified [enum Side] to the [Control] at [code]neighbor[/code] node path. A setter method for [member focus_neighbor_bottom], [member focus_neighbor_left], [member focus_neighbor_right] and [member focus_neighbor_top].
</description>
</method>
<method name="set_global_position">
@@ -936,25 +929,25 @@
</return>
<argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="keep_margins" type="bool" default="false">
+ <argument index="1" name="keep_offsets" type="bool" default="false">
</argument>
<description>
Sets the [member rect_global_position] to given [code]position[/code].
- If [code]keep_margins[/code] is [code]true[/code], control's anchors will be updated instead of margins.
+ If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
- <method name="set_margin">
+ <method name="set_offset">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="offset" type="float">
</argument>
<description>
- Sets the margin identified by [code]margin[/code] constant from [enum Margin] enum to given [code]offset[/code]. A setter method for [member margin_bottom], [member margin_left], [member margin_right] and [member margin_top].
+ Sets the offset for the specified [enum Side] to [code]offset[/code]. A setter method for [member offset_bottom], [member offset_left], [member offset_right] and [member offset_top].
</description>
</method>
- <method name="set_margins_preset">
+ <method name="set_offsets_preset">
<return type="void">
</return>
<argument index="0" name="preset" type="int" enum="Control.LayoutPreset">
@@ -964,7 +957,7 @@
<argument index="2" name="margin" type="int" default="0">
</argument>
<description>
- Sets the margins to a [code]preset[/code] from [enum Control.LayoutPreset] enum. This is code equivalent of using the Layout menu in 2D editor.
+ Sets the offsets to a [code]preset[/code] from [enum Control.LayoutPreset] enum. This is code equivalent of using the Layout menu in 2D editor.
Use parameter [code]resize_mode[/code] with constants from [enum Control.LayoutPresetMode] to better determine the resulting size of the [Control]. Constant size will be ignored if used with presets that change size, e.g. [code]PRESET_LEFT_WIDE[/code].
Use parameter [code]margin[/code] to determine the gap between the [Control] and the edges.
</description>
@@ -974,20 +967,11 @@
</return>
<argument index="0" name="position" type="Vector2">
</argument>
- <argument index="1" name="keep_margins" type="bool" default="false">
+ <argument index="1" name="keep_offsets" type="bool" default="false">
</argument>
<description>
Sets the [member rect_position] to given [code]position[/code].
- If [code]keep_margins[/code] is [code]true[/code], control's anchors will be updated instead of margins.
- </description>
- </method>
- <method name="set_rotation">
- <return type="void">
- </return>
- <argument index="0" name="radians" type="float">
- </argument>
- <description>
- Sets the rotation (in radians).
+ If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
<method name="set_size">
@@ -995,11 +979,11 @@
</return>
<argument index="0" name="size" type="Vector2">
</argument>
- <argument index="1" name="keep_margins" type="bool" default="false">
+ <argument index="1" name="keep_offsets" type="bool" default="false">
</argument>
<description>
Sets the size (see [member rect_size]).
- If [code]keep_margins[/code] is [code]true[/code], control's anchors will be updated instead of margins.
+ If [code]keep_offsets[/code] is [code]true[/code], control's anchors will be updated instead of offsets.
</description>
</method>
<method name="warp_mouse">
@@ -1014,16 +998,16 @@
</methods>
<members>
<member name="anchor_bottom" type="float" setter="_set_anchor" getter="get_anchor" default="0.0">
- Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom margin updates when the node moves or changes size. You can use one of the [enum Anchor] constants for convenience.
+ Anchors the bottom edge of the node to the origin, the center, or the end of its parent control. It changes how the bottom offset updates when the node moves or changes size. You can use one of the [enum Anchor] constants for convenience.
</member>
<member name="anchor_left" type="float" setter="_set_anchor" getter="get_anchor" default="0.0">
- Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left margin updates when the node moves or changes size. You can use one of the [enum Anchor] constants for convenience.
+ Anchors the left edge of the node to the origin, the center or the end of its parent control. It changes how the left offset updates when the node moves or changes size. You can use one of the [enum Anchor] constants for convenience.
</member>
<member name="anchor_right" type="float" setter="_set_anchor" getter="get_anchor" default="0.0">
- Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right margin updates when the node moves or changes size. You can use one of the [enum Anchor] constants for convenience.
+ Anchors the right edge of the node to the origin, the center or the end of its parent control. It changes how the right offset updates when the node moves or changes size. You can use one of the [enum Anchor] constants for convenience.
</member>
<member name="anchor_top" type="float" setter="_set_anchor" getter="get_anchor" default="0.0">
- Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top margin updates when the node moves or changes size. You can use one of the [enum Anchor] constants for convenience.
+ Anchors the top edge of the node to the origin, the center or the end of its parent control. It changes how the top offset updates when the node moves or changes size. You can use one of the [enum Anchor] constants for convenience.
</member>
<member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" enum="Control.FocusMode" default="0">
The focus access mode for the control (None, Click or All). Only one Control can be focused at the same time, and it will receive keyboard signals.
@@ -1079,19 +1063,19 @@
<member name="layout_direction" type="int" setter="set_layout_direction" getter="get_layout_direction" enum="Control.LayoutDirection" default="0">
Controls layout direction and text writing direction. Right-to-left layouts are necessary for certain languages (e.g. Arabic and Hebrew).
</member>
- <member name="margin_bottom" type="float" setter="set_margin" getter="get_margin" default="0.0">
+ <member name="offset_bottom" type="float" setter="set_offset" getter="get_offset" default="0.0">
Distance between the node's bottom edge and its parent control, based on [member anchor_bottom].
Margins are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Margins update automatically when you move or resize the node.
</member>
- <member name="margin_left" type="float" setter="set_margin" getter="get_margin" default="0.0">
+ <member name="offset_left" type="float" setter="set_offset" getter="get_offset" default="0.0">
Distance between the node's left edge and its parent control, based on [member anchor_left].
Margins are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Margins update automatically when you move or resize the node.
</member>
- <member name="margin_right" type="float" setter="set_margin" getter="get_margin" default="0.0">
+ <member name="offset_right" type="float" setter="set_offset" getter="get_offset" default="0.0">
Distance between the node's right edge and its parent control, based on [member anchor_right].
Margins are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Margins update automatically when you move or resize the node.
</member>
- <member name="margin_top" type="float" setter="set_margin" getter="get_margin" default="0.0">
+ <member name="offset_top" type="float" setter="set_offset" getter="get_offset" default="0.0">
Distance between the node's top edge and its parent control, based on [member anchor_top].
Margins are often controlled by one or multiple parent [Container] nodes, so you should not modify them manually if your node is a direct child of a [Container]. Margins update automatically when you move or resize the node.
</member>
@@ -1117,7 +1101,10 @@
<member name="rect_position" type="Vector2" setter="_set_position" getter="get_position" default="Vector2( 0, 0 )">
The node's position, relative to its parent. It corresponds to the rectangle's top-left corner. The property is not affected by [member rect_pivot_offset].
</member>
- <member name="rect_rotation" type="float" setter="set_rotation_degrees" getter="get_rotation_degrees" default="0.0">
+ <member name="rect_rotation" type="float" setter="set_rotation" getter="get_rotation" default="0.0">
+ The node's rotation around its pivot, in radians. See [member rect_pivot_offset] to change the pivot's position.
+ </member>
+ <member name="rect_rotation_degrees" type="float" setter="set_rotation_degrees" getter="get_rotation_degrees" default="0.0">
The node's rotation around its pivot, in degrees. See [member rect_pivot_offset] to change the pivot's position.
</member>
<member name="rect_scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2( 1, 1 )">
@@ -1305,16 +1292,16 @@
Snap all 4 anchors to the center of the parent control's bounds. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_LEFT_WIDE" value="9" enum="LayoutPreset">
- Snap all 4 anchors to the left edge of the parent control. The left margin becomes relative to the left edge and the top margin relative to the top left corner of the node's parent. Use with [method set_anchors_preset].
+ Snap all 4 anchors to the left edge of the parent control. The left offset becomes relative to the left edge and the top offset relative to the top left corner of the node's parent. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_TOP_WIDE" value="10" enum="LayoutPreset">
- Snap all 4 anchors to the top edge of the parent control. The left margin becomes relative to the top left corner, the top margin relative to the top edge, and the right margin relative to the top right corner of the node's parent. Use with [method set_anchors_preset].
+ Snap all 4 anchors to the top edge of the parent control. The left offset becomes relative to the top left corner, the top offset relative to the top edge, and the right offset relative to the top right corner of the node's parent. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_RIGHT_WIDE" value="11" enum="LayoutPreset">
- Snap all 4 anchors to the right edge of the parent control. The right margin becomes relative to the right edge and the top margin relative to the top right corner of the node's parent. Use with [method set_anchors_preset].
+ Snap all 4 anchors to the right edge of the parent control. The right offset becomes relative to the right edge and the top offset relative to the top right corner of the node's parent. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_BOTTOM_WIDE" value="12" enum="LayoutPreset">
- Snap all 4 anchors to the bottom edge of the parent control. The left margin becomes relative to the bottom left corner, the bottom margin relative to the bottom edge, and the right margin relative to the bottom right corner of the node's parent. Use with [method set_anchors_preset].
+ Snap all 4 anchors to the bottom edge of the parent control. The left offset becomes relative to the bottom left corner, the bottom offset relative to the bottom edge, and the right offset relative to the bottom right corner of the node's parent. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_VCENTER_WIDE" value="13" enum="LayoutPreset">
Snap all 4 anchors to a vertical line that cuts the parent control in half. Use with [method set_anchors_preset].
@@ -1323,7 +1310,7 @@
Snap all 4 anchors to a horizontal line that cuts the parent control in half. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_WIDE" value="15" enum="LayoutPreset">
- Snap all 4 anchors to the respective corners of the parent control. Set all 4 margins to 0 after you applied this preset and the [Control] will fit its parent control. This is equivalent to the "Full Rect" layout option in the editor. Use with [method set_anchors_preset].
+ Snap all 4 anchors to the respective corners of the parent control. Set all 4 offsets to 0 after you applied this preset and the [Control] will fit its parent control. This is equivalent to the "Full Rect" layout option in the editor. Use with [method set_anchors_preset].
</constant>
<constant name="PRESET_MODE_MINSIZE" value="0" enum="LayoutPresetMode">
The control will be resized to its minimum size.
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index cd0b5ac027..2ca705cec7 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -215,7 +215,7 @@
Creates a copy of the dictionary, and returns it. The [code]deep[/code] parameter causes inner dictionaries and arrays to be copied recursively, but does not apply to objects.
</description>
</method>
- <method name="empty">
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml
index fab8512e4a..c079085fb3 100644
--- a/doc/classes/Engine.xml
+++ b/doc/classes/Engine.xml
@@ -41,7 +41,7 @@
<return type="int">
</return>
<description>
- Returns the total number of frames drawn. If the render loop is disabled with [code]--disable-render-loop[/code] via command line, this returns [code]0[/code]. See also [method get_idle_frames].
+ Returns the total number of frames drawn. If the render loop is disabled with [code]--disable-render-loop[/code] via command line, this returns [code]0[/code]. See also [method get_process_frames].
</description>
</method>
<method name="get_frames_per_second" qualifiers="const">
@@ -51,11 +51,11 @@
Returns the frames per second of the running game.
</description>
</method>
- <method name="get_idle_frames" qualifiers="const">
+ <method name="get_process_frames" qualifiers="const">
<return type="int">
</return>
<description>
- Returns the total number of frames passed since engine initialization which is advanced on each [b]idle frame[/b], regardless of whether the render loop is enabled. See also [method get_frames_drawn].
+ Returns the total number of frames passed since engine initialization which is advanced on each [b]process frame[/b], regardless of whether the render loop is enabled. See also [method get_frames_drawn].
</description>
</method>
<method name="get_license_info" qualifiers="const">
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index c5b6a54f71..9dd4ecc37b 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -218,26 +218,29 @@
<member name="ssao_ao_channel_affect" type="float" setter="set_ssao_ao_channel_affect" getter="get_ssao_ao_channel_affect" default="0.0">
The screen-space ambient occlusion intensity on materials that have an AO texture defined. Values higher than [code]0[/code] will make the SSAO effect visible in areas darkened by AO textures.
</member>
- <member name="ssao_bias" type="float" setter="set_ssao_bias" getter="get_ssao_bias" default="0.01">
- The screen-space ambient occlusion bias. This should be kept high enough to prevent "smooth" curves from being affected by ambient occlusion.
- </member>
- <member name="ssao_blur" type="int" setter="set_ssao_blur" getter="get_ssao_blur" enum="Environment.SSAOBlur" default="3">
- The screen-space ambient occlusion blur quality. See [enum SSAOBlur] for possible values.
- </member>
- <member name="ssao_edge_sharpness" type="float" setter="set_ssao_edge_sharpness" getter="get_ssao_edge_sharpness" default="4.0">
- The screen-space ambient occlusion edge sharpness.
+ <member name="ssao_detail" type="float" setter="set_ssao_detail" getter="get_ssao_detail" default="0.5">
+ Sets the strength of the additional level of detail for the screen-space ambient occlusion effect. A high value makes the detail pass more prominent, but it may contribute to aliasing in your final image.
</member>
<member name="ssao_enabled" type="bool" setter="set_ssao_enabled" getter="is_ssao_enabled" default="false">
- If [code]true[/code], the screen-space ambient occlusion effect is enabled. This darkens objects' corners and cavities to simulate ambient light not reaching the entire object as in real life. This works well for small, dynamic objects, but baked lighting or ambient occlusion textures will do a better job at displaying ambient occlusion on large static objects. This is a costly effect and should be disabled first when running into performance issues.
+ If [code]true[/code], the screen-space ambient occlusion effect is enabled. This darkens objects' corners and cavities to simulate ambient light not reaching the entire object as in real life. This works well for small, dynamic objects, but baked lighting or ambient occlusion textures will do a better job at displaying ambient occlusion on large static objects. Godot uses a form of SSAO called Adaptive Screen Space Ambient Occlusion which is itself a form of Horizon Based Ambient Occlusion.
+ </member>
+ <member name="ssao_horizon" type="float" setter="set_ssao_horizon" getter="get_ssao_horizon" default="0.06">
+ The threshold for considering whether a given point on a surface is occluded or not represented as an angle from the horizon mapped into the [code]0.0-1.0[/code] range. A value of [code]1.0[/code] results in no occlusion.
</member>
- <member name="ssao_intensity" type="float" setter="set_ssao_intensity" getter="get_ssao_intensity" default="1.0">
- The primary screen-space ambient occlusion intensity. See also [member ssao_radius].
+ <member name="ssao_intensity" type="float" setter="set_ssao_intensity" getter="get_ssao_intensity" default="2.0">
+ The primary screen-space ambient occlusion intensity. Acts as a multiplier for the screen-space ambient occlusion effect. A higher value results in darker occlusion.
</member>
<member name="ssao_light_affect" type="float" setter="set_ssao_direct_light_affect" getter="get_ssao_direct_light_affect" default="0.0">
The screen-space ambient occlusion intensity in direct light. In real life, ambient occlusion only applies to indirect light, which means its effects can't be seen in direct light. Values higher than [code]0[/code] will make the SSAO effect visible in direct light.
</member>
+ <member name="ssao_power" type="float" setter="set_ssao_power" getter="get_ssao_power" default="1.5">
+ The distribution of occlusion. A higher value results in darker occlusion, similar to [member ssao_intensity], but with a sharper falloff.
+ </member>
<member name="ssao_radius" type="float" setter="set_ssao_radius" getter="get_ssao_radius" default="1.0">
- The primary screen-space ambient occlusion radius.
+ The distance at which objects can occlude each other when calculating screen-space ambient occlusion. Higher values will result in occlusion over a greater distance at the cost of performance and quality.
+ </member>
+ <member name="ssao_sharpness" type="float" setter="set_ssao_sharpness" getter="get_ssao_sharpness" default="0.98">
+ Sharpness refers to the amount that the screen-space ambient occlusion effect is allowed to blur over the edges of objects. Setting too high will result in aliasing around the edges of objects. Setting too low will make object edges appear blurry.
</member>
<member name="tonemap_exposure" type="float" setter="set_tonemap_exposure" getter="get_tonemap_exposure" default="1.0">
The default exposure used for tonemapping.
@@ -335,18 +338,6 @@
<constant name="GLOW_BLEND_MODE_MIX" value="4" enum="GlowBlendMode">
Mixes the glow with the underlying color to avoid increasing brightness as much while still maintaining a glow effect.
</constant>
- <constant name="SSAO_BLUR_DISABLED" value="0" enum="SSAOBlur">
- No blur for the screen-space ambient occlusion effect (fastest).
- </constant>
- <constant name="SSAO_BLUR_1x1" value="1" enum="SSAOBlur">
- 1×1 blur for the screen-space ambient occlusion effect.
- </constant>
- <constant name="SSAO_BLUR_2x2" value="2" enum="SSAOBlur">
- 2×2 blur for the screen-space ambient occlusion effect.
- </constant>
- <constant name="SSAO_BLUR_3x3" value="3" enum="SSAOBlur">
- 3×3 blur for the screen-space ambient occlusion effect. Increases the radius of the blur for a smoother look, but can result in checkerboard-like artifacts.
- </constant>
<constant name="SDFGI_CASCADES_4" value="0" enum="SDFGICascades">
</constant>
<constant name="SDFGI_CASCADES_6" value="1" enum="SDFGICascades">
diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml
index 632d138932..4b0ea4dcb1 100644
--- a/doc/classes/GraphNode.xml
+++ b/doc/classes/GraphNode.xml
@@ -215,13 +215,13 @@
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
</member>
<member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" override="true" enum="Control.MouseFilter" default="0" />
- <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )">
- The offset of the GraphNode, relative to the scroll offset of the [GraphEdit].
- [b]Note:[/b] You cannot use position directly, as [GraphEdit] is a [Container].
- </member>
<member name="overlay" type="int" setter="set_overlay" getter="get_overlay" enum="GraphNode.Overlay" default="0">
Sets the overlay shown above the GraphNode. See [enum Overlay].
</member>
+ <member name="position_offset" type="Vector2" setter="set_position_offset" getter="get_position_offset" default="Vector2( 0, 0 )">
+ The offset of the GraphNode, relative to the scroll offset of the [GraphEdit].
+ [b]Note:[/b] You cannot use position offset directly, as [GraphEdit] is a [Container].
+ </member>
<member name="resizable" type="bool" setter="set_resizable" getter="is_resizable" default="false">
If [code]true[/code], the user can resize the GraphNode.
[b]Note:[/b] Dragging the handle will only emit the [signal resize_request] signal, the GraphNode needs to be resized manually.
@@ -255,7 +255,7 @@
Emitted when the GraphNode is dragged.
</description>
</signal>
- <signal name="offset_changed">
+ <signal name="position_offset_changed">
<description>
Emitted when the GraphNode is moved.
</description>
diff --git a/doc/classes/HingeJoint3D.xml b/doc/classes/HingeJoint3D.xml
index 2d4480cb20..f2c652d51a 100644
--- a/doc/classes/HingeJoint3D.xml
+++ b/doc/classes/HingeJoint3D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="HingeJoint3D" inherits="Joint3D" version="4.0">
<brief_description>
- A hinge between two 3D bodies.
+ A hinge between two 3D PhysicsBodies.
</brief_description>
<description>
- A HingeJoint3D normally uses the Z axis of body A as the hinge axis, another axis can be specified when adding it manually though.
+ A HingeJoint3D normally uses the Z axis of body A as the hinge axis, another axis can be specified when adding it manually though. See also [Generic6DOFJoint3D].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Joint3D.xml b/doc/classes/Joint3D.xml
index 107c638b9e..94cdda586c 100644
--- a/doc/classes/Joint3D.xml
+++ b/doc/classes/Joint3D.xml
@@ -4,7 +4,7 @@
Base class for all 3D joints.
</brief_description>
<description>
- Joints are used to bind together two physics bodies. They have a solver priority and can define if the bodies of the two attached nodes should be able to collide with each other.
+ Joints are used to bind together two physics bodies. They have a solver priority and can define if the bodies of the two attached nodes should be able to collide with each other. See also [Generic6DOFJoint3D].
</description>
<tutorials>
<link title="3D Truck Town Demo">https://godotengine.org/asset-library/asset/524</link>
diff --git a/doc/classes/NinePatchRect.xml b/doc/classes/NinePatchRect.xml
index b2e0442be8..f4b9d75e91 100644
--- a/doc/classes/NinePatchRect.xml
+++ b/doc/classes/NinePatchRect.xml
@@ -12,21 +12,21 @@
<method name="get_patch_margin" qualifiers="const">
<return type="int">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the size of the margin identified by the given [enum Margin] constant.
+ Returns the size of the margin on the specified [enum Side].
</description>
</method>
<method name="set_patch_margin">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="value" type="int">
</argument>
<description>
- Sets the size of the margin identified by the given [enum Margin] constant to [code]value[/code] in pixels.
+ Sets the size of the margin on the specified [enum Side] to [code]value[/code] pixels.
</description>
</method>
</methods>
diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml
index 91d066260b..b00c59ade9 100644
--- a/doc/classes/PackedByteArray.xml
+++ b/doc/classes/PackedByteArray.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold bytes. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -86,7 +85,14 @@
GZIP has a maximal compression ratio of 1032:1, meaning it's very possible for a small compressed payload to decompress to a potentially very large output. To guard against this, you may provide a maximum size this function is allowed to allocate in bytes via [code]max_output_size[/code]. Passing -1 will allow for unbounded output. If any positive value is passed, and the decompression exceeds that amount in bytes, then an error will be returned.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedByteArray">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml
index 3065d16945..d6cd5196e4 100644
--- a/doc/classes/PackedColorArray.xml
+++ b/doc/classes/PackedColorArray.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold [Color]. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -53,7 +52,14 @@
Appends a [PackedColorArray] at the end of this array.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedColorArray">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml
index ab9594d2e3..52f6ece158 100644
--- a/doc/classes/PackedFloat32Array.xml
+++ b/doc/classes/PackedFloat32Array.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold 32-bit floating-point values. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
If you need to pack 64-bit floats tightly, see [PackedFloat64Array].
</description>
<tutorials>
@@ -54,7 +53,14 @@
Appends a [PackedFloat32Array] at the end of this array.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedFloat32Array">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml
index 3088aee483..2f317d4b8c 100644
--- a/doc/classes/PackedFloat64Array.xml
+++ b/doc/classes/PackedFloat64Array.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold 64-bit floating-point values. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
If you only need to pack 32-bit floats tightly, see [PackedFloat32Array] for a more memory-friendly alternative.
</description>
<tutorials>
@@ -54,7 +53,14 @@
Appends a [PackedFloat64Array] at the end of this array.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedFloat64Array">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml
index eded545de8..bda902b15f 100644
--- a/doc/classes/PackedInt32Array.xml
+++ b/doc/classes/PackedInt32Array.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold 32-bit integer values. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
[b]Note:[/b] This type stores signed 32-bit integers, which means it can take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. [code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap around. In comparison, [int] uses signed 64-bit integers which can hold much larger values. If you need to pack 64-bit integers tightly, see [PackedInt64Array].
</description>
<tutorials>
@@ -54,7 +53,14 @@
Appends a [PackedInt32Array] at the end of this array.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedInt32Array">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml
index 83731b1023..9c52ec808b 100644
--- a/doc/classes/PackedInt64Array.xml
+++ b/doc/classes/PackedInt64Array.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold 64-bit integer values. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
[b]Note:[/b] This type stores signed 64-bit integers, which means it can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds will wrap around. If you only need to pack 32-bit integers tightly, see [PackedInt32Array] for a more memory-friendly alternative.
</description>
<tutorials>
@@ -54,7 +53,14 @@
Appends a [PackedInt64Array] at the end of this array.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedInt64Array">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml
index c71f5ffa7e..24406c53d4 100644
--- a/doc/classes/PackedStringArray.xml
+++ b/doc/classes/PackedStringArray.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold [String]s. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
<link title="OS Test Demo">https://godotengine.org/asset-library/asset/677</link>
@@ -54,7 +53,14 @@
Appends a [PackedStringArray] at the end of this array.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedStringArray">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml
index 5f68d9256d..2f583e2b9b 100644
--- a/doc/classes/PackedVector2Array.xml
+++ b/doc/classes/PackedVector2Array.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold [Vector2]. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
<link title="2D Navigation Astar Demo">https://godotengine.org/asset-library/asset/519</link>
@@ -54,7 +53,14 @@
Appends a [PackedVector2Array] at the end of this array.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedVector2Array">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml
index e681e1deb7..6004454dc9 100644
--- a/doc/classes/PackedVector3Array.xml
+++ b/doc/classes/PackedVector3Array.xml
@@ -5,7 +5,6 @@
</brief_description>
<description>
An [Array] specifically designed to hold [Vector3]. Packs data tightly, so it saves memory for large array sizes.
- [b]Note:[/b] This type is passed by value and not by reference.
</description>
<tutorials>
</tutorials>
@@ -53,7 +52,14 @@
Appends a [PackedVector3Array] at the end of this array.
</description>
</method>
- <method name="empty">
+ <method name="duplicate">
+ <return type="PackedVector3Array">
+ </return>
+ <description>
+ Creates a copy of the array, and returns it.
+ </description>
+ </method>
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/PinJoint3D.xml b/doc/classes/PinJoint3D.xml
index 0af1e60839..267ea38873 100644
--- a/doc/classes/PinJoint3D.xml
+++ b/doc/classes/PinJoint3D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PinJoint3D" inherits="Joint3D" version="4.0">
<brief_description>
- Pin joint for 3D shapes.
+ Pin joint for 3D PhysicsBodies.
</brief_description>
<description>
- Pin joint for 3D rigid bodies. It pins 2 bodies (rigid or static) together.
+ Pin joint for 3D rigid bodies. It pins 2 bodies (rigid or static) together. See also [Generic6DOFJoint3D].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index d0f2a927cb..e856d1ea9c 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -1240,11 +1240,26 @@
<member name="rendering/quality/shadows/soft_shadow_quality.mobile" type="int" setter="" getter="" default="0">
Lower-end override for [member rendering/quality/shadows/soft_shadow_quality] on mobile devices, due to performance concerns or driver support.
</member>
+ <member name="rendering/quality/ssao/adaptive_target" type="float" setter="" getter="" default="0.5">
+ Quality target to use when [member rendering/quality/ssao/quality] is set to [code]ULTRA[/code]. A value of [code]0.0[/code] provides a quality and speed similar to [code]MEDIUM[/code] while a value of [code]1.0[/code] provides much higher quality than any of the other settings at the cost of performance.
+ </member>
+ <member name="rendering/quality/ssao/blur_passes" type="int" setter="" getter="" default="2">
+ Number of blur passes to use when computing screen-space ambient occlusion. A higher number will result in a smoother look, but will be slower to compute and will have less high-frequency detail.
+ </member>
+ <member name="rendering/quality/ssao/fadeout_from" type="float" setter="" getter="" default="50.0">
+ Distance at which the screen-space ambient occlusion effect starts to fade out. Use this hide ambient occlusion at great distances.
+ </member>
+ <member name="rendering/quality/ssao/fadeout_to" type="float" setter="" getter="" default="300.0">
+ Distance at which the screen-space ambient occlusion is fully faded out. Use this hide ambient occlusion at great distances.
+ </member>
<member name="rendering/quality/ssao/half_size" type="bool" setter="" getter="" default="false">
If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details.
</member>
- <member name="rendering/quality/ssao/quality" type="int" setter="" getter="" default="1">
- Sets the quality of the screen-space ambient occlusion effect. Higher values take more samples and so will result in better quality, at the cost of performance.
+ <member name="rendering/quality/ssao/half_size.mobile" type="bool" setter="" getter="" default="true">
+ Lower-end override for [member rendering/quality/ssao/half_size] on mobile devices, due to performance concerns.
+ </member>
+ <member name="rendering/quality/ssao/quality" type="int" setter="" getter="" default="2">
+ Sets the quality of the screen-space ambient occlusion effect. Higher values take more samples and so will result in better quality, at the cost of performance. Setting to [code]ULTRA[/code] will use the [member rendering/quality/ssao/adaptive_target] setting.
</member>
<member name="rendering/quality/subsurface_scattering/subsurface_scattering_depth_scale" type="float" setter="" getter="" default="0.01">
Scales the depth over which the subsurface scattering effect is applied. A high value may allow light to scatter into a part of the mesh or another mesh that is close in screen space but far in depth.
diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml
index 5682e12b63..34f81948c4 100644
--- a/doc/classes/Rect2.xml
+++ b/doc/classes/Rect2.xml
@@ -78,7 +78,8 @@
<argument index="0" name="b" type="Rect2">
</argument>
<description>
- Returns the intersection of this [Rect2] and b.
+ Returns the intersection of this [Rect2] and [code]b[/code].
+ If the rectangles do not intersect, an empty [Rect2] is returned.
</description>
</method>
<method name="encloses">
@@ -133,12 +134,12 @@
<method name="grow_margin">
<return type="Rect2">
</return>
- <argument index="0" name="margin" type="int">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="by" type="float">
</argument>
<description>
- Returns a copy of the [Rect2] grown a given amount of units towards the [enum Margin] direction.
+ Returns a copy of the [Rect2] grown a given amount of units on the specified [enum Side].
</description>
</method>
<method name="has_no_area">
diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml
index ef12c8de1e..d354adf892 100644
--- a/doc/classes/Rect2i.xml
+++ b/doc/classes/Rect2i.xml
@@ -76,7 +76,8 @@
<argument index="0" name="b" type="Rect2i">
</argument>
<description>
- Returns the intersection of this [Rect2i] and b.
+ Returns the intersection of this [Rect2i] and [code]b[/code].
+ If the rectangles do not intersect, an empty [Rect2i] is returned.
</description>
</method>
<method name="encloses">
@@ -131,12 +132,12 @@
<method name="grow_margin">
<return type="Rect2i">
</return>
- <argument index="0" name="margin" type="int">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="by" type="int">
</argument>
<description>
- Returns a copy of the [Rect2i] grown a given amount of units towards the [enum Margin] direction.
+ Returns a copy of the [Rect2i] grown a given amount of units on the specified [enum Side].
</description>
</method>
<method name="has_no_area">
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 74eb6a17e5..036b50f0ed 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -765,17 +765,20 @@
</argument>
<argument index="3" name="intensity" type="float">
</argument>
- <argument index="4" name="bias" type="float">
+ <argument index="4" name="power" type="float">
</argument>
- <argument index="5" name="light_affect" type="float">
+ <argument index="5" name="detail" type="float">
</argument>
- <argument index="6" name="ao_channel_affect" type="float">
+ <argument index="6" name="horizon" type="float">
</argument>
- <argument index="7" name="blur" type="int" enum="RenderingServer.EnvironmentSSAOBlur">
+ <argument index="7" name="sharpness" type="float">
</argument>
- <argument index="8" name="bilateral_sharpness" type="float">
+ <argument index="8" name="light_affect" type="float">
+ </argument>
+ <argument index="9" name="ao_channel_affect" type="float">
</argument>
<description>
+ Sets the variables to be used with the "screen space ambient occlusion" post-process effect. See [Environment] for more details.
</description>
</method>
<method name="environment_set_ssr">
@@ -3499,29 +3502,20 @@
</constant>
<constant name="ENV_SSR_ROUGNESS_QUALITY_HIGH" value="3" enum="EnvironmentSSRRoughnessQuality">
</constant>
- <constant name="ENV_SSAO_BLUR_DISABLED" value="0" enum="EnvironmentSSAOBlur">
- Disables the blur set for SSAO. Will make SSAO look noisier.
- </constant>
- <constant name="ENV_SSAO_BLUR_1x1" value="1" enum="EnvironmentSSAOBlur">
- Perform a 1x1 blur on the SSAO output.
- </constant>
- <constant name="ENV_SSAO_BLUR_2x2" value="2" enum="EnvironmentSSAOBlur">
- Performs a 2x2 blur on the SSAO output.
- </constant>
- <constant name="ENV_SSAO_BLUR_3x3" value="3" enum="EnvironmentSSAOBlur">
- Performs a 3x3 blur on the SSAO output. Use this for smoothest SSAO.
- </constant>
- <constant name="ENV_SSAO_QUALITY_LOW" value="0" enum="EnvironmentSSAOQuality">
+ <constant name="ENV_SSAO_QUALITY_VERY_LOW" value="0" enum="EnvironmentSSAOQuality">
Lowest quality of screen space ambient occlusion.
</constant>
- <constant name="ENV_SSAO_QUALITY_MEDIUM" value="1" enum="EnvironmentSSAOQuality">
+ <constant name="ENV_SSAO_QUALITY_LOW" value="1" enum="EnvironmentSSAOQuality">
+ Low quality screen space ambient occlusion.
+ </constant>
+ <constant name="ENV_SSAO_QUALITY_MEDIUM" value="2" enum="EnvironmentSSAOQuality">
Medium quality screen space ambient occlusion.
</constant>
- <constant name="ENV_SSAO_QUALITY_HIGH" value="2" enum="EnvironmentSSAOQuality">
+ <constant name="ENV_SSAO_QUALITY_HIGH" value="3" enum="EnvironmentSSAOQuality">
High quality screen space ambient occlusion.
</constant>
- <constant name="ENV_SSAO_QUALITY_ULTRA" value="3" enum="EnvironmentSSAOQuality">
- Highest quality screen space ambient occlusion.
+ <constant name="ENV_SSAO_QUALITY_ULTRA" value="4" enum="EnvironmentSSAOQuality">
+ Highest quality screen space ambient occlusion. Uses the adaptive setting which can be dynamically adjusted to smoothly balance performance and visual quality.
</constant>
<constant name="SUB_SURFACE_SCATTERING_QUALITY_DISABLED" value="0" enum="SubSurfaceScatteringQuality">
</constant>
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index a95ce6c663..5fc1d0b895 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -45,6 +45,7 @@
<description>
Changes the running scene to the one at the given [code]path[/code], after loading it into a [PackedScene] and creating a new instance.
Returns [constant OK] on success, [constant ERR_CANT_OPEN] if the [code]path[/code] cannot be loaded into a [PackedScene], or [constant ERR_CANT_CREATE] if that scene cannot be instantiated.
+ [b]Note:[/b] The scene change is deferred, which means that the new scene node is added on the next idle frame. You won't be able to access it immediately after the [method change_scene] call.
</description>
</method>
<method name="change_scene_to">
@@ -55,6 +56,7 @@
<description>
Changes the running scene to a new instance of the given [PackedScene].
Returns [constant OK] on success or [constant ERR_CANT_CREATE] if the scene cannot be instantiated.
+ [b]Note:[/b] The scene change is deferred, which means that the new scene node is added on the next idle frame. You won't be able to access it immediately after the [method change_scene_to] call.
</description>
</method>
<method name="create_timer">
diff --git a/doc/classes/SliderJoint3D.xml b/doc/classes/SliderJoint3D.xml
index efd6353e3c..ef9c9a48b6 100644
--- a/doc/classes/SliderJoint3D.xml
+++ b/doc/classes/SliderJoint3D.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SliderJoint3D" inherits="Joint3D" version="4.0">
<brief_description>
- Piston kind of slider between two bodies in 3D.
+ Slider between two PhysicsBodies in 3D.
</brief_description>
<description>
- Slides across the X axis of the pivot object.
+ Slides across the X axis of the pivot object. See also [Generic6DOFJoint3D].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index 4ee9dbf1f9..cbaf1196e3 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -135,7 +135,7 @@
Returns a copy of the string with indentation (leading tabs and spaces) removed.
</description>
</method>
- <method name="empty">
+ <method name="is_empty">
<return type="bool">
</return>
<description>
diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml
index 04f8eb9d13..525dba0549 100644
--- a/doc/classes/StyleBox.xml
+++ b/doc/classes/StyleBox.xml
@@ -39,19 +39,19 @@
<method name="get_default_margin" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the default value of the specified [enum Margin].
+ Returns the default margin of the specified [enum Side].
</description>
</method>
<method name="get_margin" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the content margin offset for the specified [enum Margin].
+ Returns the content margin offset for the specified [enum Side].
Positive values reduce size inwards, unlike [Control]'s margin values.
</description>
</method>
@@ -72,12 +72,12 @@
<method name="set_default_margin">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="offset" type="float">
</argument>
<description>
- Sets the default value of the specified [enum Margin] to given [code]offset[/code] in pixels.
+ Sets the default value of the specified [enum Side] to [code]offset[/code] pixels.
</description>
</method>
<method name="test_mask" qualifiers="const">
diff --git a/doc/classes/StyleBoxFlat.xml b/doc/classes/StyleBoxFlat.xml
index d6e737b076..71f227dfb0 100644
--- a/doc/classes/StyleBoxFlat.xml
+++ b/doc/classes/StyleBoxFlat.xml
@@ -27,10 +27,10 @@
<method name="get_border_width" qualifiers="const">
<return type="int">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the given [code]margin[/code]'s border width. See [enum Margin] for possible values.
+ Returns the specified [enum Side]'s border width.
</description>
</method>
<method name="get_border_width_min" qualifiers="const">
@@ -52,21 +52,21 @@
<method name="get_expand_margin" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the size of the given [code]margin[/code]'s expand margin. See [enum Margin] for possible values.
+ Returns the size of the specified [enum Side]'s expand margin.
</description>
</method>
<method name="set_border_width">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="width" type="int">
</argument>
<description>
- Sets the border width to [code]width[/code] pixels for the given [code]margin[/code]. See [enum Margin] for possible values.
+ Sets the specified [enum Side]'s border width to [code]width[/code] pixels.
</description>
</method>
<method name="set_border_width_all">
@@ -75,7 +75,7 @@
<argument index="0" name="width" type="int">
</argument>
<description>
- Sets the border width to [code]width[/code] pixels for all margins.
+ Sets the border width to [code]width[/code] pixels for all sides.
</description>
</method>
<method name="set_corner_radius">
@@ -116,12 +116,12 @@
<method name="set_expand_margin">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="size" type="float">
</argument>
<description>
- Sets the expand margin to [code]size[/code] pixels for the given [code]margin[/code]. See [enum Margin] for possible values.
+ Sets the expand margin to [code]size[/code] pixels for the specified [enum Side].
</description>
</method>
<method name="set_expand_margin_all">
diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml
index 6f5577b61b..5b17f25978 100644
--- a/doc/classes/StyleBoxTexture.xml
+++ b/doc/classes/StyleBoxTexture.xml
@@ -12,19 +12,19 @@
<method name="get_expand_margin_size" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the size of the given [code]margin[/code]'s expand margin. See [enum Margin] for possible values.
+ Returns the expand margin size of the specified [enum Side].
</description>
</method>
<method name="get_margin_size" qualifiers="const">
<return type="float">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
- Returns the size of the given [code]margin[/code]. See [enum Margin] for possible values.
+ Returns the margin size of the specified [enum Side].
</description>
</method>
<method name="set_expand_margin_all">
@@ -54,23 +54,23 @@
<method name="set_expand_margin_size">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="size" type="float">
</argument>
<description>
- Sets the expand margin to [code]size[/code] pixels for the given [code]margin[/code]. See [enum Margin] for possible values.
+ Sets the expand margin to [code]size[/code] pixels for the specified [enum Side].
</description>
</method>
<method name="set_margin_size">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="size" type="float">
</argument>
<description>
- Sets the margin to [code]size[/code] pixels for the given [code]margin[/code]. See [enum Margin] for possible values.
+ Sets the margin to [code]size[/code] pixels for the specified [enum Side].
</description>
</method>
</methods>
diff --git a/doc/classes/TextureProgressBar.xml b/doc/classes/TextureProgressBar.xml
index 56a7365855..cfc8f16648 100644
--- a/doc/classes/TextureProgressBar.xml
+++ b/doc/classes/TextureProgressBar.xml
@@ -12,7 +12,7 @@
<method name="get_stretch_margin" qualifiers="const">
<return type="int">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<description>
</description>
@@ -20,7 +20,7 @@
<method name="set_stretch_margin">
<return type="void">
</return>
- <argument index="0" name="margin" type="int" enum="Margin">
+ <argument index="0" name="side" type="int" enum="Side">
</argument>
<argument index="1" name="value" type="int">
</argument>
diff --git a/doc/classes/XRController3D.xml b/doc/classes/XRController3D.xml
index 78684d10ee..345e5efdee 100644
--- a/doc/classes/XRController3D.xml
+++ b/doc/classes/XRController3D.xml
@@ -19,7 +19,7 @@
If active, returns the name of the associated controller if provided by the AR/VR SDK used.
</description>
</method>
- <method name="get_hand" qualifiers="const">
+ <method name="get_tracker_hand" qualifiers="const">
<return type="int" enum="XRPositionalTracker.TrackerHand">
</return>
<description>
diff --git a/doc/classes/XRPositionalTracker.xml b/doc/classes/XRPositionalTracker.xml
index 8cc3183f3f..36ff312e4d 100644
--- a/doc/classes/XRPositionalTracker.xml
+++ b/doc/classes/XRPositionalTracker.xml
@@ -12,7 +12,7 @@
<link title="VR tutorial index">https://docs.godotengine.org/en/latest/tutorials/vr/index.html</link>
</tutorials>
<methods>
- <method name="get_hand" qualifiers="const">
+ <method name="get_tracker_hand" qualifiers="const">
<return type="int" enum="XRPositionalTracker.TrackerHand">
</return>
<description>
@@ -68,18 +68,18 @@
Returns the tracker's type, which will be one of the values from the [enum XRServer.TrackerType] enum.
</description>
</method>
- <method name="get_tracks_orientation" qualifiers="const">
+ <method name="is_tracking_orientation" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if this device tracks orientation.
+ Returns [code]true[/code] if this device is tracking orientation.
</description>
</method>
- <method name="get_tracks_position" qualifiers="const">
+ <method name="is_tracking_position" qualifiers="const">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if this device tracks position.
+ Returns [code]true[/code] if this device is tracking position.
</description>
</method>
<method name="get_transform" qualifiers="const">