summaryrefslogtreecommitdiff
path: root/doc/classes
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes')
-rw-r--r--doc/classes/AABB.xml64
-rw-r--r--doc/classes/Animation.xml15
-rw-r--r--doc/classes/Area2D.xml6
-rw-r--r--doc/classes/Area3D.xml8
-rw-r--r--doc/classes/Array.xml166
-rw-r--r--doc/classes/Basis.xml162
-rw-r--r--doc/classes/Button.xml6
-rw-r--r--doc/classes/Callable.xml66
-rw-r--r--doc/classes/CanvasItem.xml6
-rw-r--r--doc/classes/CheckBox.xml5
-rw-r--r--doc/classes/CheckButton.xml3
-rw-r--r--doc/classes/CodeEdit.xml1
-rw-r--r--doc/classes/Color.xml230
-rw-r--r--doc/classes/ColorPickerButton.xml3
-rw-r--r--doc/classes/Control.xml2
-rw-r--r--doc/classes/Dictionary.xml58
-rw-r--r--doc/classes/DirectionalLight2D.xml2
-rw-r--r--doc/classes/DirectionalLight3D.xml12
-rw-r--r--doc/classes/DisplayServer.xml2
-rw-r--r--doc/classes/EditorImportPlugin.xml4
-rw-r--r--doc/classes/EditorResourcePicker.xml3
-rw-r--r--doc/classes/Environment.xml42
-rw-r--r--doc/classes/FogMaterial.xml31
-rw-r--r--doc/classes/FogVolume.xml23
-rw-r--r--doc/classes/Font.xml25
-rw-r--r--doc/classes/GeometryInstance3D.xml17
-rw-r--r--doc/classes/GradientTexture2D.xml54
-rw-r--r--doc/classes/Input.xml7
-rw-r--r--doc/classes/ItemList.xml9
-rw-r--r--doc/classes/LineEdit.xml3
-rw-r--r--doc/classes/LinkButton.xml3
-rw-r--r--doc/classes/MenuButton.xml3
-rw-r--r--doc/classes/NinePatchRect.xml4
-rw-r--r--doc/classes/Node3D.xml32
-rw-r--r--doc/classes/NodePath.xml36
-rw-r--r--doc/classes/OS.xml26
-rw-r--r--doc/classes/OptionButton.xml3
-rw-r--r--doc/classes/PackedByteArray.xml86
-rw-r--r--doc/classes/PackedColorArray.xml86
-rw-r--r--doc/classes/PackedFloat32Array.xml86
-rw-r--r--doc/classes/PackedFloat64Array.xml86
-rw-r--r--doc/classes/PackedInt32Array.xml86
-rw-r--r--doc/classes/PackedInt64Array.xml86
-rw-r--r--doc/classes/PackedStringArray.xml86
-rw-r--r--doc/classes/PackedVector2Array.xml98
-rw-r--r--doc/classes/PackedVector3Array.xml98
-rw-r--r--doc/classes/PhysicalBone3D.xml22
-rw-r--r--doc/classes/PhysicsDirectSpaceState2D.xml1
-rw-r--r--doc/classes/PhysicsDirectSpaceState3D.xml1
-rw-r--r--doc/classes/PhysicsServer2D.xml24
-rw-r--r--doc/classes/PhysicsServer3D.xml24
-rw-r--r--doc/classes/Plane.xml106
-rw-r--r--doc/classes/PointLight2D.xml2
-rw-r--r--doc/classes/ProjectSettings.xml81
-rw-r--r--doc/classes/Quaternion.xml195
-rw-r--r--doc/classes/RID.xml48
-rw-r--r--doc/classes/Rect2.xml72
-rw-r--r--doc/classes/Rect2i.xml68
-rw-r--r--doc/classes/RenderingServer.xml111
-rw-r--r--doc/classes/RichTextLabel.xml11
-rw-r--r--doc/classes/RigidDynamicBody2D.xml20
-rw-r--r--doc/classes/RigidDynamicBody3D.xml20
-rw-r--r--doc/classes/SceneTree.xml2
-rw-r--r--doc/classes/Shader.xml3
-rw-r--r--doc/classes/Signal.xml36
-rw-r--r--doc/classes/String.xml192
-rw-r--r--doc/classes/StringName.xml42
-rw-r--r--doc/classes/TabBar.xml13
-rw-r--r--doc/classes/TextEdit.xml3
-rw-r--r--doc/classes/TextServer.xml7
-rw-r--r--doc/classes/TileMap.xml41
-rw-r--r--doc/classes/Time.xml9
-rw-r--r--doc/classes/Transform2D.xml158
-rw-r--r--doc/classes/Transform3D.xml142
-rw-r--r--doc/classes/Tween.xml12
-rw-r--r--doc/classes/Vector2.xml254
-rw-r--r--doc/classes/Vector2i.xml188
-rw-r--r--doc/classes/Vector3.xml275
-rw-r--r--doc/classes/Vector3i.xml212
-rw-r--r--doc/classes/VisualShader.xml5
-rw-r--r--doc/classes/bool.xml51
-rw-r--r--doc/classes/float.xml152
-rw-r--r--doc/classes/int.xml205
83 files changed, 2703 insertions, 2045 deletions
diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml
index 1be6d5a440..d7b7a309ad 100644
--- a/doc/classes/AABB.xml
+++ b/doc/classes/AABB.xml
@@ -13,28 +13,30 @@
<link title="Vector math">https://docs.godotengine.org/en/latest/tutorials/math/vector_math.html</link>
<link title="Advanced vector math">https://docs.godotengine.org/en/latest/tutorials/math/vectors_advanced.html</link>
</tutorials>
- <methods>
- <method name="AABB" qualifiers="constructor">
+ <constructors>
+ <constructor name="AABB">
<return type="AABB" />
<description>
Constructs a default-initialized [AABB] with default (zero) values of [member position] and [member size].
</description>
- </method>
- <method name="AABB" qualifiers="constructor">
+ </constructor>
+ <constructor name="AABB">
<return type="AABB" />
<argument index="0" name="from" type="AABB" />
<description>
Constructs an [AABB] as a copy of the given [AABB].
</description>
- </method>
- <method name="AABB" qualifiers="constructor">
+ </constructor>
+ <constructor name="AABB">
<return type="AABB" />
<argument index="0" name="position" type="Vector3" />
<argument index="1" name="size" type="Vector3" />
<description>
Constructs an [AABB] from a position and size.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="abs" qualifiers="const">
<return type="AABB" />
<description>
@@ -193,45 +195,47 @@
Returns a larger [AABB] that contains both this [AABB] and [code]with[/code].
</description>
</method>
- <method name="operator !=" qualifiers="operator">
+ </methods>
+ <members>
+ <member name="end" type="Vector3" setter="" getter="" default="Vector3(0, 0, 0)">
+ Ending corner. This is calculated as [code]position + size[/code]. Setting this value will change the size.
+ </member>
+ <member name="position" type="Vector3" setter="" getter="" default="Vector3(0, 0, 0)">
+ Beginning corner. Typically has values lower than [member end].
+ </member>
+ <member name="size" type="Vector3" setter="" getter="" default="Vector3(0, 0, 0)">
+ Size from [member position] to [member end]. Typically, all components are positive.
+ If the size is negative, you can use [method abs] to fix it.
+ </member>
+ </members>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="AABB" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="AABB" />
<argument index="0" name="right" type="Transform3D" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="AABB" />
<description>
</description>
- </method>
- </methods>
- <members>
- <member name="end" type="Vector3" setter="" getter="" default="Vector3(0, 0, 0)">
- Ending corner. This is calculated as [code]position + size[/code]. Setting this value will change the size.
- </member>
- <member name="position" type="Vector3" setter="" getter="" default="Vector3(0, 0, 0)">
- Beginning corner. Typically has values lower than [member end].
- </member>
- <member name="size" type="Vector3" setter="" getter="" default="Vector3(0, 0, 0)">
- Size from [member position] to [member end]. Typically, all components are positive.
- If the size is negative, you can use [method abs] to fix it.
- </member>
- </members>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml
index ebcced7dc4..e3bb60f6de 100644
--- a/doc/classes/Animation.xml
+++ b/doc/classes/Animation.xml
@@ -215,6 +215,14 @@
Clear the animation (clear all tracks and reset all).
</description>
</method>
+ <method name="compress">
+ <return type="void" />
+ <argument index="0" name="page_size" type="int" default="8192" />
+ <argument index="1" name="fps" type="int" default="120" />
+ <argument index="2" name="split_tolerance" type="float" default="4.0" />
+ <description>
+ </description>
+ </method>
<method name="copy_track">
<return type="void" />
<argument index="0" name="track_idx" type="int" />
@@ -226,6 +234,7 @@
<method name="find_track" qualifiers="const">
<return type="int" />
<argument index="0" name="path" type="NodePath" />
+ <argument index="1" name="type" type="int" enum="Animation.TrackType" />
<description>
Returns the index of the specified track. If the track is not found, return -1.
</description>
@@ -370,6 +379,12 @@
Insert a generic key in a given track.
</description>
</method>
+ <method name="track_is_compressed" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="track_idx" type="int" />
+ <description>
+ </description>
+ </method>
<method name="track_is_enabled" qualifiers="const">
<return type="bool" />
<argument index="0" name="track_idx" type="int" />
diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml
index ddfc3b1869..c6a3f87042 100644
--- a/doc/classes/Area2D.xml
+++ b/doc/classes/Area2D.xml
@@ -16,13 +16,15 @@
<method name="get_overlapping_areas" qualifiers="const">
<return type="Area2D[]" />
<description>
- Returns a list of intersecting [Area2D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+ Returns a list of intersecting [Area2D]s. The overlapping area's [member CollisionObject2D.collision_layer] must be part of this area's [member CollisionObject2D.collision_mask] in order to be detected.
+ For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
</description>
</method>
<method name="get_overlapping_bodies" qualifiers="const">
<return type="Node2D[]" />
<description>
- Returns a list of intersecting [PhysicsBody2D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+ Returns a list of intersecting [PhysicsBody2D]s. The overlapping body's [member CollisionObject2D.collision_layer] must be part of this area's [member CollisionObject2D.collision_mask] in order to be detected.
+ For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
</description>
</method>
<method name="overlaps_area" qualifiers="const">
diff --git a/doc/classes/Area3D.xml b/doc/classes/Area3D.xml
index 896bfcd14e..571fd8cad3 100644
--- a/doc/classes/Area3D.xml
+++ b/doc/classes/Area3D.xml
@@ -14,13 +14,15 @@
<method name="get_overlapping_areas" qualifiers="const">
<return type="Area3D[]" />
<description>
- Returns a list of intersecting [Area3D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+ Returns a list of intersecting [Area3D]s. The overlapping area's [member CollisionObject3D.collision_layer] must be part of this area's [member CollisionObject3D.collision_mask] in order to be detected.
+ For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
</description>
</method>
<method name="get_overlapping_bodies" qualifiers="const">
<return type="Node3D[]" />
<description>
- Returns a list of intersecting [PhysicsBody3D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
+ Returns a list of intersecting [PhysicsBody3D]s. The overlapping body's [member CollisionObject3D.collision_layer] must be part of this area's [member CollisionObject3D.collision_mask] in order to be detected.
+ For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead.
</description>
</method>
<method name="overlaps_area" qualifiers="const">
@@ -136,7 +138,7 @@
<argument index="2" name="area_shape_index" type="int" />
<argument index="3" name="local_shape_index" type="int" />
<description>
- Emitted when one of another Area3D's [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code].
+ Emitted when one of another Area3D's [Shape3D]s exits one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code].
[code]area_rid[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D].
[code]area[/code] the other Area3D.
[code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index 8898a59036..275b217247 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -44,83 +44,85 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="Array" qualifiers="constructor">
+ <constructors>
+ <constructor name="Array">
<return type="Array" />
<description>
Constructs an empty [Array].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="Array" />
<description>
Constructs an [Array] as a copy of the given [Array].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedByteArray" />
<description>
Constructs an array from a [PackedByteArray].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedColorArray" />
<description>
Constructs an array from a [PackedColorArray].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedFloat32Array" />
<description>
Constructs an array from a [PackedFloat32Array].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedFloat64Array" />
<description>
Constructs an array from a [PackedFloat64Array].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedInt32Array" />
<description>
Constructs an array from a [PackedInt32Array].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedInt64Array" />
<description>
Constructs an array from a [PackedInt64Array].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedStringArray" />
<description>
Constructs an array from a [PackedStringArray].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedVector2Array" />
<description>
Constructs an array from a [PackedVector2Array].
</description>
- </method>
- <method name="Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="Array">
<return type="Array" />
<argument index="0" name="from" type="PackedVector3Array" />
<description>
Constructs an array from a [PackedVector3Array].
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="void" />
<argument index="0" name="value" type="Variant" />
@@ -345,64 +347,6 @@
Returns the minimum value contained in the array if all elements are of comparable types. If the elements can't be compared, [code]null[/code] is returned.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Array" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="Array" />
- <argument index="0" name="right" type="Array" />
- <description>
- </description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Array" />
- <description>
- </description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Array" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Array" />
- <description>
- </description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Array" />
- <description>
- </description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Array" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="void" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="pop_at">
<return type="Variant" />
<argument index="0" name="position" type="int" />
@@ -550,4 +494,64 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="Array" />
+ <argument index="0" name="right" type="Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &lt;">
+ <return type="bool" />
+ <argument index="0" name="right" type="Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &lt;=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &gt;">
+ <return type="bool" />
+ <argument index="0" name="right" type="Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &gt;=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="void" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml
index 7f0d4cbbe3..8ef9cd2e7c 100644
--- a/doc/classes/Basis.xml
+++ b/doc/classes/Basis.xml
@@ -18,44 +18,36 @@
<link title="3D Voxel Demo">https://godotengine.org/asset-library/asset/676</link>
<link title="2.5D Demo">https://godotengine.org/asset-library/asset/583</link>
</tutorials>
- <methods>
- <method name="Basis" qualifiers="constructor">
+ <constructors>
+ <constructor name="Basis">
<return type="Basis" />
<description>
Constructs a default-initialized [Basis] set to [constant IDENTITY].
</description>
- </method>
- <method name="Basis" qualifiers="constructor">
+ </constructor>
+ <constructor name="Basis">
<return type="Basis" />
<argument index="0" name="from" type="Basis" />
<description>
Constructs a [Basis] as a copy of the given [Basis].
</description>
- </method>
- <method name="Basis" qualifiers="constructor">
+ </constructor>
+ <constructor name="Basis">
<return type="Basis" />
<argument index="0" name="axis" type="Vector3" />
<argument index="1" name="phi" type="float" />
<description>
Constructs a pure rotation basis matrix, rotated around the given [code]axis[/code] by [code]phi[/code], in radians. The axis must be a normalized vector.
</description>
- </method>
- <method name="Basis" qualifiers="constructor">
- <return type="Basis" />
- <argument index="0" name="euler" type="Vector3" />
- <description>
- Constructs a pure rotation basis matrix from the given Euler angles (in the YXZ convention: when *composing*, first Y, then X, and Z last), given in the vector format as (X angle, Y angle, Z angle).
- Consider using the [Quaternion] constructor instead, which uses a quaternion instead of Euler angles.
- </description>
- </method>
- <method name="Basis" qualifiers="constructor">
+ </constructor>
+ <constructor name="Basis">
<return type="Basis" />
<argument index="0" name="from" type="Quaternion" />
<description>
Constructs a pure rotation basis matrix from the given quaternion.
</description>
- </method>
- <method name="Basis" qualifiers="constructor">
+ </constructor>
+ <constructor name="Basis">
<return type="Basis" />
<argument index="0" name="x_axis" type="Vector3" />
<argument index="1" name="y_axis" type="Vector3" />
@@ -63,7 +55,9 @@
<description>
Constructs a basis matrix from 3 axis vectors (matrix columns).
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="determinant" qualifiers="const">
<return type="float" />
<description>
@@ -71,6 +65,13 @@
A negative determinant means the basis has a negative scale. A zero determinant means the basis isn't invertible, and is usually considered invalid.
</description>
</method>
+ <method name="from_euler" qualifiers="static">
+ <return type="Basis" />
+ <argument index="0" name="euler" type="Vector3" />
+ <argument index="1" name="order" type="int" default="2" />
+ <description>
+ </description>
+ </method>
<method name="from_scale" qualifiers="static">
<return type="Basis" />
<argument index="0" name="scale" type="Vector3" />
@@ -80,6 +81,7 @@
</method>
<method name="get_euler" qualifiers="const">
<return type="Vector3" />
+ <argument index="0" name="order" type="int" default="2" />
<description>
Returns the basis's rotation in the form of Euler angles (in the YXZ convention: when decomposing, first Z, then X, and Y last). The returned vector contains the rotation angles in the format (X angle, Y angle, Z angle).
Consider using the [method get_rotation_quaternion] method instead, which returns a [Quaternion] quaternion instead of Euler angles.
@@ -125,60 +127,6 @@
The up axis (+Y) points as close to the [code]up[/code] vector as possible while staying perpendicular to the forward axis. The resulting Basis is orthonormalized. The [code]target[/code] and [code]up[/code] vectors cannot be zero, and cannot be parallel to each other.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Basis" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Basis" />
- <argument index="0" name="right" type="Basis" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Basis" />
- <argument index="0" name="right" type="float" />
- <description>
- This operator multiplies all components of the [Basis], which scales it uniformly.
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Basis" />
- <argument index="0" name="right" type="int" />
- <description>
- This operator multiplies all components of the [Basis], which scales it uniformly.
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Basis" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="orthonormalized" qualifiers="const">
<return type="Basis" />
<description>
@@ -248,6 +196,18 @@
</member>
</members>
<constants>
+ <constant name="EULER_ORDER_XYZ" value="0">
+ </constant>
+ <constant name="EULER_ORDER_XZY" value="1">
+ </constant>
+ <constant name="EULER_ORDER_YXZ" value="2">
+ </constant>
+ <constant name="EULER_ORDER_YZX" value="3">
+ </constant>
+ <constant name="EULER_ORDER_ZXY" value="4">
+ </constant>
+ <constant name="EULER_ORDER_ZYX" value="5">
+ </constant>
<constant name="IDENTITY" value="Basis(1, 0, 0, 0, 1, 0, 0, 0, 1)">
The identity basis, with no rotation or scaling applied.
This is identical to calling [code]Basis()[/code] without any parameters. This constant can be used to make your code clearer, and for consistency with C#.
@@ -262,4 +222,60 @@
The basis that will flip something along the Z axis when used in a transformation.
</constant>
</constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Basis" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Basis" />
+ <argument index="0" name="right" type="Basis" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Basis" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ This operator multiplies all components of the [Basis], which scales it uniformly.
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Basis" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ This operator multiplies all components of the [Basis], which scales it uniformly.
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Basis" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="Vector3" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml
index dfbd6c0680..ba55fda59c 100644
--- a/doc/classes/Button.xml
+++ b/doc/classes/Button.xml
@@ -119,6 +119,9 @@
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
Text [Color] used when the [Button] is disabled.
</theme_item>
+ <theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
+ Text [Color] used when the [Button] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
+ </theme_item>
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
Text [Color] used when the [Button] is being hovered.
</theme_item>
@@ -143,6 +146,9 @@
<theme_item name="icon_disabled_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
Icon modulate [Color] used when the [Button] is disabled.
</theme_item>
+ <theme_item name="icon_focus_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
+ Icon modulate [Color] used when the [Button] is focused. Only replaces the normal modulate color of the button. Disabled, hovered, and pressed states take precedence over this color.
+ </theme_item>
<theme_item name="icon_hover_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
Icon modulate [Color] used when the [Button] is being hovered.
</theme_item>
diff --git a/doc/classes/Callable.xml b/doc/classes/Callable.xml
index 0a95836e96..2d3571e36c 100644
--- a/doc/classes/Callable.xml
+++ b/doc/classes/Callable.xml
@@ -35,28 +35,30 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="Callable" qualifiers="constructor">
+ <constructors>
+ <constructor name="Callable">
<return type="Callable" />
<description>
Constructs a null [Callable] with no object nor method bound.
</description>
- </method>
- <method name="Callable" qualifiers="constructor">
+ </constructor>
+ <constructor name="Callable">
<return type="Callable" />
<argument index="0" name="from" type="Callable" />
<description>
Constructs a [Callable] as a copy of the given [Callable].
</description>
- </method>
- <method name="Callable" qualifiers="constructor">
+ </constructor>
+ <constructor name="Callable">
<return type="Callable" />
<argument index="0" name="object" type="Object" />
<argument index="1" name="method" type="StringName" />
<description>
Creates a new [Callable] for the method called [code]method[/code] in the specified [code]object[/code].
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="bind" qualifiers="vararg const">
<return type="Callable" />
<description>
@@ -123,30 +125,6 @@
Returns [code]true[/code] if the object exists and has a valid function assigned, or is a custom callable.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Callable" />
- <description>
- Returns [code]true[/code] if both [Callable]s invoke different targets.
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Callable" />
- <description>
- Returns [code]true[/code] if both [Callable]s invoke the same custom target.
- </description>
- </method>
<method name="rpc" qualifiers="vararg const">
<return type="void" />
<description>
@@ -168,4 +146,30 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Callable" />
+ <description>
+ Returns [code]true[/code] if both [Callable]s invoke different targets.
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Callable" />
+ <description>
+ Returns [code]true[/code] if both [Callable]s invoke the same custom target.
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index 738594ea5d..7be18c1d5c 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -53,7 +53,7 @@
<argument index="1" name="pos" type="Vector2" />
<argument index="2" name="char" type="String" />
<argument index="3" name="next" type="String" default="&quot;&quot;" />
- <argument index="4" name="size" type="int" default="-1" />
+ <argument index="4" name="size" type="int" default="16" />
<argument index="5" name="modulate" type="Color" default="Color(1, 1, 1, 1)" />
<argument index="6" name="outline_size" type="int" default="0" />
<argument index="7" name="outline_modulate" type="Color" default="Color(1, 1, 1, 0)" />
@@ -146,7 +146,7 @@
<argument index="3" name="align" type="int" enum="HAlign" default="0" />
<argument index="4" name="width" type="float" default="-1" />
<argument index="5" name="max_lines" type="int" default="-1" />
- <argument index="6" name="size" type="int" default="-1" />
+ <argument index="6" name="size" type="int" default="16" />
<argument index="7" name="modulate" type="Color" default="Color(1, 1, 1, 1)" />
<argument index="8" name="outline_size" type="int" default="0" />
<argument index="9" name="outline_modulate" type="Color" default="Color(1, 1, 1, 0)" />
@@ -238,7 +238,7 @@
<argument index="2" name="text" type="String" />
<argument index="3" name="align" type="int" enum="HAlign" default="0" />
<argument index="4" name="width" type="float" default="-1" />
- <argument index="5" name="size" type="int" default="-1" />
+ <argument index="5" name="size" type="int" default="16" />
<argument index="6" name="modulate" type="Color" default="Color(1, 1, 1, 1)" />
<argument index="7" name="outline_size" type="int" default="0" />
<argument index="8" name="outline_modulate" type="Color" default="Color(1, 1, 1, 0)" />
diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml
index a674fa8339..18f668a052 100644
--- a/doc/classes/CheckBox.xml
+++ b/doc/classes/CheckBox.xml
@@ -21,6 +21,7 @@
The check icon to display when the [CheckBox] is checked.
</theme_item>
<theme_item name="checked_disabled" data_type="icon" type="Texture2D">
+ The check icon to display when the [CheckBox] is checked and disabled.
</theme_item>
<theme_item name="disabled" data_type="style" type="StyleBox">
The [StyleBox] to display as a background when the [CheckBox] is disabled.
@@ -37,6 +38,9 @@
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
The [CheckBox] text's font color when it's disabled.
</theme_item>
+ <theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
+ The [CheckBox] text's font color when it's focused. Only replaces the normal text color of the checkbox. Disabled, hovered, and pressed states take precedence over this color.
+ </theme_item>
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
The [CheckBox] text's font color when it's hovered.
</theme_item>
@@ -84,6 +88,7 @@
The check icon to display when the [CheckBox] is unchecked.
</theme_item>
<theme_item name="unchecked_disabled" data_type="icon" type="Texture2D">
+ The check icon to display when the [CheckBox] is unchecked and disabled.
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml
index 12bd493ae1..c86fadb6b0 100644
--- a/doc/classes/CheckButton.xml
+++ b/doc/classes/CheckButton.xml
@@ -32,6 +32,9 @@
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
The [CheckButton] text's font color when it's disabled.
</theme_item>
+ <theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
+ The [CheckButton] text's font color when it's focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
+ </theme_item>
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
The [CheckButton] text's font color when it's hovered.
</theme_item>
diff --git a/doc/classes/CodeEdit.xml b/doc/classes/CodeEdit.xml
index bd1f3af436..bb1a4a79f0 100644
--- a/doc/classes/CodeEdit.xml
+++ b/doc/classes/CodeEdit.xml
@@ -494,7 +494,6 @@
<member name="line_length_guidelines" type="int[]" setter="set_line_length_guidelines" getter="get_line_length_guidelines" default="[]">
Draws vertical lines at the provided columns. The first entry is considered a main hard guideline and is draw more prominently
</member>
- <member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" override="true" default="[]" />
<member name="symbol_lookup_on_click" type="bool" setter="set_symbol_lookup_on_click_enabled" getter="is_symbol_lookup_on_click_enabled" default="false">
Set when a validated word from [signal symbol_validate] is clicked, the [signal symbol_lookup] should be emitted.
</member>
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml
index c85bc775c7..71ec225cf6 100644
--- a/doc/classes/Color.xml
+++ b/doc/classes/Color.xml
@@ -15,21 +15,14 @@
<link title="Tween Demo">https://godotengine.org/asset-library/asset/146</link>
<link title="GUI Drag And Drop Demo">https://godotengine.org/asset-library/asset/133</link>
</tutorials>
- <methods>
- <method name="Color" qualifiers="constructor">
+ <constructors>
+ <constructor name="Color">
<return type="Color" />
<description>
Constructs a default-initialized [Color] with all components set to [code]0[/code].
</description>
- </method>
- <method name="Color" qualifiers="constructor">
- <return type="Color" />
- <argument index="0" name="from" type="Color" />
- <description>
- Constructs a [Color] as a copy of the given [Color].
- </description>
- </method>
- <method name="Color" qualifiers="constructor">
+ </constructor>
+ <constructor name="Color">
<return type="Color" />
<argument index="0" name="from" type="Color" />
<argument index="1" name="alpha" type="float" />
@@ -44,57 +37,66 @@
[/csharp]
[/codeblocks]
</description>
- </method>
- <method name="Color" qualifiers="constructor">
+ </constructor>
+ <constructor name="Color">
+ <return type="Color" />
+ <argument index="0" name="from" type="Color" />
+ <description>
+ Constructs a [Color] as a copy of the given [Color].
+ </description>
+ </constructor>
+ <constructor name="Color">
<return type="Color" />
<argument index="0" name="code" type="String" />
<description>
Constructs a [Color] either from an HTML color code or from a standardized color name. Supported color names are the same as the constants.
</description>
- </method>
- <method name="Color" qualifiers="constructor">
+ </constructor>
+ <constructor name="Color">
<return type="Color" />
<argument index="0" name="code" type="String" />
<argument index="1" name="alpha" type="float" />
<description>
Constructs a [Color] either from an HTML color code or from a standardized color name, with [code]alpha[/code] on the range of 0 to 1. Supported color names are the same as the constants.
</description>
- </method>
- <method name="Color" qualifiers="constructor">
+ </constructor>
+ <constructor name="Color">
<return type="Color" />
<argument index="0" name="r" type="float" />
<argument index="1" name="g" type="float" />
<argument index="2" name="b" type="float" />
- <argument index="3" name="a" type="float" />
<description>
- Constructs a [Color] from RGBA values, typically between 0 and 1.
+ Constructs a [Color] from RGB values, typically between 0 and 1. Alpha will be 1.
[codeblocks]
[gdscript]
- var color = Color(0.2, 1.0, 0.7, 0.8) # Similar to `Color8(51, 255, 178, 204)`
+ var color = Color(0.2, 1.0, 0.7) # Similar to `Color8(51, 255, 178, 255)`
[/gdscript]
[csharp]
- var color = new Color(0.2f, 1.0f, 0.7f, 0.8f); // Similar to `Color.Color8(51, 255, 178, 255, 204)`
+ var color = new Color(0.2f, 1.0f, 0.7f); // Similar to `Color.Color8(51, 255, 178, 255)`
[/csharp]
[/codeblocks]
</description>
- </method>
- <method name="Color" qualifiers="constructor">
+ </constructor>
+ <constructor name="Color">
<return type="Color" />
<argument index="0" name="r" type="float" />
<argument index="1" name="g" type="float" />
<argument index="2" name="b" type="float" />
+ <argument index="3" name="a" type="float" />
<description>
- Constructs a [Color] from RGB values, typically between 0 and 1. Alpha will be 1.
+ Constructs a [Color] from RGBA values, typically between 0 and 1.
[codeblocks]
[gdscript]
- var color = Color(0.2, 1.0, 0.7) # Similar to `Color8(51, 255, 178, 255)`
+ var color = Color(0.2, 1.0, 0.7, 0.8) # Similar to `Color8(51, 255, 178, 204)`
[/gdscript]
[csharp]
- var color = new Color(0.2f, 1.0f, 0.7f); // Similar to `Color.Color8(51, 255, 178, 255)`
+ var color = new Color(0.2f, 1.0f, 0.7f, 0.8f); // Similar to `Color.Color8(51, 255, 178, 255, 204)`
[/csharp]
[/codeblocks]
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="blend" qualifiers="const">
<return type="Color" />
<argument index="0" name="over" type="Color" />
@@ -259,92 +261,6 @@
[/codeblocks]
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Color" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="Color" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="float" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="int" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="Color" />
- <description>
- </description>
- </method>
- <method name="operator -" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="Color" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="Color" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="float" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="int" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Color" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="float" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
- <method name="operator unary+" qualifiers="operator">
- <return type="Color" />
- <description>
- </description>
- </method>
- <method name="operator unary-" qualifiers="operator">
- <return type="Color" />
- <description>
- </description>
- </method>
<method name="to_abgr32" qualifiers="const">
<return type="int" />
<description>
@@ -937,4 +853,92 @@
Yellow green color.
</constant>
</constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Color" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Color" />
+ <argument index="0" name="right" type="Color" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Color" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Color" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="Color" />
+ <argument index="0" name="right" type="Color" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator -">
+ <return type="Color" />
+ <argument index="0" name="right" type="Color" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Color" />
+ <argument index="0" name="right" type="Color" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Color" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Color" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Color" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="float" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator unary+">
+ <return type="Color" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator unary-">
+ <return type="Color" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml
index 58b6e89507..fff27d2d56 100644
--- a/doc/classes/ColorPickerButton.xml
+++ b/doc/classes/ColorPickerButton.xml
@@ -74,6 +74,9 @@
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.3)">
Text [Color] used when the [ColorPickerButton] is disabled.
</theme_item>
+ <theme_item name="font_focus_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
+ Text [Color] used when the [ColorPickerButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
+ </theme_item>
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
Text [Color] used when the [ColorPickerButton] is being hovered.
</theme_item>
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index 332d171457..63e3eb7a5f 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -1044,7 +1044,7 @@
<member name="rect_scale" type="Vector2" setter="set_scale" getter="get_scale" default="Vector2(1, 1)">
The node's scale, relative to its [member rect_size]. Change this property to scale the node around its [member rect_pivot_offset]. The Control's [member hint_tooltip] will also scale according to this value.
[b]Note:[/b] This property is mainly intended to be used for animation purposes. Text inside the Control will look pixelated or blurry when the Control is scaled. To support multiple resolutions in your project, use an appropriate viewport stretch mode as described in the [url=https://docs.godotengine.org/en/latest/tutorials/viewports/multiple_resolutions.html]documentation[/url] instead of scaling Controls individually.
- [b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using [code]yield(get_tree(), "process_frame")[/code] then set its [member rect_scale] property.
+ [b]Note:[/b] If the Control node is a child of a [Container] node, the scale will be reset to [code]Vector2(1, 1)[/code] when the scene is instantiated. To set the Control's scale when it's instantiated, wait for one frame using [code]await get_tree().process_frame[/code] then set its [member rect_scale] property.
</member>
<member name="rect_size" type="Vector2" setter="_set_size" getter="get_size" default="Vector2(0, 0)">
The size of the node's bounding rectangle, in pixels. [Container] nodes update this property automatically.
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index bab1a261ab..d661da5dd0 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -181,20 +181,22 @@
<link title="3D Voxel Demo">https://godotengine.org/asset-library/asset/676</link>
<link title="OS Test Demo">https://godotengine.org/asset-library/asset/677</link>
</tutorials>
- <methods>
- <method name="Dictionary" qualifiers="constructor">
+ <constructors>
+ <constructor name="Dictionary">
<return type="Dictionary" />
<description>
Constructs an empty [Dictionary].
</description>
- </method>
- <method name="Dictionary" qualifiers="constructor">
+ </constructor>
+ <constructor name="Dictionary">
<return type="Dictionary" />
<argument index="0" name="from" type="Dictionary" />
<description>
Constructs a [Dictionary] as a copy of the given [Dictionary].
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="clear">
<return type="void" />
<description>
@@ -288,45 +290,47 @@
Returns the list of keys in the [Dictionary].
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
+ <method name="size" qualifiers="const">
+ <return type="int" />
<description>
+ Returns the number of keys in the dictionary.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Dictionary" />
+ <method name="values" qualifiers="const">
+ <return type="Array" />
<description>
+ Returns the list of values in the [Dictionary].
</description>
</method>
- <method name="operator ==" qualifiers="operator">
+ </methods>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="Dictionary" />
<description>
</description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="Variant" />
- <argument index="0" name="key" type="Variant" />
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
<description>
</description>
- </method>
- <method name="size" qualifiers="const">
- <return type="int" />
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Dictionary" />
<description>
- Returns the number of keys in the dictionary.
</description>
- </method>
- <method name="values" qualifiers="const">
- <return type="Array" />
+ </operator>
+ <operator name="operator []">
+ <return type="Variant" />
+ <argument index="0" name="key" type="Variant" />
<description>
- Returns the list of values in the [Dictionary].
</description>
- </method>
- </methods>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/DirectionalLight2D.xml b/doc/classes/DirectionalLight2D.xml
index 317cf6e66c..1e5c9bc09a 100644
--- a/doc/classes/DirectionalLight2D.xml
+++ b/doc/classes/DirectionalLight2D.xml
@@ -8,7 +8,7 @@
</tutorials>
<members>
<member name="height" type="float" setter="set_height" getter="get_height" default="0.0">
- The height of the light. Used with 2D normal mapping.
+ The height of the light. Used with 2D normal mapping. Ranges from 0 (parallel to the plane) to 1 (perpendicular to the plane).
</member>
<member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="10000.0">
</member>
diff --git a/doc/classes/DirectionalLight3D.xml b/doc/classes/DirectionalLight3D.xml
index f2a6e5b6f8..44d982cbcc 100644
--- a/doc/classes/DirectionalLight3D.xml
+++ b/doc/classes/DirectionalLight3D.xml
@@ -11,13 +11,13 @@
</tutorials>
<members>
<member name="directional_shadow_blend_splits" type="bool" setter="set_blend_splits" getter="is_blend_splits_enabled" default="false">
- If [code]true[/code], shadow detail is sacrificed in exchange for smoother transitions between splits. This is ignored when [member directional_shadow_mode] is [code]SHADOW_ORTHOGONAL[/code].
+ If [code]true[/code], shadow detail is sacrificed in exchange for smoother transitions between splits. Enabling shadow blend splitting also has a moderate performance cost. This is ignored when [member directional_shadow_mode] is [constant SHADOW_ORTHOGONAL].
</member>
<member name="directional_shadow_fade_start" type="float" setter="set_param" getter="get_param" default="0.8">
- Proportion of [member directional_shadow_max_distance] at which point the shadow starts to fade. At [member directional_shadow_max_distance] the shadow will disappear.
+ Proportion of [member directional_shadow_max_distance] at which point the shadow starts to fade. At [member directional_shadow_max_distance], the shadow will disappear. The default value is a balance between smooth fading and distant shadow visibility. If the camera moves fast and the [member directional_shadow_max_distance] is low, consider lowering [member directional_shadow_fade_start] below [code]0.8[/code] to make shadow transitions less noticeable. On the other hand, if you tuned [member directional_shadow_max_distance] to cover the entire scene, you can set [member directional_shadow_fade_start] to [code]1.0[/code] to prevent the shadow from fading in the distance (it will suddenly cut off instead).
</member>
<member name="directional_shadow_max_distance" type="float" setter="set_param" getter="get_param" default="100.0">
- The maximum distance for shadow splits.
+ The maximum distance for shadow splits. Increasing this value will make directional shadows visible from further away, at the cost of lower overall shadow detail and performance (since more objects need to be included in the directional shadow rendering).
</member>
<member name="directional_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="DirectionalLight3D.ShadowMode" default="2">
The light's shadow rendering algorithm. See [enum ShadowMode].
@@ -26,13 +26,13 @@
Sets the size of the directional shadow pancake. The pancake offsets the start of the shadow's camera frustum to provide a higher effective depth resolution for the shadow. However, a high pancake size can cause artifacts in the shadows of large objects that are close to the edge of the frustum. Reducing the pancake size can help. Setting the size to [code]0[/code] turns off the pancaking effect.
</member>
<member name="directional_shadow_split_1" type="float" setter="set_param" getter="get_param" default="0.1">
- The distance from camera to shadow split 1. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_2_SPLITS[/code] or [code]SHADOW_PARALLEL_4_SPLITS[/code].
+ The distance from camera to shadow split 1. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [constant SHADOW_PARALLEL_2_SPLITS] or [constant SHADOW_PARALLEL_4_SPLITS].
</member>
<member name="directional_shadow_split_2" type="float" setter="set_param" getter="get_param" default="0.2">
- The distance from shadow split 1 to split 2. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_4_SPLITS[/code].
+ The distance from shadow split 1 to split 2. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [constant SHADOW_PARALLEL_4_SPLITS].
</member>
<member name="directional_shadow_split_3" type="float" setter="set_param" getter="get_param" default="0.5">
- The distance from shadow split 2 to split 3. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_4_SPLITS[/code].
+ The distance from shadow split 2 to split 3. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [constant SHADOW_PARALLEL_4_SPLITS].
</member>
<member name="shadow_bias" type="float" setter="set_param" getter="get_param" override="true" default="0.1" />
<member name="use_in_sky_only" type="bool" setter="set_sky_only" getter="is_sky_only" default="false">
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index 4b43286594..92d6a220d2 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -819,6 +819,8 @@
</constant>
<constant name="FEATURE_SWAP_BUFFERS" value="17" enum="Feature">
</constant>
+ <constant name="FEATURE_CLIPBOARD_PRIMARY" value="19" enum="Feature">
+ </constant>
<constant name="MOUSE_MODE_VISIBLE" value="0" enum="MouseMode">
Makes the mouse cursor visible if it is hidden.
</constant>
diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml
index 6011a5411d..cb33f159ef 100644
--- a/doc/classes/EditorImportPlugin.xml
+++ b/doc/classes/EditorImportPlugin.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
[EditorImportPlugin]s provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers.
- EditorImportPlugins work by associating with specific file extensions and a resource type. See [method _get_recognized_extensions] and [method _get_resource_type]. They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].godot/imported[/code] directory (see [member ProjectSettings.application/config/project_data_dir_name]).
+ EditorImportPlugins work by associating with specific file extensions and a resource type. See [method _get_recognized_extensions] and [method _get_resource_type]. They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].godot/imported[/code] directory (see [member ProjectSettings.application/config/use_hidden_project_data_directory]).
Below is an example EditorImportPlugin that imports a [Mesh] from a file with the extension ".special" or ".spec":
[codeblocks]
[gdscript]
@@ -198,7 +198,7 @@
<method name="_get_save_extension" qualifiers="virtual const">
<return type="String" />
<description>
- Gets the extension used to save this resource in the [code].godot/imported[/code] directory (see [member ProjectSettings.application/config/project_data_dir_name]).
+ Gets the extension used to save this resource in the [code].godot/imported[/code] directory (see [member ProjectSettings.application/config/use_hidden_project_data_directory]).
</description>
</method>
<method name="_get_visible_name" qualifiers="virtual const">
diff --git a/doc/classes/EditorResourcePicker.xml b/doc/classes/EditorResourcePicker.xml
index 9c490cbb3e..b26b6f9527 100644
--- a/doc/classes/EditorResourcePicker.xml
+++ b/doc/classes/EditorResourcePicker.xml
@@ -62,8 +62,9 @@
</signal>
<signal name="resource_selected">
<argument index="0" name="resource" type="Resource" />
+ <argument index="1" name="edit" type="bool" />
<description>
- Emitted when the resource value was set and user clicked to edit it.
+ Emitted when the resource value was set and user clicked to edit it. When [code]edit[/code] is [code]true[/code], the signal was caused by the context menu "Edit" option.
</description>
</signal>
</signals>
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index 80298a0319..88c4689b5f 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -128,10 +128,10 @@
The bleed scale of the HDR glow.
</member>
<member name="glow_hdr_threshold" type="float" setter="set_glow_hdr_bleed_threshold" getter="get_glow_hdr_bleed_threshold" default="1.0">
- The lower threshold of the HDR glow. When using the GLES2 renderer (which doesn't support HDR), this needs to be below [code]1.0[/code] for glow to be visible. A value of [code]0.9[/code] works well in this case.
+ The lower threshold of the HDR glow. When using the OpenGL renderer (which doesn't support HDR), this needs to be below [code]1.0[/code] for glow to be visible. A value of [code]0.9[/code] works well in this case.
</member>
<member name="glow_intensity" type="float" setter="set_glow_intensity" getter="get_glow_intensity" default="0.8">
- The overall brightness multiplier of the glow effect. When using the GLES2 renderer, this should be increased to 1.5 to compensate for the lack of HDR rendering.
+ The overall brightness multiplier of the glow effect. When using the OpenGL renderer, this should be increased to 1.5 to compensate for the lack of HDR rendering.
</member>
<member name="glow_levels/1" type="float" setter="set_glow_level" getter="get_glow_level" default="0.0">
The intensity of the 1st level of glow. This is the most "local" level (least blurry).
@@ -160,7 +160,7 @@
If [code]true[/code], glow levels will be normalized so that summed together their intensities equal [code]1.0[/code].
</member>
<member name="glow_strength" type="float" setter="set_glow_strength" getter="get_glow_strength" default="1.0">
- The strength of the glow effect. This applies as the glow is blurred across the screen and increases the distance and intensity of the blur. When using the GLES2 renderer, this should be increased to 1.3 to compensate for the lack of HDR rendering.
+ The strength of the glow effect. This applies as the glow is blurred across the screen and increases the distance and intensity of the blur. When using the OpenGL renderer, this should be increased to 1.3 to compensate for the lack of HDR rendering.
</member>
<member name="reflected_light_source" type="int" setter="set_reflection_source" getter="get_reflection_source" enum="Environment.ReflectionSource" default="0">
</member>
@@ -248,23 +248,41 @@
<member name="tonemap_white" type="float" setter="set_tonemap_white" getter="get_tonemap_white" default="1.0">
The white reference value for tonemapping. Only effective if the [member tonemap_mode] isn't set to [constant TONE_MAPPER_LINEAR].
</member>
- <member name="volumetric_fog_density" type="float" setter="set_volumetric_fog_density" getter="get_volumetric_fog_density" default="0.01">
+ <member name="volumetric_fog_albedo" type="Color" setter="set_volumetric_fog_albedo" getter="get_volumetric_fog_albedo" default="Color(1, 1, 1, 1)">
+ The [Color] of the volumetric fog when interacting with lights. Mist and fog have an albedo close to [code]Color(1, 1, 1, 1)[/code] while smoke has a darker albedo.
+ </member>
+ <member name="volumetric_fog_ambient_inject" type="float" setter="set_volumetric_fog_ambient_inject" getter="get_volumetric_fog_ambient_inject" default="0.0">
+ Scales the strength of ambient light used in the volumetric fog. A value of [code]0[/code] means that ambient light will not impact the volumetric fog.
+ </member>
+ <member name="volumetric_fog_anisotropy" type="float" setter="set_volumetric_fog_anisotropy" getter="get_volumetric_fog_anisotropy" default="0.2">
+ The direction of scattered light as it goes through the volumetric fog. A value close [code]1[/code] means almost all light is scattered forward. A value close to [code]0[/code] means light is scattered equally in all directions. A value close to [code]-1[/code] means light is scattered mostly backward. Fog and mist scatter light slightly forward, while smoke scatters light equally in all directions.
+ </member>
+ <member name="volumetric_fog_density" type="float" setter="set_volumetric_fog_density" getter="get_volumetric_fog_density" default="0.05">
+ The base density of the volumetric fog. Set this to the lowest density you want to have globally.
</member>
<member name="volumetric_fog_detail_spread" type="float" setter="set_volumetric_fog_detail_spread" getter="get_volumetric_fog_detail_spread" default="2.0">
+ The distribution of size down the length of the froxel buffer. A higher value compresses the froxels closer to the camera and places more detail closer to the camera.
+ </member>
+ <member name="volumetric_fog_emission" type="Color" setter="set_volumetric_fog_emission" getter="get_volumetric_fog_emission" default="Color(0, 0, 0, 1)">
+ The emitted light from the volumetric fog. Even with emission, volumetric fog will not cast light onto other surfaces. Emission is useful to establish an ambient color. As the volumetric fog effect uses single-scattering only, fog tends to need a little bit of emission to soften the harsh shadows.
+ </member>
+ <member name="volumetric_fog_emission_energy" type="float" setter="set_volumetric_fog_emission_energy" getter="get_volumetric_fog_emission_energy" default="1.0">
+ The brightness of the emitted light from the volumetric fog.
</member>
<member name="volumetric_fog_enabled" type="bool" setter="set_volumetric_fog_enabled" getter="is_volumetric_fog_enabled" default="false">
+ Enables the volumetric fog effect. Volumetric fog uses a screen-aligned froxel buffer to calculate accurate volumetric scattering in the short to medium range. Volumetric fog interacts with [FogVolume]s and lights to calculate localized and global fog. Volumetric fog uses a PBR single-scattering model based on extinction, scattering, and emission which it exposes to users as density, albedo, and emission.
</member>
<member name="volumetric_fog_gi_inject" type="float" setter="set_volumetric_fog_gi_inject" getter="get_volumetric_fog_gi_inject" default="0.0">
+ Scales the strength of Global Illumination used in the volumetric fog. A value of [code]0[/code] means that Global Illumination will not impact the volumetric fog.
</member>
<member name="volumetric_fog_length" type="float" setter="set_volumetric_fog_length" getter="get_volumetric_fog_length" default="64.0">
- </member>
- <member name="volumetric_fog_light" type="Color" setter="set_volumetric_fog_light" getter="get_volumetric_fog_light" default="Color(0, 0, 0, 1)">
- </member>
- <member name="volumetric_fog_light_energy" type="float" setter="set_volumetric_fog_light_energy" getter="get_volumetric_fog_light_energy" default="1.0">
+ The distance over which the volumetric fog is computed. Increase to compute fog over a greater range, decrease to add more detail when a long range is not needed. For best quality fog, keep this as low as possible.
</member>
<member name="volumetric_fog_temporal_reprojection_amount" type="float" setter="set_volumetric_fog_temporal_reprojection_amount" getter="get_volumetric_fog_temporal_reprojection_amount" default="0.9">
+ The amount by which to blend the last frame with the current frame. A higher number results in smoother volumetric fog, but makes "ghosting" much worse. A lower value reduces ghosting but can result in the per-frame temporal jitter becoming visible.
</member>
<member name="volumetric_fog_temporal_reprojection_enabled" type="bool" setter="set_volumetric_fog_temporal_reprojection_enabled" getter="is_volumetric_fog_temporal_reprojection_enabled" default="true">
+ Enables temporal reprojection in the volumetric fog. Temporal reprojection blends the current frame's volumetric fog with the last frame's volumetric fog to smooth out jagged edges. The performance cost is minimal, however it does lead to moving [FogVolume]s and [Light3D]s "ghosting" and leaving a trail behind them. When temporal reprojection is enabled, try to avoid moving [FogVolume]s or [Light3D]s too fast.
</member>
</members>
<constants>
@@ -349,13 +367,5 @@
</constant>
<constant name="SDFGI_Y_SCALE_50_PERCENT" value="2" enum="SDFGIYScale">
</constant>
- <constant name="VOLUMETRIC_FOG_SHADOW_FILTER_DISABLED" value="0" enum="VolumetricFogShadowFilter">
- </constant>
- <constant name="VOLUMETRIC_FOG_SHADOW_FILTER_LOW" value="1" enum="VolumetricFogShadowFilter">
- </constant>
- <constant name="VOLUMETRIC_FOG_SHADOW_FILTER_MEDIUM" value="2" enum="VolumetricFogShadowFilter">
- </constant>
- <constant name="VOLUMETRIC_FOG_SHADOW_FILTER_HIGH" value="3" enum="VolumetricFogShadowFilter">
- </constant>
</constants>
</class>
diff --git a/doc/classes/FogMaterial.xml b/doc/classes/FogMaterial.xml
new file mode 100644
index 0000000000..431f3ac2b7
--- /dev/null
+++ b/doc/classes/FogMaterial.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="FogMaterial" inherits="Material" version="4.0">
+ <brief_description>
+ [Material] used with a [FogVolume] to draw things with the volumetric fog effect.
+ </brief_description>
+ <description>
+ A [Material] resource that can be used by [FogVolume]s to draw volumetric effects.
+ </description>
+ <tutorials>
+ </tutorials>
+ <members>
+ <member name="albedo" type="Color" setter="set_albedo" getter="get_albedo" default="Color(1, 1, 1, 1)">
+ Sets the single-scattering [Color] of the [FogVolume]. Internally [member albedo] is converted into single-scattering which is additively blended with other [FogVolume]s and the [member Environment.volumetric_fog_albedo].
+ </member>
+ <member name="density" type="float" setter="set_density" getter="get_density" default="1.0">
+ Sets the density of the [FogVolume]. Denser objects are more opaque, but may suffer from under-sampling artifacts that look like stripes.
+ </member>
+ <member name="density_texture" type="Texture3D" setter="set_density_texture" getter="get_density_texture">
+ Sets a 3D texture that is used to scale the [member density] of the [FogVolume].
+ </member>
+ <member name="edge_fade" type="float" setter="set_edge_fade" getter="get_edge_fade" default="0.1">
+ Sets the hardness of the edges of the [FogVolume]. A higher number will result in softer edges while a lower number will result in harder edges.
+ </member>
+ <member name="emission" type="Color" setter="set_emission" getter="get_emission" default="Color(0, 0, 0, 1)">
+ Sets the [Color] of the light emitted by the [FogVolume]. Emitted light will not cast light or shadows on other objects, but can be useful for modulating the [Color] of the [FogVolume] independently from light sources.
+ </member>
+ <member name="height_falloff" type="float" setter="set_height_falloff" getter="get_height_falloff" default="0.0">
+ Sets the rate by which the height-based fog decreases in density as height increases in world space. A high falloff will result in a sharp transition, while a low falloff will result in a smoother transition. A value of [code]0[/code] results in uniform-density fog. The height threshold is determined by the height of the associated [FogVolume].
+ </member>
+ </members>
+</class>
diff --git a/doc/classes/FogVolume.xml b/doc/classes/FogVolume.xml
new file mode 100644
index 0000000000..ba1b5d3372
--- /dev/null
+++ b/doc/classes/FogVolume.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="FogVolume" inherits="VisualInstance3D" version="4.0">
+ <brief_description>
+ A node used to add local fog with the volumetric fog effect.
+ </brief_description>
+ <description>
+ [FogVolume]s are used to add localized fog into the global volumetric fog effect.
+ Performance of [FogVolume]s is directly related to their relative size on the screen and the complexity of their attached [FogMaterial]. It is best to keep [FogVolume]s relatively small and simple where possible.
+ </description>
+ <tutorials>
+ </tutorials>
+ <members>
+ <member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3(1, 1, 1)">
+ Sets the size of the [FogVolume] when [member shape] is [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID] or [constant RenderingServer.FOG_VOLUME_SHAPE_BOX].
+ </member>
+ <member name="material" type="Material" setter="set_material" getter="get_material">
+ Sets the [Material] to be used by the [FogVolume]. Can be either a [FogMaterial] or a custom [ShaderMaterial].
+ </member>
+ <member name="shape" type="int" setter="set_shape" getter="get_shape" enum="RenderingServer.FogVolumeShape" default="1">
+ Sets the shape of the [FogVolume] to either [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_BOX], or [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID] or [constant RenderingServer.FOG_VOLUME_SHAPE_WORLD].
+ </member>
+ </members>
+</class>
diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml
index 39881e9eb7..01bc2837f1 100644
--- a/doc/classes/Font.xml
+++ b/doc/classes/Font.xml
@@ -82,7 +82,7 @@
<argument index="1" name="pos" type="Vector2" />
<argument index="2" name="char" type="int" />
<argument index="3" name="next" type="int" default="0" />
- <argument index="4" name="size" type="int" default="-1" />
+ <argument index="4" name="size" type="int" default="16" />
<argument index="5" name="modulate" type="Color" default="Color(1, 1, 1, 1)" />
<argument index="6" name="outline_size" type="int" default="0" />
<argument index="7" name="outline_modulate" type="Color" default="Color(1, 1, 1, 0)" />
@@ -99,7 +99,7 @@
<argument index="3" name="align" type="int" enum="HAlign" default="0" />
<argument index="4" name="width" type="float" default="-1" />
<argument index="5" name="max_lines" type="int" default="-1" />
- <argument index="6" name="size" type="int" default="-1" />
+ <argument index="6" name="size" type="int" default="16" />
<argument index="7" name="modulate" type="Color" default="Color(1, 1, 1, 1)" />
<argument index="8" name="outline_size" type="int" default="0" />
<argument index="9" name="outline_modulate" type="Color" default="Color(1, 1, 1, 0)" />
@@ -116,7 +116,7 @@
<argument index="2" name="text" type="String" />
<argument index="3" name="align" type="int" enum="HAlign" default="0" />
<argument index="4" name="width" type="float" default="-1" />
- <argument index="5" name="size" type="int" default="-1" />
+ <argument index="5" name="size" type="int" default="16" />
<argument index="6" name="modulate" type="Color" default="Color(1, 1, 1, 1)" />
<argument index="7" name="outline_size" type="int" default="0" />
<argument index="8" name="outline_modulate" type="Color" default="Color(1, 1, 1, 0)" />
@@ -128,7 +128,7 @@
</method>
<method name="get_ascent" qualifiers="const">
<return type="float" />
- <argument index="0" name="size" type="int" default="-1" />
+ <argument index="0" name="size" type="int" default="16" />
<description>
Returns the average font ascent (number of pixels above the baseline).
[b]Note:[/b] Real ascent of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate (e.g. as the ascent of empty line).
@@ -138,7 +138,7 @@
<return type="Vector2" />
<argument index="0" name="char" type="int" />
<argument index="1" name="next" type="int" default="0" />
- <argument index="2" name="size" type="int" default="-1" />
+ <argument index="2" name="size" type="int" default="16" />
<description>
Returns the size of a character, optionally taking kerning into account if the next character is provided.
[b]Note:[/b] Do not use this function to calculate width of the string character by character, use [method get_string_size] or [TextLine] instead. The height returned is the font height (see also [method get_height]) and has no relation to the glyph height.
@@ -166,7 +166,7 @@
</method>
<method name="get_descent" qualifiers="const">
<return type="float" />
- <argument index="0" name="size" type="int" default="-1" />
+ <argument index="0" name="size" type="int" default="16" />
<description>
Returns the average font descent (number of pixels below the baseline).
[b]Note:[/b] Real descent of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate (e.g. as the descent of empty line).
@@ -174,7 +174,7 @@
</method>
<method name="get_height" qualifiers="const">
<return type="float" />
- <argument index="0" name="size" type="int" default="-1" />
+ <argument index="0" name="size" type="int" default="16" />
<description>
Returns the total average font height (ascent plus descent) in pixels.
[b]Note:[/b] Real height of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate (e.g. as the height of empty line).
@@ -184,7 +184,7 @@
<return type="Vector2" />
<argument index="0" name="text" type="String" />
<argument index="1" name="width" type="float" default="-1" />
- <argument index="2" name="size" type="int" default="-1" />
+ <argument index="2" name="size" type="int" default="16" />
<argument index="3" name="flags" type="int" default="96" />
<description>
Returns the size of a bounding box of a string broken into the lines, taking kerning and advance into account.
@@ -201,7 +201,7 @@
<method name="get_string_size" qualifiers="const">
<return type="Vector2" />
<argument index="0" name="text" type="String" />
- <argument index="1" name="size" type="int" default="-1" />
+ <argument index="1" name="size" type="int" default="16" />
<argument index="2" name="align" type="int" enum="HAlign" default="0" />
<argument index="3" name="width" type="float" default="-1" />
<argument index="4" name="flags" type="int" default="3" />
@@ -220,7 +220,7 @@
</method>
<method name="get_underline_position" qualifiers="const">
<return type="float" />
- <argument index="0" name="size" type="int" default="-1" />
+ <argument index="0" name="size" type="int" default="16" />
<description>
Return average pixel offset of the underline below the baseline.
[b]Note:[/b] Real underline position of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate.
@@ -228,7 +228,7 @@
</method>
<method name="get_underline_thickness" qualifiers="const">
<return type="float" />
- <argument index="0" name="size" type="int" default="-1" />
+ <argument index="0" name="size" type="int" default="16" />
<description>
Return average thickness of the underline.
[b]Note:[/b] Real underline thickness of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate.
@@ -272,9 +272,6 @@
</method>
</methods>
<members>
- <member name="base_size" type="int" setter="set_base_size" getter="get_base_size" default="16">
- Default font size.
- </member>
<member name="spacing_bottom" type="int" setter="set_spacing" getter="get_spacing" default="0">
Extra spacing at the bottom of the line in pixels.
</member>
diff --git a/doc/classes/GeometryInstance3D.xml b/doc/classes/GeometryInstance3D.xml
index 97cef205c3..0a2c0fbe81 100644
--- a/doc/classes/GeometryInstance3D.xml
+++ b/doc/classes/GeometryInstance3D.xml
@@ -49,6 +49,9 @@
The material override for the whole geometry.
If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh.
</member>
+ <member name="transparency" type="float" setter="set_transparency" getter="get_transparency" default="0.0">
+ Transparency applied to the whole geometry. In spatial shaders, transparency is set as the default value of the [code]ALPHA[/code] built-in.
+ </member>
<member name="visibility_range_begin" type="float" setter="set_visibility_range_begin" getter="get_visibility_range_begin" default="0.0">
Starting distance from which the GeometryInstance3D will be visible, taking [member visibility_range_begin_margin] into account as well. The default value of 0 is used to disable the range check.
</member>
@@ -56,11 +59,14 @@
Margin for the [member visibility_range_begin] threshold. The GeometryInstance3D will only change its visibility state when it goes over or under the [member visibility_range_begin] threshold by this amount.
</member>
<member name="visibility_range_end" type="float" setter="set_visibility_range_end" getter="get_visibility_range_end" default="0.0">
- Distance from which the GeometryInstance3D will be hidden, taking [member visibility_range_end_margin] into account as well. The default value of 0 is used to disable the range check..
+ Distance from which the GeometryInstance3D will be hidden, taking [member visibility_range_end_margin] into account as well. The default value of 0 is used to disable the range check.
</member>
<member name="visibility_range_end_margin" type="float" setter="set_visibility_range_end_margin" getter="get_visibility_range_end_margin" default="0.0">
Margin for the [member visibility_range_end] threshold. The GeometryInstance3D will only change its visibility state when it goes over or under the [member visibility_range_end] threshold by this amount.
</member>
+ <member name="visibility_range_fade_mode" type="int" setter="set_visibility_range_fade_mode" getter="get_visibility_range_fade_mode" enum="GeometryInstance3D.VisibilityRangeFadeMode" default="0">
+ Controls which instances will be faded when approaching the limits of the visibility range. See [enum VisibilityRangeFadeMode] for possible values.
+ </member>
</members>
<constants>
<constant name="SHADOW_CASTING_SETTING_OFF" value="0" enum="ShadowCastingSetting">
@@ -94,5 +100,14 @@
</constant>
<constant name="LIGHTMAP_SCALE_MAX" value="4" enum="LightmapScale">
</constant>
+ <constant name="VISIBILITY_RANGE_FADE_DISABLED" value="0" enum="VisibilityRangeFadeMode">
+ Will not fade itself nor its visibility dependencies, hysteresis will be used instead. See [member visibility_range_begin] and [member Node3D.visibility_parent] for more information.
+ </constant>
+ <constant name="VISIBILITY_RANGE_FADE_SELF" value="1" enum="VisibilityRangeFadeMode">
+ Will fade-out itself when reaching the limits of its own visibility range. The fading range is determined by [member visibility_range_begin_margin] and [member visibility_range_end_margin].
+ </constant>
+ <constant name="VISIBILITY_RANGE_FADE_DEPENDENCIES" value="2" enum="VisibilityRangeFadeMode">
+ Will fade-in its visibility dependencies (see [member Node3D.visibility_parent]) when reaching the limits of its own visibility range. The fading range is determined by [member visibility_range_begin_margin] and [member visibility_range_end_margin].
+ </constant>
</constants>
</class>
diff --git a/doc/classes/GradientTexture2D.xml b/doc/classes/GradientTexture2D.xml
new file mode 100644
index 0000000000..d1520861ec
--- /dev/null
+++ b/doc/classes/GradientTexture2D.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="GradientTexture2D" inherits="Texture2D" version="4.0">
+ <brief_description>
+ Gradient-filled 2D texture.
+ </brief_description>
+ <description>
+ The texture uses a [Gradient] to fill the texture data in 2D space. The gradient is filled according to the specified [member fill] and [member repeat] types using colors obtained from the gradient. The texture does not necessarily represent an exact copy of the gradient, but instead an interpolation of samples obtained from the gradient at fixed steps (see [member width] and [member height]).
+ </description>
+ <tutorials>
+ </tutorials>
+ <members>
+ <member name="fill" type="int" setter="set_fill" getter="get_fill" enum="GradientTexture2D.Fill" default="0">
+ The gradient fill type, one of the [enum Fill] values. The texture is filled by interpolating colors starting from [member fill_from] to [member fill_to] offsets.
+ </member>
+ <member name="fill_from" type="Vector2" setter="set_fill_from" getter="get_fill_from" default="Vector2(0, 0)">
+ The initial offset used to fill the texture specified in UV coordinates.
+ </member>
+ <member name="fill_to" type="Vector2" setter="set_fill_to" getter="get_fill_to" default="Vector2(1, 0)">
+ The final offset used to fill the texture specified in UV coordinates.
+ </member>
+ <member name="gradient" type="Gradient" setter="set_gradient" getter="get_gradient">
+ The [Gradient] used to fill the texture.
+ </member>
+ <member name="height" type="int" setter="set_height" getter="get_height" default="64">
+ The number of vertical color samples that will be obtained from the [Gradient], which also represents the texture's height.
+ </member>
+ <member name="repeat" type="int" setter="set_repeat" getter="get_repeat" enum="GradientTexture2D.Repeat" default="0">
+ The gradient repeat type, one of the [enum Repeat] values. The texture is filled starting from [member fill_from] to [member fill_to] offsets by default, but the gradient fill can be repeated to cover the entire texture.
+ </member>
+ <member name="use_hdr" type="bool" setter="set_use_hdr" getter="is_using_hdr" default="false">
+ If [code]true[/code], the generated texture will support high dynamic range ([constant Image.FORMAT_RGBAF] format). This allows for glow effects to work if [member Environment.glow_enabled] is [code]true[/code]. If [code]false[/code], the generated texture will use low dynamic range; overbright colors will be clamped ([constant Image.FORMAT_RGBA8] format).
+ </member>
+ <member name="width" type="int" setter="set_width" getter="get_width" default="64">
+ The number of horizontal color samples that will be obtained from the [Gradient], which also represents the texture's width.
+ </member>
+ </members>
+ <constants>
+ <constant name="FILL_LINEAR" value="0" enum="Fill">
+ The colors are linearly interpolated in a straight line.
+ </constant>
+ <constant name="FILL_RADIAL" value="1" enum="Fill">
+ The colors are linearly interpolated in a circular pattern.
+ </constant>
+ <constant name="REPEAT_NONE" value="0" enum="Repeat">
+ The gradient fill is restricted to the range defined by [member fill_from] to [member fill_to] offsets.
+ </constant>
+ <constant name="REPEAT" value="1" enum="Repeat">
+ The texture is filled starting from [member fill_from] to [member fill_to] offsets, repeating the same pattern in both directions.
+ </constant>
+ <constant name="REPEAT_MIRROR" value="2" enum="Repeat">
+ The texture is filled starting from [member fill_from] to [member fill_to] offsets, mirroring the pattern in both directions.
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml
index 88e4a67615..1fded42db2 100644
--- a/doc/classes/Input.xml
+++ b/doc/classes/Input.xml
@@ -37,6 +37,13 @@
Adds a new mapping entry (in SDL2 format) to the mapping database. Optionally update already connected devices.
</description>
</method>
+ <method name="flush_buffered_events">
+ <return type="void" />
+ <description>
+ Sends all input events which are in the current buffer to the game loop. These events may have been buffered as a result of accumulated input ([method set_use_accumulated_input]) or agile input flushing ([member ProjectSettings.input_devices/buffering/agile_event_flushing]).
+ The engine will already do this itself at key execution points (at least once per frame). However, this can be useful in advanced cases where you want precise control over the timing of event handling.
+ </description>
+ </method>
<method name="get_accelerometer" qualifiers="const">
<return type="Vector3" />
<description>
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index 0a995c770b..baa0faaae9 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -71,12 +71,6 @@
When there is no item at that point, -1 will be returned if [code]exact[/code] is [code]true[/code], and the closest item index will be returned otherwise.
</description>
</method>
- <method name="get_item_count" qualifiers="const">
- <return type="int" />
- <description>
- Returns the number of items currently in the list.
- </description>
- </method>
<method name="get_item_custom_bg_color" qualifiers="const">
<return type="Color" />
<argument index="0" name="idx" type="int" />
@@ -387,6 +381,9 @@
<member name="icon_scale" type="float" setter="set_icon_scale" getter="get_icon_scale" default="1.0">
The scale of icon applied after [member fixed_icon_size] and transposing takes effect.
</member>
+ <member name="items_count" type="int" setter="set_item_count" getter="get_item_count" default="0">
+ The number of items currently in the list.
+ </member>
<member name="max_columns" type="int" setter="set_max_columns" getter="get_max_columns" default="1">
Maximum columns the list will have.
If greater than zero, the content will be split among the specified columns.
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index a37bab9b11..f79ba5a16f 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -184,6 +184,9 @@
<member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled" default="true">
If [code]true[/code], the context menu will appear when right-clicked.
</member>
+ <member name="deselect_on_focus_loss_enabled" type="bool" setter="set_deselect_on_focus_loss_enabled" getter="is_deselect_on_focus_loss_enabled" default="true">
+ If [code]true[/code], the selected text will be deselected when focus is lost.
+ </member>
<member name="draw_control_chars" type="bool" setter="set_draw_control_chars" getter="get_draw_control_chars" default="false">
If [code]true[/code], control characters are displayed.
</member>
diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml
index e4445e9076..0329ed833f 100644
--- a/doc/classes/LinkButton.xml
+++ b/doc/classes/LinkButton.xml
@@ -75,6 +75,9 @@
<theme_item name="font_color" data_type="color" type="Color" default="Color(0.88, 0.88, 0.88, 1)">
Default text [Color] of the [LinkButton].
</theme_item>
+ <theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
+ Text [Color] used when the [LinkButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
+ </theme_item>
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
Text [Color] used when the [LinkButton] is being hovered.
</theme_item>
diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml
index dda9b98db4..41ba1fcd0f 100644
--- a/doc/classes/MenuButton.xml
+++ b/doc/classes/MenuButton.xml
@@ -58,6 +58,9 @@
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(1, 1, 1, 0.3)">
Text [Color] used when the [MenuButton] is disabled.
</theme_item>
+ <theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
+ Text [Color] used when the [MenuButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
+ </theme_item>
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
Text [Color] used when the [MenuButton] is being hovered.
</theme_item>
diff --git a/doc/classes/NinePatchRect.xml b/doc/classes/NinePatchRect.xml
index 77fd9165bb..636ed368d1 100644
--- a/doc/classes/NinePatchRect.xml
+++ b/doc/classes/NinePatchRect.xml
@@ -68,11 +68,11 @@
</constant>
<constant name="AXIS_STRETCH_MODE_TILE" value="1" enum="AxisStretchMode">
Repeats the center texture across the NinePatchRect. This won't cause any visible distortion. The texture must be seamless for this to work without displaying artifacts between edges.
- [b]Note:[/b] Only supported when using the GLES3 renderer. When using the GLES2 renderer, this will behave like [constant AXIS_STRETCH_MODE_STRETCH].
+ [b]Note:[/b] Only supported when using the Vulkan renderer. When using the OpenGL renderer, this will behave like [constant AXIS_STRETCH_MODE_STRETCH].
</constant>
<constant name="AXIS_STRETCH_MODE_TILE_FIT" value="2" enum="AxisStretchMode">
Repeats the center texture across the NinePatchRect, but will also stretch the texture to make sure each tile is visible in full. This may cause the texture to be distorted, but less than [constant AXIS_STRETCH_MODE_STRETCH]. The texture must be seamless for this to work without displaying artifacts between edges.
- [b]Note:[/b] Only supported when using the GLES3 renderer. When using the GLES2 renderer, this will behave like [constant AXIS_STRETCH_MODE_STRETCH].
+ [b]Note:[/b] Only supported when using the Vulkan renderer. When using the OpenGL renderer, this will behave like [constant AXIS_STRETCH_MODE_STRETCH].
</constant>
</constants>
</class>
diff --git a/doc/classes/Node3D.xml b/doc/classes/Node3D.xml
index 28acd77a39..2ca664e2b5 100644
--- a/doc/classes/Node3D.xml
+++ b/doc/classes/Node3D.xml
@@ -264,16 +264,28 @@
</method>
</methods>
<members>
+ <member name="basis" type="Basis" setter="set_basis" getter="get_basis">
+ Direct access to the 3x3 basis of the [Transform3D] property.
+ </member>
<member name="global_transform" type="Transform3D" setter="set_global_transform" getter="get_global_transform">
World3D space (global) [Transform3D] of this node.
</member>
<member name="position" type="Vector3" setter="set_position" getter="get_position" default="Vector3(0, 0, 0)">
Local position or translation of this node relative to the parent. This is equivalent to [code]transform.origin[/code].
</member>
+ <member name="quaternion" type="Quaternion" setter="set_quaternion" getter="get_quaternion">
+ Access to the node rotation as a [Quaternion]. This property is ideal for tweening complex rotations.
+ </member>
<member name="rotation" type="Vector3" setter="set_rotation" getter="get_rotation" default="Vector3(0, 0, 0)">
- Rotation part of the local transformation in radians, specified in terms of YXZ-Euler angles in the format (X angle, Y angle, Z angle).
+ Rotation part of the local transformation in radians, specified in terms of Euler angles. The angles construct a rotaton in the order specified by the [member rotation_order] property.
[b]Note:[/b] In the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three independent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a [Vector3] data structure not because the rotation is a vector, but only because [Vector3] exists as a convenient data-structure to store 3 floating-point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful.
</member>
+ <member name="rotation_edit_mode" type="int" setter="set_rotation_edit_mode" getter="get_rotation_edit_mode" enum="Node3D.RotationEditMode" default="0">
+ Specify how rotation (and scale) will be presented in the editor.
+ </member>
+ <member name="rotation_order" type="int" setter="set_rotation_order" getter="get_rotation_order" enum="Node3D.RotationOrder" default="2">
+ Specify the axis rotation order of the [member rotation] property. The final orientation is constructed by rotating the Euler angles in the order specified by this property.
+ </member>
<member name="scale" type="Vector3" setter="set_scale" getter="get_scale" default="Vector3(1, 1, 1)">
Scale part of the local transformation.
</member>
@@ -311,5 +323,23 @@
<constant name="NOTIFICATION_VISIBILITY_CHANGED" value="43">
Node3D nodes receives this notification when their visibility changes.
</constant>
+ <constant name="ROTATION_EDIT_MODE_EULER" value="0" enum="RotationEditMode">
+ </constant>
+ <constant name="ROTATION_EDIT_MODE_QUATERNION" value="1" enum="RotationEditMode">
+ </constant>
+ <constant name="ROTATION_EDIT_MODE_BASIS" value="2" enum="RotationEditMode">
+ </constant>
+ <constant name="ROTATION_ORDER_XYZ" value="0" enum="RotationOrder">
+ </constant>
+ <constant name="ROTATION_ORDER_XZY" value="1" enum="RotationOrder">
+ </constant>
+ <constant name="ROTATION_ORDER_YXZ" value="2" enum="RotationOrder">
+ </constant>
+ <constant name="ROTATION_ORDER_YZX" value="3" enum="RotationOrder">
+ </constant>
+ <constant name="ROTATION_ORDER_ZXY" value="4" enum="RotationOrder">
+ </constant>
+ <constant name="ROTATION_ORDER_ZYX" value="5" enum="RotationOrder">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml
index 17c6ba38b7..e2772a3ee0 100644
--- a/doc/classes/NodePath.xml
+++ b/doc/classes/NodePath.xml
@@ -25,21 +25,21 @@
<tutorials>
<link title="2D Role Playing Game Demo">https://godotengine.org/asset-library/asset/520</link>
</tutorials>
- <methods>
- <method name="NodePath" qualifiers="constructor">
+ <constructors>
+ <constructor name="NodePath">
<return type="NodePath" />
<description>
Constructs an empty [NodePath].
</description>
- </method>
- <method name="NodePath" qualifiers="constructor">
+ </constructor>
+ <constructor name="NodePath">
<return type="NodePath" />
<argument index="0" name="from" type="NodePath" />
<description>
Constructs a [NodePath] as a copy of the given [NodePath].
</description>
- </method>
- <method name="NodePath" qualifiers="constructor">
+ </constructor>
+ <constructor name="NodePath">
<return type="NodePath" />
<argument index="0" name="from" type="String" />
<description>
@@ -61,7 +61,9 @@
"/root/Level/Path2D"
[/codeblock]
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="get_as_property_path" qualifiers="const">
<return type="NodePath" />
<description>
@@ -166,27 +168,29 @@
Returns [code]true[/code] if the node path is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
+ </methods>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="NodePath" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="NodePath" />
<description>
</description>
- </method>
- </methods>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index 656fa61af7..f4d48f5db2 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -31,12 +31,21 @@
[b]Note:[/b] This method is implemented on Linux, macOS and Windows.
</description>
</method>
+ <method name="create_instance">
+ <return type="int" />
+ <argument index="0" name="arguments" type="PackedStringArray" />
+ <description>
+ Creates a new instance of Godot that runs independently. The [code]arguments[/code] are used in the given order and separated by a space.
+ If the process creation succeeds, the method will return the new process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process creation fails, the method will return [code]-1[/code].
+ [b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and Windows.
+ </description>
+ </method>
<method name="create_process">
<return type="int" />
<argument index="0" name="path" type="String" />
<argument index="1" name="arguments" type="PackedStringArray" />
<description>
- Creates a new process that runs independently of Godot. It will not terminate if Godot terminates. The file specified in [code]path[/code] must exist and be executable. Platform path resolution will be used. The [code]arguments[/code] are used in the given order and separated by a space.
+ Creates a new process that runs independently of Godot. It will not terminate if Godot terminates. The path specified in [code]path[/code] must exist and be executable file or macOS .app bundle. Platform path resolution will be used. The [code]arguments[/code] are used in the given order and separated by a space.
If the process creation succeeds, the method will return the new process ID, which you can use to monitor the process (and potentially terminate it with [method kill]). If the process creation fails, the method will return [code]-1[/code].
For example, running another instance of the project:
[codeblocks]
@@ -49,7 +58,7 @@
[/codeblocks]
See [method execute] if you wish to run an external command and retrieve the results.
[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and Windows.
- [b]Note:[/b] On macOS, sandboxed applications are limited to run only embedded helper executables, specified during export.
+ [b]Note:[/b] On macOS, sandboxed applications are limited to run only embedded helper executables, specified during export or system .app bundle, system .app bundles will ignore arguments.
</description>
</method>
<method name="delay_msec" qualifiers="const">
@@ -57,7 +66,7 @@
<argument index="0" name="msec" type="int" />
<description>
Delays execution of the current thread by [code]msec[/code] milliseconds. [code]msec[/code] must be greater than or equal to [code]0[/code]. Otherwise, [method delay_msec] will do nothing and will print an error message.
- [b]Note:[/b] [method delay_msec] is a [i]blocking[/i] way to delay code execution. To delay code execution in a non-blocking way, see [method SceneTree.create_timer]. Yielding with [method SceneTree.create_timer] will delay the execution of code placed below the [code]yield[/code] without affecting the rest of the project (or editor, for [EditorPlugin]s and [EditorScript]s).
+ [b]Note:[/b] [method delay_msec] is a [i]blocking[/i] way to delay code execution. To delay code execution in a non-blocking way, see [method SceneTree.create_timer]. Awaiting with [method SceneTree.create_timer] will delay the execution of code placed below the [code]await[/code] without affecting the rest of the project (or editor, for [EditorPlugin]s and [EditorScript]s).
[b]Note:[/b] When [method delay_msec] is called on the main thread, it will freeze the project and will prevent it from redrawing and registering input until the delay has passed. When using [method delay_msec] as part of an [EditorPlugin] or [EditorScript], it will freeze the editor but won't freeze the project if it is currently running (since the project is an independent child process).
</description>
</method>
@@ -66,7 +75,7 @@
<argument index="0" name="usec" type="int" />
<description>
Delays execution of the current thread by [code]usec[/code] microseconds. [code]usec[/code] must be greater than or equal to [code]0[/code]. Otherwise, [method delay_usec] will do nothing and will print an error message.
- [b]Note:[/b] [method delay_usec] is a [i]blocking[/i] way to delay code execution. To delay code execution in a non-blocking way, see [method SceneTree.create_timer]. Yielding with [method SceneTree.create_timer] will delay the execution of code placed below the [code]yield[/code] without affecting the rest of the project (or editor, for [EditorPlugin]s and [EditorScript]s).
+ [b]Note:[/b] [method delay_usec] is a [i]blocking[/i] way to delay code execution. To delay code execution in a non-blocking way, see [method SceneTree.create_timer]. Awaiting with [method SceneTree.create_timer] will delay the execution of code placed below the [code]await[/code] without affecting the rest of the project (or editor, for [EditorPlugin]s and [EditorScript]s).
[b]Note:[/b] When [method delay_usec] is called on the main thread, it will freeze the project and will prevent it from redrawing and registering input until the delay has passed. When using [method delay_usec] as part of an [EditorPlugin] or [EditorScript], it will freeze the editor but won't freeze the project if it is currently running (since the project is an independent child process).
</description>
</method>
@@ -201,6 +210,7 @@
<return type="String" />
<description>
Returns the path to the current engine executable.
+ [b]Note:[/b] On macOS, always use [method create_instance] instead of relying on executable path.
</description>
</method>
<method name="get_granted_permissions" qualifiers="const">
@@ -455,11 +465,11 @@
</member>
</members>
<constants>
- <constant name="VIDEO_DRIVER_GLES2" value="0" enum="VideoDriver">
- The GLES2 rendering backend. It uses OpenGL ES 2.0 on mobile devices, OpenGL 2.1 on desktop platforms and WebGL 1.0 on the web.
+ <constant name="VIDEO_DRIVER_VULKAN" value="0" enum="VideoDriver">
+ The Vulkan rendering backend. It requires Vulkan 1.0 support and automatically uses features from Vulkan 1.1 and 1.2 if available.
</constant>
- <constant name="VIDEO_DRIVER_VULKAN" value="1" enum="VideoDriver">
- The Vulkan rendering backend.
+ <constant name="VIDEO_DRIVER_OPENGL_3" value="1" enum="VideoDriver">
+ The OpenGL 3 rendering backend. It uses OpenGL 3.3 Core Profile on desktop platforms, OpenGL ES 3.0 on mobile devices, and WebGL 2.0 on HTML5.
</constant>
<constant name="DAY_SUNDAY" value="0" enum="Weekday">
Sunday.
diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml
index 5c64dc4162..a3616af999 100644
--- a/doc/classes/OptionButton.xml
+++ b/doc/classes/OptionButton.xml
@@ -209,6 +209,9 @@
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.9, 0.9, 0.9, 0.2)">
Text [Color] used when the [OptionButton] is disabled.
</theme_item>
+ <theme_item name="font_focus_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
+ Text [Color] used when the [OptionButton] is focused. Only replaces the normal text color of the button. Disabled, hovered, and pressed states take precedence over this color.
+ </theme_item>
<theme_item name="font_hover_color" data_type="color" type="Color" default="Color(0.94, 0.94, 0.94, 1)">
Text [Color] used when the [OptionButton] is being hovered.
</theme_item>
diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml
index 39733baf40..f951df1eb7 100644
--- a/doc/classes/PackedByteArray.xml
+++ b/doc/classes/PackedByteArray.xml
@@ -8,27 +8,29 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="PackedByteArray" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedByteArray">
<return type="PackedByteArray" />
<description>
Constructs an empty [PackedByteArray].
</description>
- </method>
- <method name="PackedByteArray" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedByteArray">
<return type="PackedByteArray" />
<argument index="0" name="from" type="PackedByteArray" />
<description>
Constructs a [PackedByteArray] as a copy of the given [PackedByteArray].
</description>
- </method>
- <method name="PackedByteArray" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedByteArray">
<return type="PackedByteArray" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedByteArray]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="int" />
@@ -323,40 +325,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedByteArray" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedByteArray" />
- <argument index="0" name="right" type="PackedByteArray" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedByteArray" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="int" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="int" />
@@ -445,4 +413,40 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedByteArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedByteArray" />
+ <argument index="0" name="right" type="PackedByteArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedByteArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="int" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml
index 00e670646d..4aa8a19630 100644
--- a/doc/classes/PackedColorArray.xml
+++ b/doc/classes/PackedColorArray.xml
@@ -8,27 +8,29 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="PackedColorArray" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedColorArray">
<return type="PackedColorArray" />
<description>
Constructs an empty [PackedColorArray].
</description>
- </method>
- <method name="PackedColorArray" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedColorArray">
<return type="PackedColorArray" />
<argument index="0" name="from" type="PackedColorArray" />
<description>
Constructs a [PackedColorArray] as a copy of the given [PackedColorArray].
</description>
- </method>
- <method name="PackedColorArray" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedColorArray">
<return type="PackedColorArray" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedColorArray]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="Color" />
@@ -86,40 +88,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedColorArray" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedColorArray" />
- <argument index="0" name="right" type="PackedColorArray" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedColorArray" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="Color" />
@@ -180,4 +148,40 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedColorArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedColorArray" />
+ <argument index="0" name="right" type="PackedColorArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedColorArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="Color" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml
index 2ee2ac44df..68fb45a62a 100644
--- a/doc/classes/PackedFloat32Array.xml
+++ b/doc/classes/PackedFloat32Array.xml
@@ -9,27 +9,29 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="PackedFloat32Array" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedFloat32Array">
<return type="PackedFloat32Array" />
<description>
Constructs an empty [PackedFloat32Array].
</description>
- </method>
- <method name="PackedFloat32Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedFloat32Array">
<return type="PackedFloat32Array" />
<argument index="0" name="from" type="PackedFloat32Array" />
<description>
Constructs a [PackedFloat32Array] as a copy of the given [PackedFloat32Array].
</description>
- </method>
- <method name="PackedFloat32Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedFloat32Array">
<return type="PackedFloat32Array" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedFloat32Array]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="float" />
@@ -87,40 +89,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedFloat32Array" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedFloat32Array" />
- <argument index="0" name="right" type="PackedFloat32Array" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedFloat32Array" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="float" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="float" />
@@ -183,4 +151,40 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedFloat32Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedFloat32Array" />
+ <argument index="0" name="right" type="PackedFloat32Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedFloat32Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="float" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml
index 7414bc72fc..740591a0c0 100644
--- a/doc/classes/PackedFloat64Array.xml
+++ b/doc/classes/PackedFloat64Array.xml
@@ -9,27 +9,29 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="PackedFloat64Array" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedFloat64Array">
<return type="PackedFloat64Array" />
<description>
Constructs an empty [PackedFloat64Array].
</description>
- </method>
- <method name="PackedFloat64Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedFloat64Array">
<return type="PackedFloat64Array" />
<argument index="0" name="from" type="PackedFloat64Array" />
<description>
Constructs a [PackedFloat64Array] as a copy of the given [PackedFloat64Array].
</description>
- </method>
- <method name="PackedFloat64Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedFloat64Array">
<return type="PackedFloat64Array" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedFloat64Array]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="float" />
@@ -87,40 +89,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedFloat64Array" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedFloat64Array" />
- <argument index="0" name="right" type="PackedFloat64Array" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedFloat64Array" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="float" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="float" />
@@ -183,4 +151,40 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedFloat64Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedFloat64Array" />
+ <argument index="0" name="right" type="PackedFloat64Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedFloat64Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="float" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml
index 8ecf4a70ae..7a01bb6c7c 100644
--- a/doc/classes/PackedInt32Array.xml
+++ b/doc/classes/PackedInt32Array.xml
@@ -9,27 +9,29 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="PackedInt32Array" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedInt32Array">
<return type="PackedInt32Array" />
<description>
Constructs an empty [PackedInt32Array].
</description>
- </method>
- <method name="PackedInt32Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedInt32Array">
<return type="PackedInt32Array" />
<argument index="0" name="from" type="PackedInt32Array" />
<description>
Constructs a [PackedInt32Array] as a copy of the given [PackedInt32Array].
</description>
- </method>
- <method name="PackedInt32Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedInt32Array">
<return type="PackedInt32Array" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedInt32Array]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="int" />
@@ -87,40 +89,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedInt32Array" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedInt32Array" />
- <argument index="0" name="right" type="PackedInt32Array" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedInt32Array" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="int" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="int" />
@@ -183,4 +151,40 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedInt32Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedInt32Array" />
+ <argument index="0" name="right" type="PackedInt32Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedInt32Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="int" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml
index b82ce79009..c7b69d4ad5 100644
--- a/doc/classes/PackedInt64Array.xml
+++ b/doc/classes/PackedInt64Array.xml
@@ -9,27 +9,29 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="PackedInt64Array" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedInt64Array">
<return type="PackedInt64Array" />
<description>
Constructs an empty [PackedInt64Array].
</description>
- </method>
- <method name="PackedInt64Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedInt64Array">
<return type="PackedInt64Array" />
<argument index="0" name="from" type="PackedInt64Array" />
<description>
Constructs a [PackedInt64Array] as a copy of the given [PackedInt64Array].
</description>
- </method>
- <method name="PackedInt64Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedInt64Array">
<return type="PackedInt64Array" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedInt64Array]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="int" />
@@ -87,40 +89,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedInt64Array" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedInt64Array" />
- <argument index="0" name="right" type="PackedInt64Array" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedInt64Array" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="int" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="int" />
@@ -183,4 +151,40 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedInt64Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedInt64Array" />
+ <argument index="0" name="right" type="PackedInt64Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedInt64Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="int" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml
index 353bbfb827..dfebfb718b 100644
--- a/doc/classes/PackedStringArray.xml
+++ b/doc/classes/PackedStringArray.xml
@@ -9,27 +9,29 @@
<tutorials>
<link title="OS Test Demo">https://godotengine.org/asset-library/asset/677</link>
</tutorials>
- <methods>
- <method name="PackedStringArray" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedStringArray">
<return type="PackedStringArray" />
<description>
Constructs an empty [PackedStringArray].
</description>
- </method>
- <method name="PackedStringArray" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedStringArray">
<return type="PackedStringArray" />
<argument index="0" name="from" type="PackedStringArray" />
<description>
Constructs a [PackedStringArray] as a copy of the given [PackedStringArray].
</description>
- </method>
- <method name="PackedStringArray" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedStringArray">
<return type="PackedStringArray" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedStringArray]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="String" />
@@ -87,40 +89,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedStringArray" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedStringArray" />
- <argument index="0" name="right" type="PackedStringArray" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedStringArray" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="String" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="String" />
@@ -181,4 +149,40 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedStringArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedStringArray" />
+ <argument index="0" name="right" type="PackedStringArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedStringArray" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="String" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml
index 7b7df221e7..bf9b7e97d4 100644
--- a/doc/classes/PackedVector2Array.xml
+++ b/doc/classes/PackedVector2Array.xml
@@ -9,27 +9,29 @@
<tutorials>
<link title="2D Navigation Astar Demo">https://godotengine.org/asset-library/asset/519</link>
</tutorials>
- <methods>
- <method name="PackedVector2Array" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedVector2Array">
<return type="PackedVector2Array" />
<description>
Constructs an empty [PackedVector2Array].
</description>
- </method>
- <method name="PackedVector2Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedVector2Array">
<return type="PackedVector2Array" />
<argument index="0" name="from" type="PackedVector2Array" />
<description>
Constructs a [PackedVector2Array] as a copy of the given [PackedVector2Array].
</description>
- </method>
- <method name="PackedVector2Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedVector2Array">
<return type="PackedVector2Array" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedVector2Array]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="Vector2" />
@@ -87,46 +89,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedVector2Array" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="PackedVector2Array" />
- <argument index="0" name="right" type="Transform2D" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedVector2Array" />
- <argument index="0" name="right" type="PackedVector2Array" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedVector2Array" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="Vector2" />
@@ -187,4 +149,46 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedVector2Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="PackedVector2Array" />
+ <argument index="0" name="right" type="Transform2D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedVector2Array" />
+ <argument index="0" name="right" type="PackedVector2Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedVector2Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="Vector2" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml
index efbf2169fd..b439f8f217 100644
--- a/doc/classes/PackedVector3Array.xml
+++ b/doc/classes/PackedVector3Array.xml
@@ -8,27 +8,29 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="PackedVector3Array" qualifiers="constructor">
+ <constructors>
+ <constructor name="PackedVector3Array">
<return type="PackedVector3Array" />
<description>
Constructs an empty [PackedVector3Array].
</description>
- </method>
- <method name="PackedVector3Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedVector3Array">
<return type="PackedVector3Array" />
<argument index="0" name="from" type="PackedVector3Array" />
<description>
Constructs a [PackedVector3Array] as a copy of the given [PackedVector3Array].
</description>
- </method>
- <method name="PackedVector3Array" qualifiers="constructor">
+ </constructor>
+ <constructor name="PackedVector3Array">
<return type="PackedVector3Array" />
<argument index="0" name="from" type="Array" />
<description>
Constructs a new [PackedVector3Array]. Optionally, you can pass in a generic [Array] that will be converted.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="append">
<return type="bool" />
<argument index="0" name="value" type="Vector3" />
@@ -86,46 +88,6 @@
Returns [code]true[/code] if the array is empty.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedVector3Array" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="PackedVector3Array" />
- <argument index="0" name="right" type="Transform3D" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="PackedVector3Array" />
- <argument index="0" name="right" type="PackedVector3Array" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="PackedVector3Array" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="push_back">
<return type="bool" />
<argument index="0" name="value" type="Vector3" />
@@ -186,4 +148,46 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedVector3Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="PackedVector3Array" />
+ <argument index="0" name="right" type="Transform3D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="PackedVector3Array" />
+ <argument index="0" name="right" type="PackedVector3Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="PackedVector3Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="Vector3" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PhysicalBone3D.xml b/doc/classes/PhysicalBone3D.xml
index 710e96239b..a9963d59e8 100644
--- a/doc/classes/PhysicalBone3D.xml
+++ b/doc/classes/PhysicalBone3D.xml
@@ -37,8 +37,12 @@
</method>
</methods>
<members>
- <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="-1.0">
- Damps the body's rotation if greater than [code]0[/code].
+ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="0.0">
+ Damps the body's rotation. By default, the body will use the [b]Default Angular Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b] or any value override set by an [Area3D] the body is in. Depending on [member angular_damp_mode], you can set [member angular_damp] to be added to or to replace the body's damping value.
+ See [member ProjectSettings.physics/3d/default_angular_damp] for more details about damping.
+ </member>
+ <member name="angular_damp_mode" type="int" setter="set_angular_damp_mode" getter="get_angular_damp_mode" enum="PhysicalBone3D.DampMode" default="0">
+ Defines how [member angular_damp] is applied. See [enum DampMode] for possible values.
</member>
<member name="body_offset" type="Transform3D" setter="set_body_offset" getter="get_body_offset" default="Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)">
Sets the body's transform.
@@ -64,14 +68,24 @@
<member name="joint_type" type="int" setter="set_joint_type" getter="get_joint_type" enum="PhysicalBone3D.JointType" default="0">
Sets the joint type. See [enum JointType] for possible values.
</member>
- <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="-1.0">
- Damps the body's movement if greater than [code]0[/code].
+ <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="0.0">
+ Damps the body's movement. By default, the body will use the [b]Default Linear Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b] or any value override set by an [Area3D] the body is in. Depending on [member linear_damp_mode], you can set [member linear_damp] to be added to or to replace the body's damping value.
+ See [member ProjectSettings.physics/3d/default_linear_damp] for more details about damping.
+ </member>
+ <member name="linear_damp_mode" type="int" setter="set_linear_damp_mode" getter="get_linear_damp_mode" enum="PhysicalBone3D.DampMode" default="0">
+ Defines how [member linear_damp] is applied. See [enum DampMode] for possible values.
</member>
<member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0">
The body's mass.
</member>
</members>
<constants>
+ <constant name="DAMP_MODE_COMBINE" value="0" enum="DampMode">
+ In this mode, the body's damping value is added to any value set in areas or the default value.
+ </constant>
+ <constant name="DAMP_MODE_REPLACE" value="1" enum="DampMode">
+ In this mode, the body's damping value replaces any value set in areas or the default value.
+ </constant>
<constant name="JOINT_TYPE_NONE" value="0" enum="JointType">
</constant>
<constant name="JOINT_TYPE_PIN" value="1" enum="JointType">
diff --git a/doc/classes/PhysicsDirectSpaceState2D.xml b/doc/classes/PhysicsDirectSpaceState2D.xml
index 9aa00022cd..887b382267 100644
--- a/doc/classes/PhysicsDirectSpaceState2D.xml
+++ b/doc/classes/PhysicsDirectSpaceState2D.xml
@@ -26,6 +26,7 @@
<argument index="1" name="max_results" type="int" default="32" />
<description>
Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters2D] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time.
+ Returned points are a list of pairs of contact points. For each pair the first one is in the shape passed in [PhysicsShapeQueryParameters2D] object, second one is in the collided shape from the physics space.
</description>
</method>
<method name="get_rest_info">
diff --git a/doc/classes/PhysicsDirectSpaceState3D.xml b/doc/classes/PhysicsDirectSpaceState3D.xml
index 137e7bbf39..8c37072f29 100644
--- a/doc/classes/PhysicsDirectSpaceState3D.xml
+++ b/doc/classes/PhysicsDirectSpaceState3D.xml
@@ -27,6 +27,7 @@
<argument index="1" name="max_results" type="int" default="32" />
<description>
Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time.
+ Returned points are a list of pairs of contact points. For each pair the first one is in the shape passed in [PhysicsShapeQueryParameters3D] object, second one is in the collided shape from the physics space.
</description>
</method>
<method name="get_rest_info">
diff --git a/doc/classes/PhysicsServer2D.xml b/doc/classes/PhysicsServer2D.xml
index d55feff829..e44bf71e8d 100644
--- a/doc/classes/PhysicsServer2D.xml
+++ b/doc/classes/PhysicsServer2D.xml
@@ -123,8 +123,7 @@
<method name="area_set_area_monitor_callback">
<return type="void" />
<argument index="0" name="area" type="RID" />
- <argument index="1" name="receiver" type="Object" />
- <argument index="2" name="method" type="StringName" />
+ <argument index="1" name="callback" type="Callable" />
<description>
</description>
</method>
@@ -147,8 +146,7 @@
<method name="area_set_monitor_callback">
<return type="void" />
<argument index="0" name="area" type="RID" />
- <argument index="1" name="receiver" type="Object" />
- <argument index="2" name="method" type="StringName" />
+ <argument index="1" name="callback" type="Callable" />
<description>
Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters:
1: [constant AREA_BODY_ADDED] or [constant AREA_BODY_REMOVED], depending on whether the object entered or exited the area.
@@ -926,15 +924,27 @@
<constant name="BODY_PARAM_GRAVITY_SCALE" value="5" enum="BodyParameter">
Constant to set/get a body's gravity multiplier.
</constant>
- <constant name="BODY_PARAM_LINEAR_DAMP" value="6" enum="BodyParameter">
+ <constant name="BODY_PARAM_LINEAR_DAMP_MODE" value="6" enum="BodyParameter">
+ Constant to set/get a body's linear dampening mode. See [enum BodyDampMode] for possible values.
+ </constant>
+ <constant name="BODY_PARAM_ANGULAR_DAMP_MODE" value="7" enum="BodyParameter">
+ Constant to set/get a body's angular dampening mode. See [enum BodyDampMode] for possible values.
+ </constant>
+ <constant name="BODY_PARAM_LINEAR_DAMP" value="8" enum="BodyParameter">
Constant to set/get a body's linear dampening factor.
</constant>
- <constant name="BODY_PARAM_ANGULAR_DAMP" value="7" enum="BodyParameter">
+ <constant name="BODY_PARAM_ANGULAR_DAMP" value="9" enum="BodyParameter">
Constant to set/get a body's angular dampening factor.
</constant>
- <constant name="BODY_PARAM_MAX" value="8" enum="BodyParameter">
+ <constant name="BODY_PARAM_MAX" value="10" enum="BodyParameter">
Represents the size of the [enum BodyParameter] enum.
</constant>
+ <constant name="BODY_DAMP_MODE_COMBINE" value="0" enum="BodyDampMode">
+ The body's damping value is added to any value set in areas or the default value.
+ </constant>
+ <constant name="BODY_DAMP_MODE_REPLACE" value="1" enum="BodyDampMode">
+ The body's damping value replaces any value set in areas or the default value.
+ </constant>
<constant name="BODY_STATE_TRANSFORM" value="0" enum="BodyState">
Constant to set/get the current transform matrix of the body.
</constant>
diff --git a/doc/classes/PhysicsServer3D.xml b/doc/classes/PhysicsServer3D.xml
index 0e32d1defa..0c34cf8092 100644
--- a/doc/classes/PhysicsServer3D.xml
+++ b/doc/classes/PhysicsServer3D.xml
@@ -110,8 +110,7 @@
<method name="area_set_area_monitor_callback">
<return type="void" />
<argument index="0" name="area" type="RID" />
- <argument index="1" name="receiver" type="Object" />
- <argument index="2" name="method" type="StringName" />
+ <argument index="1" name="callback" type="Callable" />
<description>
</description>
</method>
@@ -134,8 +133,7 @@
<method name="area_set_monitor_callback">
<return type="void" />
<argument index="0" name="area" type="RID" />
- <argument index="1" name="receiver" type="Object" />
- <argument index="2" name="method" type="StringName" />
+ <argument index="1" name="callback" type="Callable" />
<description>
Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters:
1: [constant AREA_BODY_ADDED] or [constant AREA_BODY_REMOVED], depending on whether the object entered or exited the area.
@@ -1294,15 +1292,27 @@
<constant name="BODY_PARAM_GRAVITY_SCALE" value="5" enum="BodyParameter">
Constant to set/get a body's gravity multiplier.
</constant>
- <constant name="BODY_PARAM_LINEAR_DAMP" value="6" enum="BodyParameter">
+ <constant name="BODY_PARAM_LINEAR_DAMP_MODE" value="6" enum="BodyParameter">
+ Constant to set/get a body's linear dampening mode. See [enum BodyDampMode] for possible values.
+ </constant>
+ <constant name="BODY_PARAM_ANGULAR_DAMP_MODE" value="7" enum="BodyParameter">
+ Constant to set/get a body's angular dampening mode. See [enum BodyDampMode] for possible values.
+ </constant>
+ <constant name="BODY_PARAM_LINEAR_DAMP" value="8" enum="BodyParameter">
Constant to set/get a body's linear dampening factor.
</constant>
- <constant name="BODY_PARAM_ANGULAR_DAMP" value="7" enum="BodyParameter">
+ <constant name="BODY_PARAM_ANGULAR_DAMP" value="9" enum="BodyParameter">
Constant to set/get a body's angular dampening factor.
</constant>
- <constant name="BODY_PARAM_MAX" value="8" enum="BodyParameter">
+ <constant name="BODY_PARAM_MAX" value="10" enum="BodyParameter">
Represents the size of the [enum BodyParameter] enum.
</constant>
+ <constant name="BODY_DAMP_MODE_COMBINE" value="0" enum="BodyDampMode">
+ The body's damping value is added to any value set in areas or the default value.
+ </constant>
+ <constant name="BODY_DAMP_MODE_REPLACE" value="1" enum="BodyDampMode">
+ The body's damping value replaces any value set in areas or the default value.
+ </constant>
<constant name="BODY_STATE_TRANSFORM" value="0" enum="BodyState">
Constant to set/get the current transform matrix of the body.
</constant>
diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml
index f7a68e6a24..a20607d0a7 100644
--- a/doc/classes/Plane.xml
+++ b/doc/classes/Plane.xml
@@ -9,21 +9,21 @@
<tutorials>
<link title="Math documentation index">https://docs.godotengine.org/en/latest/tutorials/math/index.html</link>
</tutorials>
- <methods>
- <method name="Plane" qualifiers="constructor">
+ <constructors>
+ <constructor name="Plane">
<return type="Plane" />
<description>
Constructs a default-initialized [Plane] with all components set to [code]0[/code].
</description>
- </method>
- <method name="Plane" qualifiers="constructor">
+ </constructor>
+ <constructor name="Plane">
<return type="Plane" />
<argument index="0" name="from" type="Plane" />
<description>
Constructs a [Plane] as a copy of the given [Plane].
</description>
- </method>
- <method name="Plane" qualifiers="constructor">
+ </constructor>
+ <constructor name="Plane">
<return type="Plane" />
<argument index="0" name="a" type="float" />
<argument index="1" name="b" type="float" />
@@ -32,31 +32,31 @@
<description>
Creates a plane from the four parameters. The three components of the resulting plane's [member normal] are [code]a[/code], [code]b[/code] and [code]c[/code], and the plane has a distance of [code]d[/code] from the origin.
</description>
- </method>
- <method name="Plane" qualifiers="constructor">
+ </constructor>
+ <constructor name="Plane">
<return type="Plane" />
<argument index="0" name="normal" type="Vector3" />
- <argument index="1" name="point" type="Vector3" />
<description>
- Creates a plane from the normal vector and a point in the plane.
+ Creates a plane from the normal vector. The plane will intersect the origin.
</description>
- </method>
- <method name="Plane" qualifiers="constructor">
+ </constructor>
+ <constructor name="Plane">
<return type="Plane" />
<argument index="0" name="normal" type="Vector3" />
<argument index="1" name="d" type="float" />
<description>
- Creates a plane from the normal vector and the plane's distance to the origin.
+ Creates a plane from the normal vector and the plane's distance from the origin.
</description>
- </method>
- <method name="Plane" qualifiers="constructor">
+ </constructor>
+ <constructor name="Plane">
<return type="Plane" />
<argument index="0" name="normal" type="Vector3" />
+ <argument index="1" name="point" type="Vector3" />
<description>
- Creates a plane from the normal vector. The plane will intersect the origin.
+ Creates a plane from the normal vector and a point on the plane.
</description>
- </method>
- <method name="Plane" qualifiers="constructor">
+ </constructor>
+ <constructor name="Plane">
<return type="Plane" />
<argument index="0" name="point1" type="Vector3" />
<argument index="1" name="point2" type="Vector3" />
@@ -64,7 +64,9 @@
<description>
Creates a plane from the three points, given in clockwise order.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="center" qualifiers="const">
<return type="Vector3" />
<description>
@@ -130,38 +132,6 @@
Returns a copy of the plane, normalized.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Plane" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Plane" />
- <description>
- </description>
- </method>
- <method name="operator unary+" qualifiers="operator">
- <return type="Plane" />
- <description>
- </description>
- </method>
- <method name="operator unary-" qualifiers="operator">
- <return type="Plane" />
- <description>
- </description>
- </method>
<method name="project" qualifiers="const">
<return type="Vector3" />
<argument index="0" name="point" type="Vector3" />
@@ -200,4 +170,38 @@
A plane that extends in the X and Y axes (normal vector points +Z).
</constant>
</constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Plane" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Plane" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator unary+">
+ <return type="Plane" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator unary-">
+ <return type="Plane" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/PointLight2D.xml b/doc/classes/PointLight2D.xml
index 9c13179056..ec809ed0a8 100644
--- a/doc/classes/PointLight2D.xml
+++ b/doc/classes/PointLight2D.xml
@@ -8,7 +8,7 @@
</tutorials>
<members>
<member name="height" type="float" setter="set_height" getter="get_height" default="0.0">
- The height of the light. Used with 2D normal mapping.
+ The height of the light. Used with 2D normal mapping. The units are in pixels, e.g. if the height is 100, then it will illuminate an object 100 pixels away at a 45° angle to the plane.
</member>
<member name="offset" type="Vector2" setter="set_texture_offset" getter="get_texture_offset" default="Vector2(0, 0)">
The offset of the light's [member texture].
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index eec06d6f82..30409814d2 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -221,11 +221,6 @@
The project's name. It is used both by the Project Manager and by exporters. The project name can be translated by translating its value in localization files. The window title will be set to match the project name automatically on startup.
[b]Note:[/b] Changing this value will also change the user data folder's path if [member application/config/use_custom_user_dir] is [code]false[/code]. After renaming the project, you will no longer be able to access existing data in [code]user://[/code] unless you rename the old folder to match the new project name. See [url=https://docs.godotengine.org/en/latest/tutorials/io/data_paths.html]Data paths[/url] in the documentation for more information.
</member>
- <member name="application/config/project_data_dir_name" type="String" setter="" getter="" default="&quot;.godot&quot;">
- The project data directory is used for storing project-specific data (metadata, shader cache, etc.).
- [b]Note:[/b] Restart the application after changing this setting.
- [b]Note:[/b] Changing this value can help on platforms or with third-party tools where specific directory patterns are disallowed. Only modify this setting if you know that your environment requires it, as changing the default can impact compatibility with some external tools or plugins which expect the default [code].godot[/code] folder.
- </member>
<member name="application/config/project_settings_override" type="String" setter="" getter="" default="&quot;&quot;">
Specifies a file to override project settings. For example: [code]user://custom_settings.cfg[/code]. See "Overriding" in the [ProjectSettings] class description at the top for more information.
[b]Note:[/b] Regardless of this setting's value, [code]res://override.cfg[/code] will still be read to override the project settings.
@@ -233,6 +228,12 @@
<member name="application/config/use_custom_user_dir" type="bool" setter="" getter="" default="false">
If [code]true[/code], the project will save user data to its own user directory (see [member application/config/custom_user_dir_name]). This setting is only effective on desktop platforms. A name must be set in the [member application/config/custom_user_dir_name] setting for this to take effect. If [code]false[/code], the project will save user data to [code](OS user data directory)/Godot/app_userdata/(project name)[/code].
</member>
+ <member name="application/config/use_hidden_project_data_directory" type="bool" setter="" getter="" default="true">
+ If [code]true[/code], the project will use a hidden directory ([code].godot[/code]) for storing project-specific data (metadata, shader cache, etc.).
+ If [code]false[/code], a non-hidden directory ([code]godot[/code]) will be used instead.
+ [b]Note:[/b] Restart the application after changing this setting.
+ [b]Note:[/b] Changing this value can help on platforms or with third-party tools where hidden directory patterns are disallowed. Only modify this setting if you know that your environment requires it, as changing the default can impact compatibility with some external tools or plugins which expect the default [code].godot[/code] folder.
+ </member>
<member name="application/config/windows_native_icon" type="String" setter="" getter="" default="&quot;&quot;">
Icon set in [code].ico[/code] format used on Windows to set the game's icon. This is done automatically on start by calling [method DisplayServer.set_native_icon].
</member>
@@ -1474,6 +1475,18 @@
The number of fixed iterations per second. This controls how often physics simulation and [method Node._physics_process] methods are run.
[b]Note:[/b] This property is only read when the project starts. To change the physics FPS at runtime, set [member Engine.physics_ticks_per_second] instead.
</member>
+ <member name="rendering/2d/opengl/batching_send_null" type="int" setter="" getter="" default="0">
+ </member>
+ <member name="rendering/2d/opengl/batching_stream" type="int" setter="" getter="" default="0">
+ </member>
+ <member name="rendering/2d/opengl/legacy_orphan_buffers" type="int" setter="" getter="" default="0">
+ </member>
+ <member name="rendering/2d/opengl/legacy_stream" type="int" setter="" getter="" default="0">
+ </member>
+ <member name="rendering/2d/options/ninepatch_mode" type="int" setter="" getter="" default="1">
+ </member>
+ <member name="rendering/2d/options/use_software_skinning" type="bool" setter="" getter="" default="true">
+ </member>
<member name="rendering/2d/sdf/oversize" type="int" setter="" getter="" default="1">
</member>
<member name="rendering/2d/sdf/scale" type="int" setter="" getter="" default="1">
@@ -1503,6 +1516,32 @@
</member>
<member name="rendering/anti_aliasing/screen_space_roughness_limiter/limit" type="float" setter="" getter="" default="0.18">
</member>
+ <member name="rendering/batching/debug/diagnose_frame" type="bool" setter="" getter="" default="false">
+ </member>
+ <member name="rendering/batching/debug/flash_batching" type="bool" setter="" getter="" default="false">
+ </member>
+ <member name="rendering/batching/lights/max_join_items" type="int" setter="" getter="" default="32">
+ </member>
+ <member name="rendering/batching/lights/scissor_area_threshold" type="float" setter="" getter="" default="1.0">
+ </member>
+ <member name="rendering/batching/options/single_rect_fallback" type="bool" setter="" getter="" default="false">
+ </member>
+ <member name="rendering/batching/options/use_batching" type="bool" setter="" getter="" default="false">
+ </member>
+ <member name="rendering/batching/options/use_batching_in_editor" type="bool" setter="" getter="" default="false">
+ </member>
+ <member name="rendering/batching/parameters/batch_buffer_size" type="int" setter="" getter="" default="16384">
+ </member>
+ <member name="rendering/batching/parameters/colored_vertex_format_threshold" type="float" setter="" getter="" default="0.25">
+ </member>
+ <member name="rendering/batching/parameters/item_reordering_lookahead" type="int" setter="" getter="" default="4">
+ </member>
+ <member name="rendering/batching/parameters/max_join_item_commands" type="int" setter="" getter="" default="16">
+ </member>
+ <member name="rendering/batching/precision/uv_contract" type="bool" setter="" getter="" default="false">
+ </member>
+ <member name="rendering/batching/precision/uv_contract_amount" type="int" setter="" getter="" default="100">
+ </member>
<member name="rendering/camera/depth_of_field/depth_of_field_bokeh_quality" type="int" setter="" getter="" default="1">
Sets the quality of the depth of field effect. Higher quality takes more samples, which is slower but looks smoother.
</member>
@@ -1518,8 +1557,9 @@
<member name="rendering/driver/depth_prepass/enable" type="bool" setter="" getter="" default="true">
If [code]true[/code], performs a previous depth pass before rendering materials. This increases performance in scenes with high overdraw, when complex materials and lighting are used.
</member>
- <member name="rendering/driver/driver_name" type="String" setter="" getter="" default="&quot;Vulkan&quot;">
- The video driver to use (currently only "Vulkan" is implemented).
+ <member name="rendering/driver/driver_name" type="String" setter="" getter="" default="&quot;vulkan&quot;">
+ The video driver to use.
+ [b]Note:[/b] OpenGL support is currently incomplete. Only basic 2D rendering is supported, and single-window mode is required for correct operation.
[b]Note:[/b] The backend in use can be overridden at runtime via the [code]--rendering-driver[/code] command line argument.
[b]FIXME:[/b] No longer valid after DisplayServer split:
In such cases, this property is not updated, so use [code]OS.get_current_video_driver[/code] to query it at run-time.
@@ -1576,10 +1616,17 @@
Scales the distance over which samples are taken for subsurface scattering effect. Changing this does not impact performance, but higher values will result in significant artifacts as the samples will become obviously spread out. A lower value results in a smaller spread of scattered light.
</member>
<member name="rendering/environment/volumetric_fog/use_filter" type="int" setter="" getter="" default="1">
+ Enables filtering of the volumetric fog effect prior to integration. This substantially blurs the fog which reduces fine details but also smooths out harsh edges and aliasing artifacts. Disable when more detail is required.
</member>
- <member name="rendering/environment/volumetric_fog/volume_depth" type="int" setter="" getter="" default="128">
+ <member name="rendering/environment/volumetric_fog/volume_depth" type="int" setter="" getter="" default="64">
+ Number of slices to use along the depth of the froxel buffer for volumetric fog. A lower number will be more efficient but may result in artifacts appearing during camera movement.
</member>
<member name="rendering/environment/volumetric_fog/volume_size" type="int" setter="" getter="" default="64">
+ Base size used to determine size of froxel buffer in the camera X-axis and Y-axis. The final size is scaled by the aspect ratio of the screen, so actual values may differ from what is set. Set a larger size for more detailed fog, set a smaller size for better performance.
+ </member>
+ <member name="rendering/gles2/compatibility/disable_half_float" type="bool" setter="" getter="" default="false">
+ </member>
+ <member name="rendering/gles2/compatibility/enable_high_float.Android" type="bool" setter="" getter="" default="false">
</member>
<member name="rendering/global_illumination/gi/use_half_resolution" type="bool" setter="" getter="" default="false">
</member>
@@ -1698,8 +1745,10 @@
<member name="rendering/shadows/directional_shadow/size.mobile" type="int" setter="" getter="" default="2048">
Lower-end override for [member rendering/shadows/directional_shadow/size] on mobile devices, due to performance concerns or driver support.
</member>
- <member name="rendering/shadows/directional_shadow/soft_shadow_quality" type="int" setter="" getter="" default="2">
+ <member name="rendering/shadows/directional_shadow/soft_shadow_quality" type="int" setter="" getter="" default="3">
Quality setting for shadows cast by [DirectionalLight3D]s. Higher quality settings use more samples when reading from shadow maps and are thus slower. Low quality settings may result in shadows looking grainy.
+ [b]Note:[/b] The Soft Very Low setting will automatically multiply [i]constant[/i] shadow blur by 0.75x to reduce the amount of noise visible. This automatic blur change only affects the constant blur factor defined in [member Light3D.shadow_blur], not the variable blur performed by [DirectionalLight3D]s' [member Light3D.light_angular_distance].
+ [b]Note:[/b] The Soft High and Soft Ultra settings will automatically multiply [i]constant[/i] shadow blur by 1.5× and 2× respectively to make better use of the increased sample count. This increased blur also improves stability of dynamic object shadows.
</member>
<member name="rendering/shadows/directional_shadow/soft_shadow_quality.mobile" type="int" setter="" getter="" default="0">
Lower-end override for [member rendering/shadows/directional_shadow/soft_shadow_quality] on mobile devices, due to performance concerns or driver support.
@@ -1724,8 +1773,10 @@
<member name="rendering/shadows/shadow_atlas/size.mobile" type="int" setter="" getter="" default="2048">
Lower-end override for [member rendering/shadows/shadow_atlas/size] on mobile devices, due to performance concerns or driver support.
</member>
- <member name="rendering/shadows/shadows/soft_shadow_quality" type="int" setter="" getter="" default="2">
+ <member name="rendering/shadows/shadows/soft_shadow_quality" type="int" setter="" getter="" default="3">
Quality setting for shadows cast by [OmniLight3D]s and [SpotLight3D]s. Higher quality settings use more samples when reading from shadow maps and are thus slower. Low quality settings may result in shadows looking grainy.
+ [b]Note:[/b] The Soft Very Low setting will automatically multiply [i]constant[/i] shadow blur by 0.75x to reduce the amount of noise visible. This automatic blur change only affects the constant blur factor defined in [member Light3D.shadow_blur], not the variable blur performed by [DirectionalLight3D]s' [member Light3D.light_angular_distance].
+ [b]Note:[/b] The Soft High and Soft Ultra settings will automatically multiply shadow blur by 1.5× and 2× respectively to make better use of the increased sample count. This increased blur also improves stability of dynamic object shadows.
</member>
<member name="rendering/shadows/shadows/soft_shadow_quality.mobile" type="int" setter="" getter="" default="0">
Lower-end override for [member rendering/shadows/shadows/soft_shadow_quality] on mobile devices, due to performance concerns or driver support.
@@ -1750,23 +1801,23 @@
</member>
<member name="rendering/textures/vram_compression/import_bptc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the BPTC algorithm. This texture compression algorithm is only supported on desktop platforms, and only when using the Vulkan renderer.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/use_hidden_project_data_directory]).
</member>
<member name="rendering/textures/vram_compression/import_etc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression algorithm. This algorithm doesn't support alpha channels in textures.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/use_hidden_project_data_directory]).
</member>
<member name="rendering/textures/vram_compression/import_etc2" type="bool" setter="" getter="" default="true">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression 2 algorithm. This texture compression algorithm is only supported when using the Vulkan renderer.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/use_hidden_project_data_directory]).
</member>
<member name="rendering/textures/vram_compression/import_pvrtc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the PowerVR Texture Compression algorithm. This texture compression algorithm is only supported on iOS.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/use_hidden_project_data_directory]).
</member>
<member name="rendering/textures/vram_compression/import_s3tc" type="bool" setter="" getter="" default="true">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm. This algorithm is only supported on desktop platforms and consoles.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/use_hidden_project_data_directory]).
</member>
<member name="rendering/vulkan/descriptor_pools/max_descriptors_per_pool" type="int" setter="" getter="" default="64">
</member>
diff --git a/doc/classes/Quaternion.xml b/doc/classes/Quaternion.xml
index 7858ac732b..95b2316bf3 100644
--- a/doc/classes/Quaternion.xml
+++ b/doc/classes/Quaternion.xml
@@ -12,50 +12,49 @@
<link title="Using 3D transforms">https://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html#interpolating-with-quaternions</link>
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
</tutorials>
- <methods>
- <method name="Quaternion" qualifiers="constructor">
+ <constructors>
+ <constructor name="Quaternion">
<return type="Quaternion" />
<description>
Constructs a default-initialized quaternion with all components set to [code]0[/code].
</description>
- </method>
- <method name="Quaternion" qualifiers="constructor">
+ </constructor>
+ <constructor name="Quaternion">
<return type="Quaternion" />
<argument index="0" name="from" type="Quaternion" />
<description>
Constructs a [Quaternion] as a copy of the given [Quaternion].
</description>
- </method>
- <method name="Quaternion" qualifiers="constructor">
+ </constructor>
+ <constructor name="Quaternion">
<return type="Quaternion" />
<argument index="0" name="arc_from" type="Vector3" />
<argument index="1" name="arc_to" type="Vector3" />
<description>
</description>
- </method>
- <method name="Quaternion" qualifiers="constructor">
+ </constructor>
+ <constructor name="Quaternion">
<return type="Quaternion" />
<argument index="0" name="axis" type="Vector3" />
<argument index="1" name="angle" type="float" />
<description>
Constructs a quaternion that will rotate around the given axis by the specified angle. The axis must be a normalized vector.
</description>
- </method>
- <method name="Quaternion" qualifiers="constructor">
+ </constructor>
+ <constructor name="Quaternion">
<return type="Quaternion" />
- <argument index="0" name="euler" type="Vector3" />
+ <argument index="0" name="euler_yxz" type="Vector3" />
<description>
- Constructs a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: when decomposing, first Z, then X, and Y last), given in the vector format as (X angle, Y angle, Z angle).
</description>
- </method>
- <method name="Quaternion" qualifiers="constructor">
+ </constructor>
+ <constructor name="Quaternion">
<return type="Quaternion" />
<argument index="0" name="from" type="Basis" />
<description>
Constructs a quaternion from the given [Basis].
</description>
- </method>
- <method name="Quaternion" qualifiers="constructor">
+ </constructor>
+ <constructor name="Quaternion">
<return type="Quaternion" />
<argument index="0" name="x" type="float" />
<argument index="1" name="y" type="float" />
@@ -64,7 +63,9 @@
<description>
Constructs a quaternion defined by the given values.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="angle_to" qualifiers="const">
<return type="float" />
<argument index="0" name="to" type="Quaternion" />
@@ -90,6 +91,16 @@
Returns the dot product of two quaternions.
</description>
</method>
+ <method name="get_angle" qualifiers="const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="get_axis" qualifiers="const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
<method name="get_euler" qualifiers="const">
<return type="Vector3" />
<description>
@@ -133,131 +144,133 @@
Returns a copy of the quaternion, normalized to unit length.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
+ <method name="slerp" qualifiers="const">
+ <return type="Quaternion" />
+ <argument index="0" name="to" type="Quaternion" />
+ <argument index="1" name="weight" type="float" />
<description>
+ Returns the result of the spherical linear interpolation between this quaternion and [code]to[/code] by amount [code]weight[/code].
+ [b]Note:[/b] Both quaternions must be normalized.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Quaternion" />
+ <method name="slerpni" qualifiers="const">
+ <return type="Quaternion" />
+ <argument index="0" name="to" type="Quaternion" />
+ <argument index="1" name="weight" type="float" />
<description>
+ Returns the result of the spherical linear interpolation between this quaternion and [code]to[/code] by amount [code]weight[/code], but without checking if the rotation path is not bigger than 90 degrees.
</description>
</method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Vector3" />
+ </methods>
+ <members>
+ <member name="w" type="float" setter="" getter="" default="1.0">
+ W component of the quaternion (real part).
+ Quaternion components should usually not be manipulated directly.
+ </member>
+ <member name="x" type="float" setter="" getter="" default="0.0">
+ X component of the quaternion (imaginary [code]i[/code] axis part).
+ Quaternion components should usually not be manipulated directly.
+ </member>
+ <member name="y" type="float" setter="" getter="" default="0.0">
+ Y component of the quaternion (imaginary [code]j[/code] axis part).
+ Quaternion components should usually not be manipulated directly.
+ </member>
+ <member name="z" type="float" setter="" getter="" default="0.0">
+ Z component of the quaternion (imaginary [code]k[/code] axis part).
+ Quaternion components should usually not be manipulated directly.
+ </member>
+ </members>
+ <constants>
+ <constant name="IDENTITY" value="Quaternion(0, 0, 0, 1)">
+ The identity quaternion, representing no rotation. Equivalent to an identity [Basis] matrix. If a vector is transformed by an identity quaternion, it will not change.
+ </constant>
+ </constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Quaternion" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
<return type="Quaternion" />
<argument index="0" name="right" type="Quaternion" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
<return type="Quaternion" />
<argument index="0" name="right" type="float" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Quaternion" />
<argument index="0" name="right" type="int" />
<description>
</description>
- </method>
- <method name="operator +" qualifiers="operator">
+ </operator>
+ <operator name="operator +">
<return type="Quaternion" />
<argument index="0" name="right" type="Quaternion" />
<description>
</description>
- </method>
- <method name="operator -" qualifiers="operator">
+ </operator>
+ <operator name="operator -">
<return type="Quaternion" />
<argument index="0" name="right" type="Quaternion" />
<description>
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="Quaternion" />
<argument index="0" name="right" type="float" />
<description>
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="Quaternion" />
<argument index="0" name="right" type="int" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="Quaternion" />
<description>
</description>
- </method>
- <method name="operator []" qualifiers="operator">
+ </operator>
+ <operator name="operator []">
<return type="float" />
<argument index="0" name="index" type="int" />
<description>
</description>
- </method>
- <method name="operator unary+" qualifiers="operator">
- <return type="Quaternion" />
- <description>
- </description>
- </method>
- <method name="operator unary-" qualifiers="operator">
+ </operator>
+ <operator name="operator unary+">
<return type="Quaternion" />
<description>
</description>
- </method>
- <method name="slerp" qualifiers="const">
- <return type="Quaternion" />
- <argument index="0" name="to" type="Quaternion" />
- <argument index="1" name="weight" type="float" />
- <description>
- Returns the result of the spherical linear interpolation between this quaternion and [code]to[/code] by amount [code]weight[/code].
- [b]Note:[/b] Both quaternions must be normalized.
- </description>
- </method>
- <method name="slerpni" qualifiers="const">
+ </operator>
+ <operator name="operator unary-">
<return type="Quaternion" />
- <argument index="0" name="to" type="Quaternion" />
- <argument index="1" name="weight" type="float" />
<description>
- Returns the result of the spherical linear interpolation between this quaternion and [code]to[/code] by amount [code]weight[/code], but without checking if the rotation path is not bigger than 90 degrees.
</description>
- </method>
- </methods>
- <members>
- <member name="w" type="float" setter="" getter="" default="1.0">
- W component of the quaternion (real part).
- Quaternion components should usually not be manipulated directly.
- </member>
- <member name="x" type="float" setter="" getter="" default="0.0">
- X component of the quaternion (imaginary [code]i[/code] axis part).
- Quaternion components should usually not be manipulated directly.
- </member>
- <member name="y" type="float" setter="" getter="" default="0.0">
- Y component of the quaternion (imaginary [code]j[/code] axis part).
- Quaternion components should usually not be manipulated directly.
- </member>
- <member name="z" type="float" setter="" getter="" default="0.0">
- Z component of the quaternion (imaginary [code]k[/code] axis part).
- Quaternion components should usually not be manipulated directly.
- </member>
- </members>
- <constants>
- <constant name="IDENTITY" value="Quaternion(0, 0, 0, 1)">
- The identity quaternion, representing no rotation. Equivalent to an identity [Basis] matrix. If a vector is transformed by an identity quaternion, it will not change.
- </constant>
- </constants>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/RID.xml b/doc/classes/RID.xml
index b4ba74f7e5..695b0933fa 100644
--- a/doc/classes/RID.xml
+++ b/doc/classes/RID.xml
@@ -8,71 +8,75 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="RID" qualifiers="constructor">
+ <constructors>
+ <constructor name="RID">
<return type="RID" />
<description>
Constructs an empty [RID] with the invalid ID [code]0[/code].
</description>
- </method>
- <method name="RID" qualifiers="constructor">
+ </constructor>
+ <constructor name="RID">
<return type="RID" />
<argument index="0" name="from" type="RID" />
<description>
Constructs a [RID] as a copy of the given [RID].
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="get_id" qualifiers="const">
<return type="int" />
<description>
Returns the ID of the referenced resource.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
+ </methods>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;=">
<return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
- </method>
- </methods>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml
index a6bb81b589..01bec10ed8 100644
--- a/doc/classes/Rect2.xml
+++ b/doc/classes/Rect2.xml
@@ -13,36 +13,36 @@
<link title="Vector math">https://docs.godotengine.org/en/latest/tutorials/math/vector_math.html</link>
<link title="Advanced vector math">https://docs.godotengine.org/en/latest/tutorials/math/vectors_advanced.html</link>
</tutorials>
- <methods>
- <method name="Rect2" qualifiers="constructor">
+ <constructors>
+ <constructor name="Rect2">
<return type="Rect2" />
<description>
Constructs a default-initialized [Rect2] with default (zero) values of [member position] and [member size].
</description>
- </method>
- <method name="Rect2" qualifiers="constructor">
+ </constructor>
+ <constructor name="Rect2">
<return type="Rect2" />
<argument index="0" name="from" type="Rect2" />
<description>
Constructs a [Rect2] as a copy of the given [Rect2].
</description>
- </method>
- <method name="Rect2" qualifiers="constructor">
+ </constructor>
+ <constructor name="Rect2">
<return type="Rect2" />
<argument index="0" name="from" type="Rect2i" />
<description>
Constructs a [Rect2] from a [Rect2i].
</description>
- </method>
- <method name="Rect2" qualifiers="constructor">
+ </constructor>
+ <constructor name="Rect2">
<return type="Rect2" />
<argument index="0" name="position" type="Vector2" />
<argument index="1" name="size" type="Vector2" />
<description>
Constructs a [Rect2] by position and size.
</description>
- </method>
- <method name="Rect2" qualifiers="constructor">
+ </constructor>
+ <constructor name="Rect2">
<return type="Rect2" />
<argument index="0" name="x" type="float" />
<argument index="1" name="y" type="float" />
@@ -51,7 +51,9 @@
<description>
Constructs a [Rect2] by x, y, width, and height.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="abs" qualifiers="const">
<return type="Rect2" />
<description>
@@ -153,45 +155,47 @@
Returns a larger [Rect2] that contains this [Rect2] and [code]b[/code].
</description>
</method>
- <method name="operator !=" qualifiers="operator">
+ </methods>
+ <members>
+ <member name="end" type="Vector2" setter="" getter="" default="Vector2(0, 0)">
+ Ending corner. This is calculated as [code]position + size[/code]. Setting this value will change the size.
+ </member>
+ <member name="position" type="Vector2" setter="" getter="" default="Vector2(0, 0)">
+ Beginning corner. Typically has values lower than [member end].
+ </member>
+ <member name="size" type="Vector2" setter="" getter="" default="Vector2(0, 0)">
+ Size from [member position] to [member end]. Typically, all components are positive.
+ If the size is negative, you can use [method abs] to fix it.
+ </member>
+ </members>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="Rect2" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Rect2" />
<argument index="0" name="right" type="Transform2D" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="Rect2" />
<description>
</description>
- </method>
- </methods>
- <members>
- <member name="end" type="Vector2" setter="" getter="" default="Vector2(0, 0)">
- Ending corner. This is calculated as [code]position + size[/code]. Setting this value will change the size.
- </member>
- <member name="position" type="Vector2" setter="" getter="" default="Vector2(0, 0)">
- Beginning corner. Typically has values lower than [member end].
- </member>
- <member name="size" type="Vector2" setter="" getter="" default="Vector2(0, 0)">
- Size from [member position] to [member end]. Typically, all components are positive.
- If the size is negative, you can use [method abs] to fix it.
- </member>
- </members>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml
index 0ba013cade..fc27c64fa5 100644
--- a/doc/classes/Rect2i.xml
+++ b/doc/classes/Rect2i.xml
@@ -11,36 +11,36 @@
<link title="Math documentation index">https://docs.godotengine.org/en/latest/tutorials/math/index.html</link>
<link title="Vector math">https://docs.godotengine.org/en/latest/tutorials/math/vector_math.html</link>
</tutorials>
- <methods>
- <method name="Rect2i" qualifiers="constructor">
+ <constructors>
+ <constructor name="Rect2i">
<return type="Rect2i" />
<description>
Constructs a default-initialized [Rect2i] with default (zero) values of [member position] and [member size].
</description>
- </method>
- <method name="Rect2i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Rect2i">
<return type="Rect2i" />
<argument index="0" name="from" type="Rect2i" />
<description>
Constructs a [Rect2i] as a copy of the given [Rect2i].
</description>
- </method>
- <method name="Rect2i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Rect2i">
<return type="Rect2i" />
<argument index="0" name="from" type="Rect2" />
<description>
Constructs a new [Rect2i] from [Rect2]. The floating point coordinates will be truncated.
</description>
- </method>
- <method name="Rect2i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Rect2i">
<return type="Rect2i" />
<argument index="0" name="position" type="Vector2i" />
<argument index="1" name="size" type="Vector2i" />
<description>
Constructs a [Rect2i] by position and size.
</description>
- </method>
- <method name="Rect2i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Rect2i">
<return type="Rect2i" />
<argument index="0" name="x" type="int" />
<argument index="1" name="y" type="int" />
@@ -49,7 +49,9 @@
<description>
Constructs a [Rect2i] by x, y, width, and height.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="abs" qualifiers="const">
<return type="Rect2i" />
<description>
@@ -144,39 +146,41 @@
Returns a larger [Rect2i] that contains this [Rect2i] and [code]b[/code].
</description>
</method>
- <method name="operator !=" qualifiers="operator">
+ </methods>
+ <members>
+ <member name="end" type="Vector2i" setter="" getter="" default="Vector2i(0, 0)">
+ Ending corner. This is calculated as [code]position + size[/code]. Setting this value will change the size.
+ </member>
+ <member name="position" type="Vector2i" setter="" getter="" default="Vector2i(0, 0)">
+ Beginning corner. Typically has values lower than [member end].
+ </member>
+ <member name="size" type="Vector2i" setter="" getter="" default="Vector2i(0, 0)">
+ Size from [member position] to [member end]. Typically, all components are positive.
+ If the size is negative, you can use [method abs] to fix it.
+ </member>
+ </members>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="Rect2i" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="Rect2i" />
<description>
</description>
- </method>
- </methods>
- <members>
- <member name="end" type="Vector2i" setter="" getter="" default="Vector2i(0, 0)">
- Ending corner. This is calculated as [code]position + size[/code]. Setting this value will change the size.
- </member>
- <member name="position" type="Vector2i" setter="" getter="" default="Vector2i(0, 0)">
- Beginning corner. Typically has values lower than [member end].
- </member>
- <member name="size" type="Vector2i" setter="" getter="" default="Vector2i(0, 0)">
- Size from [member position] to [member end]. Typically, all components are positive.
- If the size is negative, you can use [method abs] to fix it.
- </member>
- </members>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 6f19114c16..86e66a5738 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -1120,13 +1120,16 @@
<argument index="0" name="env" type="RID" />
<argument index="1" name="enable" type="bool" />
<argument index="2" name="density" type="float" />
- <argument index="3" name="light" type="Color" />
- <argument index="4" name="light_energy" type="float" />
- <argument index="5" name="length" type="float" />
- <argument index="6" name="p_detail_spread" type="float" />
- <argument index="7" name="gi_inject" type="float" />
- <argument index="8" name="temporal_reprojection" type="bool" />
- <argument index="9" name="temporal_reprojection_amount" type="float" />
+ <argument index="3" name="albedo" type="Color" />
+ <argument index="4" name="emission" type="Color" />
+ <argument index="5" name="emission_energy" type="float" />
+ <argument index="6" name="anisotropy" type="float" />
+ <argument index="7" name="length" type="float" />
+ <argument index="8" name="p_detail_spread" type="float" />
+ <argument index="9" name="gi_inject" type="float" />
+ <argument index="10" name="temporal_reprojection" type="bool" />
+ <argument index="11" name="temporal_reprojection_amount" type="float" />
+ <argument index="12" name="ambient_inject" type="float" />
<description>
</description>
</method>
@@ -1134,6 +1137,7 @@
<return type="void" />
<argument index="0" name="active" type="bool" />
<description>
+ Enables filtering of the volumetric fog scattering buffer. This results in much smoother volumes with very few under-sampling artifacts.
</description>
</method>
<method name="environment_set_volumetric_fog_volume_size">
@@ -1141,6 +1145,37 @@
<argument index="0" name="size" type="int" />
<argument index="1" name="depth" type="int" />
<description>
+ Sets the resolution of the volumetric fog's froxel buffer. [code]size[/code] is modified by the screen's aspect ratio and then used to set the width and height of the buffer. While [code]depth[/code] is directly used to set the depth of the buffer.
+ </description>
+ </method>
+ <method name="fog_volume_create">
+ <return type="RID" />
+ <description>
+ Creates a new fog volume and allocates an RID.
+ </description>
+ </method>
+ <method name="fog_volume_set_extents">
+ <return type="void" />
+ <argument index="0" name="fog_volume" type="RID" />
+ <argument index="1" name="extents" type="Vector3" />
+ <description>
+ Sets the size of the fog volume when shape is [constant FOG_VOLUME_SHAPE_ELLIPSOID] or [constant FOG_VOLUME_SHAPE_BOX].
+ </description>
+ </method>
+ <method name="fog_volume_set_material">
+ <return type="void" />
+ <argument index="0" name="fog_volume" type="RID" />
+ <argument index="1" name="material" type="RID" />
+ <description>
+ Sets the [Material] of the fog volume. Can be either a [FogMaterial] or a custom [ShaderMaterial].
+ </description>
+ </method>
+ <method name="fog_volume_set_shape">
+ <return type="void" />
+ <argument index="0" name="fog_volume" type="RID" />
+ <argument index="1" name="shape" type="int" enum="RenderingServer.FogVolumeShape" />
+ <description>
+ Sets the shape of the fog volume to either [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant RenderingServer.FOG_VOLUME_SHAPE_BOX], or [constant RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID] or [constant RenderingServer.FOG_VOLUME_SHAPE_WORLD].
</description>
</method>
<method name="force_draw">
@@ -1377,6 +1412,14 @@
<description>
</description>
</method>
+ <method name="instance_geometry_set_transparency">
+ <return type="void" />
+ <argument index="0" name="instance" type="RID" />
+ <argument index="1" name="transparency" type="float" />
+ <description>
+ Sets the transparency for the given geometry instance. Equivalent to [member GeometryInstance3D.transparency].
+ </description>
+ </method>
<method name="instance_geometry_set_visibility_range">
<return type="void" />
<argument index="0" name="instance" type="RID" />
@@ -1384,6 +1427,7 @@
<argument index="2" name="max" type="float" />
<argument index="3" name="min_margin" type="float" />
<argument index="4" name="max_margin" type="float" />
+ <argument index="5" name="fade_mode" type="int" enum="RenderingServer.VisibilityRangeFadeMode" />
<description>
Sets the visibility range values for the given geometry instance. Equivalent to [member GeometryInstance3D.visibility_range_begin] and related properties.
</description>
@@ -1421,6 +1465,13 @@
Sets a margin to increase the size of the AABB when culling objects from the view frustum. This allows you to avoid culling objects that fall outside the view frustum. Equivalent to [member GeometryInstance3D.extra_cull_margin].
</description>
</method>
+ <method name="instance_set_ignore_culling">
+ <return type="void" />
+ <argument index="0" name="instance" type="RID" />
+ <argument index="1" name="enabled" type="bool" />
+ <description>
+ </description>
+ </method>
<method name="instance_set_layer_mask">
<return type="void" />
<argument index="0" name="instance" type="RID" />
@@ -3408,7 +3459,10 @@
<constant name="SHADER_SKY" value="3" enum="ShaderMode">
Shader is a sky shader.
</constant>
- <constant name="SHADER_MAX" value="4" enum="ShaderMode">
+ <constant name="SHADER_FOG" value="4" enum="ShaderMode">
+ Shader is a fog shader.
+ </constant>
+ <constant name="SHADER_MAX" value="5" enum="ShaderMode">
Represents the size of the [enum ShaderMode] enum.
</constant>
<constant name="MATERIAL_RENDER_PRIORITY_MIN" value="-128">
@@ -3663,16 +3717,25 @@
Use 4 splits for shadow projection when using directional light.
</constant>
<constant name="SHADOW_QUALITY_HARD" value="0" enum="ShadowQuality">
+ Lowest shadow filtering quality (fastest). Soft shadows are not available with this quality setting, which means the [member Light3D.shadow_blur] property is ignored if [member Light3D.light_size] and [member Light3D.light_angular_distance] is [code]0.0[/code].
+ [b]Note:[/b] The variable shadow blur performed by [member Light3D.light_size] and [member Light3D.light_angular_distance] is still effective when using hard shadow filtering. In this case, [member Light3D.shadow_blur] [i]is[/i] taken into account. However, the results will not be blurred, instead the blur amount is treated as a maximum radius for the penumbra.
+ </constant>
+ <constant name="SHADOW_QUALITY_SOFT_VERY_LOW" value="1" enum="ShadowQuality">
+ Very low shadow filtering quality (faster). When using this quality setting, [member Light3D.shadow_blur] is automatically multiplied by 0.75× to avoid introducing too much noise. This division only applies to lights whose [member Light3D.light_size] or [member Light3D.light_angular_distance] is [code]0.0[/code]).
</constant>
- <constant name="SHADOW_QUALITY_SOFT_LOW" value="1" enum="ShadowQuality">
+ <constant name="SHADOW_QUALITY_SOFT_LOW" value="2" enum="ShadowQuality">
+ Low shadow filtering quality (fast).
</constant>
- <constant name="SHADOW_QUALITY_SOFT_MEDIUM" value="2" enum="ShadowQuality">
+ <constant name="SHADOW_QUALITY_SOFT_MEDIUM" value="3" enum="ShadowQuality">
+ Medium low shadow filtering quality (average).
</constant>
- <constant name="SHADOW_QUALITY_SOFT_HIGH" value="3" enum="ShadowQuality">
+ <constant name="SHADOW_QUALITY_SOFT_HIGH" value="4" enum="ShadowQuality">
+ High low shadow filtering quality (slow). When using this quality setting, [member Light3D.shadow_blur] is automatically multiplied by 1.5× to better make use of the high sample count. This increased blur also improves the stability of dynamic object shadows. This multiplier only applies to lights whose [member Light3D.light_size] or [member Light3D.light_angular_distance] is [code]0.0[/code]).
</constant>
- <constant name="SHADOW_QUALITY_SOFT_ULTRA" value="4" enum="ShadowQuality">
+ <constant name="SHADOW_QUALITY_SOFT_ULTRA" value="5" enum="ShadowQuality">
+ Highest low shadow filtering quality (slowest). When using this quality setting, [member Light3D.shadow_blur] is automatically multiplied by 2× to better make use of the high sample count. This increased blur also improves the stability of dynamic object shadows. This multiplier only applies to lights whose [member Light3D.light_size] or [member Light3D.light_angular_distance] is [code]0.0[/code]).
</constant>
- <constant name="SHADOW_QUALITY_MAX" value="5" enum="ShadowQuality">
+ <constant name="SHADOW_QUALITY_MAX" value="6" enum="ShadowQuality">
</constant>
<constant name="REFLECTION_PROBE_UPDATE_ONCE" value="0" enum="ReflectionProbeUpdateMode">
Reflection probe will update reflections once and then stop.
@@ -3771,6 +3834,15 @@
</constant>
<constant name="PARTICLES_COLLISION_HEIGHTFIELD_RESOLUTION_MAX" value="6" enum="ParticlesCollisionHeightfieldResolution">
</constant>
+ <constant name="FOG_VOLUME_SHAPE_ELLIPSOID" value="0" enum="FogVolumeShape">
+ [FogVolume] will be shaped like an ellipsoid.
+ </constant>
+ <constant name="FOG_VOLUME_SHAPE_BOX" value="1" enum="FogVolumeShape">
+ [FogVolume] will be shaped like a box.
+ </constant>
+ <constant name="FOG_VOLUME_SHAPE_WORLD" value="2" enum="FogVolumeShape">
+ [FogVolume] will have no shape, will cover the whole world and will not be culled.
+ </constant>
<constant name="VIEWPORT_UPDATE_DISABLED" value="0" enum="ViewportUpdateMode">
Do not update the viewport.
</constant>
@@ -4137,7 +4209,9 @@
</constant>
<constant name="INSTANCE_VISIBLITY_NOTIFIER" value="11" enum="InstanceType">
</constant>
- <constant name="INSTANCE_MAX" value="12" enum="InstanceType">
+ <constant name="INSTANCE_FOG_VOLUME" value="12" enum="InstanceType">
+ </constant>
+ <constant name="INSTANCE_MAX" value="13" enum="InstanceType">
Represents the size of the [enum InstanceType] enum.
</constant>
<constant name="INSTANCE_GEOMETRY_MASK" value="14" enum="InstanceType">
@@ -4169,6 +4243,15 @@
<constant name="SHADOW_CASTING_SETTING_SHADOWS_ONLY" value="3" enum="ShadowCastingSetting">
Only render the shadows from the object. The object itself will not be drawn.
</constant>
+ <constant name="VISIBILITY_RANGE_FADE_DISABLED" value="0" enum="VisibilityRangeFadeMode">
+ Disable visibility range fading for the given instance.
+ </constant>
+ <constant name="VISIBILITY_RANGE_FADE_SELF" value="1" enum="VisibilityRangeFadeMode">
+ Fade-out the given instance when it approaches its visibility range limits.
+ </constant>
+ <constant name="VISIBILITY_RANGE_FADE_DEPENDENCIES" value="2" enum="VisibilityRangeFadeMode">
+ Fade-in the given instance's dependencies when reaching its visibility range limits.
+ </constant>
<constant name="BAKE_CHANNEL_ALBEDO_ALPHA" value="0" enum="BakeChannels">
</constant>
<constant name="BAKE_CHANNEL_NORMAL" value="1" enum="BakeChannels">
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index 668f9af4a2..0fd25615ba 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -36,10 +36,10 @@
</description>
</method>
<method name="append_text">
- <return type="int" enum="Error" />
+ <return type="void" />
<argument index="0" name="bbcode" type="String" />
<description>
- Parses [code]bbcode[/code] and adds tags to the tag stack as needed. Returns the result of the parsing, [constant OK] if successful.
+ Parses [code]bbcode[/code] and adds tags to the tag stack as needed.
[b]Note:[/b] Using this method, you can't close a tag that was opened in a previous [method append_text] call. This is done to improve performance, especially when updating large RichTextLabels since rebuilding the whole BBCode every time would be slower. If you absolutely need to close a tag in a future method call, append the [member text] instead of using [method append_text].
</description>
</method>
@@ -130,10 +130,10 @@
</description>
</method>
<method name="parse_bbcode">
- <return type="int" enum="Error" />
+ <return type="void" />
<argument index="0" name="bbcode" type="String" />
<description>
- The assignment version of [method append_text]. Clears the tag stack and inserts the new content. Returns [constant OK] if parses [code]bbcode[/code] successfully.
+ The assignment version of [method append_text]. Clears the tag stack and inserts the new content.
</description>
</method>
<method name="parse_expressions_for_values">
@@ -379,6 +379,9 @@
The currently installed custom effects. This is an array of [RichTextEffect]s.
To add a custom effect, it's more convenient to use [method install_effect].
</member>
+ <member name="deselect_on_focus_loss_enabled" type="bool" setter="set_deselect_on_focus_loss_enabled" getter="is_deselect_on_focus_loss_enabled" default="true">
+ If [code]true[/code], the selected text will be deselected when focus is lost.
+ </member>
<member name="fit_content_height" type="bool" setter="set_fit_content_height" getter="is_fit_content_height_enabled" default="false">
If [code]true[/code], the label's height will be automatically updated to fit its content.
[b]Note:[/b] This property is used as a workaround to fix issues with [RichTextLabel] in [Container]s, but it's unreliable in some cases and will be removed in future versions.
diff --git a/doc/classes/RigidDynamicBody2D.xml b/doc/classes/RigidDynamicBody2D.xml
index f503884192..b8680b99b3 100644
--- a/doc/classes/RigidDynamicBody2D.xml
+++ b/doc/classes/RigidDynamicBody2D.xml
@@ -82,10 +82,13 @@
</method>
</methods>
<members>
- <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="-1.0">
- Damps the body's [member angular_velocity]. If [code]-1[/code], the body will use the [b]Default Angular Damp[/b] defined in [b]Project &gt; Project Settings &gt; Physics &gt; 2d[/b].
+ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="0.0">
+ Damps the body's rotation. By default, the body will use the [b]Default Angular Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 2d[/b] or any value override set by an [Area2D] the body is in. Depending on [member angular_damp_mode], you can set [member angular_damp] to be added to or to replace the body's damping value.
See [member ProjectSettings.physics/2d/default_angular_damp] for more details about damping.
</member>
+ <member name="angular_damp_mode" type="int" setter="set_angular_damp_mode" getter="get_angular_damp_mode" enum="RigidDynamicBody2D.DampMode" default="0">
+ Defines how [member angular_damp] is applied. See [enum DampMode] for possible values.
+ </member>
<member name="angular_velocity" type="float" setter="set_angular_velocity" getter="get_angular_velocity" default="0.0">
The body's rotational velocity.
</member>
@@ -135,10 +138,13 @@
The body's moment of inertia. This is like mass, but for rotation: it determines how much torque it takes to rotate the body. The moment of inertia is usually computed automatically from the mass and the shapes, but this property allows you to set a custom value.
If set to [code]0[/code], inertia is automatically computed (default value).
</member>
- <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="-1.0">
- Damps the body's [member linear_velocity]. If [code]-1[/code], the body will use the [b]Default Linear Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 2d[/b].
+ <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="0.0">
+ Damps the body's movement. By default, the body will use the [b]Default Linear Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 2d[/b] or any value override set by an [Area2D] the body is in. Depending on [member linear_damp_mode], you can set [member linear_damp] to be added to or to replace the body's damping value.
See [member ProjectSettings.physics/2d/default_linear_damp] for more details about damping.
</member>
+ <member name="linear_damp_mode" type="int" setter="set_linear_damp_mode" getter="get_linear_damp_mode" enum="RigidDynamicBody2D.DampMode" default="0">
+ Defines how [member linear_damp] is applied. See [enum DampMode] for possible values.
+ </member>
<member name="linear_velocity" type="Vector2" setter="set_linear_velocity" getter="get_linear_velocity" default="Vector2(0, 0)">
The body's linear velocity.
</member>
@@ -217,6 +223,12 @@
<constant name="CENTER_OF_MASS_MODE_CUSTOM" value="1" enum="CenterOfMassMode">
In this mode, the body's center of mass is set through [member center_of_mass]. Defaults to the body's origin position.
</constant>
+ <constant name="DAMP_MODE_COMBINE" value="0" enum="DampMode">
+ In this mode, the body's damping value is added to any value set in areas or the default value.
+ </constant>
+ <constant name="DAMP_MODE_REPLACE" value="1" enum="DampMode">
+ In this mode, the body's damping value replaces any value set in areas or the default value.
+ </constant>
<constant name="CCD_MODE_DISABLED" value="0" enum="CCDMode">
Continuous collision detection disabled. This is the fastest way to detect body collisions, but can miss small, fast-moving objects.
</constant>
diff --git a/doc/classes/RigidDynamicBody3D.xml b/doc/classes/RigidDynamicBody3D.xml
index 6c8d190704..ba9acdf4bf 100644
--- a/doc/classes/RigidDynamicBody3D.xml
+++ b/doc/classes/RigidDynamicBody3D.xml
@@ -91,10 +91,13 @@
</method>
</methods>
<members>
- <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="-1.0">
- Damps RigidDynamicBody3D's rotational forces.
+ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="0.0">
+ Damps the body's rotation. By default, the body will use the [b]Default Angular Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b] or any value override set by an [Area3D] the body is in. Depending on [member angular_damp_mode], you can set [member angular_damp] to be added to or to replace the body's damping value.
See [member ProjectSettings.physics/3d/default_angular_damp] for more details about damping.
</member>
+ <member name="angular_damp_mode" type="int" setter="set_angular_damp_mode" getter="get_angular_damp_mode" enum="RigidDynamicBody3D.DampMode" default="0">
+ Defines how [member angular_damp] is applied. See [enum DampMode] for possible values.
+ </member>
<member name="angular_velocity" type="Vector3" setter="set_angular_velocity" getter="get_angular_velocity" default="Vector3(0, 0, 0)">
RigidDynamicBody3D's rotational velocity.
</member>
@@ -138,10 +141,13 @@
The body's moment of inertia. This is like mass, but for rotation: it determines how much torque it takes to rotate the body on each axis. The moment of inertia is usually computed automatically from the mass and the shapes, but this property allows you to set a custom value.
If set to [code]Vector3.ZERO[/code], inertia is automatically computed (default value).
</member>
- <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="-1.0">
- The body's linear damp. Cannot be less than -1.0. If this value is different from -1.0, any linear damp derived from the world or areas will be overridden.
+ <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="0.0">
+ Damps the body's movement. By default, the body will use the [b]Default Linear Damp[/b] in [b]Project &gt; Project Settings &gt; Physics &gt; 3d[/b] or any value override set by an [Area3D] the body is in. Depending on [member linear_damp_mode], you can set [member linear_damp] to be added to or to replace the body's damping value.
See [member ProjectSettings.physics/3d/default_linear_damp] for more details about damping.
</member>
+ <member name="linear_damp_mode" type="int" setter="set_linear_damp_mode" getter="get_linear_damp_mode" enum="RigidDynamicBody3D.DampMode" default="0">
+ Defines how [member linear_damp] is applied. See [enum DampMode] for possible values.
+ </member>
<member name="linear_velocity" type="Vector3" setter="set_linear_velocity" getter="get_linear_velocity" default="Vector3(0, 0, 0)">
The body's linear velocity. Can be used sporadically, but [b]don't set this every frame[/b], because physics may run in another thread and runs at a different granularity. Use [method _integrate_forces] as your process loop for precise control of the body state.
</member>
@@ -222,5 +228,11 @@
<constant name="CENTER_OF_MASS_MODE_CUSTOM" value="1" enum="CenterOfMassMode">
In this mode, the body's center of mass is set through [member center_of_mass]. Defaults to the body's origin position.
</constant>
+ <constant name="DAMP_MODE_COMBINE" value="0" enum="DampMode">
+ In this mode, the body's damping value is added to any value set in areas or the default value.
+ </constant>
+ <constant name="DAMP_MODE_REPLACE" value="1" enum="DampMode">
+ In this mode, the body's damping value replaces any value set in areas or the default value.
+ </constant>
</constants>
</class>
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index ce7fd293d5..6d0ec44b69 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -66,7 +66,7 @@
[gdscript]
func some_function():
print("start")
- yield(get_tree().create_timer(1.0), "timeout")
+ await get_tree().create_timer(1.0).timeout
print("end")
[/gdscript]
[csharp]
diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml
index 14c5ba9247..99e38e969d 100644
--- a/doc/classes/Shader.xml
+++ b/doc/classes/Shader.xml
@@ -60,5 +60,8 @@
<constant name="MODE_SKY" value="3" enum="Mode">
Mode used for drawing skies. Only works with shaders attached to [Sky] objects.
</constant>
+ <constant name="MODE_FOG" value="4" enum="Mode">
+ Mode used for setting the color and density of volumetric fog effect.
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Signal.xml b/doc/classes/Signal.xml
index f78266a20c..79d6ba8768 100644
--- a/doc/classes/Signal.xml
+++ b/doc/classes/Signal.xml
@@ -7,28 +7,30 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="Signal" qualifiers="constructor">
+ <constructors>
+ <constructor name="Signal">
<return type="Signal" />
<description>
Constructs a null [Signal] with no object nor signal name bound.
</description>
- </method>
- <method name="Signal" qualifiers="constructor">
+ </constructor>
+ <constructor name="Signal">
<return type="Signal" />
<argument index="0" name="from" type="Signal" />
<description>
Constructs a [Signal] as a copy of the given [Signal].
</description>
- </method>
- <method name="Signal" qualifiers="constructor">
+ </constructor>
+ <constructor name="Signal">
<return type="Signal" />
<argument index="0" name="object" type="Object" />
<argument index="1" name="signal" type="StringName" />
<description>
Creates a new [Signal] with the name [code]signal[/code] in the specified [code]object[/code].
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="connect">
<return type="int" />
<argument index="0" name="callable" type="Callable" />
@@ -93,27 +95,29 @@
<description>
</description>
</method>
- <method name="operator !=" qualifiers="operator">
+ </methods>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="Signal" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="Signal" />
<description>
</description>
- </method>
- </methods>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index 10ce03c4b2..a58bfd5c15 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -9,34 +9,36 @@
<tutorials>
<link title="GDScript format strings">https://docs.godotengine.org/en/latest/tutorials/scripting/gdscript/gdscript_format_string.html</link>
</tutorials>
- <methods>
- <method name="String" qualifiers="constructor">
+ <constructors>
+ <constructor name="String">
<return type="String" />
<description>
Constructs an empty [String] ([code]""[/code]).
</description>
- </method>
- <method name="String" qualifiers="constructor">
+ </constructor>
+ <constructor name="String">
<return type="String" />
<argument index="0" name="from" type="String" />
<description>
Constructs a [String] as a copy of the given [String].
</description>
- </method>
- <method name="String" qualifiers="constructor">
+ </constructor>
+ <constructor name="String">
<return type="String" />
<argument index="0" name="from" type="NodePath" />
<description>
Constructs a new String from the given [NodePath].
</description>
- </method>
- <method name="String" qualifiers="constructor">
+ </constructor>
+ <constructor name="String">
<return type="String" />
<argument index="0" name="from" type="StringName" />
<description>
Constructs a new String from the given [StringName].
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="begins_with" qualifiers="const">
<return type="bool" />
<argument index="0" name="text" type="String" />
@@ -56,11 +58,11 @@
Converts a string containing a binary number into an integer. Binary strings can either be prefixed with [code]0b[/code] or not, and they can also start with a [code]-[/code] before the optional prefix.
[codeblocks]
[gdscript]
- print("0x101".bin_to_int()) # Prints "5".
+ print("0b101".bin_to_int()) # Prints "5".
print("101".bin_to_int()) # Prints "5".
[/gdscript]
[csharp]
- GD.Print("0x101".BinToInt()); // Prints "5".
+ GD.Print("0b101".BinToInt()); // Prints "5".
GD.Print("101".BinToInt()); // Prints "5".
[/csharp]
[/codeblocks]
@@ -200,6 +202,19 @@
If the string is a valid file path, returns the filename.
</description>
</method>
+ <method name="get_slice" qualifiers="const">
+ <return type="String" />
+ <argument index="0" name="delimiter" type="String" />
+ <argument index="1" name="slice" type="int" />
+ <description>
+ Splits a string using a [code]delimiter[/code] and returns a substring at index [code]slice[/code]. Returns an empty string if the index doesn't exist.
+ This is a more performant alternative to [method split] for cases when you need only one element from the array at a fixed index.
+ Example:
+ [codeblock]
+ print("i/am/example/string".get_slice("/", 2)) # Prints 'example'.
+ [/codeblock]
+ </description>
+ </method>
<method name="hash" qualifiers="const">
<return type="int" />
<description>
@@ -443,82 +458,6 @@
<description>
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="StringName" />
- <description>
- </description>
- </method>
- <method name="operator %" qualifiers="operator">
- <return type="String" />
- <argument index="0" name="right" type="Variant" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="String" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="StringName" />
- <description>
- </description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="String" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="pad_decimals" qualifiers="const">
<return type="String" />
<argument index="0" name="digits" type="int" />
@@ -676,6 +615,7 @@
<description>
Splits the string by a [code]delimiter[/code] string and returns an array of the substrings. The [code]delimiter[/code] can be of any length.
If [code]maxsplit[/code] is specified, it defines the number of splits to do from the left up to [code]maxsplit[/code]. The default value of [code]0[/code] means that all items are split.
+ If you need only one element from the array at a specific index, [method get_slice] is a more performant option.
Example:
[codeblocks]
[gdscript]
@@ -843,4 +783,82 @@
</description>
</method>
</methods>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="String" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="StringName" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator %">
+ <return type="String" />
+ <argument index="0" name="right" type="Variant" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="String" />
+ <argument index="0" name="right" type="String" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &lt;">
+ <return type="bool" />
+ <argument index="0" name="right" type="String" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &lt;=">
+ <return type="bool" />
+ <argument index="0" name="right" type="String" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="String" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="StringName" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &gt;">
+ <return type="bool" />
+ <argument index="0" name="right" type="String" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &gt;=">
+ <return type="bool" />
+ <argument index="0" name="right" type="String" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="String" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml
index 113195d91c..b32665a09f 100644
--- a/doc/classes/StringName.xml
+++ b/doc/classes/StringName.xml
@@ -8,60 +8,62 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="StringName" qualifiers="constructor">
+ <constructors>
+ <constructor name="StringName">
<return type="StringName" />
<description>
Constructs an empty [StringName].
</description>
- </method>
- <method name="StringName" qualifiers="constructor">
+ </constructor>
+ <constructor name="StringName">
<return type="StringName" />
<argument index="0" name="from" type="StringName" />
<description>
Constructs a [StringName] as a copy of the given [StringName].
</description>
- </method>
- <method name="StringName" qualifiers="constructor">
+ </constructor>
+ <constructor name="StringName">
<return type="StringName" />
<argument index="0" name="from" type="String" />
<description>
Creates a new [StringName] from the given [String].
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </constructor>
+ </constructors>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="String" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="StringName" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="String" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="StringName" />
<description>
</description>
- </method>
- </methods>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/TabBar.xml b/doc/classes/TabBar.xml
index 3ca124bb58..612f8fb740 100644
--- a/doc/classes/TabBar.xml
+++ b/doc/classes/TabBar.xml
@@ -235,10 +235,19 @@
Emitted when a tab is clicked, even if it is the current tab.
</description>
</signal>
- <signal name="tab_closed">
+ <signal name="tab_close_pressed">
<argument index="0" name="tab" type="int" />
<description>
- Emitted when a tab is closed.
+ Emitted when a tab's close button is pressed.
+ [b]Note:[/b] Tabs are not removed automatically once the close button is pressed, this behaviour needs to be programmed manually. For example:
+ [codeblocks]
+ [gdscript]
+ $TabBar.tab_close_pressed.connect($TabBar.remove_tab)
+ [/gdscript]
+ [csharp]
+ GetNode&lt;TabBar&gt;("TabBar").TabClosePressed += GetNode&lt;TabBar&gt;("TabBar").RemoveTab;
+ [/csharp]
+ [/codeblocks]
</description>
</signal>
<signal name="tab_hovered">
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index ba3394b54a..b8e2f7f03c 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -922,6 +922,9 @@
<member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled" default="true">
If [code]true[/code], a right-click displays the context menu.
</member>
+ <member name="deselect_on_focus_loss_enabled" type="bool" setter="set_deselect_on_focus_loss_enabled" getter="is_deselect_on_focus_loss_enabled" default="true">
+ If [code]true[/code], the selected text will be deselected when focus is lost.
+ </member>
<member name="draw_control_chars" type="bool" setter="set_draw_control_chars" getter="get_draw_control_chars" default="false">
If [code]true[/code], control characters are displayed.
</member>
diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml
index b10c7bcc96..3e32afe370 100644
--- a/doc/classes/TextServer.xml
+++ b/doc/classes/TextServer.xml
@@ -1233,6 +1233,13 @@
Aligns shaped text to the given tab-stops.
</description>
</method>
+ <method name="strip_diacritics" qualifiers="const">
+ <return type="String" />
+ <argument index="0" name="string" type="String" />
+ <description>
+ Strips diacritics from the string.
+ </description>
+ </method>
<method name="tag_to_name" qualifiers="const">
<return type="String" />
<argument index="0" name="tag" type="int" />
diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml
index e65d5b4533..22d61c7285 100644
--- a/doc/classes/TileMap.xml
+++ b/doc/classes/TileMap.xml
@@ -16,6 +16,27 @@
<link title="2D Kinematic Character Demo">https://godotengine.org/asset-library/asset/113</link>
</tutorials>
<methods>
+ <method name="_tile_data_runtime_update" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="layer" type="int" />
+ <argument index="1" name="coords" type="Vector2i" />
+ <argument index="2" name="tile_data" type="TileData" />
+ <description>
+ Called with a TileData object about to be used internally by the TileMap, allowing its modification at runtime.
+ This method is only called if [method _use_tile_data_runtime_update] is implemented and returns [code]true[/code] for the given tile [code]coords[/coords] and [code]layer[/code].
+ [b]Warning:[/b] The [code]tile_data[/code] object's sub-resources are the same as the one in the TileSet. Modifying them might impact the whole TileSet. Instead, make sure to duplicate those resources.
+ [b]Note:[/b] If the properties of [code]tile_data[/code] object should change over time, use [method force_update] to trigger a TileMap update.
+ </description>
+ </method>
+ <method name="_use_tile_data_runtime_update" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="layer" type="int" />
+ <argument index="1" name="coords" type="Vector2i" />
+ <description>
+ Should return [code]true[/code] if the tile at coordinates [code]coords[/coords] on layer [code]layer[/code] requires a runtime update.
+ [b]Warning:[/b] Make sure this function only return [code]true[/code] when needed. Any tile processed at runtime without a need for it will imply a significant performance penalty.
+ </description>
+ </method>
<method name="add_layer">
<return type="void" />
<argument index="0" name="to_position" type="int" />
@@ -42,6 +63,15 @@
Clears cells that do not exist in the tileset.
</description>
</method>
+ <method name="force_update">
+ <return type="void" />
+ <argument index="0" name="layer" type="int" default="-1" />
+ <description>
+ Triggers an update of the TileMap. If [code]layer[/code] is provided, only updates the given layer.
+ [b]Note:[/b] The TileMap node updates automatically when one of its properties is modified. A manual update is only needed if runtime modifications (implemented in [method _tile_data_runtime_update]) need to be applied.
+ [b]Warning:[/b] Updating the TileMap is a performance demanding task. Limit occurences of those updates to the minimum and limit the amount tiles they impact (by segregating tiles updated often to a dedicated layer for example).
+ </description>
+ </method>
<method name="get_cell_alternative_tile" qualifiers="const">
<return type="int" />
<argument index="0" name="layer" type="int" />
@@ -204,6 +234,17 @@
- The alternative tile identifier [code]alternative_tile[/code] identifies a tile alternative the source is a [TileSetAtlasSource], and the scene for a [TileSetScenesCollectionSource].
</description>
</method>
+ <method name="set_cells_from_surrounding_terrains">
+ <return type="void" />
+ <argument index="0" name="layer" type="int" />
+ <argument index="1" name="cells" type="Vector2i[]" />
+ <argument index="2" name="terrain_set" type="int" />
+ <argument index="3" name="ignore_empty_terrains" type="bool" default="true" />
+ <description>
+ Updates all the cells in the [code]cells[/code] coordinates array and replace them by tiles that matches the surrounding cells terrains. Only cells form the given [code]terrain_set[/code] are considered.
+ If [code]ignore_empty_terrains[/code] is true, zones with no terrain defined are ignored to select the tiles.
+ </description>
+ </method>
<method name="set_layer_enabled">
<return type="void" />
<argument index="0" name="layer" type="int" />
diff --git a/doc/classes/Time.xml b/doc/classes/Time.xml
index 24ce30154d..b66ec83eaf 100644
--- a/doc/classes/Time.xml
+++ b/doc/classes/Time.xml
@@ -7,6 +7,7 @@
The Time singleton allows converting time between various formats and also getting time information from the system.
This class conforms with as many of the ISO 8601 standards as possible. All dates follow the Proleptic Gregorian calendar. As such, the day before [code]1582-10-15[/code] is [code]1582-10-14[/code], not [code]1582-10-04[/code]. The year before 1 AD (aka 1 BC) is number [code]0[/code], with the year before that (2 BC) being [code]-1[/code], etc.
Conversion methods assume "the same timezone", and do not handle timezone conversions or DST automatically. Leap seconds are also not handled, they must be done manually if desired. Suffixes such as "Z" are not handled, you need to strip them away manually.
+ When getting time information from the system, the time can either be in the local timezone or UTC depending on the [code]utc[/code] parameter. However, the [method get_unix_time_from_system] method always returns the time in UTC.
[b]Important:[/b] The [code]_from_system[/code] methods use the system clock that the user can manually set. [b]Never use[/b] this method for precise time calculation since its results are subject to automatic adjustments by the user or the operating system. [b]Always use[/b] [method get_ticks_usec] or [method get_ticks_msec] for precise time calculation instead, since they are guaranteed to be monotonic (i.e. never decrease).
</description>
<tutorials>
@@ -82,7 +83,7 @@
<argument index="0" name="utc" type="bool" default="false" />
<argument index="1" name="use_space" type="bool" default="false" />
<description>
- Returns the current date and time as a dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]weekday[/code], [code]dst[/code] (Daylight Savings Time), [code]hour[/code], [code]minute[/code], and [code]second[/code].
+ Returns the current date and time as an ISO 8601 date and time string (YYYY-MM-DDTHH:MM:SS).
The returned values are in the system's local time when [code]utc[/code] is false, otherwise they are in UTC.
If [code]use_space[/code] is true, use a space instead of the letter T in the middle.
</description>
@@ -100,12 +101,14 @@
<return type="int" />
<description>
Returns the amount of time passed in milliseconds since the engine started.
+ Will always be positive or 0 and uses a 64-bit value (it will wrap after roughly 500 million years).
</description>
</method>
<method name="get_ticks_usec" qualifiers="const">
<return type="int" />
<description>
Returns the amount of time passed in microseconds since the engine started.
+ Will always be positive or 0 and uses a 64-bit value (it will wrap after roughly half a million years).
</description>
</method>
<method name="get_time_dict_from_system" qualifiers="const">
@@ -152,6 +155,7 @@
The given dictionary can be populated with the following keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]hour[/code], [code]minute[/code], and [code]second[/code]. Any other entries (including [code]dst[/code]) are ignored.
If the dictionary is empty, [code]0[/code] is returned. If some keys are omitted, they default to the equivalent values for the Unix epoch timestamp 0 (1970-01-01 at 00:00:00).
You can pass the output from [method get_datetime_dict_from_unix_time] directly into this function and get the same as what was put in.
+ [b]Note:[/b] Unix timestamps are often in UTC. This method does not do any timezone conversion, so the timestamp will be in the same timezone as the given datetime dictionary.
</description>
</method>
<method name="get_unix_time_from_datetime_string" qualifiers="const">
@@ -159,12 +163,13 @@
<argument index="0" name="datetime" type="String" />
<description>
Converts the given ISO 8601 date and/or time string to a Unix timestamp. The string can contain a date only, a time only, or both.
+ [b]Note:[/b] Unix timestamps are often in UTC. This method does not do any timezone conversion, so the timestamp will be in the same timezone as the given datetime string.
</description>
</method>
<method name="get_unix_time_from_system" qualifiers="const">
<return type="float" />
<description>
- Returns the current Unix timestamp in seconds based on the system time.
+ Returns the current Unix timestamp in seconds based on the system time in UTC. This method is implemented by the operating system and always returns the time in UTC.
</description>
</method>
</methods>
diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml
index d64752a00f..ab7632e08e 100644
--- a/doc/classes/Transform2D.xml
+++ b/doc/classes/Transform2D.xml
@@ -13,29 +13,29 @@
<link title="Matrix Transform Demo">https://godotengine.org/asset-library/asset/584</link>
<link title="2.5D Demo">https://godotengine.org/asset-library/asset/583</link>
</tutorials>
- <methods>
- <method name="Transform2D" qualifiers="constructor">
+ <constructors>
+ <constructor name="Transform2D">
<return type="Transform2D" />
<description>
Constructs a default-initialized [Transform2D] set to [constant IDENTITY].
</description>
- </method>
- <method name="Transform2D" qualifiers="constructor">
+ </constructor>
+ <constructor name="Transform2D">
<return type="Transform2D" />
<argument index="0" name="from" type="Transform2D" />
<description>
Constructs a [Transform2D] as a copy of the given [Transform2D].
</description>
- </method>
- <method name="Transform2D" qualifiers="constructor">
+ </constructor>
+ <constructor name="Transform2D">
<return type="Transform2D" />
<argument index="0" name="rotation" type="float" />
<argument index="1" name="position" type="Vector2" />
<description>
Constructs the transform from a given angle (in radians) and position.
</description>
- </method>
- <method name="Transform2D" qualifiers="constructor">
+ </constructor>
+ <constructor name="Transform2D">
<return type="Transform2D" />
<argument index="0" name="rotation" type="float" />
<argument index="1" name="scale" type="Vector2" />
@@ -44,8 +44,8 @@
<description>
Constructs the transform from a given angle (in radians), scale, skew (in radians) and position.
</description>
- </method>
- <method name="Transform2D" qualifiers="constructor">
+ </constructor>
+ <constructor name="Transform2D">
<return type="Transform2D" />
<argument index="0" name="x_axis" type="Vector2" />
<argument index="1" name="y_axis" type="Vector2" />
@@ -53,7 +53,9 @@
<description>
Constructs the transform from 3 [Vector2] values representing [member x], [member y], and the [member origin] (the three column vectors).
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="affine_inverse" qualifiers="const">
<return type="Transform2D" />
<description>
@@ -129,72 +131,6 @@
Operations take place in global space.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Transform2D" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="PackedVector2Array" />
- <argument index="0" name="right" type="PackedVector2Array" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Transform2D" />
- <argument index="0" name="right" type="Transform2D" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Rect2" />
- <argument index="0" name="right" type="Rect2" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Transform2D" />
- <argument index="0" name="right" type="float" />
- <description>
- This operator multiplies all components of the [Transform2D], including the origin vector, which scales it uniformly.
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Transform2D" />
- <argument index="0" name="right" type="int" />
- <description>
- This operator multiplies all components of the [Transform2D], including the origin vector, which scales it uniformly.
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Transform2D" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
<method name="orthonormalized" qualifiers="const">
<return type="Transform2D" />
<description>
@@ -267,4 +203,72 @@
The [Transform2D] that will flip something along the Y axis.
</constant>
</constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Transform2D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="PackedVector2Array" />
+ <argument index="0" name="right" type="PackedVector2Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Transform2D" />
+ <argument index="0" name="right" type="Transform2D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Rect2" />
+ <argument index="0" name="right" type="Rect2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Transform2D" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ This operator multiplies all components of the [Transform2D], including the origin vector, which scales it uniformly.
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Transform2D" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ This operator multiplies all components of the [Transform2D], including the origin vector, which scales it uniformly.
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Transform2D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="Vector2" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Transform3D.xml b/doc/classes/Transform3D.xml
index 63a7746328..8c4965abb4 100644
--- a/doc/classes/Transform3D.xml
+++ b/doc/classes/Transform3D.xml
@@ -15,29 +15,29 @@
<link title="3D Platformer Demo">https://godotengine.org/asset-library/asset/125</link>
<link title="2.5D Demo">https://godotengine.org/asset-library/asset/583</link>
</tutorials>
- <methods>
- <method name="Transform3D" qualifiers="constructor">
+ <constructors>
+ <constructor name="Transform3D">
<return type="Transform3D" />
<description>
Constructs a default-initialized [Transform3D] set to [constant IDENTITY].
</description>
- </method>
- <method name="Transform3D" qualifiers="constructor">
+ </constructor>
+ <constructor name="Transform3D">
<return type="Transform3D" />
<argument index="0" name="from" type="Transform3D" />
<description>
Constructs a [Transform3D] as a copy of the given [Transform3D].
</description>
- </method>
- <method name="Transform3D" qualifiers="constructor">
+ </constructor>
+ <constructor name="Transform3D">
<return type="Transform3D" />
<argument index="0" name="basis" type="Basis" />
<argument index="1" name="origin" type="Vector3" />
<description>
Constructs a Transform3D from a [Basis] and [Vector3].
</description>
- </method>
- <method name="Transform3D" qualifiers="constructor">
+ </constructor>
+ <constructor name="Transform3D">
<return type="Transform3D" />
<argument index="0" name="x_axis" type="Vector3" />
<argument index="1" name="y_axis" type="Vector3" />
@@ -46,7 +46,9 @@
<description>
Constructs a Transform3D from four [Vector3] values (matrix columns). Each axis corresponds to local basis vectors (some of which may be scaled).
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="affine_inverse" qualifiers="const">
<return type="Transform3D" />
<description>
@@ -83,66 +85,6 @@
The up axis (+Y) points as close to the [code]up[/code] vector as possible while staying perpendicular to the forward axis. The resulting transform is orthonormalized. The existing rotation, scale, and skew information from the original transform is discarded. The [code]target[/code] and [code]up[/code] vectors cannot be zero, cannot be parallel to each other, and are defined in global/parent space.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Transform3D" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="PackedVector3Array" />
- <argument index="0" name="right" type="PackedVector3Array" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Transform3D" />
- <argument index="0" name="right" type="Transform3D" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="AABB" />
- <argument index="0" name="right" type="AABB" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Transform3D" />
- <argument index="0" name="right" type="float" />
- <description>
- This operator multiplies all components of the [Transform3D], including the origin vector, which scales it uniformly.
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Transform3D" />
- <argument index="0" name="right" type="int" />
- <description>
- This operator multiplies all components of the [Transform3D], including the origin vector, which scales it uniformly.
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Transform3D" />
- <description>
- </description>
- </method>
<method name="orthonormalized" qualifiers="const">
<return type="Transform3D" />
<description>
@@ -195,4 +137,66 @@
[Transform3D] with mirroring applied perpendicular to the XY plane.
</constant>
</constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Transform3D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="PackedVector3Array" />
+ <argument index="0" name="right" type="PackedVector3Array" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Transform3D" />
+ <argument index="0" name="right" type="Transform3D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="AABB" />
+ <argument index="0" name="right" type="AABB" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Transform3D" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ This operator multiplies all components of the [Transform3D], including the origin vector, which scales it uniformly.
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Transform3D" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ This operator multiplies all components of the [Transform3D], including the origin vector, which scales it uniformly.
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Transform3D" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml
index 488a5aa340..05c83f0423 100644
--- a/doc/classes/Tween.xml
+++ b/doc/classes/Tween.xml
@@ -74,17 +74,17 @@
</method>
<method name="interpolate_value">
<return type="Variant" />
- <argument index="0" name="trans_type" type="Variant" />
- <argument index="1" name="ease_type" type="Variant" />
+ <argument index="0" name="initial_value" type="Variant" />
+ <argument index="1" name="delta_value" type="Variant" />
<argument index="2" name="elapsed_time" type="float" />
- <argument index="3" name="initial_value" type="float" />
- <argument index="4" name="delta_value" type="int" enum="Tween.TransitionType" />
- <argument index="5" name="duration" type="int" enum="Tween.EaseType" />
+ <argument index="3" name="duration" type="float" />
+ <argument index="4" name="trans_type" type="int" enum="Tween.TransitionType" />
+ <argument index="5" name="ease_type" type="int" enum="Tween.EaseType" />
<description>
This method can be used for manual interpolation of a value, when you don't want [Tween] to do animating for you. It's similar to [method @GlobalScope.lerp], but with support for custom transition and easing.
- [code]elapsed_time[/code] is the time in seconds that passed after the interping started and it's used to control the position of the interpolation. E.g. when it's equal to half of the [code]duration[/code], the interpolated value will be halfway between initial and final values. This value can also be greater than [code]duration[/code] or lower than 0, which will extrapolate the value.
[code]initial_value[/code] is the starting value of the interpolation.
[code]delta_value[/code] is the change of the value in the interpolation, i.e. it's equal to [code]final_value - initial_value[/code].
+ [code]elapsed_time[/code] is the time in seconds that passed after the interpolation started and it's used to control the position of the interpolation. E.g. when it's equal to half of the [code]duration[/code], the interpolated value will be halfway between initial and final values. This value can also be greater than [code]duration[/code] or lower than 0, which will extrapolate the value.
[code]duration[/code] is the total time of the interpolation.
[b]Note:[/b] If [code]duration[/code] is equal to [code]0[/code], the method will always return the final value, regardless of [code]elapsed_time[/code] provided.
</description>
diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml
index 4035fb0ad2..eaaf41561a 100644
--- a/doc/classes/Vector2.xml
+++ b/doc/classes/Vector2.xml
@@ -16,35 +16,37 @@
<link title="Matrix Transform Demo">https://godotengine.org/asset-library/asset/584</link>
<link title="All 2D Demos">https://github.com/godotengine/godot-demo-projects/tree/master/2d</link>
</tutorials>
- <methods>
- <method name="Vector2" qualifiers="constructor">
+ <constructors>
+ <constructor name="Vector2">
<return type="Vector2" />
<description>
Constructs a default-initialized [Vector2] with all components set to [code]0[/code].
</description>
- </method>
- <method name="Vector2" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector2">
<return type="Vector2" />
<argument index="0" name="from" type="Vector2" />
<description>
Constructs a [Vector2] as a copy of the given [Vector2].
</description>
- </method>
- <method name="Vector2" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector2">
<return type="Vector2" />
<argument index="0" name="from" type="Vector2i" />
<description>
Constructs a new [Vector2] from [Vector2i].
</description>
- </method>
- <method name="Vector2" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector2">
<return type="Vector2" />
<argument index="0" name="x" type="float" />
<argument index="1" name="y" type="float" />
<description>
Constructs a new [Vector2] from the given [code]x[/code] and [code]y[/code].
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="abs" qualifiers="const">
<return type="Vector2" />
<description>
@@ -225,122 +227,6 @@
Returns the vector scaled to unit length. Equivalent to [code]v / v.length()[/code].
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="Transform2D" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="float" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="int" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator -" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="float" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Vector2" />
- <argument index="0" name="right" type="int" />
- <description>
- </description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="float" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
- <method name="operator unary+" qualifiers="operator">
- <return type="Vector2" />
- <description>
- </description>
- </method>
- <method name="operator unary-" qualifiers="operator">
- <return type="Vector2" />
- <description>
- </description>
- </method>
<method name="orthogonal" qualifiers="const">
<return type="Vector2" />
<description>
@@ -455,4 +341,122 @@
Down unit vector. Y is down in 2D, so this vector points +Y.
</constant>
</constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="Transform2D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator -">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Vector2" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &lt;">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &lt;=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &gt;">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &gt;=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="float" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator unary+">
+ <return type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator unary-">
+ <return type="Vector2" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Vector2i.xml b/doc/classes/Vector2i.xml
index 52fd8c6780..71882e5b0c 100644
--- a/doc/classes/Vector2i.xml
+++ b/doc/classes/Vector2i.xml
@@ -13,35 +13,37 @@
<link title="Vector math">https://docs.godotengine.org/en/latest/tutorials/math/vector_math.html</link>
<link title="3Blue1Brown Essence of Linear Algebra">https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab</link>
</tutorials>
- <methods>
- <method name="Vector2i" qualifiers="constructor">
+ <constructors>
+ <constructor name="Vector2i">
<return type="Vector2i" />
<description>
Constructs a default-initialized [Vector2i] with all components set to [code]0[/code].
</description>
- </method>
- <method name="Vector2i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector2i">
<return type="Vector2i" />
<argument index="0" name="from" type="Vector2i" />
<description>
Constructs a [Vector2i] as a copy of the given [Vector2i].
</description>
- </method>
- <method name="Vector2i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector2i">
<return type="Vector2i" />
<argument index="0" name="from" type="Vector2" />
<description>
Constructs a new [Vector2i] from [Vector2]. The floating point coordinates will be truncated.
</description>
- </method>
- <method name="Vector2i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector2i">
<return type="Vector2i" />
<argument index="0" name="x" type="int" />
<argument index="1" name="y" type="int" />
<description>
Constructs a new [Vector2i] from the given [code]x[/code] and [code]y[/code].
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="abs" qualifiers="const">
<return type="Vector2i" />
<description>
@@ -62,167 +64,169 @@
Returns a new vector with all components clamped between the components of [code]min[/code] and [code]max[/code], by running [method @GlobalScope.clamp] on each component.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
+ <method name="sign" qualifiers="const">
+ <return type="Vector2i" />
<description>
+ Returns the vector with each component set to one or negative one, depending on the signs of the components.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
+ </methods>
+ <members>
+ <member name="x" type="int" setter="" getter="" default="0">
+ The vector's X component. Also accessible by using the index position [code][0][/code].
+ </member>
+ <member name="y" type="int" setter="" getter="" default="0">
+ The vector's Y component. Also accessible by using the index position [code][1][/code].
+ </member>
+ </members>
+ <constants>
+ <constant name="AXIS_X" value="0">
+ Enumerated value for the X axis.
+ </constant>
+ <constant name="AXIS_Y" value="1">
+ Enumerated value for the Y axis.
+ </constant>
+ <constant name="ZERO" value="Vector2i(0, 0)">
+ Zero vector, a vector with all components set to [code]0[/code].
+ </constant>
+ <constant name="ONE" value="Vector2i(1, 1)">
+ One vector, a vector with all components set to [code]1[/code].
+ </constant>
+ <constant name="LEFT" value="Vector2i(-1, 0)">
+ Left unit vector. Represents the direction of left.
+ </constant>
+ <constant name="RIGHT" value="Vector2i(1, 0)">
+ Right unit vector. Represents the direction of right.
+ </constant>
+ <constant name="UP" value="Vector2i(0, -1)">
+ Up unit vector. Y is down in 2D, so this vector points -Y.
+ </constant>
+ <constant name="DOWN" value="Vector2i(0, 1)">
+ Down unit vector. Y is down in 2D, so this vector points +Y.
+ </constant>
+ </constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator %" qualifiers="operator">
+ </operator>
+ <operator name="operator %">
<return type="Vector2i" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator %" qualifiers="operator">
+ </operator>
+ <operator name="operator %">
<return type="Vector2i" />
<argument index="0" name="right" type="int" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector2i" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector2i" />
<argument index="0" name="right" type="float" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector2i" />
<argument index="0" name="right" type="int" />
<description>
</description>
- </method>
- <method name="operator +" qualifiers="operator">
+ </operator>
+ <operator name="operator +">
<return type="Vector2i" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator -" qualifiers="operator">
+ </operator>
+ <operator name="operator -">
<return type="Vector2i" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="Vector2i" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="Vector2i" />
<argument index="0" name="right" type="float" />
<description>
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="Vector2i" />
<argument index="0" name="right" type="int" />
<description>
</description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;=">
<return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator []" qualifiers="operator">
+ </operator>
+ <operator name="operator []">
<return type="int" />
<argument index="0" name="index" type="int" />
<description>
</description>
- </method>
- <method name="operator unary+" qualifiers="operator">
+ </operator>
+ <operator name="operator unary+">
<return type="Vector2i" />
<description>
</description>
- </method>
- <method name="operator unary-" qualifiers="operator">
+ </operator>
+ <operator name="operator unary-">
<return type="Vector2i" />
<description>
</description>
- </method>
- <method name="sign" qualifiers="const">
- <return type="Vector2i" />
- <description>
- Returns the vector with each component set to one or negative one, depending on the signs of the components.
- </description>
- </method>
- </methods>
- <members>
- <member name="x" type="int" setter="" getter="" default="0">
- The vector's X component. Also accessible by using the index position [code][0][/code].
- </member>
- <member name="y" type="int" setter="" getter="" default="0">
- The vector's Y component. Also accessible by using the index position [code][1][/code].
- </member>
- </members>
- <constants>
- <constant name="AXIS_X" value="0">
- Enumerated value for the X axis.
- </constant>
- <constant name="AXIS_Y" value="1">
- Enumerated value for the Y axis.
- </constant>
- <constant name="ZERO" value="Vector2i(0, 0)">
- Zero vector, a vector with all components set to [code]0[/code].
- </constant>
- <constant name="ONE" value="Vector2i(1, 1)">
- One vector, a vector with all components set to [code]1[/code].
- </constant>
- <constant name="LEFT" value="Vector2i(-1, 0)">
- Left unit vector. Represents the direction of left.
- </constant>
- <constant name="RIGHT" value="Vector2i(1, 0)">
- Right unit vector. Represents the direction of right.
- </constant>
- <constant name="UP" value="Vector2i(0, -1)">
- Up unit vector. Y is down in 2D, so this vector points -Y.
- </constant>
- <constant name="DOWN" value="Vector2i(0, 1)">
- Down unit vector. Y is down in 2D, so this vector points +Y.
- </constant>
- </constants>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml
index 267a0d2e9e..a94cc0086f 100644
--- a/doc/classes/Vector3.xml
+++ b/doc/classes/Vector3.xml
@@ -16,28 +16,28 @@
<link title="Matrix Transform Demo">https://godotengine.org/asset-library/asset/584</link>
<link title="All 3D Demos">https://github.com/godotengine/godot-demo-projects/tree/master/3d</link>
</tutorials>
- <methods>
- <method name="Vector3" qualifiers="constructor">
+ <constructors>
+ <constructor name="Vector3">
<return type="Vector3" />
<description>
Constructs a default-initialized [Vector3] with all components set to [code]0[/code].
</description>
- </method>
- <method name="Vector3" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector3">
<return type="Vector3" />
<argument index="0" name="from" type="Vector3" />
<description>
Constructs a [Vector3] as a copy of the given [Vector3].
</description>
- </method>
- <method name="Vector3" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector3">
<return type="Vector3" />
<argument index="0" name="from" type="Vector3i" />
<description>
Constructs a new [Vector3] from [Vector3i].
</description>
- </method>
- <method name="Vector3" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector3">
<return type="Vector3" />
<argument index="0" name="x" type="float" />
<argument index="1" name="y" type="float" />
@@ -45,7 +45,9 @@
<description>
Returns a [Vector3] with the given components.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="abs" qualifiers="const">
<return type="Vector3" />
<description>
@@ -208,131 +210,14 @@
Returns the vector scaled to unit length. Equivalent to [code]v / v.length()[/code].
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Basis" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Quaternion" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Transform3D" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="float" />
- <description>
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="int" />
- <description>
- </description>
- </method>
- <method name="operator +" qualifiers="operator">
+ <method name="octahedron_decode" qualifiers="static">
<return type="Vector3" />
- <argument index="0" name="right" type="Vector3" />
+ <argument index="0" name="uv" type="Vector2" />
<description>
</description>
</method>
- <method name="operator -" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="float" />
- <description>
- </description>
- </method>
- <method name="operator /" qualifiers="operator">
- <return type="Vector3" />
- <argument index="0" name="right" type="int" />
- <description>
- </description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <description>
- </description>
- </method>
- <method name="operator ==" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
- <return type="bool" />
- <argument index="0" name="right" type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator []" qualifiers="operator">
- <return type="float" />
- <argument index="0" name="index" type="int" />
- <description>
- </description>
- </method>
- <method name="operator unary+" qualifiers="operator">
- <return type="Vector3" />
- <description>
- </description>
- </method>
- <method name="operator unary-" qualifiers="operator">
- <return type="Vector3" />
+ <method name="octahedron_encode" qualifiers="const">
+ <return type="Vector2" />
<description>
</description>
</method>
@@ -472,4 +357,134 @@
Back unit vector. Represents the local direction of back, and the global direction of south.
</constant>
</constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Basis" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Quaternion" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Transform3D" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator +">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator -">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="float" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator /">
+ <return type="Vector3" />
+ <argument index="0" name="right" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &lt;">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &lt;=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator ==">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &gt;">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator &gt;=">
+ <return type="bool" />
+ <argument index="0" name="right" type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator []">
+ <return type="float" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator unary+">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator unary-">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml
index 2a7ee1ffb8..5cd458a2be 100644
--- a/doc/classes/Vector3i.xml
+++ b/doc/classes/Vector3i.xml
@@ -13,28 +13,28 @@
<link title="Vector math">https://docs.godotengine.org/en/latest/tutorials/math/vector_math.html</link>
<link title="3Blue1Brown Essence of Linear Algebra">https://www.youtube.com/playlist?list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab</link>
</tutorials>
- <methods>
- <method name="Vector3i" qualifiers="constructor">
+ <constructors>
+ <constructor name="Vector3i">
<return type="Vector3i" />
<description>
Constructs a default-initialized [Vector3i] with all components set to [code]0[/code].
</description>
- </method>
- <method name="Vector3i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector3i">
<return type="Vector3i" />
<argument index="0" name="from" type="Vector3i" />
<description>
Constructs a [Vector3i] as a copy of the given [Vector3i].
</description>
- </method>
- <method name="Vector3i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector3i">
<return type="Vector3i" />
<argument index="0" name="from" type="Vector3" />
<description>
Constructs a new [Vector3i] from [Vector3]. The floating point coordinates will be truncated.
</description>
- </method>
- <method name="Vector3i" qualifiers="constructor">
+ </constructor>
+ <constructor name="Vector3i">
<return type="Vector3i" />
<argument index="0" name="x" type="int" />
<argument index="1" name="y" type="int" />
@@ -42,7 +42,9 @@
<description>
Returns a [Vector3i] with the given components.
</description>
- </method>
+ </constructor>
+ </constructors>
+ <methods>
<method name="abs" qualifiers="const">
<return type="Vector3i" />
<description>
@@ -68,179 +70,181 @@
Returns the axis of the vector's smallest value. See [code]AXIS_*[/code] constants. If all components are equal, this method returns [constant AXIS_Z].
</description>
</method>
- <method name="operator !=" qualifiers="operator">
- <return type="bool" />
+ <method name="sign" qualifiers="const">
+ <return type="Vector3i" />
<description>
+ Returns the vector with each component set to one or negative one, depending on the signs of the components.
</description>
</method>
- <method name="operator !=" qualifiers="operator">
+ </methods>
+ <members>
+ <member name="x" type="int" setter="" getter="" default="0">
+ The vector's X component. Also accessible by using the index position [code][0][/code].
+ </member>
+ <member name="y" type="int" setter="" getter="" default="0">
+ The vector's Y component. Also accessible by using the index position [code][1][/code].
+ </member>
+ <member name="z" type="int" setter="" getter="" default="0">
+ The vector's Z component. Also accessible by using the index position [code][2][/code].
+ </member>
+ </members>
+ <constants>
+ <constant name="AXIS_X" value="0">
+ Enumerated value for the X axis.
+ </constant>
+ <constant name="AXIS_Y" value="1">
+ Enumerated value for the Y axis.
+ </constant>
+ <constant name="AXIS_Z" value="2">
+ Enumerated value for the Z axis.
+ </constant>
+ <constant name="ZERO" value="Vector3i(0, 0, 0)">
+ Zero vector, a vector with all components set to [code]0[/code].
+ </constant>
+ <constant name="ONE" value="Vector3i(1, 1, 1)">
+ One vector, a vector with all components set to [code]1[/code].
+ </constant>
+ <constant name="LEFT" value="Vector3i(-1, 0, 0)">
+ Left unit vector. Represents the local direction of left, and the global direction of west.
+ </constant>
+ <constant name="RIGHT" value="Vector3i(1, 0, 0)">
+ Right unit vector. Represents the local direction of right, and the global direction of east.
+ </constant>
+ <constant name="UP" value="Vector3i(0, 1, 0)">
+ Up unit vector.
+ </constant>
+ <constant name="DOWN" value="Vector3i(0, -1, 0)">
+ Down unit vector.
+ </constant>
+ <constant name="FORWARD" value="Vector3i(0, 0, -1)">
+ Forward unit vector. Represents the local direction of forward, and the global direction of north.
+ </constant>
+ <constant name="BACK" value="Vector3i(0, 0, 1)">
+ Back unit vector. Represents the local direction of back, and the global direction of south.
+ </constant>
+ </constants>
+ <operators>
+ <operator name="operator !=">
+ <return type="bool" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator %" qualifiers="operator">
+ </operator>
+ <operator name="operator %">
<return type="Vector3i" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator %" qualifiers="operator">
+ </operator>
+ <operator name="operator %">
<return type="Vector3i" />
<argument index="0" name="right" type="int" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector3i" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector3i" />
<argument index="0" name="right" type="float" />
<description>
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector3i" />
<argument index="0" name="right" type="int" />
<description>
</description>
- </method>
- <method name="operator +" qualifiers="operator">
+ </operator>
+ <operator name="operator +">
<return type="Vector3i" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator -" qualifiers="operator">
+ </operator>
+ <operator name="operator -">
<return type="Vector3i" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="Vector3i" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="Vector3i" />
<argument index="0" name="right" type="float" />
<description>
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="Vector3i" />
<argument index="0" name="right" type="int" />
<description>
</description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;=">
<return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator []" qualifiers="operator">
+ </operator>
+ <operator name="operator []">
<return type="int" />
<argument index="0" name="index" type="int" />
<description>
</description>
- </method>
- <method name="operator unary+" qualifiers="operator">
+ </operator>
+ <operator name="operator unary+">
<return type="Vector3i" />
<description>
</description>
- </method>
- <method name="operator unary-" qualifiers="operator">
+ </operator>
+ <operator name="operator unary-">
<return type="Vector3i" />
<description>
</description>
- </method>
- <method name="sign" qualifiers="const">
- <return type="Vector3i" />
- <description>
- Returns the vector with each component set to one or negative one, depending on the signs of the components.
- </description>
- </method>
- </methods>
- <members>
- <member name="x" type="int" setter="" getter="" default="0">
- The vector's X component. Also accessible by using the index position [code][0][/code].
- </member>
- <member name="y" type="int" setter="" getter="" default="0">
- The vector's Y component. Also accessible by using the index position [code][1][/code].
- </member>
- <member name="z" type="int" setter="" getter="" default="0">
- The vector's Z component. Also accessible by using the index position [code][2][/code].
- </member>
- </members>
- <constants>
- <constant name="AXIS_X" value="0">
- Enumerated value for the X axis.
- </constant>
- <constant name="AXIS_Y" value="1">
- Enumerated value for the Y axis.
- </constant>
- <constant name="AXIS_Z" value="2">
- Enumerated value for the Z axis.
- </constant>
- <constant name="ZERO" value="Vector3i(0, 0, 0)">
- Zero vector, a vector with all components set to [code]0[/code].
- </constant>
- <constant name="ONE" value="Vector3i(1, 1, 1)">
- One vector, a vector with all components set to [code]1[/code].
- </constant>
- <constant name="LEFT" value="Vector3i(-1, 0, 0)">
- Left unit vector. Represents the local direction of left, and the global direction of west.
- </constant>
- <constant name="RIGHT" value="Vector3i(1, 0, 0)">
- Right unit vector. Represents the local direction of right, and the global direction of east.
- </constant>
- <constant name="UP" value="Vector3i(0, 1, 0)">
- Up unit vector.
- </constant>
- <constant name="DOWN" value="Vector3i(0, -1, 0)">
- Down unit vector.
- </constant>
- <constant name="FORWARD" value="Vector3i(0, 0, -1)">
- Forward unit vector. Represents the local direction of forward, and the global direction of north.
- </constant>
- <constant name="BACK" value="Vector3i(0, 0, 1)">
- Back unit vector. Represents the local direction of back, and the global direction of south.
- </constant>
- </constants>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml
index cdb9de4f86..d7b4673b9f 100644
--- a/doc/classes/VisualShader.xml
+++ b/doc/classes/VisualShader.xml
@@ -176,7 +176,10 @@
</constant>
<constant name="TYPE_SKY" value="8" enum="Type">
</constant>
- <constant name="TYPE_MAX" value="9" enum="Type">
+ <constant name="TYPE_FOG" value="9" enum="Type">
+ A compute shader that runs for each froxel of the volumetric fog map.
+ </constant>
+ <constant name="TYPE_MAX" value="10" enum="Type">
Represents the size of the [enum Type] enum.
</constant>
<constant name="NODE_ID_INVALID" value="-1">
diff --git a/doc/classes/bool.xml b/doc/classes/bool.xml
index 39e34a7b96..49f2d2dd7f 100644
--- a/doc/classes/bool.xml
+++ b/doc/classes/bool.xml
@@ -91,71 +91,74 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="bool" qualifiers="constructor">
+ <constructors>
+ <constructor name="bool">
<return type="bool" />
<description>
Constructs a default-initialized [bool] set to [code]false[/code].
</description>
- </method>
- <method name="bool" qualifiers="constructor">
+ </constructor>
+ <constructor name="bool">
<return type="bool" />
<argument index="0" name="from" type="bool" />
<description>
Constructs a [bool] as a copy of the given [bool].
</description>
- </method>
- <method name="bool" qualifiers="constructor">
+ </constructor>
+ <constructor name="bool">
<return type="bool" />
<argument index="0" name="from" type="float" />
<description>
Cast a [float] value to a boolean value, this method will return [code]false[/code] if [code]0.0[/code] is passed in, and [code]true[/code] for all other floats.
</description>
- </method>
- <method name="bool" qualifiers="constructor">
+ </constructor>
+ <constructor name="bool">
<return type="bool" />
<argument index="0" name="from" type="int" />
<description>
Cast an [int] value to a boolean value, this method will return [code]false[/code] if [code]0[/code] is passed in, and [code]true[/code] for all other ints.
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </constructor>
+ </constructors>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="bool" />
<description>
Returns [code]true[/code] if two bools are different, i.e. one is [code]true[/code] and the other is [code]false[/code].
</description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="bool" />
<description>
- Returns [code]true[/code] if left operand is [code]false[/code] and right operand is [code]true[/code].
+ Returns [code]true[/code] if the left operand is [code]false[/code] and the right operand is [code]true[/code].
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
+ Returns [code]true[/code] if two bools are equal, i.e. both are [code]true[/code] or both are [code]false[/code].
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="bool" />
<description>
Returns [code]true[/code] if two bools are equal, i.e. both are [code]true[/code] or both are [code]false[/code].
</description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="bool" />
<description>
- Returns [code]true[/code] if left operand is [code]true[/code] and right operand is [code]false[/code].
+ Returns [code]true[/code] if the left operand is [code]true[/code] and the right operand is [code]false[/code].
</description>
- </method>
- </methods>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/float.xml b/doc/classes/float.xml
index b45cdd2099..8231173bac 100644
--- a/doc/classes/float.xml
+++ b/doc/classes/float.xml
@@ -12,61 +12,70 @@
<link title="Wikipedia: Double-precision floating-point format">https://en.wikipedia.org/wiki/Double-precision_floating-point_format</link>
<link title="Wikipedia: Single-precision floating-point format">https://en.wikipedia.org/wiki/Single-precision_floating-point_format</link>
</tutorials>
- <methods>
- <method name="float" qualifiers="constructor">
+ <constructors>
+ <constructor name="float">
<return type="float" />
<description>
Constructs a default-initialized [float] set to [code]0.0[/code].
</description>
- </method>
- <method name="float" qualifiers="constructor">
+ </constructor>
+ <constructor name="float">
<return type="float" />
<argument index="0" name="from" type="float" />
<description>
Constructs a [float] as a copy of the given [float].
</description>
- </method>
- <method name="float" qualifiers="constructor">
+ </constructor>
+ <constructor name="float">
<return type="float" />
<argument index="0" name="from" type="bool" />
<description>
Cast a [bool] value to a floating-point value, [code]float(true)[/code] will be equal to 1.0 and [code]float(false)[/code] will be equal to 0.0.
</description>
- </method>
- <method name="float" qualifiers="constructor">
+ </constructor>
+ <constructor name="float">
<return type="float" />
<argument index="0" name="from" type="int" />
<description>
Cast an [int] value to a floating-point value, [code]float(1)[/code] will be equal to [code]1.0[/code].
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </constructor>
+ </constructors>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if two floats are different from each other.
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] if the integer has different value than the float.
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="float" />
<argument index="0" name="right" type="float" />
<description>
Multiplies two [float]s.
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
+ <return type="Quaternion" />
+ <argument index="0" name="right" type="Quaternion" />
+ <description>
+ Multiplies each component of the [Quaternion] by the given [float].
+ </description>
+ </operator>
+ <operator name="operator *">
<return type="Vector2" />
<argument index="0" name="right" type="Vector2" />
<description>
@@ -75,8 +84,8 @@
print(2.5 * Vector2(1, 1)) # Vector2(2.5, 2.5)
[/codeblock]
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector2i" />
<argument index="0" name="right" type="Vector2i" />
<description>
@@ -85,29 +94,22 @@
print(2.0 * Vector2i(1, 1)) # Vector2i(2.0, 2.0)
[/codeblock]
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector3" />
<argument index="0" name="right" type="Vector3" />
<description>
Multiplies each component of the [Vector3] by the given [float].
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector3i" />
<argument index="0" name="right" type="Vector3i" />
<description>
Multiplies each component of the [Vector3i] by the given [float].
</description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Quaternion" />
- <argument index="0" name="right" type="Quaternion" />
- <description>
- Multiplies each component of the [Quaternion] by the given [float].
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Color" />
<argument index="0" name="right" type="Color" />
<description>
@@ -116,143 +118,143 @@
print(1.5 * Color(0.5, 0.5, 0.5)) # Color(0.75, 0.75, 0.75)
[/codeblock]
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="float" />
<argument index="0" name="right" type="int" />
<description>
Multiplies a [float] and an [int]. The result is a [float].
</description>
- </method>
- <method name="operator +" qualifiers="operator">
+ </operator>
+ <operator name="operator +">
<return type="float" />
<argument index="0" name="right" type="float" />
<description>
Adds two floats.
</description>
- </method>
- <method name="operator +" qualifiers="operator">
+ </operator>
+ <operator name="operator +">
<return type="float" />
<argument index="0" name="right" type="int" />
<description>
Adds a [float] and an [int]. The result is a [float].
</description>
- </method>
- <method name="operator -" qualifiers="operator">
+ </operator>
+ <operator name="operator -">
<return type="float" />
<argument index="0" name="right" type="float" />
<description>
Subtracts a float from a float.
</description>
- </method>
- <method name="operator -" qualifiers="operator">
+ </operator>
+ <operator name="operator -">
<return type="float" />
<argument index="0" name="right" type="int" />
<description>
Subtracts an [int] from a [float]. The result is a [float].
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="float" />
<argument index="0" name="right" type="float" />
<description>
Divides two floats.
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="float" />
<argument index="0" name="right" type="int" />
<description>
Divides a [float] by an [int]. The result is a [float].
</description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] the left float is less than the right one.
</description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] if this [float] is less than the given [int].
</description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;=">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] the left integer is less than or equal to the right one.
</description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;=">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] if this [float] is less than or equal to the given [int].
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if both floats are exactly equal.
[b]Note:[/b] Due to floating-point precision errors, consider using [method @GlobalScope.is_equal_approx] or [method @GlobalScope.is_zero_approx] instead, which are more reliable.
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] if the [float] and the given [int] are equal.
</description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] the left float is greater than the right one.
</description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] if this [float] is greater than the given [int].
</description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] the left float is greater than or equal to the right one.
</description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] if this [float] is greater than or equal to the given [int].
</description>
- </method>
- <method name="operator unary+" qualifiers="operator">
+ </operator>
+ <operator name="operator unary+">
<return type="float" />
<description>
Returns the same value as if the [code]+[/code] was not there. Unary [code]+[/code] does nothing, but sometimes it can make your code more readable.
</description>
- </method>
- <method name="operator unary-" qualifiers="operator">
+ </operator>
+ <operator name="operator unary-">
<return type="float" />
<description>
Returns the negative value of the [float]. If positive, turns the number negative. If negative, turns the number positive. With floats, the number zero can be either positive or negative.
</description>
- </method>
- </methods>
+ </operator>
+ </operators>
</class>
diff --git a/doc/classes/int.xml b/doc/classes/int.xml
index a75d11ba4a..94c2601e4a 100644
--- a/doc/classes/int.xml
+++ b/doc/classes/int.xml
@@ -38,54 +38,56 @@
</description>
<tutorials>
</tutorials>
- <methods>
- <method name="int" qualifiers="constructor">
+ <constructors>
+ <constructor name="int">
<return type="int" />
<description>
Constructs a default-initialized [int] set to [code]0[/code].
</description>
- </method>
- <method name="int" qualifiers="constructor">
+ </constructor>
+ <constructor name="int">
<return type="int" />
<argument index="0" name="from" type="int" />
<description>
Constructs an [int] as a copy of the given [int].
</description>
- </method>
- <method name="int" qualifiers="constructor">
+ </constructor>
+ <constructor name="int">
<return type="int" />
<argument index="0" name="from" type="bool" />
<description>
Cast a [bool] value to an integer value, [code]int(true)[/code] will be equals to 1 and [code]int(false)[/code] will be equals to 0.
</description>
- </method>
- <method name="int" qualifiers="constructor">
+ </constructor>
+ <constructor name="int">
<return type="int" />
<argument index="0" name="from" type="float" />
<description>
Cast a float value to an integer value, this method simply removes the number fractions (i.e. rounds [code]from[/code] towards zero), so for example [code]int(2.7)[/code] will be equals to 2, [code]int(0.1)[/code] will be equals to 0 and [code]int(-2.7)[/code] will be equals to -2. This operation is also called truncation.
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </constructor>
+ </constructors>
+ <operators>
+ <operator name="operator !=">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if operands are different from each other.
</description>
- </method>
- <method name="operator !=" qualifiers="operator">
+ </operator>
+ <operator name="operator !=">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] if operands are different from each other.
</description>
- </method>
- <method name="operator %" qualifiers="operator">
+ </operator>
+ <operator name="operator %">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
@@ -96,8 +98,8 @@
print(12 % 2) # 2
[/codeblock]
</description>
- </method>
- <method name="operator &amp;" qualifiers="operator">
+ </operator>
+ <operator name="operator &amp;">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
@@ -114,98 +116,93 @@
do_stuff()
[/codeblock]
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
+ <return type="Color" />
+ <argument index="0" name="right" type="Color" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
+ <return type="Quaternion" />
+ <argument index="0" name="right" type="Quaternion" />
+ <description>
+ </description>
+ </operator>
+ <operator name="operator *">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
Multiplies two [int]s.
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="float" />
<argument index="0" name="right" type="float" />
<description>
Multiplies an [int] and a [float]. The result is a [float].
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector2" />
<argument index="0" name="right" type="Vector2" />
<description>
- Multiplies each component of the vector by the given integer.
+ Multiplies each component of the [Vector2] by the given [int].
[codeblock]
print(2 * Vector2(1, 1)) # Vector2(2, 2)
[/codeblock]
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector2i" />
<argument index="0" name="right" type="Vector2i" />
<description>
- Multiplies each component of the integer vector by the given integer.
+ Multiplies each component of the [Vector2i] by the given [int].
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector3" />
<argument index="0" name="right" type="Vector3" />
<description>
- Multiplies each component of the vector by the given integer.
+ Multiplies each component of the [Vector3] by the given [int].
</description>
- </method>
- <method name="operator *" qualifiers="operator">
+ </operator>
+ <operator name="operator *">
<return type="Vector3i" />
<argument index="0" name="right" type="Vector3i" />
<description>
- Multiplies each component of the integer vector by the given integer.
- </description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Quaternion" />
- <argument index="0" name="right" type="Quaternion" />
- <description>
- Multiplies each component of the quaternion by the given integer.
+ Multiplies each component of the [Vector3i] by the given [int].
</description>
- </method>
- <method name="operator *" qualifiers="operator">
- <return type="Color" />
- <argument index="0" name="right" type="Color" />
+ </operator>
+ <operator name="operator +">
+ <return type="float" />
+ <argument index="0" name="right" type="float" />
<description>
- Multiplies each component of the color by the given integer.
- [codeblock]
- print(2 * Color(0.5, 0.5, 0.5)) # Color(1, 1, 1)
- [/codeblock]
+ Adds an [int] and a [float]. The result is a [float].
</description>
- </method>
- <method name="operator +" qualifiers="operator">
+ </operator>
+ <operator name="operator +">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
Adds two integers.
</description>
- </method>
- <method name="operator +" qualifiers="operator">
- <return type="float" />
- <argument index="0" name="right" type="float" />
- <description>
- Adds an [int] to a [float]. The result is a [float].
- </description>
- </method>
- <method name="operator -" qualifiers="operator">
+ </operator>
+ <operator name="operator -">
<return type="float" />
<argument index="0" name="right" type="float" />
<description>
Subtracts a [float] from an [int]. The result is a [float].
</description>
- </method>
- <method name="operator -" qualifiers="operator">
+ </operator>
+ <operator name="operator -">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
Subtracts two integers.
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="float" />
<argument index="0" name="right" type="float" />
<description>
@@ -214,8 +211,8 @@
print(10 / 3.0) # 3.333...
[/codeblock]
</description>
- </method>
- <method name="operator /" qualifiers="operator">
+ </operator>
+ <operator name="operator /">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
@@ -225,22 +222,22 @@
print(10 / 3) # 3
[/codeblock]
</description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if this [int] is less than the given [float].
</description>
- </method>
- <method name="operator &lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] the left integer is less than the right one.
</description>
- </method>
- <method name="operator &lt;&lt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;&lt;">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
@@ -250,69 +247,69 @@
print(10 &lt;&lt; 4) # 160
[/codeblock]
</description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;=">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if this [int] is less than or equal to the given [float].
</description>
- </method>
- <method name="operator &lt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &lt;=">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] the left integer is less than or equal to the right one.
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<description>
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if the integer is equal to the given [float].
</description>
- </method>
- <method name="operator ==" qualifiers="operator">
+ </operator>
+ <operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] if both integers are equal.
</description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if this [int] is greater than the given [float].
</description>
- </method>
- <method name="operator &gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] the left integer is greater than the right one.
</description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="float" />
<description>
Returns [code]true[/code] if this [int] is greater than or equal to the given [float].
</description>
- </method>
- <method name="operator &gt;=" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="int" />
<description>
Returns [code]true[/code] the left integer is greater than or equal to the right one.
</description>
- </method>
- <method name="operator &gt;&gt;" qualifiers="operator">
+ </operator>
+ <operator name="operator &gt;&gt;">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
@@ -322,8 +319,8 @@
print(10 &gt;&gt; 2) # 2
[/codeblock]
</description>
- </method>
- <method name="operator ^" qualifiers="operator">
+ </operator>
+ <operator name="operator ^">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
@@ -333,20 +330,20 @@
print(4 ^ 7) # 3
[/codeblock]
</description>
- </method>
- <method name="operator unary+" qualifiers="operator">
+ </operator>
+ <operator name="operator unary+">
<return type="int" />
<description>
Returns the same value as if the [code]+[/code] was not there. Unary [code]+[/code] does nothing, but sometimes it can make your code more readable.
</description>
- </method>
- <method name="operator unary-" qualifiers="operator">
+ </operator>
+ <operator name="operator unary-">
<return type="int" />
<description>
Returns the negated value of the [int]. If positive, turns the number negative. If negative, turns the number positive. If zero, does nothing.
</description>
- </method>
- <method name="operator |" qualifiers="operator">
+ </operator>
+ <operator name="operator |">
<return type="int" />
<argument index="0" name="right" type="int" />
<description>
@@ -363,8 +360,8 @@
flags |= 4
[/codeblock]
</description>
- </method>
- <method name="operator ~" qualifiers="operator">
+ </operator>
+ <operator name="operator ~">
<return type="int" />
<description>
Returns the result of bitwise [code]NOT[/code] operation for the integer. It's effectively equal to [code]-int + 1[/code].
@@ -373,6 +370,6 @@
print(~7) # -6
[/codeblock]
</description>
- </method>
- </methods>
+ </operator>
+ </operators>
</class>