summaryrefslogtreecommitdiff
path: root/doc/classes
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes')
-rw-r--r--doc/classes/@GlobalScope.xml7
-rw-r--r--doc/classes/AABB.xml10
-rw-r--r--doc/classes/AStar2D.xml2
-rw-r--r--doc/classes/AStar3D.xml (renamed from doc/classes/AStar.xml)36
-rw-r--r--doc/classes/AcceptDialog.xml2
-rw-r--r--doc/classes/AnimationLibrary.xml70
-rw-r--r--doc/classes/AnimationNodeBlendTree.xml3
-rw-r--r--doc/classes/AnimationPlayer.xml34
-rw-r--r--doc/classes/Array.xml20
-rw-r--r--doc/classes/BaseButton.xml15
-rw-r--r--doc/classes/BaseMaterial3D.xml14
-rw-r--r--doc/classes/Basis.xml10
-rw-r--r--doc/classes/BoxShape3D.xml5
-rw-r--r--doc/classes/Button.xml4
-rw-r--r--doc/classes/CPUParticles2D.xml11
-rw-r--r--doc/classes/CPUParticles3D.xml13
-rw-r--r--doc/classes/Callable.xml10
-rw-r--r--doc/classes/Camera2D.xml2
-rw-r--r--doc/classes/Camera3D.xml2
-rw-r--r--doc/classes/CanvasItem.xml39
-rw-r--r--doc/classes/CapsuleShape2D.xml5
-rw-r--r--doc/classes/CapsuleShape3D.xml5
-rw-r--r--doc/classes/CharacterBody2D.xml2
-rw-r--r--doc/classes/CharacterBody3D.xml2
-rw-r--r--doc/classes/CheckBox.xml14
-rw-r--r--doc/classes/CheckButton.xml4
-rw-r--r--doc/classes/CircleShape2D.xml5
-rw-r--r--doc/classes/ClassDB.xml7
-rw-r--r--doc/classes/CollisionObject2D.xml1
-rw-r--r--doc/classes/CollisionPolygon2D.xml3
-rw-r--r--doc/classes/CollisionPolygon3D.xml5
-rw-r--r--doc/classes/Color.xml289
-rw-r--r--doc/classes/ColorPickerButton.xml2
-rw-r--r--doc/classes/ConcavePolygonShape2D.xml7
-rw-r--r--doc/classes/ConcavePolygonShape3D.xml5
-rw-r--r--doc/classes/Control.xml42
-rw-r--r--doc/classes/ConvexPolygonShape2D.xml7
-rw-r--r--doc/classes/ConvexPolygonShape3D.xml6
-rw-r--r--doc/classes/CylinderShape3D.xml5
-rw-r--r--doc/classes/Dictionary.xml10
-rw-r--r--doc/classes/DirectionalLight3D.xml13
-rw-r--r--doc/classes/Directory.xml3
-rw-r--r--doc/classes/DisplayServer.xml345
-rw-r--r--doc/classes/EditorExportPlugin.xml1
-rw-r--r--doc/classes/EditorFileDialog.xml6
-rw-r--r--doc/classes/EditorFileSystemImportFormatSupportQuery.xml31
-rw-r--r--doc/classes/EditorInspector.xml10
-rw-r--r--doc/classes/EditorSceneFormatImporter.xml14
-rw-r--r--doc/classes/EditorSceneFormatImporterFBX.xml32
-rw-r--r--doc/classes/EditorSceneFormatImporterGLTF.xml9
-rw-r--r--doc/classes/EditorScenePostImportPlugin.xml6
-rw-r--r--doc/classes/EditorSpinSlider.xml1
-rw-r--r--doc/classes/Engine.xml17
-rw-r--r--doc/classes/Environment.xml30
-rw-r--r--doc/classes/File.xml2
-rw-r--r--doc/classes/FileDialog.xml6
-rw-r--r--doc/classes/Font.xml6
-rw-r--r--doc/classes/FontData.xml7
-rw-r--r--doc/classes/GeometryInstance3D.xml24
-rw-r--r--doc/classes/GraphEdit.xml2
-rw-r--r--doc/classes/GraphNode.xml4
-rw-r--r--doc/classes/GridContainer.xml4
-rw-r--r--doc/classes/HFlowContainer.xml4
-rw-r--r--doc/classes/HTTPRequest.xml2
-rw-r--r--doc/classes/HeightMapShape3D.xml5
-rw-r--r--doc/classes/IP.xml2
-rw-r--r--doc/classes/Image.xml10
-rw-r--r--doc/classes/Input.xml16
-rw-r--r--doc/classes/InputEvent.xml10
-rw-r--r--doc/classes/InputEventJoypadButton.xml2
-rw-r--r--doc/classes/InputMap.xml2
-rw-r--r--doc/classes/ItemList.xml5
-rw-r--r--doc/classes/Label.xml2
-rw-r--r--doc/classes/Label3D.xml173
-rw-r--r--doc/classes/LineEdit.xml2
-rw-r--r--doc/classes/LinkButton.xml4
-rw-r--r--doc/classes/MenuButton.xml2
-rw-r--r--doc/classes/Mesh.xml2
-rw-r--r--doc/classes/MultiplayerAPI.xml4
-rw-r--r--doc/classes/MultiplayerPeerExtension.xml18
-rw-r--r--doc/classes/NavigationAgent2D.xml3
-rw-r--r--doc/classes/NavigationAgent3D.xml3
-rw-r--r--doc/classes/NavigationServer2D.xml6
-rw-r--r--doc/classes/NavigationServer3D.xml6
-rw-r--r--doc/classes/Node.xml96
-rw-r--r--doc/classes/NodePath.xml31
-rw-r--r--doc/classes/OS.xml10
-rw-r--r--doc/classes/Object.xml9
-rw-r--r--doc/classes/OptionButton.xml38
-rw-r--r--doc/classes/PackedByteArray.xml14
-rw-r--r--doc/classes/PackedColorArray.xml14
-rw-r--r--doc/classes/PackedFloat32Array.xml14
-rw-r--r--doc/classes/PackedFloat64Array.xml14
-rw-r--r--doc/classes/PackedInt32Array.xml14
-rw-r--r--doc/classes/PackedInt64Array.xml14
-rw-r--r--doc/classes/PackedStringArray.xml14
-rw-r--r--doc/classes/PackedVector2Array.xml14
-rw-r--r--doc/classes/PackedVector3Array.xml14
-rw-r--r--doc/classes/ParticlesMaterial.xml13
-rw-r--r--doc/classes/PhysicsDirectBodyState3DExtension.xml260
-rw-r--r--doc/classes/PhysicsDirectSpaceState3DExtension.xml99
-rw-r--r--doc/classes/PhysicsServer3D.xml2
-rw-r--r--doc/classes/PhysicsServer3DExtension.xml897
-rw-r--r--doc/classes/PhysicsServer3DRenderingServerHandler.xml31
-rw-r--r--doc/classes/Plane.xml10
-rw-r--r--doc/classes/PopupMenu.xml19
-rw-r--r--doc/classes/PortableCompressedTexture2D.xml79
-rw-r--r--doc/classes/Position2D.xml5
-rw-r--r--doc/classes/PrimitiveMesh.xml4
-rw-r--r--doc/classes/ProceduralSkyMaterial.xml6
-rw-r--r--doc/classes/ProgressBar.xml2
-rw-r--r--doc/classes/ProjectSettings.xml31
-rw-r--r--doc/classes/Quaternion.xml20
-rw-r--r--doc/classes/RID.xml10
-rw-r--r--doc/classes/Range.xml28
-rw-r--r--doc/classes/Rect2.xml10
-rw-r--r--doc/classes/Rect2i.xml10
-rw-r--r--doc/classes/RectangleShape2D.xml5
-rw-r--r--doc/classes/ReflectionProbe.xml2
-rw-r--r--doc/classes/RenderingServer.xml29
-rw-r--r--doc/classes/RichTextLabel.xml56
-rw-r--r--doc/classes/SceneTree.xml22
-rw-r--r--doc/classes/ScriptExtension.xml173
-rw-r--r--doc/classes/ScriptLanguage.xml9
-rw-r--r--doc/classes/ScriptLanguageExtension.xml416
-rw-r--r--doc/classes/ScrollBar.xml2
-rw-r--r--doc/classes/SegmentShape2D.xml5
-rw-r--r--doc/classes/SeparationRayShape2D.xml5
-rw-r--r--doc/classes/SeparationRayShape3D.xml5
-rw-r--r--doc/classes/Signal.xml12
-rw-r--r--doc/classes/Slider.xml2
-rw-r--r--doc/classes/SphereShape3D.xml5
-rw-r--r--doc/classes/SpinBox.xml1
-rw-r--r--doc/classes/SpriteBase3D.xml17
-rw-r--r--doc/classes/String.xml41
-rw-r--r--doc/classes/StringName.xml16
-rw-r--r--doc/classes/StyleBox.xml8
-rw-r--r--doc/classes/TabBar.xml10
-rw-r--r--doc/classes/TabContainer.xml29
-rw-r--r--doc/classes/TextEdit.xml2
-rw-r--r--doc/classes/TextServer.xml125
-rw-r--r--doc/classes/TextServerDummy.xml9
-rw-r--r--doc/classes/TextServerExtension.xml493
-rw-r--r--doc/classes/TextureProgressBar.xml1
-rw-r--r--doc/classes/Time.xml3
-rw-r--r--doc/classes/Transform2D.xml10
-rw-r--r--doc/classes/Transform3D.xml10
-rw-r--r--doc/classes/Tree.xml7
-rw-r--r--doc/classes/TreeItem.xml6
-rw-r--r--doc/classes/Tween.xml7
-rw-r--r--doc/classes/VFlowContainer.xml4
-rw-r--r--doc/classes/Vector2.xml10
-rw-r--r--doc/classes/Vector2i.xml10
-rw-r--r--doc/classes/Vector3.xml12
-rw-r--r--doc/classes/Vector3i.xml14
-rw-r--r--doc/classes/Viewport.xml15
-rw-r--r--doc/classes/ViewportTexture.xml1
-rw-r--r--doc/classes/VisualInstance3D.xml2
-rw-r--r--doc/classes/VisualShader.xml8
-rw-r--r--doc/classes/VisualShaderNode.xml11
-rw-r--r--doc/classes/VisualShaderNodeClamp.xml5
-rw-r--r--doc/classes/VisualShaderNodeCompare.xml9
-rw-r--r--doc/classes/VisualShaderNodeDerivativeFunc.xml5
-rw-r--r--doc/classes/VisualShaderNodeMix.xml8
-rw-r--r--doc/classes/VisualShaderNodeMultiplyAdd.xml5
-rw-r--r--doc/classes/VisualShaderNodeSmoothStep.xml8
-rw-r--r--doc/classes/VisualShaderNodeStep.xml8
-rw-r--r--doc/classes/VisualShaderNodeSwitch.xml9
-rw-r--r--doc/classes/VisualShaderNodeVec4Constant.xml16
-rw-r--r--doc/classes/VisualShaderNodeVec4Uniform.xml19
-rw-r--r--doc/classes/VisualShaderNodeVectorBase.xml5
-rw-r--r--doc/classes/VisualShaderNodeVectorCompose.xml4
-rw-r--r--doc/classes/VisualShaderNodeVectorDecompose.xml4
-rw-r--r--doc/classes/Window.xml13
-rw-r--r--doc/classes/WorldBoundaryShape2D.xml5
-rw-r--r--doc/classes/WorldBoundaryShape3D.xml5
-rw-r--r--doc/classes/bool.xml11
-rw-r--r--doc/classes/float.xml10
-rw-r--r--doc/classes/int.xml10
179 files changed, 4047 insertions, 1179 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index f692a49ba1..da6513a08b 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -2405,7 +2405,8 @@
Additionally, other keywords can be included: "exp" for exponential range editing, "radians" for editing radian angles in degrees, "degrees" to hint at an angle and "noslider" to hide the slider.
</constant>
<constant name="PROPERTY_HINT_ENUM" value="2" enum="PropertyHint">
- Hints that an integer, float or string property is an enumerated value to pick in a list specified via a hint string such as [code]"Hello,Something,Else"[/code].
+ Hints that an integer, float or string property is an enumerated value to pick in a list specified via a hint string.
+ The hint string is a comma separated list of names such as [code]"Hello,Something,Else"[/code]. For integer and float properties, the first name in the list has value 0, the next 1, and so on. Explicit values can also be specified by appending [code]:integer[/code] to the name, e.g. [code]"Zero,One,Three:3,Four,Six:6"[/code].
</constant>
<constant name="PROPERTY_HINT_ENUM_SUGGESTION" value="3" enum="PropertyHint">
Hints that a string property can be an enumerated value to pick in a list specified via a hint string such as [code]"Hello,Something,Else"[/code].
@@ -2545,13 +2546,13 @@
The property is a translatable string.
</constant>
<constant name="PROPERTY_USAGE_GROUP" value="128" enum="PropertyUsageFlags">
- Used to group properties together in the editor.
+ Used to group properties together in the editor. See [EditorInspector].
</constant>
<constant name="PROPERTY_USAGE_CATEGORY" value="256" enum="PropertyUsageFlags">
Used to categorize properties together in the editor.
</constant>
<constant name="PROPERTY_USAGE_SUBGROUP" value="512" enum="PropertyUsageFlags">
- Used to group properties together in the editor in a subgroup (under a group).
+ Used to group properties together in the editor in a subgroup (under a group). See [EditorInspector].
</constant>
<constant name="PROPERTY_USAGE_NO_INSTANCE_STATE" value="2048" enum="PropertyUsageFlags">
The property does not save its state in [PackedScene].
diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml
index 6e4a4a2145..db880efaf2 100644
--- a/doc/classes/AABB.xml
+++ b/doc/classes/AABB.xml
@@ -228,11 +228,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="AABB" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -248,11 +243,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="AABB" />
<description>
Returns [code]true[/code] if the AABBs are exactly equal.
diff --git a/doc/classes/AStar2D.xml b/doc/classes/AStar2D.xml
index 2dde3ad340..4b65a64389 100644
--- a/doc/classes/AStar2D.xml
+++ b/doc/classes/AStar2D.xml
@@ -4,7 +4,7 @@
AStar class representation that uses 2D vectors as edges.
</brief_description>
<description>
- This is a wrapper for the [AStar] class which uses 2D vectors instead of 3D vectors.
+ This is a wrapper for the [AStar3D] class which uses 2D vectors instead of 3D vectors.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/AStar.xml b/doc/classes/AStar3D.xml
index cb76fe8cf6..3087b9e363 100644
--- a/doc/classes/AStar.xml
+++ b/doc/classes/AStar3D.xml
@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="AStar" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+<class name="AStar3D" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
An implementation of A* to find the shortest paths among connected points in space.
</brief_description>
<description>
A* (A star) is a computer algorithm that is widely used in pathfinding and graph traversal, the process of plotting short paths among vertices (points), passing through a given set of edges (segments). It enjoys widespread use due to its performance and accuracy. Godot's A* implementation uses points in three-dimensional space and Euclidean distances by default.
You must add points manually with [method add_point] and create segments manually with [method connect_points]. Then you can test if there is a path between two points with the [method are_points_connected] function, get a path containing indices by [method get_id_path], or one containing actual coordinates with [method get_point_path].
- It is also possible to use non-Euclidean distances. To do so, create a class that extends [code]AStar[/code] and override methods [method _compute_cost] and [method _estimate_cost]. Both take two indices and return a length, as is shown in the following example.
+ It is also possible to use non-Euclidean distances. To do so, create a class that extends [code]AStar3D[/code] and override methods [method _compute_cost] and [method _estimate_cost]. Both take two indices and return a length, as is shown in the following example.
[codeblocks]
[gdscript]
class MyAStar:
- extends AStar
+ extends AStar3D
func _compute_cost(u, v):
return abs(u - v)
@@ -19,7 +19,7 @@
return min(0, abs(u - v) - 1)
[/gdscript]
[csharp]
- public class MyAStar : AStar
+ public class MyAStar : AStar3D
{
public override float _ComputeCost(int u, int v)
{
@@ -44,7 +44,7 @@
<argument index="1" name="to_id" type="int" />
<description>
Called when computing the cost between two connected points.
- Note that this function is hidden in the default [code]AStar[/code] class.
+ Note that this function is hidden in the default [code]AStar3D[/code] class.
</description>
</method>
<method name="_estimate_cost" qualifiers="virtual const">
@@ -53,7 +53,7 @@
<argument index="1" name="to_id" type="int" />
<description>
Called when estimating the cost between a point and the path's ending point.
- Note that this function is hidden in the default [code]AStar[/code] class.
+ Note that this function is hidden in the default [code]AStar3D[/code] class.
</description>
</method>
<method name="add_point">
@@ -66,11 +66,11 @@
The [code]weight_scale[/code] is multiplied by the result of [method _compute_cost] when determining the overall cost of traveling across a segment from a neighboring point to this point. Thus, all else being equal, the algorithm prefers points with lower [code]weight_scale[/code]s to form a path.
[codeblocks]
[gdscript]
- var astar = AStar.new()
+ var astar = AStar3D.new()
astar.add_point(1, Vector3(1, 0, 0), 4) # Adds the point (1, 0, 0) with weight_scale 4 and id 1
[/gdscript]
[csharp]
- var astar = new AStar();
+ var astar = new AStar3D();
astar.AddPoint(1, new Vector3(1, 0, 0), 4); // Adds the point (1, 0, 0) with weight_scale 4 and id 1
[/csharp]
[/codeblocks]
@@ -101,13 +101,13 @@
Creates a segment between the given points. If [code]bidirectional[/code] is [code]false[/code], only movement from [code]id[/code] to [code]to_id[/code] is allowed, not the reverse direction.
[codeblocks]
[gdscript]
- var astar = AStar.new()
+ var astar = AStar3D.new()
astar.add_point(1, Vector3(1, 1, 0))
astar.add_point(2, Vector3(0, 5, 0))
astar.connect_points(1, 2, false)
[/gdscript]
[csharp]
- var astar = new AStar();
+ var astar = new AStar3D();
astar.AddPoint(1, new Vector3(1, 1, 0));
astar.AddPoint(2, new Vector3(0, 5, 0));
astar.ConnectPoints(1, 2, false);
@@ -146,14 +146,14 @@
Returns the closest position to [code]to_position[/code] that resides inside a segment between two connected points.
[codeblocks]
[gdscript]
- var astar = AStar.new()
+ var astar = AStar3D.new()
astar.add_point(1, Vector3(0, 0, 0))
astar.add_point(2, Vector3(0, 5, 0))
astar.connect_points(1, 2)
var res = astar.get_closest_position_in_segment(Vector3(3, 3, 0)) # Returns (0, 3, 0)
[/gdscript]
[csharp]
- var astar = new AStar();
+ var astar = new AStar3D();
astar.AddPoint(1, new Vector3(0, 0, 0));
astar.AddPoint(2, new Vector3(0, 5, 0));
astar.ConnectPoints(1, 2);
@@ -168,10 +168,10 @@
<argument index="0" name="from_id" type="int" />
<argument index="1" name="to_id" type="int" />
<description>
- Returns an array with the IDs of the points that form the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
+ Returns an array with the IDs of the points that form the path found by AStar3D between the given points. The array is ordered from the starting point to the ending point of the path.
[codeblocks]
[gdscript]
- var astar = AStar.new()
+ var astar = AStar3D.new()
astar.add_point(1, Vector3(0, 0, 0))
astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1
astar.add_point(3, Vector3(1, 1, 0))
@@ -185,7 +185,7 @@
var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]
[/gdscript]
[csharp]
- var astar = new AStar();
+ var astar = new AStar3D();
astar.AddPoint(1, new Vector3(0, 0, 0));
astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Default weight is 1
astar.AddPoint(3, new Vector3(1, 1, 0));
@@ -213,7 +213,7 @@
Returns an array with the IDs of the points that form the connection with the given point.
[codeblocks]
[gdscript]
- var astar = AStar.new()
+ var astar = AStar3D.new()
astar.add_point(1, Vector3(0, 0, 0))
astar.add_point(2, Vector3(0, 1, 0))
astar.add_point(3, Vector3(1, 1, 0))
@@ -225,7 +225,7 @@
var neighbors = astar.get_point_connections(1) # Returns [2, 3]
[/gdscript]
[csharp]
- var astar = new AStar();
+ var astar = new AStar3D();
astar.AddPoint(1, new Vector3(0, 0, 0));
astar.AddPoint(2, new Vector3(0, 1, 0));
astar.AddPoint(3, new Vector3(1, 1, 0));
@@ -255,7 +255,7 @@
<argument index="0" name="from_id" type="int" />
<argument index="1" name="to_id" type="int" />
<description>
- Returns an array with the points that are in the path found by AStar between the given points. The array is ordered from the starting point to the ending point of the path.
+ Returns an array with the points that are in the path found by AStar3D between the given points. The array is ordered from the starting point to the ending point of the path.
[b]Note:[/b] This method is not thread-safe. If called from a [Thread], it will return an empty [PackedVector3Array] and will print an error message.
</description>
</method>
diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml
index 4836f48a57..c1e28ffba3 100644
--- a/doc/classes/AcceptDialog.xml
+++ b/doc/classes/AcceptDialog.xml
@@ -61,6 +61,8 @@
<member name="dialog_autowrap" type="bool" setter="set_autowrap" getter="has_autowrap" default="false">
Sets autowrapping for the text in the dialog.
</member>
+ <member name="dialog_close_on_escape" type="bool" setter="set_close_on_escape" getter="get_close_on_escape" default="true">
+ </member>
<member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" default="true">
If [code]true[/code], the dialog is hidden when the OK button is pressed. You can set it to [code]false[/code] if you want to do e.g. input validation when receiving the [signal confirmed] signal, and handle hiding the dialog in your own logic.
[b]Note:[/b] Some nodes derived from this class can have a different default value, and potentially their own built-in logic overriding this setting. For example [FileDialog] defaults to [code]false[/code], and has its own input validation code that is called when you press OK, which eventually hides the dialog if the input is valid. As such, this property can't be used in [FileDialog] to disable hiding the dialog when pressing OK.
diff --git a/doc/classes/AnimationLibrary.xml b/doc/classes/AnimationLibrary.xml
new file mode 100644
index 0000000000..0a731edadd
--- /dev/null
+++ b/doc/classes/AnimationLibrary.xml
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="AnimationLibrary" inherits="Resource" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="add_animation">
+ <return type="int" enum="Error" />
+ <argument index="0" name="name" type="StringName" />
+ <argument index="1" name="animation" type="Animation" />
+ <description>
+ </description>
+ </method>
+ <method name="get_animation" qualifiers="const">
+ <return type="Animation" />
+ <argument index="0" name="name" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="get_animation_list" qualifiers="const">
+ <return type="StringName[]" />
+ <description>
+ </description>
+ </method>
+ <method name="has_animation" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="name" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="remove_animation">
+ <return type="void" />
+ <argument index="0" name="name" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="rename_animation">
+ <return type="void" />
+ <argument index="0" name="name" type="StringName" />
+ <argument index="1" name="newname" type="StringName" />
+ <description>
+ </description>
+ </method>
+ </methods>
+ <members>
+ <member name="_data" type="Dictionary" setter="_set_data" getter="_get_data" default="{}">
+ </member>
+ </members>
+ <signals>
+ <signal name="animation_added">
+ <argument index="0" name="name" type="Animation" />
+ <description>
+ </description>
+ </signal>
+ <signal name="animation_removed">
+ <argument index="0" name="name" type="Animation" />
+ <description>
+ </description>
+ </signal>
+ <signal name="animation_renamed">
+ <argument index="0" name="name" type="Animation" />
+ <argument index="1" name="to_name" type="Animation" />
+ <description>
+ </description>
+ </signal>
+ </signals>
+</class>
diff --git a/doc/classes/AnimationNodeBlendTree.xml b/doc/classes/AnimationNodeBlendTree.xml
index 20eb349363..fcdd09f144 100644
--- a/doc/classes/AnimationNodeBlendTree.xml
+++ b/doc/classes/AnimationNodeBlendTree.xml
@@ -4,7 +4,8 @@
[AnimationTree] node resource that contains many blend type nodes.
</brief_description>
<description>
- This node may contain a sub-tree of any other blend type nodes, such as mix, blend2, blend3, one shot, etc. This is one of the most commonly used roots.
+ This node may contain a sub-tree of any other blend type nodes, such as [AnimationNodeTransition], [AnimationNodeBlend2], [AnimationNodeBlend3], [AnimationNodeOneShot], etc. This is one of the most commonly used roots.
+ An [AnimationNodeOutput] node named [code]output[/code] is created by default.
</description>
<tutorials>
<link title="AnimationTree">$DOCS_URL/tutorials/animation/animation_tree.html</link>
diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml
index b1d04ce1f2..625cf3c47c 100644
--- a/doc/classes/AnimationPlayer.xml
+++ b/doc/classes/AnimationPlayer.xml
@@ -14,12 +14,11 @@
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
</tutorials>
<methods>
- <method name="add_animation">
+ <method name="add_animation_library">
<return type="int" enum="Error" />
<argument index="0" name="name" type="StringName" />
- <argument index="1" name="animation" type="Animation" />
+ <argument index="1" name="library" type="AnimationLibrary" />
<description>
- Adds [code]animation[/code] to the player accessible with the key [code]name[/code].
</description>
</method>
<method name="advance">
@@ -63,6 +62,12 @@
Returns the name of [code]animation[/code] or an empty string if not found.
</description>
</method>
+ <method name="find_animation_library" qualifiers="const">
+ <return type="StringName" />
+ <argument index="0" name="animation" type="Animation" />
+ <description>
+ </description>
+ </method>
<method name="get_animation" qualifiers="const">
<return type="Animation" />
<argument index="0" name="name" type="StringName" />
@@ -70,6 +75,17 @@
Returns the [Animation] with key [code]name[/code] or [code]null[/code] if not found.
</description>
</method>
+ <method name="get_animation_library" qualifiers="const">
+ <return type="AnimationLibrary" />
+ <argument index="0" name="name" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="get_animation_library_list" qualifiers="const">
+ <return type="StringName[]" />
+ <description>
+ </description>
+ </method>
<method name="get_animation_list" qualifiers="const">
<return type="PackedStringArray" />
<description>
@@ -103,6 +119,12 @@
Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] with key [code]name[/code].
</description>
</method>
+ <method name="has_animation_library" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="name" type="StringName" />
+ <description>
+ </description>
+ </method>
<method name="is_playing" qualifiers="const">
<return type="bool" />
<description>
@@ -138,19 +160,17 @@
[b]Note:[/b] If a looped animation is currently playing, the queued animation will never play unless the looped animation is stopped somehow.
</description>
</method>
- <method name="remove_animation">
+ <method name="remove_animation_library">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<description>
- Removes the animation with key [code]name[/code].
</description>
</method>
- <method name="rename_animation">
+ <method name="rename_animation_library">
<return type="void" />
<argument index="0" name="name" type="StringName" />
<argument index="1" name="newname" type="StringName" />
<description>
- Renames an existing animation with key [code]name[/code] to [code]newname[/code].
</description>
</method>
<method name="seek">
diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml
index 6852fb5228..ef4f86f1a9 100644
--- a/doc/classes/Array.xml
+++ b/doc/classes/Array.xml
@@ -194,7 +194,7 @@
<return type="void" />
<argument index="0" name="value" type="Variant" />
<description>
- Removes the first occurrence of a value from the array. To remove an element by index, use [method remove_at] instead.
+ Removes the first occurrence of a value from the array. If the value does not exist in the array, nothing happens. To remove an element by index, use [method remove_at] instead.
[b]Note:[/b] This method acts in-place and doesn't return a value.
[b]Note:[/b] On large arrays, this method will be slower if the removed element is close to the beginning of the array (index 0). This is because all elements placed after the removed element have to be reindexed.
</description>
@@ -511,60 +511,58 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Compares the left operand [Array] against the [code]right[/code] [Array]. Returns [code]true[/code] if the sizes or contents of the arrays are [i]not[/i] equal, [code]false[/code] otherwise.
</description>
</operator>
<operator name="operator +">
<return type="Array" />
<argument index="0" name="right" type="Array" />
<description>
+ Concatenates two [Array]s together, with the [code]right[/code] [Array] being added to the end of the [Array] specified in the left operand. For example, [code][1, 2] + [3, 4][/code] results in [code][1, 2, 3, 4][/code].
</description>
</operator>
<operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Performs a comparison for each index between the left operand [Array] and the [code]right[/code] [Array], considering the highest common index of both arrays for this comparison: Returns [code]true[/code] on the first occurrence of an element that is less, or [code]false[/code] if the element is greater. Note that depending on the type of data stored, this function may be recursive. If all elements are equal, it compares the length of both arrays and returns [code]false[/code] if the left operand [Array] has less elements, otherwise it returns [code]true[/code].
</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>
+ Performs a comparison for each index between the left operand [Array] and the [code]right[/code] [Array], considering the highest common index of both arrays for this comparison: Returns [code]true[/code] on the first occurrence of an element that is less, or [code]false[/code] if the element is greater. Note that depending on the type of data stored, this function may be recursive. If all elements are equal, it compares the length of both arrays and returns [code]true[/code] if the left operand [Array] has less or the same number of elements, otherwise it returns [code]false[/code].
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Compares the left operand [Array] against the [code]right[/code] [Array]. Returns [code]true[/code] if the sizes and contents of the arrays are equal, [code]false[/code] otherwise.
</description>
</operator>
<operator name="operator &gt;">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Performs a comparison for each index between the left operand [Array] and the [code]right[/code] [Array], considering the highest common index of both arrays for this comparison: Returns [code]true[/code] on the first occurrence of an element that is greater, or [code]false[/code] if the element is less. Note that depending on the type of data stored, this function may be recursive. If all elements are equal, it compares the length of both arrays and returns [code]true[/code] if the [code]right[/code] [Array] has more elements, otherwise it returns [code]false[/code].
</description>
</operator>
<operator name="operator &gt;=">
<return type="bool" />
<argument index="0" name="right" type="Array" />
<description>
+ Performs a comparison for each index between the left operand [Array] and the [code]right[/code] [Array], considering the highest common index of both arrays for this comparison: Returns [code]true[/code] on the first occurrence of an element that is greater, or [code]false[/code] if the element is less. Note that depending on the type of data stored, this function may be recursive. If all elements are equal, it compares the length of both arrays and returns [code]true[/code] if the [code]right[/code] [Array] has more or the same number of elements, otherwise it returns [code]false[/code].
</description>
</operator>
<operator name="operator []">
<return type="void" />
<argument index="0" name="index" type="int" />
<description>
+ Returns a reference to the element of type [Variant] at the specified location. Arrays start at index 0. [code]index[/code] can be a zero or positive value to start from the beginning, or a negative value to start from the end. Out-of-bounds array access causes a run-time error, which will result in an error being printed and the project execution pausing if run from the editor.
</description>
</operator>
</operators>
diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml
index 8e73a0dd91..13fe75a3e3 100644
--- a/doc/classes/BaseButton.xml
+++ b/doc/classes/BaseButton.xml
@@ -44,25 +44,24 @@
</method>
</methods>
<members>
- <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="BaseButton.ActionMode" default="1">
+ <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="BaseButton.ActionMode">
Determines when the button is considered clicked, one of the [enum ActionMode] constants.
</member>
<member name="button_group" type="ButtonGroup" setter="set_button_group" getter="get_button_group">
The [ButtonGroup] associated with the button. Not to be confused with node groups.
</member>
- <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" enum="MouseButton" default="1">
+ <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" enum="MouseButton">
Binary mask to choose which mouse buttons this button will respond to.
To allow both left-click and right-click, use [code]MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT[/code].
</member>
- <member name="button_pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false">
+ <member name="button_pressed" type="bool" setter="set_pressed" getter="is_pressed">
If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active). Only works if [member toggle_mode] is [code]true[/code].
[b]Note:[/b] Setting [member button_pressed] will result in [signal toggled] to be emitted. If you want to change the pressed state without emitting that signal, use [method set_pressed_no_signal].
</member>
- <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false">
+ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled">
If [code]true[/code], the button is in disabled state and can't be clicked or toggled.
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" />
- <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside" default="false">
+ <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside">
If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it.
[b]Note:[/b] This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value.
</member>
@@ -72,10 +71,10 @@
<member name="shortcut_context" type="Node" setter="set_shortcut_context" getter="get_shortcut_context">
The [Node] which must be a parent of the focused GUI [Control] for the shortcut to be activated. If [code]null[/code], the shortcut can be activated when any control is focused (a global shortcut). This allows shortcuts to be accepted only when the user has a certain area of the GUI focused.
</member>
- <member name="shortcut_in_tooltip" type="bool" setter="set_shortcut_in_tooltip" getter="is_shortcut_in_tooltip_enabled" default="true">
+ <member name="shortcut_in_tooltip" type="bool" setter="set_shortcut_in_tooltip" getter="is_shortcut_in_tooltip_enabled">
If [code]true[/code], the button will add information about its shortcut in the tooltip.
</member>
- <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode" default="false">
+ <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode">
If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked.
</member>
</members>
diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml
index ae7b0afaa7..4b6f6eec67 100644
--- a/doc/classes/BaseMaterial3D.xml
+++ b/doc/classes/BaseMaterial3D.xml
@@ -63,6 +63,9 @@
<member name="albedo_tex_force_srgb" type="bool" setter="set_flag" getter="get_flag" default="false">
Forces a conversion of the [member albedo_texture] from sRGB space to linear space.
</member>
+ <member name="albedo_tex_msdf" type="bool" setter="set_flag" getter="get_flag" default="false">
+ Enables multichannel signed distance field rendering shader. Use [member msdf_pixel_range] and [member msdf_outline_size] to configure MSDF paramenters.
+ </member>
<member name="albedo_texture" type="Texture2D" setter="set_texture" getter="get_texture">
Texture to multiply by [member albedo_color]. Used for basic texturing of objects.
</member>
@@ -243,6 +246,12 @@
<member name="metallic_texture_channel" type="int" setter="set_metallic_texture_channel" getter="get_metallic_texture_channel" enum="BaseMaterial3D.TextureChannel" default="0">
Specifies the channel of the [member metallic_texture] in which the metallic information is stored. This is useful when you store the information for multiple effects in a single texture. For example if you stored metallic in the red channel, roughness in the blue, and ambient occlusion in the green you could reduce the number of textures you use.
</member>
+ <member name="msdf_outline_size" type="float" setter="set_msdf_outline_size" getter="get_msdf_outline_size" default="0.0">
+ The width of the shape outine.
+ </member>
+ <member name="msdf_pixel_range" type="float" setter="set_msdf_pixel_range" getter="get_msdf_pixel_range" default="4.0">
+ The width of the range around the shape between the minimum and maximum representable signed distance.
+ </member>
<member name="no_depth_test" type="bool" setter="set_flag" getter="get_flag" default="false">
If [code]true[/code], depth testing is disabled and the object will be drawn in render order.
</member>
@@ -647,7 +656,10 @@
</constant>
<constant name="FLAG_PARTICLE_TRAILS_MODE" value="19" enum="Flags">
</constant>
- <constant name="FLAG_MAX" value="20" enum="Flags">
+ <constant name="FLAG_ALBEDO_TEXTURE_MSDF" value="20" enum="Flags">
+ Enables multichannel signed distance field rendering shader.
+ </constant>
+ <constant name="FLAG_MAX" value="21" enum="Flags">
Represents the size of the [enum Flags] enum.
</constant>
<constant name="DIFFUSE_BURLEY" value="0" enum="DiffuseMode">
diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml
index f31e962632..3b703884a5 100644
--- a/doc/classes/Basis.xml
+++ b/doc/classes/Basis.xml
@@ -225,11 +225,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Basis" />
<description>
Returns [code]true[/code] if the [Basis] matrices are not equal.
@@ -266,11 +261,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Basis" />
<description>
Returns [code]true[/code] if the [Basis] matrices are exactly equal.
diff --git a/doc/classes/BoxShape3D.xml b/doc/classes/BoxShape3D.xml
index 154af1221f..c198dd3405 100644
--- a/doc/classes/BoxShape3D.xml
+++ b/doc/classes/BoxShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="BoxShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Box shape resource.
+ Box shape resource for 3D collisions.
</brief_description>
<description>
- 3D box shape that can be a child of a [PhysicsBody3D] or [Area3D].
+ 3D box shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node.
+ [b]Performance:[/b] Being a primitive collision shape, [BoxShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]).
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml
index af9724af08..d85d02fbfb 100644
--- a/doc/classes/Button.xml
+++ b/doc/classes/Button.xml
@@ -78,7 +78,7 @@
</member>
<member name="icon" type="Texture2D" setter="set_button_icon" getter="get_button_icon">
Button's icon, if text is present the icon will be placed before the text.
- To edit margin and spacing of the icon, use [theme_item hseparation] theme property and [code]content_margin_*[/code] properties of the used [StyleBox]es.
+ To edit margin and spacing of the icon, use [theme_item h_separation] theme property and [code]content_margin_*[/code] properties of the used [StyleBox]es.
</member>
<member name="icon_alignment" type="int" setter="set_icon_alignment" getter="get_icon_alignment" enum="HorizontalAlignment" default="0">
Specifies if the icon should be aligned to the left, right, or center of a button. Uses the same [enum @GlobalScope.HorizontalAlignment] constants as the text alignment. If centered, text will draw on top of the icon.
@@ -133,7 +133,7 @@
<theme_item name="icon_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
Icon modulate [Color] used when the [Button] is being pressed.
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="2">
+ <theme_item name="h_separation" data_type="constant" type="int" default="2">
The horizontal space between [Button]'s icon and text.
</theme_item>
<theme_item name="outline_size" data_type="constant" type="int" default="0">
diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml
index 4a7ffe1536..dacdca1cee 100644
--- a/doc/classes/CPUParticles2D.xml
+++ b/doc/classes/CPUParticles2D.xml
@@ -313,18 +313,21 @@
All particles will be emitted from a single point.
</constant>
<constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
+ Particles will be emitted in the volume of a sphere flattened to two dimensions.
+ </constant>
+ <constant name="EMISSION_SHAPE_SPHERE_SURFACE" value="2" enum="EmissionShape">
Particles will be emitted on the surface of a sphere flattened to two dimensions.
</constant>
- <constant name="EMISSION_SHAPE_RECTANGLE" value="2" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_RECTANGLE" value="3" enum="EmissionShape">
Particles will be emitted in the area of a rectangle.
</constant>
- <constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_POINTS" value="4" enum="EmissionShape">
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle color will be modulated by [member emission_colors].
</constant>
- <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="5" enum="EmissionShape">
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle velocity and rotation will be set based on [member emission_normals]. Particle color will be modulated by [member emission_colors].
</constant>
- <constant name="EMISSION_SHAPE_MAX" value="5" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_MAX" value="6" enum="EmissionShape">
Represents the size of the [enum EmissionShape] enum.
</constant>
</constants>
diff --git a/doc/classes/CPUParticles3D.xml b/doc/classes/CPUParticles3D.xml
index 7152f67f48..f2a0040ed4 100644
--- a/doc/classes/CPUParticles3D.xml
+++ b/doc/classes/CPUParticles3D.xml
@@ -370,19 +370,22 @@
<constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
Particles will be emitted in the volume of a sphere.
</constant>
- <constant name="EMISSION_SHAPE_BOX" value="2" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_SPHERE_SURFACE" value="2" enum="EmissionShape">
+ Particles will be emitted on the surface of a sphere.
+ </constant>
+ <constant name="EMISSION_SHAPE_BOX" value="3" enum="EmissionShape">
Particles will be emitted in the volume of a box.
</constant>
- <constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_POINTS" value="4" enum="EmissionShape">
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle color will be modulated by [member emission_colors].
</constant>
- <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="5" enum="EmissionShape">
Particles will be emitted at a position chosen randomly among [member emission_points]. Particle velocity and rotation will be set based on [member emission_normals]. Particle color will be modulated by [member emission_colors].
</constant>
- <constant name="EMISSION_SHAPE_RING" value="5" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_RING" value="6" enum="EmissionShape">
Particles will be emitted in a ring or cylinder.
</constant>
- <constant name="EMISSION_SHAPE_MAX" value="6" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_MAX" value="7" enum="EmissionShape">
Represents the size of the [enum EmissionShape] enum.
</constant>
</constants>
diff --git a/doc/classes/Callable.xml b/doc/classes/Callable.xml
index 7c7e37d0a5..efe3e3d091 100644
--- a/doc/classes/Callable.xml
+++ b/doc/classes/Callable.xml
@@ -150,11 +150,6 @@
<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.
@@ -162,11 +157,6 @@
</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.
diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml
index 3350735ca2..b9373676e2 100644
--- a/doc/classes/Camera2D.xml
+++ b/doc/classes/Camera2D.xml
@@ -157,7 +157,7 @@
Speed in pixels per second of the camera's smoothing effect when [member smoothing_enabled] is [code]true[/code].
</member>
<member name="zoom" type="Vector2" setter="set_zoom" getter="get_zoom" default="Vector2(1, 1)">
- The camera's zoom relative to the viewport. Values larger than [code]Vector2(1, 1)[/code] zoom out and smaller values zoom in. For an example, use [code]Vector2(0.5, 0.5)[/code] for a 2× zoom-in, and [code]Vector2(4, 4)[/code] for a 4× zoom-out.
+ The camera's zoom. A zoom of [code]Vector(2, 2)[/code] doubles the size seen in the viewport. A zoom of [code]Vector(0.5, 0.5)[/code] halves the size seen in the viewport.
</member>
</members>
<constants>
diff --git a/doc/classes/Camera3D.xml b/doc/classes/Camera3D.xml
index f7a0d41626..5008cd826e 100644
--- a/doc/classes/Camera3D.xml
+++ b/doc/classes/Camera3D.xml
@@ -192,7 +192,7 @@
The camera's projection mode. In [constant PROJECTION_PERSPECTIVE] mode, objects' Z distance from the camera's local space scales their perceived size.
</member>
<member name="size" type="float" setter="set_size" getter="get_size" default="1.0">
- The camera's size measured as 1/2 the width or height. Only applicable in orthogonal mode. Since [member keep_aspect] locks on axis, [code]size[/code] sets the other axis' size length.
+ The camera's size measured as 1/2 the width or height. Only applicable in orthogonal and frustum modes. Since [member keep_aspect] locks on axis, [code]size[/code] sets the other axis' size length.
</member>
<member name="v_offset" type="float" setter="set_v_offset" getter="get_v_offset" default="0.0">
The vertical (Y) offset of the camera viewport.
diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml
index d71762801c..6cd2da520f 100644
--- a/doc/classes/CanvasItem.xml
+++ b/doc/classes/CanvasItem.xml
@@ -80,6 +80,17 @@
Draws a colored polygon of any amount of points, convex or concave. Unlike [method draw_polygon], a single color must be specified for the whole polygon.
</description>
</method>
+ <method name="draw_dashed_line">
+ <return type="void" />
+ <argument index="0" name="from" type="Vector2" />
+ <argument index="1" name="to" type="Vector2" />
+ <argument index="2" name="color" type="Color" />
+ <argument index="3" name="width" type="float" default="1.0" />
+ <argument index="4" name="dash" type="float" default="2.0" />
+ <description>
+ Draws a dashed line from a 2D point to another, with a given color and width. See also [method draw_multiline] and [method draw_polyline].
+ </description>
+ </method>
<method name="draw_end_animation">
<return type="void" />
<description>
@@ -92,8 +103,9 @@
<argument index="1" name="to" type="Vector2" />
<argument index="2" name="color" type="Color" />
<argument index="3" name="width" type="float" default="1.0" />
+ <argument index="4" name="antialiased" type="bool" default="false" />
<description>
- Draws a line from a 2D point to another, with a given color and width. See also [method draw_multiline] and [method draw_polyline].
+ Draws a line from a 2D point to another, with a given color and width. It can be optionally antialiased. See also [method draw_multiline] and [method draw_polyline].
</description>
</method>
<method name="draw_mesh">
@@ -180,7 +192,7 @@
<argument index="2" name="width" type="float" default="1.0" />
<argument index="3" name="antialiased" type="bool" default="false" />
<description>
- Draws interconnected line segments with a uniform [code]color[/code] and [code]width[/code]. When drawing large amounts of lines, this is faster than using individual [method draw_line] calls. To draw disconnected lines, use [method draw_multiline] instead. See also [method draw_polygon].
+ Draws interconnected line segments with a uniform [code]color[/code] and [code]width[/code] and optional antialiasing. When drawing large amounts of lines, this is faster than using individual [method draw_line] calls. To draw disconnected lines, use [method draw_multiline] instead. See also [method draw_polygon].
</description>
</method>
<method name="draw_polyline_colors">
@@ -190,7 +202,7 @@
<argument index="2" name="width" type="float" default="1.0" />
<argument index="3" name="antialiased" type="bool" default="false" />
<description>
- Draws interconnected line segments with a uniform [code]width[/code] and segment-by-segment coloring. Colors assigned to line segments match by index between [code]points[/code] and [code]colors[/code]. When drawing large amounts of lines, this is faster than using individual [method draw_line] calls. To draw disconnected lines, use [method draw_multiline_colors] instead. See also [method draw_polygon].
+ Draws interconnected line segments with a uniform [code]width[/code] and segment-by-segment coloring, and optional antialiasing. Colors assigned to line segments match by index between [code]points[/code] and [code]colors[/code]. When drawing large amounts of lines, this is faster than using individual [method draw_line] calls. To draw disconnected lines, use [method draw_multiline_colors] instead. See also [method draw_polygon].
</description>
</method>
<method name="draw_primitive">
@@ -355,6 +367,13 @@
Returns the mouse's position in this [CanvasItem] using the local coordinate system of this [CanvasItem].
</description>
</method>
+ <method name="get_screen_transform" qualifiers="const">
+ <return type="Transform2D" />
+ <description>
+ Returns the transform of this [CanvasItem] in global screen coordinates (i.e. taking window position into account). Mostly useful for editor plugins.
+ Equals to [method get_global_transform] if the window is embedded (see [member Viewport.gui_embed_subwindows]).
+ </description>
+ </method>
<method name="get_transform" qualifiers="const">
<return type="Transform2D" />
<description>
@@ -421,14 +440,14 @@
<return type="void" />
<argument index="0" name="enable" type="bool" />
<description>
- If [code]enable[/code] is [code]true[/code], children will be updated with local transform data.
+ If [code]enable[/code] is [code]true[/code], this node will receive [constant NOTIFICATION_LOCAL_TRANSFORM_CHANGED] when its local transform changes.
</description>
</method>
<method name="set_notify_transform">
<return type="void" />
<argument index="0" name="enable" type="bool" />
<description>
- If [code]enable[/code] is [code]true[/code], children will be updated with global transform data.
+ If [code]enable[/code] is [code]true[/code], this node will receive [constant NOTIFICATION_TRANSFORM_CHANGED] when its global transform changes.
</description>
</method>
<method name="show">
@@ -462,9 +481,6 @@
<member name="show_behind_parent" type="bool" setter="set_draw_behind_parent" getter="is_draw_behind_parent_enabled" default="false">
If [code]true[/code], the object draws behind its parent.
</member>
- <member name="show_on_top" type="bool" setter="_set_on_top" getter="_is_on_top">
- If [code]true[/code], the object draws on top of its parent.
- </member>
<member name="texture_filter" type="int" setter="set_texture_filter" getter="get_texture_filter" enum="CanvasItem.TextureFilter" default="0">
The texture filtering mode to use on this [CanvasItem].
</member>
@@ -472,7 +488,7 @@
The texture repeating mode to use on this [CanvasItem].
</member>
<member name="top_level" type="bool" setter="set_as_top_level" getter="is_set_as_top_level" default="false">
- If [code]true[/code], the node will not inherit its transform from parent [CanvasItem]s.
+ If [code]true[/code], this [CanvasItem] will [i]not[/i] inherit its transform from parent [CanvasItem]s. Its draw order will also be changed to make it draw on top of other [CanvasItem]s that do not have [member top_level] set to [code]true[/code]. The [CanvasItem] will effectively act as if it was placed as a child of a bare [Node].
</member>
<member name="use_parent_material" type="bool" setter="set_use_parent_material" getter="get_use_parent_material" default="false">
If [code]true[/code], the parent [CanvasItem]'s [member material] property is used as this one's material.
@@ -506,7 +522,10 @@
</signals>
<constants>
<constant name="NOTIFICATION_TRANSFORM_CHANGED" value="2000">
- The [CanvasItem]'s transform has changed. This notification is only received if enabled by [method set_notify_transform] or [method set_notify_local_transform].
+ The [CanvasItem]'s global transform has changed. This notification is only received if enabled by [method set_notify_transform].
+ </constant>
+ <constant name="NOTIFICATION_LOCAL_TRANSFORM_CHANGED" value="35">
+ The [CanvasItem]'s local transform has changed. This notification is only received if enabled by [method set_notify_local_transform].
</constant>
<constant name="NOTIFICATION_DRAW" value="30">
The [CanvasItem] is requested to draw.
diff --git a/doc/classes/CapsuleShape2D.xml b/doc/classes/CapsuleShape2D.xml
index ae8e1ca001..2236d8035f 100644
--- a/doc/classes/CapsuleShape2D.xml
+++ b/doc/classes/CapsuleShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CapsuleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Capsule shape for 2D collisions.
+ Capsule shape resource for 2D physics.
</brief_description>
<description>
- Capsule shape for 2D collisions.
+ 2D capsule shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. In 2D, a capsule is a rectangle shape with half-circles at both ends.
+ [b]Performance:[/b] Being a primitive collision shape, [CapsuleShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]).
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CapsuleShape3D.xml b/doc/classes/CapsuleShape3D.xml
index 5f15aaafad..cdcfab76ce 100644
--- a/doc/classes/CapsuleShape3D.xml
+++ b/doc/classes/CapsuleShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CapsuleShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Capsule shape for collisions.
+ Capsule shape resource for 3D collisions.
</brief_description>
<description>
- Capsule shape for collisions.
+ 3D capsule shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. In 3D, a capsule is a cylinder shape with hemispheres at both ends.
+ [b]Performance:[/b] Being a primitive collision shape, [CapsuleShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]). [CapsuleShape3D] is cheaper to check collisions against compared to [CylinderShape3D].
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/CharacterBody2D.xml b/doc/classes/CharacterBody2D.xml
index 28060f6579..63d493248f 100644
--- a/doc/classes/CharacterBody2D.xml
+++ b/doc/classes/CharacterBody2D.xml
@@ -183,7 +183,7 @@
If [code]true[/code], during a jump against the ceiling, the body will slide, if [code]false[/code] it will be stopped and will fall vertically.
</member>
<member name="up_direction" type="Vector2" setter="set_up_direction" getter="get_up_direction" default="Vector2(0, -1)">
- Direction vector used to determine what is a wall and what is a floor (or a ceiling), rather than a wall, when calling [method move_and_slide]. Defaults to [code]Vector2.UP[/code]. If set to [code]Vector2(0, 0)[/code], everything is considered a wall. This is useful for topdown games.
+ Vector pointing upwards, used to determine what is a wall and what is a floor (or a ceiling) when calling [method move_and_slide]. Defaults to [code]Vector2.UP[/code]. As the vector will be normalized it can't be equal to [constant Vector2.ZERO], if you want all collisions to be reported as walls, consider using [constant MOTION_MODE_FLOATING] as [member motion_mode].
</member>
<member name="velocity" type="Vector2" setter="set_velocity" getter="get_velocity" default="Vector2(0, 0)">
Current velocity vector in pixels per second, used and modified during calls to [method move_and_slide].
diff --git a/doc/classes/CharacterBody3D.xml b/doc/classes/CharacterBody3D.xml
index 4895e2cff7..6c5cd62fe1 100644
--- a/doc/classes/CharacterBody3D.xml
+++ b/doc/classes/CharacterBody3D.xml
@@ -168,7 +168,7 @@
If [code]true[/code], during a jump against the ceiling, the body will slide, if [code]false[/code] it will be stopped and will fall vertically.
</member>
<member name="up_direction" type="Vector3" setter="set_up_direction" getter="get_up_direction" default="Vector3(0, 1, 0)">
- Direction vector used to determine what is a wall and what is a floor (or a ceiling), rather than a wall, when calling [method move_and_slide]. Defaults to [code]Vector3.UP[/code]. If set to [code]Vector3(0, 0, 0)[/code], everything is considered a wall. This is useful for topdown games.
+ Vector pointing upwards, used to determine what is a wall and what is a floor (or a ceiling) when calling [method move_and_slide]. Defaults to [code]Vector3.UP[/code]. As the vector will be normalized it can't be equal to [constant Vector3.ZERO], if you want all collisions to be reported as walls, consider using [constant MOTION_MODE_FLOATING] as [member motion_mode].
</member>
<member name="velocity" type="Vector3" setter="set_velocity" getter="get_velocity" default="Vector3(0, 0, 0)">
Current velocity vector (typically meters per second), used and modified during calls to [method move_and_slide].
diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml
index 606f5ca51f..6483faf763 100644
--- a/doc/classes/CheckBox.xml
+++ b/doc/classes/CheckBox.xml
@@ -35,10 +35,10 @@
<theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
The [CheckBox] text's font color when it's pressed.
</theme_item>
- <theme_item name="check_vadjust" data_type="constant" type="int" default="0">
+ <theme_item name="check_v_adjust" data_type="constant" type="int" default="0">
The vertical offset used when rendering the check icons (in pixels).
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
The separation between the check icon and the text (in pixels).
</theme_item>
<theme_item name="outline_size" data_type="constant" type="int" default="0">
@@ -54,23 +54,25 @@
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.
+ The check icon to display when the [CheckBox] is checked and is disabled.
</theme_item>
<theme_item name="radio_checked" data_type="icon" type="Texture2D">
- If the [CheckBox] is configured as a radio button, the icon to display when the [CheckBox] is checked.
+ The check icon to display when the [CheckBox] is configured as a radio button and is checked.
</theme_item>
<theme_item name="radio_checked_disabled" data_type="icon" type="Texture2D">
+ The check icon to display when the [CheckBox] is configured as a radio button, is disabled, and is unchecked.
</theme_item>
<theme_item name="radio_unchecked" data_type="icon" type="Texture2D">
- If the [CheckBox] is configured as a radio button, the icon to display when the [CheckBox] is unchecked.
+ The check icon to display when the [CheckBox] is configured as a radio button and is unchecked.
</theme_item>
<theme_item name="radio_unchecked_disabled" data_type="icon" type="Texture2D">
+ The check icon to display when the [CheckBox] is configured as a radio button, is disabled, and is unchecked.
</theme_item>
<theme_item name="unchecked" data_type="icon" type="Texture2D">
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.
+ The check icon to display when the [CheckBox] is unchecked and is disabled.
</theme_item>
<theme_item name="disabled" data_type="style" type="StyleBox">
The [StyleBox] to display as a background when the [CheckBox] is disabled.
diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml
index c6ebfaf4b0..51b0411f4e 100644
--- a/doc/classes/CheckButton.xml
+++ b/doc/classes/CheckButton.xml
@@ -35,10 +35,10 @@
<theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
The [CheckButton] text's font color when it's pressed.
</theme_item>
- <theme_item name="check_vadjust" data_type="constant" type="int" default="0">
+ <theme_item name="check_v_adjust" data_type="constant" type="int" default="0">
The vertical offset used when rendering the toggle icons (in pixels).
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
The separation between the toggle icon and the text (in pixels).
</theme_item>
<theme_item name="outline_size" data_type="constant" type="int" default="0">
diff --git a/doc/classes/CircleShape2D.xml b/doc/classes/CircleShape2D.xml
index b0336086dc..6f4989daa3 100644
--- a/doc/classes/CircleShape2D.xml
+++ b/doc/classes/CircleShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CircleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Circular shape for 2D collisions.
+ Circular shape resource for 2D physics.
</brief_description>
<description>
- Circular shape for 2D collisions. This shape is useful for modeling balls or small characters and its collision detection with everything else is very fast.
+ 2D circular shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. This shape is useful for modeling balls or small characters and its collision detection with everything else is very fast.
+ [b]Performance:[/b] Being a primitive collision shape, [CircleShape2D] is the fastest collision shape to check collisions against, as it only requires a distance check with the shape's origin.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ClassDB.xml b/doc/classes/ClassDB.xml
index 835588b293..43210de686 100644
--- a/doc/classes/ClassDB.xml
+++ b/doc/classes/ClassDB.xml
@@ -23,13 +23,6 @@
Returns whether the specified [code]class[/code] is available or not.
</description>
</method>
- <method name="class_get_category" qualifiers="const">
- <return type="StringName" />
- <argument index="0" name="class" type="StringName" />
- <description>
- Returns a category associated with the class for use in documentation and the Asset Library. Debug mode required.
- </description>
- </method>
<method name="class_get_enum_constants" qualifiers="const">
<return type="PackedStringArray" />
<argument index="0" name="class" type="StringName" />
diff --git a/doc/classes/CollisionObject2D.xml b/doc/classes/CollisionObject2D.xml
index 99bf9f7853..5d025985cc 100644
--- a/doc/classes/CollisionObject2D.xml
+++ b/doc/classes/CollisionObject2D.xml
@@ -5,6 +5,7 @@
</brief_description>
<description>
CollisionObject2D is the base class for 2D physics objects. It can hold any number of 2D collision [Shape2D]s. Each shape must be assigned to a [i]shape owner[/i]. The CollisionObject2D can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the [code]shape_owner_*[/code] methods.
+ [b]Note:[/b] Only collisions between objects within the same canvas ([Viewport] canvas or [CanvasLayer]) are supported. The behavior of collisions between objects in different canvases is undefined.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CollisionPolygon2D.xml b/doc/classes/CollisionPolygon2D.xml
index 48fd7c19dc..a9d8a85226 100644
--- a/doc/classes/CollisionPolygon2D.xml
+++ b/doc/classes/CollisionPolygon2D.xml
@@ -4,7 +4,8 @@
Defines a 2D collision polygon.
</brief_description>
<description>
- Provides a 2D collision polygon to a [CollisionObject2D] parent. Polygons can be drawn in the editor or specified by a list of vertices.
+ Provides a concave or convex 2D collision polygon to a [CollisionObject2D] parent. Polygons can be drawn in the editor or specified by a list of vertices. See also [ConvexPolygonShape2D].
+ In the editor, a [CollisionPolygon2D] can be generated from a [Sprite2D]'s outline by selecting a [Sprite2D] node, going to the [b]Sprite2D[/b] menu at the top of the 2D editor viewport then choosing [b]Create CollisionPolygon2D Sibling[/b].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/CollisionPolygon3D.xml b/doc/classes/CollisionPolygon3D.xml
index c8c3752254..7d718cff27 100644
--- a/doc/classes/CollisionPolygon3D.xml
+++ b/doc/classes/CollisionPolygon3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CollisionPolygon3D" inherits="Node3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Editor-only class for defining a collision polygon in 3D space.
+ Editor-only node for defining a collision polygon in 3D space.
</brief_description>
<description>
- Allows editing a collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates a [Shape3D] for gameplay. Properties modified during gameplay will have no effect.
+ Allows editing a concave or convex collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates several [ConvexPolygonShape3D]s at run-time to represent the original polygon using convex decomposition.
+ [b]Note:[/b] Since this is an editor-only helper, properties modified during gameplay will have no effect.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml
index bc0baf42c9..7b8a57ed22 100644
--- a/doc/classes/Color.xml
+++ b/doc/classes/Color.xml
@@ -183,6 +183,7 @@
<description>
Returns the luminance of the color in the [code][0.0, 1.0][/code] range.
This is useful when determining light or dark color. Colors with a luminance smaller than 0.5 can be generally considered dark.
+ [b]Note:[/b] [method get_luminance] relies on the colour being in the linear color space to return an accurate relative luminance value. If the color is in the sRGB color space, use [method srgb_to_linear] to convert it to the linear color space first.
</description>
</method>
<method name="get_named_color" qualifiers="static">
@@ -320,6 +321,18 @@
[/codeblocks]
</description>
</method>
+ <method name="linear_to_srgb" qualifiers="const">
+ <return type="Color" />
+ <description>
+ Returns the color converted to the [url=https://en.wikipedia.org/wiki/SRGB]sRGB[/url] color space. This assumes the original color is in the linear color space. See also [method srgb_to_linear] which performs the opposite operation.
+ </description>
+ </method>
+ <method name="srgb_to_linear" qualifiers="const">
+ <return type="Color" />
+ <description>
+ Returns the color converted to the linear color space. This assumes the original color is in the sRGB color space. See also [method linear_to_srgb] which performs the opposite operation.
+ </description>
+ </method>
<method name="to_abgr32" qualifiers="const">
<return type="int" />
<description>
@@ -473,343 +486,343 @@
</member>
</members>
<constants>
- <constant name="ALICE_BLUE" value="Color(0.94, 0.97, 1, 1)">
+ <constant name="ALICE_BLUE" value="Color(0.941176, 0.972549, 1, 1)">
Alice blue color.
</constant>
- <constant name="ANTIQUE_WHITE" value="Color(0.98, 0.92, 0.84, 1)">
+ <constant name="ANTIQUE_WHITE" value="Color(0.980392, 0.921569, 0.843137, 1)">
Antique white color.
</constant>
<constant name="AQUA" value="Color(0, 1, 1, 1)">
Aqua color.
</constant>
- <constant name="AQUAMARINE" value="Color(0.5, 1, 0.83, 1)">
+ <constant name="AQUAMARINE" value="Color(0.498039, 1, 0.831373, 1)">
Aquamarine color.
</constant>
- <constant name="AZURE" value="Color(0.94, 1, 1, 1)">
+ <constant name="AZURE" value="Color(0.941176, 1, 1, 1)">
Azure color.
</constant>
- <constant name="BEIGE" value="Color(0.96, 0.96, 0.86, 1)">
+ <constant name="BEIGE" value="Color(0.960784, 0.960784, 0.862745, 1)">
Beige color.
</constant>
- <constant name="BISQUE" value="Color(1, 0.89, 0.77, 1)">
+ <constant name="BISQUE" value="Color(1, 0.894118, 0.768627, 1)">
Bisque color.
</constant>
<constant name="BLACK" value="Color(0, 0, 0, 1)">
Black color.
</constant>
- <constant name="BLANCHED_ALMOND" value="Color(1, 0.92, 0.8, 1)">
+ <constant name="BLANCHED_ALMOND" value="Color(1, 0.921569, 0.803922, 1)">
Blanched almond color.
</constant>
<constant name="BLUE" value="Color(0, 0, 1, 1)">
Blue color.
</constant>
- <constant name="BLUE_VIOLET" value="Color(0.54, 0.17, 0.89, 1)">
+ <constant name="BLUE_VIOLET" value="Color(0.541176, 0.168627, 0.886275, 1)">
Blue violet color.
</constant>
- <constant name="BROWN" value="Color(0.65, 0.16, 0.16, 1)">
+ <constant name="BROWN" value="Color(0.647059, 0.164706, 0.164706, 1)">
Brown color.
</constant>
- <constant name="BURLYWOOD" value="Color(0.87, 0.72, 0.53, 1)">
+ <constant name="BURLYWOOD" value="Color(0.870588, 0.721569, 0.529412, 1)">
Burlywood color.
</constant>
- <constant name="CADET_BLUE" value="Color(0.37, 0.62, 0.63, 1)">
+ <constant name="CADET_BLUE" value="Color(0.372549, 0.619608, 0.627451, 1)">
Cadet blue color.
</constant>
- <constant name="CHARTREUSE" value="Color(0.5, 1, 0, 1)">
+ <constant name="CHARTREUSE" value="Color(0.498039, 1, 0, 1)">
Chartreuse color.
</constant>
- <constant name="CHOCOLATE" value="Color(0.82, 0.41, 0.12, 1)">
+ <constant name="CHOCOLATE" value="Color(0.823529, 0.411765, 0.117647, 1)">
Chocolate color.
</constant>
- <constant name="CORAL" value="Color(1, 0.5, 0.31, 1)">
+ <constant name="CORAL" value="Color(1, 0.498039, 0.313726, 1)">
Coral color.
</constant>
- <constant name="CORNFLOWER_BLUE" value="Color(0.39, 0.58, 0.93, 1)">
+ <constant name="CORNFLOWER_BLUE" value="Color(0.392157, 0.584314, 0.929412, 1)">
Cornflower blue color.
</constant>
- <constant name="CORNSILK" value="Color(1, 0.97, 0.86, 1)">
+ <constant name="CORNSILK" value="Color(1, 0.972549, 0.862745, 1)">
Cornsilk color.
</constant>
- <constant name="CRIMSON" value="Color(0.86, 0.08, 0.24, 1)">
+ <constant name="CRIMSON" value="Color(0.862745, 0.0784314, 0.235294, 1)">
Crimson color.
</constant>
<constant name="CYAN" value="Color(0, 1, 1, 1)">
Cyan color.
</constant>
- <constant name="DARK_BLUE" value="Color(0, 0, 0.55, 1)">
+ <constant name="DARK_BLUE" value="Color(0, 0, 0.545098, 1)">
Dark blue color.
</constant>
- <constant name="DARK_CYAN" value="Color(0, 0.55, 0.55, 1)">
+ <constant name="DARK_CYAN" value="Color(0, 0.545098, 0.545098, 1)">
Dark cyan color.
</constant>
- <constant name="DARK_GOLDENROD" value="Color(0.72, 0.53, 0.04, 1)">
+ <constant name="DARK_GOLDENROD" value="Color(0.721569, 0.52549, 0.0431373, 1)">
Dark goldenrod color.
</constant>
- <constant name="DARK_GRAY" value="Color(0.66, 0.66, 0.66, 1)">
+ <constant name="DARK_GRAY" value="Color(0.662745, 0.662745, 0.662745, 1)">
Dark gray color.
</constant>
- <constant name="DARK_GREEN" value="Color(0, 0.39, 0, 1)">
+ <constant name="DARK_GREEN" value="Color(0, 0.392157, 0, 1)">
Dark green color.
</constant>
- <constant name="DARK_KHAKI" value="Color(0.74, 0.72, 0.42, 1)">
+ <constant name="DARK_KHAKI" value="Color(0.741176, 0.717647, 0.419608, 1)">
Dark khaki color.
</constant>
- <constant name="DARK_MAGENTA" value="Color(0.55, 0, 0.55, 1)">
+ <constant name="DARK_MAGENTA" value="Color(0.545098, 0, 0.545098, 1)">
Dark magenta color.
</constant>
- <constant name="DARK_OLIVE_GREEN" value="Color(0.33, 0.42, 0.18, 1)">
+ <constant name="DARK_OLIVE_GREEN" value="Color(0.333333, 0.419608, 0.184314, 1)">
Dark olive green color.
</constant>
- <constant name="DARK_ORANGE" value="Color(1, 0.55, 0, 1)">
+ <constant name="DARK_ORANGE" value="Color(1, 0.54902, 0, 1)">
Dark orange color.
</constant>
- <constant name="DARK_ORCHID" value="Color(0.6, 0.2, 0.8, 1)">
+ <constant name="DARK_ORCHID" value="Color(0.6, 0.196078, 0.8, 1)">
Dark orchid color.
</constant>
- <constant name="DARK_RED" value="Color(0.55, 0, 0, 1)">
+ <constant name="DARK_RED" value="Color(0.545098, 0, 0, 1)">
Dark red color.
</constant>
- <constant name="DARK_SALMON" value="Color(0.91, 0.59, 0.48, 1)">
+ <constant name="DARK_SALMON" value="Color(0.913725, 0.588235, 0.478431, 1)">
Dark salmon color.
</constant>
- <constant name="DARK_SEA_GREEN" value="Color(0.56, 0.74, 0.56, 1)">
+ <constant name="DARK_SEA_GREEN" value="Color(0.560784, 0.737255, 0.560784, 1)">
Dark sea green color.
</constant>
- <constant name="DARK_SLATE_BLUE" value="Color(0.28, 0.24, 0.55, 1)">
+ <constant name="DARK_SLATE_BLUE" value="Color(0.282353, 0.239216, 0.545098, 1)">
Dark slate blue color.
</constant>
- <constant name="DARK_SLATE_GRAY" value="Color(0.18, 0.31, 0.31, 1)">
+ <constant name="DARK_SLATE_GRAY" value="Color(0.184314, 0.309804, 0.309804, 1)">
Dark slate gray color.
</constant>
- <constant name="DARK_TURQUOISE" value="Color(0, 0.81, 0.82, 1)">
+ <constant name="DARK_TURQUOISE" value="Color(0, 0.807843, 0.819608, 1)">
Dark turquoise color.
</constant>
- <constant name="DARK_VIOLET" value="Color(0.58, 0, 0.83, 1)">
+ <constant name="DARK_VIOLET" value="Color(0.580392, 0, 0.827451, 1)">
Dark violet color.
</constant>
- <constant name="DEEP_PINK" value="Color(1, 0.08, 0.58, 1)">
+ <constant name="DEEP_PINK" value="Color(1, 0.0784314, 0.576471, 1)">
Deep pink color.
</constant>
- <constant name="DEEP_SKY_BLUE" value="Color(0, 0.75, 1, 1)">
+ <constant name="DEEP_SKY_BLUE" value="Color(0, 0.74902, 1, 1)">
Deep sky blue color.
</constant>
- <constant name="DIM_GRAY" value="Color(0.41, 0.41, 0.41, 1)">
+ <constant name="DIM_GRAY" value="Color(0.411765, 0.411765, 0.411765, 1)">
Dim gray color.
</constant>
- <constant name="DODGER_BLUE" value="Color(0.12, 0.56, 1, 1)">
+ <constant name="DODGER_BLUE" value="Color(0.117647, 0.564706, 1, 1)">
Dodger blue color.
</constant>
- <constant name="FIREBRICK" value="Color(0.7, 0.13, 0.13, 1)">
+ <constant name="FIREBRICK" value="Color(0.698039, 0.133333, 0.133333, 1)">
Firebrick color.
</constant>
- <constant name="FLORAL_WHITE" value="Color(1, 0.98, 0.94, 1)">
+ <constant name="FLORAL_WHITE" value="Color(1, 0.980392, 0.941176, 1)">
Floral white color.
</constant>
- <constant name="FOREST_GREEN" value="Color(0.13, 0.55, 0.13, 1)">
+ <constant name="FOREST_GREEN" value="Color(0.133333, 0.545098, 0.133333, 1)">
Forest green color.
</constant>
<constant name="FUCHSIA" value="Color(1, 0, 1, 1)">
Fuchsia color.
</constant>
- <constant name="GAINSBORO" value="Color(0.86, 0.86, 0.86, 1)">
+ <constant name="GAINSBORO" value="Color(0.862745, 0.862745, 0.862745, 1)">
Gainsboro color.
</constant>
- <constant name="GHOST_WHITE" value="Color(0.97, 0.97, 1, 1)">
+ <constant name="GHOST_WHITE" value="Color(0.972549, 0.972549, 1, 1)">
Ghost white color.
</constant>
- <constant name="GOLD" value="Color(1, 0.84, 0, 1)">
+ <constant name="GOLD" value="Color(1, 0.843137, 0, 1)">
Gold color.
</constant>
- <constant name="GOLDENROD" value="Color(0.85, 0.65, 0.13, 1)">
+ <constant name="GOLDENROD" value="Color(0.854902, 0.647059, 0.12549, 1)">
Goldenrod color.
</constant>
- <constant name="GRAY" value="Color(0.75, 0.75, 0.75, 1)">
+ <constant name="GRAY" value="Color(0.745098, 0.745098, 0.745098, 1)">
Gray color.
</constant>
<constant name="GREEN" value="Color(0, 1, 0, 1)">
Green color.
</constant>
- <constant name="GREEN_YELLOW" value="Color(0.68, 1, 0.18, 1)">
+ <constant name="GREEN_YELLOW" value="Color(0.678431, 1, 0.184314, 1)">
Green yellow color.
</constant>
- <constant name="HONEYDEW" value="Color(0.94, 1, 0.94, 1)">
+ <constant name="HONEYDEW" value="Color(0.941176, 1, 0.941176, 1)">
Honeydew color.
</constant>
- <constant name="HOT_PINK" value="Color(1, 0.41, 0.71, 1)">
+ <constant name="HOT_PINK" value="Color(1, 0.411765, 0.705882, 1)">
Hot pink color.
</constant>
- <constant name="INDIAN_RED" value="Color(0.8, 0.36, 0.36, 1)">
+ <constant name="INDIAN_RED" value="Color(0.803922, 0.360784, 0.360784, 1)">
Indian red color.
</constant>
- <constant name="INDIGO" value="Color(0.29, 0, 0.51, 1)">
+ <constant name="INDIGO" value="Color(0.294118, 0, 0.509804, 1)">
Indigo color.
</constant>
- <constant name="IVORY" value="Color(1, 1, 0.94, 1)">
+ <constant name="IVORY" value="Color(1, 1, 0.941176, 1)">
Ivory color.
</constant>
- <constant name="KHAKI" value="Color(0.94, 0.9, 0.55, 1)">
+ <constant name="KHAKI" value="Color(0.941176, 0.901961, 0.54902, 1)">
Khaki color.
</constant>
- <constant name="LAVENDER" value="Color(0.9, 0.9, 0.98, 1)">
+ <constant name="LAVENDER" value="Color(0.901961, 0.901961, 0.980392, 1)">
Lavender color.
</constant>
- <constant name="LAVENDER_BLUSH" value="Color(1, 0.94, 0.96, 1)">
+ <constant name="LAVENDER_BLUSH" value="Color(1, 0.941176, 0.960784, 1)">
Lavender blush color.
</constant>
- <constant name="LAWN_GREEN" value="Color(0.49, 0.99, 0, 1)">
+ <constant name="LAWN_GREEN" value="Color(0.486275, 0.988235, 0, 1)">
Lawn green color.
</constant>
- <constant name="LEMON_CHIFFON" value="Color(1, 0.98, 0.8, 1)">
+ <constant name="LEMON_CHIFFON" value="Color(1, 0.980392, 0.803922, 1)">
Lemon chiffon color.
</constant>
- <constant name="LIGHT_BLUE" value="Color(0.68, 0.85, 0.9, 1)">
+ <constant name="LIGHT_BLUE" value="Color(0.678431, 0.847059, 0.901961, 1)">
Light blue color.
</constant>
- <constant name="LIGHT_CORAL" value="Color(0.94, 0.5, 0.5, 1)">
+ <constant name="LIGHT_CORAL" value="Color(0.941176, 0.501961, 0.501961, 1)">
Light coral color.
</constant>
- <constant name="LIGHT_CYAN" value="Color(0.88, 1, 1, 1)">
+ <constant name="LIGHT_CYAN" value="Color(0.878431, 1, 1, 1)">
Light cyan color.
</constant>
- <constant name="LIGHT_GOLDENROD" value="Color(0.98, 0.98, 0.82, 1)">
+ <constant name="LIGHT_GOLDENROD" value="Color(0.980392, 0.980392, 0.823529, 1)">
Light goldenrod color.
</constant>
- <constant name="LIGHT_GRAY" value="Color(0.83, 0.83, 0.83, 1)">
+ <constant name="LIGHT_GRAY" value="Color(0.827451, 0.827451, 0.827451, 1)">
Light gray color.
</constant>
- <constant name="LIGHT_GREEN" value="Color(0.56, 0.93, 0.56, 1)">
+ <constant name="LIGHT_GREEN" value="Color(0.564706, 0.933333, 0.564706, 1)">
Light green color.
</constant>
- <constant name="LIGHT_PINK" value="Color(1, 0.71, 0.76, 1)">
+ <constant name="LIGHT_PINK" value="Color(1, 0.713726, 0.756863, 1)">
Light pink color.
</constant>
- <constant name="LIGHT_SALMON" value="Color(1, 0.63, 0.48, 1)">
+ <constant name="LIGHT_SALMON" value="Color(1, 0.627451, 0.478431, 1)">
Light salmon color.
</constant>
- <constant name="LIGHT_SEA_GREEN" value="Color(0.13, 0.7, 0.67, 1)">
+ <constant name="LIGHT_SEA_GREEN" value="Color(0.12549, 0.698039, 0.666667, 1)">
Light sea green color.
</constant>
- <constant name="LIGHT_SKY_BLUE" value="Color(0.53, 0.81, 0.98, 1)">
+ <constant name="LIGHT_SKY_BLUE" value="Color(0.529412, 0.807843, 0.980392, 1)">
Light sky blue color.
</constant>
- <constant name="LIGHT_SLATE_GRAY" value="Color(0.47, 0.53, 0.6, 1)">
+ <constant name="LIGHT_SLATE_GRAY" value="Color(0.466667, 0.533333, 0.6, 1)">
Light slate gray color.
</constant>
- <constant name="LIGHT_STEEL_BLUE" value="Color(0.69, 0.77, 0.87, 1)">
+ <constant name="LIGHT_STEEL_BLUE" value="Color(0.690196, 0.768627, 0.870588, 1)">
Light steel blue color.
</constant>
- <constant name="LIGHT_YELLOW" value="Color(1, 1, 0.88, 1)">
+ <constant name="LIGHT_YELLOW" value="Color(1, 1, 0.878431, 1)">
Light yellow color.
</constant>
<constant name="LIME" value="Color(0, 1, 0, 1)">
Lime color.
</constant>
- <constant name="LIME_GREEN" value="Color(0.2, 0.8, 0.2, 1)">
+ <constant name="LIME_GREEN" value="Color(0.196078, 0.803922, 0.196078, 1)">
Lime green color.
</constant>
- <constant name="LINEN" value="Color(0.98, 0.94, 0.9, 1)">
+ <constant name="LINEN" value="Color(0.980392, 0.941176, 0.901961, 1)">
Linen color.
</constant>
<constant name="MAGENTA" value="Color(1, 0, 1, 1)">
Magenta color.
</constant>
- <constant name="MAROON" value="Color(0.69, 0.19, 0.38, 1)">
+ <constant name="MAROON" value="Color(0.690196, 0.188235, 0.376471, 1)">
Maroon color.
</constant>
- <constant name="MEDIUM_AQUAMARINE" value="Color(0.4, 0.8, 0.67, 1)">
+ <constant name="MEDIUM_AQUAMARINE" value="Color(0.4, 0.803922, 0.666667, 1)">
Medium aquamarine color.
</constant>
- <constant name="MEDIUM_BLUE" value="Color(0, 0, 0.8, 1)">
+ <constant name="MEDIUM_BLUE" value="Color(0, 0, 0.803922, 1)">
Medium blue color.
</constant>
- <constant name="MEDIUM_ORCHID" value="Color(0.73, 0.33, 0.83, 1)">
+ <constant name="MEDIUM_ORCHID" value="Color(0.729412, 0.333333, 0.827451, 1)">
Medium orchid color.
</constant>
- <constant name="MEDIUM_PURPLE" value="Color(0.58, 0.44, 0.86, 1)">
+ <constant name="MEDIUM_PURPLE" value="Color(0.576471, 0.439216, 0.858824, 1)">
Medium purple color.
</constant>
- <constant name="MEDIUM_SEA_GREEN" value="Color(0.24, 0.7, 0.44, 1)">
+ <constant name="MEDIUM_SEA_GREEN" value="Color(0.235294, 0.701961, 0.443137, 1)">
Medium sea green color.
</constant>
- <constant name="MEDIUM_SLATE_BLUE" value="Color(0.48, 0.41, 0.93, 1)">
+ <constant name="MEDIUM_SLATE_BLUE" value="Color(0.482353, 0.407843, 0.933333, 1)">
Medium slate blue color.
</constant>
- <constant name="MEDIUM_SPRING_GREEN" value="Color(0, 0.98, 0.6, 1)">
+ <constant name="MEDIUM_SPRING_GREEN" value="Color(0, 0.980392, 0.603922, 1)">
Medium spring green color.
</constant>
- <constant name="MEDIUM_TURQUOISE" value="Color(0.28, 0.82, 0.8, 1)">
+ <constant name="MEDIUM_TURQUOISE" value="Color(0.282353, 0.819608, 0.8, 1)">
Medium turquoise color.
</constant>
- <constant name="MEDIUM_VIOLET_RED" value="Color(0.78, 0.08, 0.52, 1)">
+ <constant name="MEDIUM_VIOLET_RED" value="Color(0.780392, 0.0823529, 0.521569, 1)">
Medium violet red color.
</constant>
- <constant name="MIDNIGHT_BLUE" value="Color(0.1, 0.1, 0.44, 1)">
+ <constant name="MIDNIGHT_BLUE" value="Color(0.0980392, 0.0980392, 0.439216, 1)">
Midnight blue color.
</constant>
- <constant name="MINT_CREAM" value="Color(0.96, 1, 0.98, 1)">
+ <constant name="MINT_CREAM" value="Color(0.960784, 1, 0.980392, 1)">
Mint cream color.
</constant>
- <constant name="MISTY_ROSE" value="Color(1, 0.89, 0.88, 1)">
+ <constant name="MISTY_ROSE" value="Color(1, 0.894118, 0.882353, 1)">
Misty rose color.
</constant>
- <constant name="MOCCASIN" value="Color(1, 0.89, 0.71, 1)">
+ <constant name="MOCCASIN" value="Color(1, 0.894118, 0.709804, 1)">
Moccasin color.
</constant>
- <constant name="NAVAJO_WHITE" value="Color(1, 0.87, 0.68, 1)">
+ <constant name="NAVAJO_WHITE" value="Color(1, 0.870588, 0.678431, 1)">
Navajo white color.
</constant>
- <constant name="NAVY_BLUE" value="Color(0, 0, 0.5, 1)">
+ <constant name="NAVY_BLUE" value="Color(0, 0, 0.501961, 1)">
Navy blue color.
</constant>
- <constant name="OLD_LACE" value="Color(0.99, 0.96, 0.9, 1)">
+ <constant name="OLD_LACE" value="Color(0.992157, 0.960784, 0.901961, 1)">
Old lace color.
</constant>
- <constant name="OLIVE" value="Color(0.5, 0.5, 0, 1)">
+ <constant name="OLIVE" value="Color(0.501961, 0.501961, 0, 1)">
Olive color.
</constant>
- <constant name="OLIVE_DRAB" value="Color(0.42, 0.56, 0.14, 1)">
+ <constant name="OLIVE_DRAB" value="Color(0.419608, 0.556863, 0.137255, 1)">
Olive drab color.
</constant>
- <constant name="ORANGE" value="Color(1, 0.65, 0, 1)">
+ <constant name="ORANGE" value="Color(1, 0.647059, 0, 1)">
Orange color.
</constant>
- <constant name="ORANGE_RED" value="Color(1, 0.27, 0, 1)">
+ <constant name="ORANGE_RED" value="Color(1, 0.270588, 0, 1)">
Orange red color.
</constant>
- <constant name="ORCHID" value="Color(0.85, 0.44, 0.84, 1)">
+ <constant name="ORCHID" value="Color(0.854902, 0.439216, 0.839216, 1)">
Orchid color.
</constant>
- <constant name="PALE_GOLDENROD" value="Color(0.93, 0.91, 0.67, 1)">
+ <constant name="PALE_GOLDENROD" value="Color(0.933333, 0.909804, 0.666667, 1)">
Pale goldenrod color.
</constant>
- <constant name="PALE_GREEN" value="Color(0.6, 0.98, 0.6, 1)">
+ <constant name="PALE_GREEN" value="Color(0.596078, 0.984314, 0.596078, 1)">
Pale green color.
</constant>
- <constant name="PALE_TURQUOISE" value="Color(0.69, 0.93, 0.93, 1)">
+ <constant name="PALE_TURQUOISE" value="Color(0.686275, 0.933333, 0.933333, 1)">
Pale turquoise color.
</constant>
- <constant name="PALE_VIOLET_RED" value="Color(0.86, 0.44, 0.58, 1)">
+ <constant name="PALE_VIOLET_RED" value="Color(0.858824, 0.439216, 0.576471, 1)">
Pale violet red color.
</constant>
- <constant name="PAPAYA_WHIP" value="Color(1, 0.94, 0.84, 1)">
+ <constant name="PAPAYA_WHIP" value="Color(1, 0.937255, 0.835294, 1)">
Papaya whip color.
</constant>
- <constant name="PEACH_PUFF" value="Color(1, 0.85, 0.73, 1)">
+ <constant name="PEACH_PUFF" value="Color(1, 0.854902, 0.72549, 1)">
Peach puff color.
</constant>
- <constant name="PERU" value="Color(0.8, 0.52, 0.25, 1)">
+ <constant name="PERU" value="Color(0.803922, 0.521569, 0.247059, 1)">
Peru color.
</constant>
- <constant name="PINK" value="Color(1, 0.75, 0.8, 1)">
+ <constant name="PINK" value="Color(1, 0.752941, 0.796078, 1)">
Pink color.
</constant>
- <constant name="PLUM" value="Color(0.87, 0.63, 0.87, 1)">
+ <constant name="PLUM" value="Color(0.866667, 0.627451, 0.866667, 1)">
Plum color.
</constant>
- <constant name="POWDER_BLUE" value="Color(0.69, 0.88, 0.9, 1)">
+ <constant name="POWDER_BLUE" value="Color(0.690196, 0.878431, 0.901961, 1)">
Powder blue color.
</constant>
- <constant name="PURPLE" value="Color(0.63, 0.13, 0.94, 1)">
+ <constant name="PURPLE" value="Color(0.627451, 0.12549, 0.941176, 1)">
Purple color.
</constant>
<constant name="REBECCA_PURPLE" value="Color(0.4, 0.2, 0.6, 1)">
@@ -818,108 +831,103 @@
<constant name="RED" value="Color(1, 0, 0, 1)">
Red color.
</constant>
- <constant name="ROSY_BROWN" value="Color(0.74, 0.56, 0.56, 1)">
+ <constant name="ROSY_BROWN" value="Color(0.737255, 0.560784, 0.560784, 1)">
Rosy brown color.
</constant>
- <constant name="ROYAL_BLUE" value="Color(0.25, 0.41, 0.88, 1)">
+ <constant name="ROYAL_BLUE" value="Color(0.254902, 0.411765, 0.882353, 1)">
Royal blue color.
</constant>
- <constant name="SADDLE_BROWN" value="Color(0.55, 0.27, 0.07, 1)">
+ <constant name="SADDLE_BROWN" value="Color(0.545098, 0.270588, 0.0745098, 1)">
Saddle brown color.
</constant>
- <constant name="SALMON" value="Color(0.98, 0.5, 0.45, 1)">
+ <constant name="SALMON" value="Color(0.980392, 0.501961, 0.447059, 1)">
Salmon color.
</constant>
- <constant name="SANDY_BROWN" value="Color(0.96, 0.64, 0.38, 1)">
+ <constant name="SANDY_BROWN" value="Color(0.956863, 0.643137, 0.376471, 1)">
Sandy brown color.
</constant>
- <constant name="SEA_GREEN" value="Color(0.18, 0.55, 0.34, 1)">
+ <constant name="SEA_GREEN" value="Color(0.180392, 0.545098, 0.341176, 1)">
Sea green color.
</constant>
- <constant name="SEASHELL" value="Color(1, 0.96, 0.93, 1)">
+ <constant name="SEASHELL" value="Color(1, 0.960784, 0.933333, 1)">
Seashell color.
</constant>
- <constant name="SIENNA" value="Color(0.63, 0.32, 0.18, 1)">
+ <constant name="SIENNA" value="Color(0.627451, 0.321569, 0.176471, 1)">
Sienna color.
</constant>
- <constant name="SILVER" value="Color(0.75, 0.75, 0.75, 1)">
+ <constant name="SILVER" value="Color(0.752941, 0.752941, 0.752941, 1)">
Silver color.
</constant>
- <constant name="SKY_BLUE" value="Color(0.53, 0.81, 0.92, 1)">
+ <constant name="SKY_BLUE" value="Color(0.529412, 0.807843, 0.921569, 1)">
Sky blue color.
</constant>
- <constant name="SLATE_BLUE" value="Color(0.42, 0.35, 0.8, 1)">
+ <constant name="SLATE_BLUE" value="Color(0.415686, 0.352941, 0.803922, 1)">
Slate blue color.
</constant>
- <constant name="SLATE_GRAY" value="Color(0.44, 0.5, 0.56, 1)">
+ <constant name="SLATE_GRAY" value="Color(0.439216, 0.501961, 0.564706, 1)">
Slate gray color.
</constant>
- <constant name="SNOW" value="Color(1, 0.98, 0.98, 1)">
+ <constant name="SNOW" value="Color(1, 0.980392, 0.980392, 1)">
Snow color.
</constant>
- <constant name="SPRING_GREEN" value="Color(0, 1, 0.5, 1)">
+ <constant name="SPRING_GREEN" value="Color(0, 1, 0.498039, 1)">
Spring green color.
</constant>
- <constant name="STEEL_BLUE" value="Color(0.27, 0.51, 0.71, 1)">
+ <constant name="STEEL_BLUE" value="Color(0.27451, 0.509804, 0.705882, 1)">
Steel blue color.
</constant>
- <constant name="TAN" value="Color(0.82, 0.71, 0.55, 1)">
+ <constant name="TAN" value="Color(0.823529, 0.705882, 0.54902, 1)">
Tan color.
</constant>
- <constant name="TEAL" value="Color(0, 0.5, 0.5, 1)">
+ <constant name="TEAL" value="Color(0, 0.501961, 0.501961, 1)">
Teal color.
</constant>
- <constant name="THISTLE" value="Color(0.85, 0.75, 0.85, 1)">
+ <constant name="THISTLE" value="Color(0.847059, 0.74902, 0.847059, 1)">
Thistle color.
</constant>
- <constant name="TOMATO" value="Color(1, 0.39, 0.28, 1)">
+ <constant name="TOMATO" value="Color(1, 0.388235, 0.278431, 1)">
Tomato color.
</constant>
<constant name="TRANSPARENT" value="Color(1, 1, 1, 0)">
Transparent color (white with zero alpha).
</constant>
- <constant name="TURQUOISE" value="Color(0.25, 0.88, 0.82, 1)">
+ <constant name="TURQUOISE" value="Color(0.25098, 0.878431, 0.815686, 1)">
Turquoise color.
</constant>
- <constant name="VIOLET" value="Color(0.93, 0.51, 0.93, 1)">
+ <constant name="VIOLET" value="Color(0.933333, 0.509804, 0.933333, 1)">
Violet color.
</constant>
- <constant name="WEB_GRAY" value="Color(0.5, 0.5, 0.5, 1)">
+ <constant name="WEB_GRAY" value="Color(0.501961, 0.501961, 0.501961, 1)">
Web gray color.
</constant>
- <constant name="WEB_GREEN" value="Color(0, 0.5, 0, 1)">
+ <constant name="WEB_GREEN" value="Color(0, 0.501961, 0, 1)">
Web green color.
</constant>
- <constant name="WEB_MAROON" value="Color(0.5, 0, 0, 1)">
+ <constant name="WEB_MAROON" value="Color(0.501961, 0, 0, 1)">
Web maroon color.
</constant>
- <constant name="WEB_PURPLE" value="Color(0.5, 0, 0.5, 1)">
+ <constant name="WEB_PURPLE" value="Color(0.501961, 0, 0.501961, 1)">
Web purple color.
</constant>
- <constant name="WHEAT" value="Color(0.96, 0.87, 0.7, 1)">
+ <constant name="WHEAT" value="Color(0.960784, 0.870588, 0.701961, 1)">
Wheat color.
</constant>
<constant name="WHITE" value="Color(1, 1, 1, 1)">
White color.
</constant>
- <constant name="WHITE_SMOKE" value="Color(0.96, 0.96, 0.96, 1)">
+ <constant name="WHITE_SMOKE" value="Color(0.960784, 0.960784, 0.960784, 1)">
White smoke color.
</constant>
<constant name="YELLOW" value="Color(1, 1, 0, 1)">
Yellow color.
</constant>
- <constant name="YELLOW_GREEN" value="Color(0.6, 0.8, 0.2, 1)">
+ <constant name="YELLOW_GREEN" value="Color(0.603922, 0.803922, 0.196078, 1)">
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>
Returns [code]true[/code] if the colors are not equal.
@@ -984,11 +992,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Color" />
<description>
Returns [code]true[/code] if the colors are exactly equal.
diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml
index f5e752578e..53d35c1a3d 100644
--- a/doc/classes/ColorPickerButton.xml
+++ b/doc/classes/ColorPickerButton.xml
@@ -74,7 +74,7 @@
<theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(0.8, 0.8, 0.8, 1)">
Text [Color] used when the [ColorPickerButton] is being pressed.
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="2">
+ <theme_item name="h_separation" data_type="constant" type="int" default="2">
The horizontal space between [ColorPickerButton]'s icon and text.
</theme_item>
<theme_item name="outline_size" data_type="constant" type="int" default="0">
diff --git a/doc/classes/ConcavePolygonShape2D.xml b/doc/classes/ConcavePolygonShape2D.xml
index 924178f9bf..f3c245c229 100644
--- a/doc/classes/ConcavePolygonShape2D.xml
+++ b/doc/classes/ConcavePolygonShape2D.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConcavePolygonShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Concave polygon 2D shape resource for physics.
+ Concave polygon shape resource for 2D physics.
</brief_description>
<description>
- Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidDynamicBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
- The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
+ 2D concave polygon shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidDynamicBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions.
+ The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex to speed up collision detection.
+ [b]Performance:[/b] Due to its complexity, [ConcavePolygonShape2D] is the slowest collision shape to check collisions against. Its use should generally be limited to level geometry. For convex geometry, using [ConvexPolygonShape2D] will perform better. For dynamic physics bodies that need concave collision, several [ConvexPolygonShape2D]s can be used to represent its collision by using convex decomposition; see [ConvexPolygonShape2D]'s documentation for instructions. However, consider using primitive collision shapes such as [CircleShape2D] or [RectangleShape2D] first.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ConcavePolygonShape3D.xml b/doc/classes/ConcavePolygonShape3D.xml
index 4e67f91db8..60d7e32492 100644
--- a/doc/classes/ConcavePolygonShape3D.xml
+++ b/doc/classes/ConcavePolygonShape3D.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConcavePolygonShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Concave polygon shape.
+ Concave polygon shape resource (also called "trimesh") for 3D physics.
</brief_description>
<description>
- Concave polygon shape resource, which can be set into a [PhysicsBody3D] or area. This shape is created by feeding a list of triangles.
+ 3D concave polygon shape resource (also called "trimesh") to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. This shape is created by feeding a list of triangles. Despite its name, [ConcavePolygonShape3D] can also store convex polygon shapes. However, unlike [ConvexPolygonShape3D], [ConcavePolygonShape3D] is [i]not[/i] limited to storing convex shapes exclusively.
[b]Note:[/b] When used for collision, [ConcavePolygonShape3D] is intended to work with static [PhysicsBody3D] nodes like [StaticBody3D] and will not work with [CharacterBody3D] or [RigidDynamicBody3D] with a mode other than Static.
+ [b]Performance:[/b] Due to its complexity, [ConcavePolygonShape3D] is the slowest collision shape to check collisions against. Its use should generally be limited to level geometry. For convex geometry, using [ConvexPolygonShape3D] will perform better. For dynamic physics bodies that need concave collision, several [ConvexPolygonShape3D]s can be used to represent its collision by using convex decomposition; see [ConvexPolygonShape3D]'s documentation for instructions. However, consider using primitive collision shapes such as [SphereShape3D] or [BoxShape3D] first.
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml
index 97fd584ed1..d084bd4db9 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -417,6 +417,19 @@
Returns the position and size of the control relative to the top-left corner of the parent Control. See [member position] and [member size].
</description>
</method>
+ <method name="get_screen_position" qualifiers="const">
+ <return type="Vector2" />
+ <description>
+ Returns the position of this [Control] in global screen coordinates (i.e. taking window position into account). Mostly useful for editor plugins.
+ Equals to [member global_position] if the window is embedded (see [member Viewport.gui_embed_subwindows]).
+ Example usage for showing a popup:
+ [codeblock]
+ popup_menu.position = get_screen_position() + get_local_mouse_position()
+ popup_menu.reset_size()
+ popup_menu.popup()
+ [/codeblock]
+ </description>
+ </method>
<method name="get_theme_color" qualifiers="const">
<return type="Color" />
<argument index="0" name="name" type="StringName" />
@@ -652,7 +665,8 @@
<method name="is_drag_successful" qualifiers="const">
<return type="bool" />
<description>
- Returns [code]true[/code] if drag operation is successful.
+ Returns [code]true[/code] if a drag operation is successful. Alternative to [method Viewport.gui_is_drag_successful].
+ Best used with [constant Node.NOTIFICATION_DRAG_END].
</description>
</method>
<method name="is_layout_rtl" qualifiers="const">
@@ -930,9 +944,9 @@
</method>
<method name="warp_mouse">
<return type="void" />
- <argument index="0" name="to_position" type="Vector2" />
+ <argument index="0" name="position" type="Vector2" />
<description>
- Moves the mouse cursor to [code]to_position[/code], relative to [member position] of this [Control].
+ Moves the mouse cursor to [code]position[/code], relative to [member position] of this [Control].
</description>
</method>
</methods>
@@ -1345,27 +1359,5 @@
<constant name="TEXT_DIRECTION_RTL" value="2" enum="TextDirection">
Right-to-left text writing direction.
</constant>
- <constant name="STRUCTURED_TEXT_DEFAULT" value="0" enum="StructuredTextParser">
- Use default behavior. Same as [code]STRUCTURED_TEXT_NONE[/code] unless specified otherwise in the control description.
- </constant>
- <constant name="STRUCTURED_TEXT_URI" value="1" enum="StructuredTextParser">
- BiDi override for URI.
- </constant>
- <constant name="STRUCTURED_TEXT_FILE" value="2" enum="StructuredTextParser">
- BiDi override for file path.
- </constant>
- <constant name="STRUCTURED_TEXT_EMAIL" value="3" enum="StructuredTextParser">
- BiDi override for email.
- </constant>
- <constant name="STRUCTURED_TEXT_LIST" value="4" enum="StructuredTextParser">
- BiDi override for lists.
- Structured text options: list separator [code]String[/code].
- </constant>
- <constant name="STRUCTURED_TEXT_NONE" value="5" enum="StructuredTextParser">
- Use default Unicode BiDi algorithm.
- </constant>
- <constant name="STRUCTURED_TEXT_CUSTOM" value="6" enum="StructuredTextParser">
- User defined structured text BiDi override function.
- </constant>
</constants>
</class>
diff --git a/doc/classes/ConvexPolygonShape2D.xml b/doc/classes/ConvexPolygonShape2D.xml
index 449c3132c7..df96b50fc1 100644
--- a/doc/classes/ConvexPolygonShape2D.xml
+++ b/doc/classes/ConvexPolygonShape2D.xml
@@ -1,11 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConvexPolygonShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Convex polygon shape for 2D physics.
+ Convex polygon shape resource for 2D physics.
</brief_description>
<description>
- Convex polygon shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check).
- The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection.
+ 2D convex polygon shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check). See also [CollisionPolygon2D].
+ The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex to speed up collision detection.
+ [b]Performance:[/b] [ConvexPolygonShape2D] is faster to check collisions against compared to [ConcavePolygonShape2D], but it is slower than primitive collision shapes such as [CircleShape2D] or [RectangleShape2D]. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by a primitive shape.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/ConvexPolygonShape3D.xml b/doc/classes/ConvexPolygonShape3D.xml
index d2f110d187..32dc8f673b 100644
--- a/doc/classes/ConvexPolygonShape3D.xml
+++ b/doc/classes/ConvexPolygonShape3D.xml
@@ -1,10 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ConvexPolygonShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Convex polygon shape for 3D physics.
+ Convex polygon shape resource for 3D physics.
</brief_description>
<description>
- Convex polygon shape resource, which can be added to a [PhysicsBody3D] or area.
+ 3D convex polygon shape resource to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. Unlike [ConcavePolygonShape3D], [ConvexPolygonShape3D] cannot store concave polygon shapes. [ConvexPolygonShape2D]s can be manually drawn in the editor using the [CollisionPolygon3D] node.
+ [b]Convex decomposition:[/b] Concave objects' collisions can be represented accurately using [i]several[/i] [ConvexPolygonShape3D]s. This allows dynamic physics bodies to have complex concave collisions (at a performance cost). This is available in the editor by selecting the [MeshInstance3D], going to the [b]Mesh[/b] menu and choosing [b]Create Multiple Convex Collision Siblings[/b]. Alternatively, [method MeshInstance3D.create_multiple_convex_collisions] can be called in a script to perform this decomposition at run-time.
+ [b]Performance:[/b] [ConvexPolygonShape3D] is faster to check collisions against compared to [ConcavePolygonShape3D], but it is slower than primitive collision shapes such as [SphereShape3D] or [BoxShape3D]. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by a primitive shape.
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/CylinderShape3D.xml b/doc/classes/CylinderShape3D.xml
index 06ad590bb3..6ff142da59 100644
--- a/doc/classes/CylinderShape3D.xml
+++ b/doc/classes/CylinderShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CylinderShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Cylinder shape for collisions.
+ Cylinder shape for 3D collisions.
</brief_description>
<description>
- Cylinder shape for collisions.
+ Cylinder shape for collisions. Like [CapsuleShape3D], but without hemispheres at the cylinder's ends.
+ [b]Performance:[/b] Being a primitive collision shape, [CylinderShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]). [CylinderShape3D] is also more demanding compared to [CapsuleShape3D].
</description>
<tutorials>
<link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link>
diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml
index ab04366eb7..8ee09ba8f8 100644
--- a/doc/classes/Dictionary.xml
+++ b/doc/classes/Dictionary.xml
@@ -307,22 +307,12 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Dictionary" />
<description>
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Dictionary" />
<description>
</description>
diff --git a/doc/classes/DirectionalLight3D.xml b/doc/classes/DirectionalLight3D.xml
index ad2663a61b..754518239c 100644
--- a/doc/classes/DirectionalLight3D.xml
+++ b/doc/classes/DirectionalLight3D.xml
@@ -35,8 +35,8 @@
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" overrides="Light3D" default="0.1" />
- <member name="use_in_sky_only" type="bool" setter="set_sky_only" getter="is_sky_only" default="false">
- If [code]true[/code], this [DirectionalLight3D] will not be used for anything except sky shaders. Use this for lights that impact your sky shader that you may want to hide from affecting the rest of the scene. For example, you may want to enable this when the sun in your sky shader falls below the horizon.
+ <member name="sky_mode" type="int" setter="set_sky_mode" getter="get_sky_mode" enum="DirectionalLight3D.SkyMode" default="0">
+ Set whether this [DirectionalLight3D] is visible in the sky, in the scene, or both in the sky and in the scene. See [enum SkyMode] for options.
</member>
</members>
<constants>
@@ -49,5 +49,14 @@
<constant name="SHADOW_PARALLEL_4_SPLITS" value="2" enum="ShadowMode">
Splits the view frustum in 4 areas, each with its own shadow map. This is the slowest directional shadow mode.
</constant>
+ <constant name="SKY_MODE_LIGHT_AND_SKY" value="0" enum="SkyMode">
+ Makes the light visible in both scene lighting and sky rendering.
+ </constant>
+ <constant name="SKY_MODE_LIGHT_ONLY" value="1" enum="SkyMode">
+ Makes the light visible in scene lighting only (including direct lighting and global illumination). When using this mode, the light will not be visible from sky shaders.
+ </constant>
+ <constant name="SKY_MODE_SKY_ONLY" value="2" enum="SkyMode">
+ Makes the light visible to sky shaders only. When using this mode the light will not cast light into the scene (either through direct lighting or through global illumination), but can be accessed through sky shaders. This can be useful, for example, when you want to control sky effects without illuminating the scene (during a night cycle, for example).
+ </constant>
</constants>
</class>
diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml
index 7d72cd867c..bd16fd3936 100644
--- a/doc/classes/Directory.xml
+++ b/doc/classes/Directory.xml
@@ -196,7 +196,8 @@
<return type="int" enum="Error" />
<argument index="0" name="path" type="String" />
<description>
- Deletes the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail.
+ Permanently deletes the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail.
+ If you don't want to delete the file/directory permanently, use [method OS.move_to_trash] instead.
Returns one of the [enum Error] code constants ([code]OK[/code] on success).
</description>
</method>
diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml
index 5a67170086..0d99c600d5 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -136,7 +136,74 @@
<argument index="1" name="label" type="String" />
<argument index="2" name="callback" type="Callable" />
<argument index="3" name="tag" type="Variant" default="null" />
+ <argument index="4" name="accelerator" type="int" enum="Key" default="0" />
+ <argument index="5" name="index" type="int" default="-1" />
<description>
+ Adds a new checkable item with text [code]label[/code] to the global menu with ID [code]menu_root[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
+ </description>
+ </method>
+ <method name="global_menu_add_icon_check_item">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="icon" type="Texture2D" />
+ <argument index="2" name="label" type="String" />
+ <argument index="3" name="callback" type="Callable" />
+ <argument index="4" name="tag" type="Variant" default="null" />
+ <argument index="5" name="accelerator" type="int" enum="Key" default="0" />
+ <argument index="6" name="index" type="int" default="-1" />
+ <description>
+ Adds a new checkable item with text [code]label[/code] and icon [code]icon[/code] to the global menu with ID [code]menu_root[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
+ </description>
+ </method>
+ <method name="global_menu_add_icon_item">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="icon" type="Texture2D" />
+ <argument index="2" name="label" type="String" />
+ <argument index="3" name="callback" type="Callable" />
+ <argument index="4" name="tag" type="Variant" default="null" />
+ <argument index="5" name="accelerator" type="int" enum="Key" default="0" />
+ <argument index="6" name="index" type="int" default="-1" />
+ <description>
+ Adds a new item with text [code]label[/code] and icon [code]icon[/code] to the global menu with ID [code]menu_root[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
+ </description>
+ </method>
+ <method name="global_menu_add_icon_radio_check_item">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="icon" type="Texture2D" />
+ <argument index="2" name="label" type="String" />
+ <argument index="3" name="callback" type="Callable" />
+ <argument index="4" name="tag" type="Variant" default="null" />
+ <argument index="5" name="accelerator" type="int" enum="Key" default="0" />
+ <argument index="6" name="index" type="int" default="-1" />
+ <description>
+ Adds a new radio-checkable item with text [code]label[/code] and icon [code]icon[/code] to the global menu with ID [code]menu_root[/code].
+ [b]Note:[/b] Radio-checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method global_menu_set_item_checked] for more info on how to control it.
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
</description>
</method>
<method name="global_menu_add_item">
@@ -145,13 +212,70 @@
<argument index="1" name="label" type="String" />
<argument index="2" name="callback" type="Callable" />
<argument index="3" name="tag" type="Variant" default="null" />
+ <argument index="4" name="accelerator" type="int" enum="Key" default="0" />
+ <argument index="5" name="index" type="int" default="-1" />
<description>
+ Adds a new item with text [code]label[/code] to the global menu with ID [code]menu_root[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
+ </description>
+ </method>
+ <method name="global_menu_add_multistate_item">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="labe" type="String" />
+ <argument index="2" name="max_states" type="int" />
+ <argument index="3" name="default_state" type="int" />
+ <argument index="4" name="callback" type="Callable" />
+ <argument index="5" name="tag" type="Variant" default="null" />
+ <argument index="6" name="accelerator" type="int" enum="Key" default="0" />
+ <argument index="7" name="index" type="int" default="-1" />
+ <description>
+ Adds a new item with text [code]label[/code] to the global menu with ID [code]menu_root[/code].
+ Contrarily to normal binary items, multistate items can have more than two states, as defined by [code]max_states[/code]. Each press or activate of the item will increase the state by one. The default value is defined by [code]default_state[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
+ </description>
+ </method>
+ <method name="global_menu_add_radio_check_item">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="label" type="String" />
+ <argument index="2" name="callback" type="Callable" />
+ <argument index="3" name="tag" type="Variant" default="null" />
+ <argument index="4" name="accelerator" type="int" enum="Key" default="0" />
+ <argument index="5" name="index" type="int" default="-1" />
+ <description>
+ Adds a new radio-checkable item with text [code]label[/code] to the global menu with ID [code]menu_root[/code].
+ [b]Note:[/b] Radio-checkable items just display a checkmark, but don't have any built-in checking behavior and must be checked/unchecked manually. See [method global_menu_set_item_checked] for more info on how to control it.
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
</description>
</method>
<method name="global_menu_add_separator">
<return type="void" />
<argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="index" type="int" default="-1" />
<description>
+ Adds a separator between items to the global menu with ID [code]menu_root[/code]. Separators also occupy an index.
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
</description>
</method>
<method name="global_menu_add_submenu_item">
@@ -159,41 +283,127 @@
<argument index="0" name="menu_root" type="String" />
<argument index="1" name="label" type="String" />
<argument index="2" name="submenu" type="String" />
+ <argument index="3" name="index" type="int" default="-1" />
<description>
+ Adds an item that will act as a submenu of the global menu [code]menu_root[/code]. The [code]submenu[/code] argument is the ID of the global menu root that will be shown when the item is clicked.
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
</description>
</method>
<method name="global_menu_clear">
<return type="void" />
<argument index="0" name="menu_root" type="String" />
<description>
+ Removes all items from the global menu with ID [code]menu_root[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Supported system menu IDs:[/b]
+ [codeblock]
+ "" - Main menu (macOS).
+ "_dock" - Dock popup menu (macOS).
+ [/codeblock]
+ </description>
+ </method>
+ <method name="global_menu_get_item_accelerator" qualifiers="const">
+ <return type="int" enum="Key" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <description>
+ Returns the accelerator of the item at index [code]idx[/code]. Accelerators are special combinations of keys that activate the item, no matter which control is focused.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
- <method name="global_menu_get_item_callback">
+ <method name="global_menu_get_item_callback" qualifiers="const">
<return type="Callable" />
<argument index="0" name="menu_root" type="String" />
<argument index="1" name="idx" type="int" />
<description>
+ Returns the callback of the item at index [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_get_item_icon" qualifiers="const">
+ <return type="Texture2D" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <description>
+ Returns the icon of the item at index [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_get_item_index_from_tag" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="tag" type="Variant" />
+ <description>
+ Returns the index of the item with the specified [code]tag[/code]. Index is automatically assigned to each item by the engine. Index can not be set manually.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_get_item_index_from_text" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="text" type="String" />
+ <description>
+ Returns the index of the item with the specified [code]text[/code]. Index is automatically assigned to each item by the engine. Index can not be set manually.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_get_item_max_states" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <description>
+ Returns number of states of an multistate item. See [method global_menu_add_multistate_item] for details.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
- <method name="global_menu_get_item_submenu">
+ <method name="global_menu_get_item_state" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <description>
+ Returns the state of an multistate item. See [method global_menu_add_multistate_item] for details.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_get_item_submenu" qualifiers="const">
<return type="String" />
<argument index="0" name="menu_root" type="String" />
<argument index="1" name="idx" type="int" />
<description>
+ Returns the submenu ID of the item at index [code]idx[/code]. See [method global_menu_add_submenu_item] for more info on how to add a submenu.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
- <method name="global_menu_get_item_tag">
+ <method name="global_menu_get_item_tag" qualifiers="const">
<return type="Variant" />
<argument index="0" name="menu_root" type="String" />
<argument index="1" name="idx" type="int" />
<description>
+ Returns the metadata of the specified item, which might be of any type. You can set it with [method global_menu_set_item_tag], which provides a simple way of assigning context data to items.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_get_item_text" qualifiers="const">
+ <return type="String" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <description>
+ Returns the text of the item at index [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
- <method name="global_menu_get_item_text">
+ <method name="global_menu_get_item_tooltip" qualifiers="const">
<return type="String" />
<argument index="0" name="menu_root" type="String" />
<argument index="1" name="idx" type="int" />
<description>
+ Returns the tooltip associated with the specified index index [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_is_item_checkable" qualifiers="const">
@@ -201,6 +411,8 @@
<argument index="0" name="menu_root" type="String" />
<argument index="1" name="idx" type="int" />
<description>
+ Returns [code]true[/code] if the item at index [code]idx[/code] is checkable in some way, i.e. if it has a checkbox or radio button.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_is_item_checked" qualifiers="const">
@@ -208,6 +420,28 @@
<argument index="0" name="menu_root" type="String" />
<argument index="1" name="idx" type="int" />
<description>
+ Returns [code]true[/code] if the item at index [code]idx[/code] is checked.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_is_item_disabled" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the item at index [code]idx[/code] is disabled. When it is disabled it can't be selected, or its action invoked.
+ See [method global_menu_set_item_disabled] for more info on how to disable an item.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_is_item_radio_checkable" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <description>
+ Returns [code]true[/code] if the item at index [code]idx[/code] has radio button-style checkability.
+ [b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_remove_item">
@@ -215,6 +449,19 @@
<argument index="0" name="menu_root" type="String" />
<argument index="1" name="idx" type="int" />
<description>
+ Removes the item at index [code]idx[/code] from the global menu [code]menu_root[/code].
+ [b]Note:[/b] The indices of items after the removed item will be shifted by one.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_set_item_accelerator">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <argument index="2" name="keycode" type="int" enum="Key" />
+ <description>
+ Sets the accelerator of the item at index [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_set_item_callback">
@@ -223,6 +470,8 @@
<argument index="1" name="idx" type="int" />
<argument index="2" name="callback" type="Callable" />
<description>
+ Sets the callback of the item at index [code]idx[/code]. Callback is emitted when an item is pressed or its accelerator is activated.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_set_item_checkable">
@@ -231,6 +480,8 @@
<argument index="1" name="idx" type="int" />
<argument index="2" name="checkable" type="bool" />
<description>
+ Sets whether the item at index [code]idx[/code] has a checkbox. If [code]false[/code], sets the type of the item to plain text.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_set_item_checked">
@@ -239,6 +490,60 @@
<argument index="1" name="idx" type="int" />
<argument index="2" name="checked" type="bool" />
<description>
+ Sets the checkstate status of the item at index [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_set_item_disabled">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <argument index="2" name="disabled" type="bool" />
+ <description>
+ Enables/disables the item at index [code]idx[/code]. When it is disabled, it can't be selected and its action can't be invoked.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_set_item_icon">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <argument index="2" name="icon" type="Texture2D" />
+ <description>
+ Replaces the [Texture2D] icon of the specified [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ [b]Note:[/b] This method is not supported by macOS "_dock" menu items.
+ </description>
+ </method>
+ <method name="global_menu_set_item_max_states">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <argument index="2" name="max_states" type="int" />
+ <description>
+ Sets number of state of an multistate item. See [method global_menu_add_multistate_item] for details.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_set_item_radio_checkable">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <argument index="2" name="checkable" type="bool" />
+ <description>
+ Sets the type of the item at the specified index [code]idx[/code] to radio button. If [code]false[/code], sets the type of the item to plain text
+ [b]Note:[/b] This is purely cosmetic; you must add the logic for checking/unchecking items in radio groups.
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_set_item_state">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <argument index="2" name="state" type="int" />
+ <description>
+ Sets the state of an multistate item. See [method global_menu_add_multistate_item] for details.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_set_item_submenu">
@@ -247,6 +552,8 @@
<argument index="1" name="idx" type="int" />
<argument index="2" name="submenu" type="String" />
<description>
+ Sets the submenu of the item at index [code]idx[/code]. The submenu is the ID of a global menu root that would be shown when the item is clicked.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_set_item_tag">
@@ -255,6 +562,8 @@
<argument index="1" name="idx" type="int" />
<argument index="2" name="tag" type="Variant" />
<description>
+ Sets the metadata of an item, which may be of any type. You can later get it with [method global_menu_get_item_tag], which provides a simple way of assigning context data to items.
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="global_menu_set_item_text">
@@ -263,6 +572,18 @@
<argument index="1" name="idx" type="int" />
<argument index="2" name="text" type="String" />
<description>
+ Sets the text of the item at index [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
+ </description>
+ </method>
+ <method name="global_menu_set_item_tooltip">
+ <return type="void" />
+ <argument index="0" name="menu_root" type="String" />
+ <argument index="1" name="idx" type="int" />
+ <argument index="2" name="tooltip" type="String" />
+ <description>
+ Sets the [String] tooltip of the item at the specified index [code]idx[/code].
+ [b]Note:[/b] This method is implemented on macOS.
</description>
</method>
<method name="has_feature" qualifiers="const">
@@ -349,13 +670,6 @@
<description>
</description>
</method>
- <method name="mouse_warp_to_position">
- <return type="void" />
- <argument index="0" name="position" type="Vector2i" />
- <description>
- Sets the mouse cursor position to the given [code]position[/code].
- </description>
- </method>
<method name="process_events">
<return type="void" />
<description>
@@ -531,6 +845,13 @@
[b]Note:[/b] This method is implemented on Android, iOS and UWP.
</description>
</method>
+ <method name="warp_mouse">
+ <return type="void" />
+ <argument index="0" name="position" type="Vector2i" />
+ <description>
+ Sets the mouse cursor position to the given [code]position[/code] relative to an origin at the upper left corner of the currently focused game Window Manager window.
+ </description>
+ </method>
<method name="window_attach_instance_id">
<return type="void" />
<argument index="0" name="instance_id" type="int" />
@@ -966,7 +1287,7 @@
Window can't be focused. No-focus window will ignore all input, except mouse clicks.
</constant>
<constant name="WINDOW_FLAG_POPUP" value="5" enum="WindowFlags">
- Window is part of menu or [OptionButton] dropdown. This flag can't be changed when window is visible. An active popup window will exclusivly receive all input, without stealing focus from its parent. Popup windows are automatically closed when uses click outside it, or when an application is switched. Popup window must have [constant WINDOW_FLAG_TRANSPARENT] set.
+ Window is part of menu or [OptionButton] dropdown. This flag can't be changed when window is visible. An active popup window will exclusively receive all input, without stealing focus from its parent. Popup windows are automatically closed when uses click outside it, or when an application is switched. Popup window must have [constant WINDOW_FLAG_TRANSPARENT] set.
</constant>
<constant name="WINDOW_FLAG_MAX" value="6" enum="WindowFlags">
</constant>
diff --git a/doc/classes/EditorExportPlugin.xml b/doc/classes/EditorExportPlugin.xml
index 698d3bfcce..8aa2db2cf8 100644
--- a/doc/classes/EditorExportPlugin.xml
+++ b/doc/classes/EditorExportPlugin.xml
@@ -108,6 +108,7 @@
<return type="void" />
<argument index="0" name="path" type="String" />
<argument index="1" name="tags" type="PackedStringArray" />
+ <argument index="2" name="target" type="String" />
<description>
Adds a shared object or a directory containing only shared objects with the given [code]tags[/code] and destination [code]path[/code].
[b]Note:[/b] In case of macOS exports, those shared objects will be added to [code]Frameworks[/code] directory of app bundle.
diff --git a/doc/classes/EditorFileDialog.xml b/doc/classes/EditorFileDialog.xml
index 0474cbd387..b1fd7b4e76 100644
--- a/doc/classes/EditorFileDialog.xml
+++ b/doc/classes/EditorFileDialog.xml
@@ -40,13 +40,13 @@
<member name="access" type="int" setter="set_access" getter="get_access" enum="EditorFileDialog.Access" default="0">
The location from which the user may select a file, including [code]res://[/code], [code]user://[/code], and the local file system.
</member>
- <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir" default="&quot;res://&quot;">
+ <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir">
The currently occupied directory.
</member>
- <member name="current_file" type="String" setter="set_current_file" getter="get_current_file" default="&quot;&quot;">
+ <member name="current_file" type="String" setter="set_current_file" getter="get_current_file">
The currently selected file.
</member>
- <member name="current_path" type="String" setter="set_current_path" getter="get_current_path" default="&quot;res://&quot;">
+ <member name="current_path" type="String" setter="set_current_path" getter="get_current_path">
The file system path in the address bar.
</member>
<member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" overrides="AcceptDialog" default="false" />
diff --git a/doc/classes/EditorFileSystemImportFormatSupportQuery.xml b/doc/classes/EditorFileSystemImportFormatSupportQuery.xml
new file mode 100644
index 0000000000..8431a3a7ef
--- /dev/null
+++ b/doc/classes/EditorFileSystemImportFormatSupportQuery.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="EditorFileSystemImportFormatSupportQuery" inherits="RefCounted" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ Used to query and configure import format support.
+ </brief_description>
+ <description>
+ This class is used to query and configure a certain import format. It is used in conjuntion with asset format import plugins.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_get_file_extensions" qualifiers="virtual const">
+ <return type="PackedStringArray" />
+ <description>
+ Return the file extensions supported.
+ </description>
+ </method>
+ <method name="_is_active" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ Return whether this importer is active.
+ </description>
+ </method>
+ <method name="_query" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ Query support. Return false if import must not continue.
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/EditorInspector.xml b/doc/classes/EditorInspector.xml
index cd249ed319..365e1f13a9 100644
--- a/doc/classes/EditorInspector.xml
+++ b/doc/classes/EditorInspector.xml
@@ -1,11 +1,15 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorInspector" inherits="ScrollContainer" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A tab used to edit properties of the selected node.
+ A control used to edit properties of an object.
</brief_description>
<description>
- The editor inspector is by default located on the right-hand side of the editor. It's used to edit the properties of the selected node. For example, you can select a node such as the Sprite2D then edit its transform through the inspector tool. The editor inspector is an essential tool in the game development workflow.
- [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_inspector].
+ This is the control that implements property editing in the editor's Settings dialogs, the Inspector dock, etc. To get the [EditorInspector] used in the editor's Inspector dock, use [method EditorInterface.get_inspector].
+ [EditorInspector] will show properties in the same order as the array returned by [method Object.get_property_list].
+ If a property's name is path-like (i.e. if it contains forward slashes), [EditorInspector] will create nested sections for "directories" along the path. For example, if a property is named [code]highlighting/gdscript/node_path_color[/code], it will be shown as "Node Path Color" inside the "GDScript" section nested inside the "Highlighting" section.
+ If a property has [constant @GlobalScope.PROPERTY_USAGE_GROUP] usage, it will group subsequent properties whose name starts with the property's hint string. The group ends when a property does not start with that hint string or when a new group starts. An empty group name effectively ends the current group. [EditorInspector] will create a top-level section for each group. For example, if a property with group usage is named [code]Collide With[/code] and its hint string is [code]collide_with_[/code], a subsequent [code]collide_with_area[/code] property will be shown as "Area" inside the "Collide With" section.
+ If a property has [constant @GlobalScope.PROPERTY_USAGE_SUBGROUP] usage, a subgroup will be created in the same way as a group, and a second-level section will be created for each subgroup.
+ [b]Note:[/b] Unlike sections created from path-like property names, [EditorInspector] won't capitalize the name for sections created from groups. So properties with group usage usually use capitalized names instead of snake_cased names.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/EditorSceneFormatImporter.xml b/doc/classes/EditorSceneFormatImporter.xml
index 63c1498f20..0290d7207d 100644
--- a/doc/classes/EditorSceneFormatImporter.xml
+++ b/doc/classes/EditorSceneFormatImporter.xml
@@ -29,16 +29,8 @@
<method name="_get_option_visibility" qualifiers="virtual const">
<return type="Variant" />
<argument index="0" name="path" type="String" />
- <argument index="1" name="option" type="String" />
- <description>
- </description>
- </method>
- <method name="_import_animation" qualifiers="virtual">
- <return type="Animation" />
- <argument index="0" name="path" type="String" />
- <argument index="1" name="flags" type="int" />
- <argument index="2" name="options" type="Dictionary" />
- <argument index="3" name="bake_fps" type="int" />
+ <argument index="1" name="for_animation" type="bool" />
+ <argument index="2" name="option" type="String" />
<description>
</description>
</method>
@@ -63,5 +55,7 @@
</constant>
<constant name="IMPORT_USE_NAMED_SKIN_BINDS" value="16">
</constant>
+ <constant name="IMPORT_DISCARD_MESHES_AND_MATERIALS" value="32">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/EditorSceneFormatImporterFBX.xml b/doc/classes/EditorSceneFormatImporterFBX.xml
deleted file mode 100644
index 21aebd4507..0000000000
--- a/doc/classes/EditorSceneFormatImporterFBX.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<class name="EditorSceneFormatImporterFBX" inherits="EditorSceneFormatImporter" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
- <brief_description>
- FBX 3D asset importer.
- </brief_description>
- <description>
- This is an FBX 3D asset importer with full support for most FBX features.
- If exporting a FBX scene from Autodesk Maya, use these FBX export settings:
- [codeblock]
- - Smoothing Groups
- - Smooth Mesh
- - Triangluate (for meshes with blend shapes)
- - Bake Animation
- - Resample All
- - Deformed Models
- - Skins
- - Blend Shapes
- - Curve Filters
- - Constant Key Reducer
- - Auto Tangents Only
- - *Do not check* Constraints (as it will break the file)
- - Can check Embed Media (embeds textures into the exported FBX file)
- - Note that when importing embedded media, the texture and mesh will be a single immutable file.
- - You will have to re-export then re-import the FBX if the texture has changed.
- - Units: Centimeters
- - Up Axis: Y
- - Binary format in FBX 2017
- [/codeblock]
- </description>
- <tutorials>
- </tutorials>
-</class>
diff --git a/doc/classes/EditorSceneFormatImporterGLTF.xml b/doc/classes/EditorSceneFormatImporterGLTF.xml
deleted file mode 100644
index 6478e853eb..0000000000
--- a/doc/classes/EditorSceneFormatImporterGLTF.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<class name="EditorSceneFormatImporterGLTF" inherits="EditorSceneFormatImporter" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
- <brief_description>
- </brief_description>
- <description>
- </description>
- <tutorials>
- </tutorials>
-</class>
diff --git a/doc/classes/EditorScenePostImportPlugin.xml b/doc/classes/EditorScenePostImportPlugin.xml
index de9d5e067a..0fdbd5db1e 100644
--- a/doc/classes/EditorScenePostImportPlugin.xml
+++ b/doc/classes/EditorScenePostImportPlugin.xml
@@ -34,7 +34,8 @@
<method name="_get_internal_option_visibility" qualifiers="virtual const">
<return type="Variant" />
<argument index="0" name="category" type="int" />
- <argument index="1" name="option" type="String" />
+ <argument index="1" name="for_animation" type="bool" />
+ <argument index="2" name="option" type="String" />
<description>
Return true or false whether a given option should be visible. Return null to ignore.
</description>
@@ -42,7 +43,8 @@
<method name="_get_option_visibility" qualifiers="virtual const">
<return type="Variant" />
<argument index="0" name="path" type="String" />
- <argument index="1" name="option" type="String" />
+ <argument index="1" name="for_animation" type="bool" />
+ <argument index="2" name="option" type="String" />
<description>
Return true or false whether a given option should be visible. Return null to ignore.
</description>
diff --git a/doc/classes/EditorSpinSlider.xml b/doc/classes/EditorSpinSlider.xml
index a45882b063..96dea1edce 100644
--- a/doc/classes/EditorSpinSlider.xml
+++ b/doc/classes/EditorSpinSlider.xml
@@ -11,7 +11,6 @@
<members>
<member name="flat" type="bool" setter="set_flat" getter="is_flat" default="false">
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" />
<member name="label" type="String" setter="set_label" getter="get_label" default="&quot;&quot;">
</member>
<member name="read_only" type="bool" setter="set_read_only" getter="is_read_only" default="false">
diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml
index af4df321c1..506992e3af 100644
--- a/doc/classes/Engine.xml
+++ b/doc/classes/Engine.xml
@@ -94,6 +94,17 @@
[/codeblock]
</description>
</method>
+ <method name="get_script_language" qualifiers="const">
+ <return type="ScriptLanguage" />
+ <argument index="0" name="index" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="get_script_language_count">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
<method name="get_singleton" qualifiers="const">
<return type="Object" />
<argument index="0" name="name" type="StringName" />
@@ -167,6 +178,12 @@
Returns [code]true[/code] if the game is inside the fixed process and physics phase of the game loop.
</description>
</method>
+ <method name="register_script_language">
+ <return type="void" />
+ <argument index="0" name="language" type="ScriptLanguage" />
+ <description>
+ </description>
+ </method>
<method name="register_singleton">
<return type="void" />
<argument index="0" name="name" type="StringName" />
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index 90d774058b..e5e7efd315 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -207,21 +207,6 @@
</member>
<member name="sky_rotation" type="Vector3" setter="set_sky_rotation" getter="get_sky_rotation" default="Vector3(0, 0, 0)">
</member>
- <member name="ss_reflections_depth_tolerance" type="float" setter="set_ssr_depth_tolerance" getter="get_ssr_depth_tolerance" default="0.2">
- The depth tolerance for screen-space reflections.
- </member>
- <member name="ss_reflections_enabled" type="bool" setter="set_ssr_enabled" getter="is_ssr_enabled" default="false">
- If [code]true[/code], screen-space reflections are enabled. Screen-space reflections are more accurate than reflections from [VoxelGI]s or [ReflectionProbe]s, but are slower and can't reflect surfaces occluded by others.
- </member>
- <member name="ss_reflections_fade_in" type="float" setter="set_ssr_fade_in" getter="get_ssr_fade_in" default="0.15">
- The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection). Only positive values are valid (negative values will be clamped to [code]0.0[/code]).
- </member>
- <member name="ss_reflections_fade_out" type="float" setter="set_ssr_fade_out" getter="get_ssr_fade_out" default="2.0">
- The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the "global" reflection. Only positive values are valid (negative values will be clamped to [code]0.0[/code]).
- </member>
- <member name="ss_reflections_max_steps" type="int" setter="set_ssr_max_steps" getter="get_ssr_max_steps" default="64">
- The maximum number of steps for screen-space reflections. Higher values are slower.
- </member>
<member name="ssao_ao_channel_affect" type="float" setter="set_ssao_ao_channel_affect" getter="get_ssao_ao_channel_affect" default="0.0">
The screen-space ambient occlusion intensity on materials that have an AO texture defined. Values higher than [code]0[/code] will make the SSAO effect visible in areas darkened by AO textures.
</member>
@@ -264,6 +249,21 @@
<member name="ssil_sharpness" type="float" setter="set_ssil_sharpness" getter="get_ssil_sharpness" default="0.98">
The amount that the screen-space indirect lighting effect is allowed to blur over the edges of objects. Setting too high will result in aliasing around the edges of objects. Setting too low will make object edges appear blurry.
</member>
+ <member name="ssr_depth_tolerance" type="float" setter="set_ssr_depth_tolerance" getter="get_ssr_depth_tolerance" default="0.2">
+ The depth tolerance for screen-space reflections.
+ </member>
+ <member name="ssr_enabled" type="bool" setter="set_ssr_enabled" getter="is_ssr_enabled" default="false">
+ If [code]true[/code], screen-space reflections are enabled. Screen-space reflections are more accurate than reflections from [VoxelGI]s or [ReflectionProbe]s, but are slower and can't reflect surfaces occluded by others.
+ </member>
+ <member name="ssr_fade_in" type="float" setter="set_ssr_fade_in" getter="get_ssr_fade_in" default="0.15">
+ The fade-in distance for screen-space reflections. Affects the area from the reflected material to the screen-space reflection). Only positive values are valid (negative values will be clamped to [code]0.0[/code]).
+ </member>
+ <member name="ssr_fade_out" type="float" setter="set_ssr_fade_out" getter="get_ssr_fade_out" default="2.0">
+ The fade-out distance for screen-space reflections. Affects the area from the screen-space reflection to the "global" reflection. Only positive values are valid (negative values will be clamped to [code]0.0[/code]).
+ </member>
+ <member name="ssr_max_steps" type="int" setter="set_ssr_max_steps" getter="get_ssr_max_steps" default="64">
+ The maximum number of steps for screen-space reflections. Higher values are slower.
+ </member>
<member name="tonemap_exposure" type="float" setter="set_tonemap_exposure" getter="get_tonemap_exposure" default="1.0">
The default exposure used for tonemapping.
</member>
diff --git a/doc/classes/File.xml b/doc/classes/File.xml
index 29283e107d..0b4a8fa46e 100644
--- a/doc/classes/File.xml
+++ b/doc/classes/File.xml
@@ -74,7 +74,7 @@
[/codeblocks]
</description>
</method>
- <method name="file_exists" qualifiers="const">
+ <method name="file_exists" qualifiers="static">
<return type="bool" />
<argument index="0" name="path" type="String" />
<description>
diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml
index 05d90390f8..db536a738a 100644
--- a/doc/classes/FileDialog.xml
+++ b/doc/classes/FileDialog.xml
@@ -56,13 +56,13 @@
The file system access scope. See enum [code]Access[/code] constants.
[b]Warning:[/b] Currently, in sandboxed environments such as HTML5 builds or sandboxed macOS apps, FileDialog cannot access the host file system. See [url=https://github.com/godotengine/godot-proposals/issues/1123]godot-proposals#1123[/url].
</member>
- <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir" default="&quot;res://&quot;">
+ <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir">
The current working directory of the file dialog.
</member>
- <member name="current_file" type="String" setter="set_current_file" getter="get_current_file" default="&quot;&quot;">
+ <member name="current_file" type="String" setter="set_current_file" getter="get_current_file">
The currently selected file of the file dialog.
</member>
- <member name="current_path" type="String" setter="set_current_path" getter="get_current_path" default="&quot;res://&quot;">
+ <member name="current_path" type="String" setter="set_current_path" getter="get_current_path">
The currently selected file path of the file dialog.
</member>
<member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" overrides="AcceptDialog" default="false" />
diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml
index 4ba15d7afc..dae42ddf34 100644
--- a/doc/classes/Font.xml
+++ b/doc/classes/Font.xml
@@ -191,6 +191,12 @@
See also [method draw_multiline_string].
</description>
</method>
+ <method name="get_rids" qualifiers="const">
+ <return type="Array" />
+ <description>
+ Returns [Array] of valid [FontData] [RID]s, which can be passed to the [TextServer] methods.
+ </description>
+ </method>
<method name="get_spacing" qualifiers="const">
<return type="int" />
<argument index="0" name="spacing" type="int" enum="TextServer.SpacingType" />
diff --git a/doc/classes/FontData.xml b/doc/classes/FontData.xml
index 9344a1fe80..a423d7a4e4 100644
--- a/doc/classes/FontData.xml
+++ b/doc/classes/FontData.xml
@@ -3,7 +3,7 @@
<brief_description>
Font source data and prerendered glyph cache, imported from dynamic or bitmap font.
Supported font formats:
- - Dynamic font importer: TrueType (.ttf), OpenType (.otf), WOFF (.woff), Type 1 (.pfb, .pfm).
+ - Dynamic font importer: TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm).
- Bitmap font importer: AngelCode BMFont (.fnt, .font), text and binary (version 3) format variants.
- Monospace image font importer: All supported image formats.
</brief_description>
@@ -318,7 +318,7 @@
<return type="int" enum="Error" />
<argument index="0" name="path" type="String" />
<description>
- Loads a TrueType (.ttf), OpenType (.otf), WOFF (.woff) or Type 1 (.pfb, .pfm) dynamic font from file [code]path[/code].
+ Loads a TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2) or Type 1 (.pfb, .pfm) dynamic font from file [code]path[/code].
[b]Warning:[/b] This method should only be used in the editor or in cases when you need to load external fonts at run-time, such as fonts located at the [code]user://[/code] directory.
</description>
</method>
@@ -582,6 +582,9 @@
<member name="force_autohinter" type="bool" setter="set_force_autohinter" getter="is_force_autohinter" default="false">
If set to [code]true[/code], auto-hinting is supported and preferred over font built-in hinting. Used by dynamic fonts only.
</member>
+ <member name="generate_mipmaps" type="bool" setter="set_generate_mipmaps" getter="get_generate_mipmaps" default="false">
+ If set to [code]true[/code], generate mipmaps for the font textures.
+ </member>
<member name="hinting" type="int" setter="set_hinting" getter="get_hinting" enum="TextServer.Hinting" default="1">
Font hinting mode. Used by dynamic fonts only.
</member>
diff --git a/doc/classes/GeometryInstance3D.xml b/doc/classes/GeometryInstance3D.xml
index 77afb98225..c803f43fb0 100644
--- a/doc/classes/GeometryInstance3D.xml
+++ b/doc/classes/GeometryInstance3D.xml
@@ -31,22 +31,22 @@
</method>
</methods>
<members>
- <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance3D.ShadowCastingSetting" default="1">
+ <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance3D.ShadowCastingSetting">
The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values.
</member>
- <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin" default="0.0">
+ <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin">
The extra distance added to the GeometryInstance3D's bounding box ([AABB]) to increase its cull box.
</member>
- <member name="gi_lightmap_scale" type="int" setter="set_lightmap_scale" getter="get_lightmap_scale" enum="GeometryInstance3D.LightmapScale" default="0">
+ <member name="gi_lightmap_scale" type="int" setter="set_lightmap_scale" getter="get_lightmap_scale" enum="GeometryInstance3D.LightmapScale">
The texel density to use for lightmapping in [LightmapGI]. Greater scale values provide higher resolution in the lightmap, which can result in sharper shadows for lights that have both direct and indirect light baked. However, greater scale values will also increase the space taken by the mesh in the lightmap texture, which increases the memory, storage, and bake time requirements. When using a single mesh at different scales, consider adjusting this value to keep the lightmap texel density consistent across meshes.
</member>
- <member name="gi_mode" type="int" setter="set_gi_mode" getter="get_gi_mode" enum="GeometryInstance3D.GIMode" default="0">
+ <member name="gi_mode" type="int" setter="set_gi_mode" getter="get_gi_mode" enum="GeometryInstance3D.GIMode">
The global illumination mode to use for the whole geometry. To avoid inconsistent results, use a mode that matches the purpose of the mesh during gameplay (static/dynamic).
[b]Note:[/b] Lights' bake mode will also affect the global illumination rendering. See [member Light3D.light_bake_mode].
</member>
- <member name="ignore_occlusion_culling" type="bool" setter="set_ignore_occlusion_culling" getter="is_ignoring_occlusion_culling" default="false">
+ <member name="ignore_occlusion_culling" type="bool" setter="set_ignore_occlusion_culling" getter="is_ignoring_occlusion_culling">
</member>
- <member name="lod_bias" type="float" setter="set_lod_bias" getter="get_lod_bias" default="1.0">
+ <member name="lod_bias" type="float" setter="set_lod_bias" getter="get_lod_bias">
</member>
<member name="material_overlay" type="Material" setter="set_material_overlay" getter="get_material_overlay">
The material overlay for the whole geometry.
@@ -56,26 +56,26 @@
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">
+ <member name="transparency" type="float" setter="set_transparency" getter="get_transparency">
The transparency applied to the whole geometry (as a multiplier of the materials' existing transparency). [code]0.0[/code] is fully opaque, while [code]1.0[/code] is fully transparent. Values greater than [code]0.0[/code] (exclusive) will force the geometry's materials to go through the transparent pipeline, which is slower to render and can exhibit rendering issues due to incorrect transparency sorting. However, unlike using a transparent material, setting [member transparency] to a value greater than [code]0.0[/code] (exclusive) will [i]not[/i] disable shadow rendering.
In spatial shaders, [code]1.0 - transparency[/code] is set as the default value of the [code]ALPHA[/code] built-in.
[b]Note:[/b] [member transparency] is clamped between [code]0.0[/code] and [code]1.0[/code], so this property cannot be used to make transparent materials more opaque than they originally are.
</member>
- <member name="visibility_range_begin" type="float" setter="set_visibility_range_begin" getter="get_visibility_range_begin" default="0.0">
+ <member name="visibility_range_begin" type="float" setter="set_visibility_range_begin" getter="get_visibility_range_begin">
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>
- <member name="visibility_range_begin_margin" type="float" setter="set_visibility_range_begin_margin" getter="get_visibility_range_begin_margin" default="0.0">
+ <member name="visibility_range_begin_margin" type="float" setter="set_visibility_range_begin_margin" getter="get_visibility_range_begin_margin">
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.
If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade transition distance and must be set to a value greater than [code]0.0[/code] for the effect to be noticeable.
</member>
- <member name="visibility_range_end" type="float" setter="set_visibility_range_end" getter="get_visibility_range_end" default="0.0">
+ <member name="visibility_range_end" type="float" setter="set_visibility_range_end" getter="get_visibility_range_end">
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">
+ <member name="visibility_range_end_margin" type="float" setter="set_visibility_range_end_margin" getter="get_visibility_range_end_margin">
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.
If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade transition distance and must be set to a value greater than [code]0.0[/code] for the effect to be noticeable.
</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">
+ <member name="visibility_range_fade_mode" type="int" setter="set_visibility_range_fade_mode" getter="get_visibility_range_fade_mode" enum="GeometryInstance3D.VisibilityRangeFadeMode">
Controls which instances will be faded when approaching the limits of the visibility range. See [enum VisibilityRangeFadeMode] for possible values.
</member>
</members>
diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml
index 19f2915087..e699a40ea0 100644
--- a/doc/classes/GraphEdit.xml
+++ b/doc/classes/GraphEdit.xml
@@ -342,7 +342,7 @@
</description>
</signal>
<signal name="scroll_offset_changed">
- <argument index="0" name="ofs" type="Vector2" />
+ <argument index="0" name="offset" type="Vector2" />
<description>
Emitted when the scroll offset is changed by the user. It will not be emitted when changed in code.
</description>
diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml
index 1e9169146e..173da63a15 100644
--- a/doc/classes/GraphNode.xml
+++ b/doc/classes/GraphNode.xml
@@ -331,7 +331,7 @@
<theme_item name="comment" data_type="style" type="StyleBox">
The [StyleBox] used when [member comment] is enabled.
</theme_item>
- <theme_item name="commentfocus" data_type="style" type="StyleBox">
+ <theme_item name="comment_focus" data_type="style" type="StyleBox">
The [StyleBox] used when [member comment] is enabled and the [GraphNode] is focused.
</theme_item>
<theme_item name="frame" data_type="style" type="StyleBox">
@@ -340,7 +340,7 @@
<theme_item name="position" data_type="style" type="StyleBox">
The background used when [member overlay] is set to [constant OVERLAY_POSITION].
</theme_item>
- <theme_item name="selectedframe" data_type="style" type="StyleBox">
+ <theme_item name="selected_frame" data_type="style" type="StyleBox">
The background used when the [GraphNode] is selected.
</theme_item>
</theme_items>
diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml
index 59777ffb79..bb27c35785 100644
--- a/doc/classes/GridContainer.xml
+++ b/doc/classes/GridContainer.xml
@@ -17,10 +17,10 @@
</member>
</members>
<theme_items>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
The horizontal separation of children nodes.
</theme_item>
- <theme_item name="vseparation" data_type="constant" type="int" default="4">
+ <theme_item name="v_separation" data_type="constant" type="int" default="4">
The vertical separation of children nodes.
</theme_item>
</theme_items>
diff --git a/doc/classes/HFlowContainer.xml b/doc/classes/HFlowContainer.xml
index 3cee25e3ab..a8594a1c76 100644
--- a/doc/classes/HFlowContainer.xml
+++ b/doc/classes/HFlowContainer.xml
@@ -9,10 +9,10 @@
<tutorials>
</tutorials>
<theme_items>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
The horizontal separation of children nodes.
</theme_item>
- <theme_item name="vseparation" data_type="constant" type="int" default="4">
+ <theme_item name="v_separation" data_type="constant" type="int" default="4">
The vertical separation of children nodes.
</theme_item>
</theme_items>
diff --git a/doc/classes/HTTPRequest.xml b/doc/classes/HTTPRequest.xml
index 42047a68c8..641d73e333 100644
--- a/doc/classes/HTTPRequest.xml
+++ b/doc/classes/HTTPRequest.xml
@@ -247,7 +247,7 @@
<member name="max_redirects" type="int" setter="set_max_redirects" getter="get_max_redirects" default="8">
Maximum number of allowed redirects.
</member>
- <member name="timeout" type="int" setter="set_timeout" getter="get_timeout" default="0">
+ <member name="timeout" type="float" setter="set_timeout" getter="get_timeout" default="0.0">
</member>
<member name="use_threads" type="bool" setter="set_use_threads" getter="is_using_threads" default="false">
If [code]true[/code], multithreading is used to improve performance.
diff --git a/doc/classes/HeightMapShape3D.xml b/doc/classes/HeightMapShape3D.xml
index b8fe094490..206981e547 100644
--- a/doc/classes/HeightMapShape3D.xml
+++ b/doc/classes/HeightMapShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="HeightMapShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Height map shape for 3D physics.
+ Height map shape resource for 3D physics.
</brief_description>
<description>
- Height map shape resource, which can be added to a [PhysicsBody3D] or [Area3D].
+ Height map shape resource, which can be added to a [PhysicsBody3D] or [Area3D]. Heightmap collision is typically used for colliding with terrains. However, since heightmaps cannot store overhangs, collisions with other structures (such as buildings) must be done with other collision shapes such as [ConcavePolygonShape3D]. If needed, "holes" can be created in an [HeightMapShape3D] by assigning very low points (like [code]-100000[/code]) in the desired area.
+ [b]Performance:[/b] [HeightMapShape3D] is faster to check collisions against compared to [ConcavePolygonShape3D], but it is slower than primitive collision shapes such as [SphereShape3D] or [BoxShape3D].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/IP.xml b/doc/classes/IP.xml
index 7ecac8680a..569f7fe570 100644
--- a/doc/classes/IP.xml
+++ b/doc/classes/IP.xml
@@ -103,7 +103,7 @@
<constant name="RESOLVER_STATUS_ERROR" value="3" enum="ResolverStatus">
DNS hostname resolver status: Error.
</constant>
- <constant name="RESOLVER_MAX_QUERIES" value="32">
+ <constant name="RESOLVER_MAX_QUERIES" value="256">
Maximum number of concurrent DNS resolver queries allowed, [constant RESOLVER_INVALID_ID] is returned if exceeded.
</constant>
<constant name="RESOLVER_INVALID_ID" value="-1">
diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml
index 35868563de..da5b907fab 100644
--- a/doc/classes/Image.xml
+++ b/doc/classes/Image.xml
@@ -26,7 +26,7 @@
<argument index="1" name="src_rect" type="Rect2" />
<argument index="2" name="dst" type="Vector2" />
<description>
- Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image at coordinates [code]dest[/code].
+ Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image at coordinates [code]dest[/code], clipped accordingly to both image bounds. This image and [code]src[/code] image [b]must[/b] have the same format. [code]src_rect[/code] with not positive size is treated as empty.
</description>
</method>
<method name="blend_rect_mask">
@@ -36,7 +36,7 @@
<argument index="2" name="src_rect" type="Rect2" />
<argument index="3" name="dst" type="Vector2" />
<description>
- Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image using [code]mask[/code] image at coordinates [code]dst[/code]. Alpha channels are required for both [code]src[/code] and [code]mask[/code]. [code]dst[/code] pixels and [code]src[/code] pixels will blend if the corresponding mask pixel's alpha value is not 0. [code]src[/code] image and [code]mask[/code] image [b]must[/b] have the same size (width and height) but they can have different formats.
+ Alpha-blends [code]src_rect[/code] from [code]src[/code] image to this image using [code]mask[/code] image at coordinates [code]dst[/code], clipped accordingly to both image bounds. Alpha channels are required for both [code]src[/code] and [code]mask[/code]. [code]dst[/code] pixels and [code]src[/code] pixels will blend if the corresponding mask pixel's alpha value is not 0. This image and [code]src[/code] image [b]must[/b] have the same format. [code]src[/code] image and [code]mask[/code] image [b]must[/b] have the same size (width and height) but they can have different formats. [code]src_rect[/code] with not positive size is treated as empty.
</description>
</method>
<method name="blit_rect">
@@ -45,7 +45,7 @@
<argument index="1" name="src_rect" type="Rect2" />
<argument index="2" name="dst" type="Vector2" />
<description>
- Copies [code]src_rect[/code] from [code]src[/code] image to this image at coordinates [code]dst[/code].
+ Copies [code]src_rect[/code] from [code]src[/code] image to this image at coordinates [code]dst[/code], clipped accordingly to both image bounds. This image and [code]src[/code] image [b]must[/b] have the same format. [code]src_rect[/code] with not positive size is treated as empty.
</description>
</method>
<method name="blit_rect_mask">
@@ -55,7 +55,7 @@
<argument index="2" name="src_rect" type="Rect2" />
<argument index="3" name="dst" type="Vector2" />
<description>
- Blits [code]src_rect[/code] area from [code]src[/code] image to this image at the coordinates given by [code]dst[/code]. [code]src[/code] pixel is copied onto [code]dst[/code] if the corresponding [code]mask[/code] pixel's alpha value is not 0. [code]src[/code] image and [code]mask[/code] image [b]must[/b] have the same size (width and height) but they can have different formats.
+ Blits [code]src_rect[/code] area from [code]src[/code] image to this image at the coordinates given by [code]dst[/code], clipped accordingly to both image bounds. [code]src[/code] pixel is copied onto [code]dst[/code] if the corresponding [code]mask[/code] pixel's alpha value is not 0. This image and [code]src[/code] image [b]must[/b] have the same format. [code]src[/code] image and [code]mask[/code] image [b]must[/b] have the same size (width and height) but they can have different formats. [code]src_rect[/code] with not positive size is treated as empty.
</description>
</method>
<method name="bump_map_to_normal_map">
@@ -153,7 +153,7 @@
Returns [constant ALPHA_BLEND] if the image has data for alpha values. Returns [constant ALPHA_BIT] if all the alpha values are stored in a single bit. Returns [constant ALPHA_NONE] if no data for alpha values is found.
</description>
</method>
- <method name="detect_used_channels">
+ <method name="detect_used_channels" qualifiers="const">
<return type="int" enum="Image.UsedChannels" />
<argument index="0" name="source" type="int" enum="Image.CompressSource" default="0" />
<description>
diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml
index 2cbcfb8d9b..c3552c9f62 100644
--- a/doc/classes/Input.xml
+++ b/doc/classes/Input.xml
@@ -58,7 +58,7 @@
<argument index="1" name="exact_match" type="bool" default="false" />
<description>
Returns a value between 0 and 1 representing the raw intensity of the given action, ignoring the action's deadzone. In most cases, you should use [method get_action_strength] instead.
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
</description>
</method>
<method name="get_action_strength" qualifiers="const">
@@ -67,7 +67,7 @@
<argument index="1" name="exact_match" type="bool" default="false" />
<description>
Returns a value between 0 and 1 representing the intensity of the given action. In a joypad, for example, the further away the axis (analog sticks or L2, R2 triggers) is from the dead zone, the closer the value will be to 1. If the action is mapped to a control that has no axis as the keyboard, the value returned will be 0 or 1.
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
</description>
</method>
<method name="get_axis" qualifiers="const">
@@ -186,7 +186,7 @@
<description>
Returns [code]true[/code] when the user starts pressing the action event, meaning it's [code]true[/code] only on the frame that the user pressed down the button.
This is useful for code that needs to run only once when an action is pressed, instead of every frame while it's pressed.
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
[b]Note:[/b] Due to keyboard ghosting, [method is_action_just_pressed] may return [code]false[/code] even if one of the action's keys is pressed. See [url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input examples[/url] in the documentation for more information.
</description>
</method>
@@ -196,7 +196,7 @@
<argument index="1" name="exact_match" type="bool" default="false" />
<description>
Returns [code]true[/code] when the user stops pressing the action event, meaning it's [code]true[/code] only on the frame that the user released the button.
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
</description>
</method>
<method name="is_action_pressed" qualifiers="const">
@@ -205,7 +205,7 @@
<argument index="1" name="exact_match" type="bool" default="false" />
<description>
Returns [code]true[/code] if you are pressing the action event. Note that if an action has multiple buttons assigned and more than one of them is pressed, releasing one button will release the action, even if some other button assigned to this action is still pressed.
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
[b]Note:[/b] Due to keyboard ghosting, [method is_action_pressed] may return [code]false[/code] even if one of the action's keys is pressed. See [url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input examples[/url] in the documentation for more information.
</description>
</method>
@@ -379,11 +379,11 @@
[b]Note:[/b] It needs [code]VIBRATE[/code] permission for Android at export settings. iOS does not support duration.
</description>
</method>
- <method name="warp_mouse_position">
+ <method name="warp_mouse">
<return type="void" />
- <argument index="0" name="to" type="Vector2" />
+ <argument index="0" name="position" type="Vector2" />
<description>
- Sets the mouse position to the specified vector, provided in pixels and relative to an origin at the upper left corner of the game window.
+ Sets the mouse position to the specified vector, provided in pixels and relative to an origin at the upper left corner of the currently focused Window Manager game window.
Mouse position is clipped to the limits of the screen resolution, or to the limits of the game window if [enum MouseMode] is set to [code]MOUSE_MODE_CONFINED[/code] or [code]MOUSE_MODE_CONFINED_HIDDEN[/code].
</description>
</method>
diff --git a/doc/classes/InputEvent.xml b/doc/classes/InputEvent.xml
index cbed163f18..230ad04b33 100644
--- a/doc/classes/InputEvent.xml
+++ b/doc/classes/InputEvent.xml
@@ -33,7 +33,7 @@
<argument index="1" name="exact_match" type="bool" default="false" />
<description>
Returns a value between 0.0 and 1.0 depending on the given actions' state. Useful for getting the value of events of type [InputEventJoypadMotion].
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
</description>
</method>
<method name="is_action" qualifiers="const">
@@ -42,7 +42,7 @@
<argument index="1" name="exact_match" type="bool" default="false" />
<description>
Returns [code]true[/code] if this input event matches a pre-defined action of any type.
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
</description>
</method>
<method name="is_action_pressed" qualifiers="const">
@@ -52,7 +52,7 @@
<argument index="2" name="exact_match" type="bool" default="false" />
<description>
Returns [code]true[/code] if the given action is being pressed (and is not an echo event for [InputEventKey] events, unless [code]allow_echo[/code] is [code]true[/code]). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag].
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
[b]Note:[/b] Due to keyboard ghosting, [method is_action_pressed] may return [code]false[/code] even if one of the action's keys is pressed. See [url=$DOCS_URL/tutorials/inputs/input_examples.html#keyboard-events]Input examples[/url] in the documentation for more information.
</description>
</method>
@@ -62,7 +62,7 @@
<argument index="1" name="exact_match" type="bool" default="false" />
<description>
Returns [code]true[/code] if the given action is released (i.e. not pressed). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag].
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
</description>
</method>
<method name="is_action_type" qualifiers="const">
@@ -83,7 +83,7 @@
<argument index="1" name="exact_match" type="bool" default="true" />
<description>
Returns [code]true[/code] if the specified [code]event[/code] matches this event. Only valid for action events i.e key ([InputEventKey]), button ([InputEventMouseButton] or [InputEventJoypadButton]), axis [InputEventJoypadMotion] or action ([InputEventAction]) events.
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
</description>
</method>
<method name="is_pressed" qualifiers="const">
diff --git a/doc/classes/InputEventJoypadButton.xml b/doc/classes/InputEventJoypadButton.xml
index 5066fb29d3..edbc5b1e0b 100644
--- a/doc/classes/InputEventJoypadButton.xml
+++ b/doc/classes/InputEventJoypadButton.xml
@@ -17,7 +17,7 @@
If [code]true[/code], the button's state is pressed. If [code]false[/code], the button's state is released.
</member>
<member name="pressure" type="float" setter="set_pressure" getter="get_pressure" default="0.0">
- Represents the pressure the user puts on the button with his finger, if the controller supports it. Ranges from [code]0[/code] to [code]1[/code].
+ Represents the pressure the user puts on the button with their finger, if the controller supports it. Ranges from [code]0[/code] to [code]1[/code].
</member>
</members>
</class>
diff --git a/doc/classes/InputMap.xml b/doc/classes/InputMap.xml
index ac5921404c..61d54e85f8 100644
--- a/doc/classes/InputMap.xml
+++ b/doc/classes/InputMap.xml
@@ -86,7 +86,7 @@
<argument index="2" name="exact_match" type="bool" default="false" />
<description>
Returns [code]true[/code] if the given event is part of an existing action. This method ignores keyboard modifiers if the given [InputEvent] is not pressed (for proper release detection). See [method action_has_event] if you don't want this behavior.
- If [code]exact_match[/code] is [code]false[/code], it ignores the input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
+ If [code]exact_match[/code] is [code]false[/code], it ignores additional input modifiers for [InputEventKey] and [InputEventMouseButton] events, and the direction for [InputEventJoypadMotion] events.
</description>
</method>
<method name="get_actions">
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index 48fa009300..edfd8daec1 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -7,6 +7,7 @@
This control provides a selectable list of items that may be in a single (or multiple columns) with option of text, icons, or both text and icon. Tooltips are supported and may be different for every item in the list.
Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing [kbd]Enter[/kbd].
Item text only supports single-line strings, newline characters (e.g. [code]\n[/code]) in the string won't produce a newline. Text wrapping is enabled in [constant ICON_MODE_TOP] mode, but column's width is adjusted to fully fit its content by default. You need to set [member fixed_column_width] greater than zero to wrap the text.
+ All [code]set_*[/code] methods allow negative item index, which makes the item accessed from the last one.
</description>
<tutorials>
</tutorials>
@@ -475,7 +476,7 @@
<theme_item name="guide_color" data_type="color" type="Color" default="Color(0, 0, 0, 0.1)">
[Color] of the guideline. The guideline is a line drawn between each row of items.
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
The horizontal spacing between items.
</theme_item>
<theme_item name="icon_margin" data_type="constant" type="int" default="4">
@@ -487,7 +488,7 @@
<theme_item name="outline_size" data_type="constant" type="int" default="0">
The size of the item text outline.
</theme_item>
- <theme_item name="vseparation" data_type="constant" type="int" default="2">
+ <theme_item name="v_separation" data_type="constant" type="int" default="2">
The vertical spacing between items.
</theme_item>
<theme_item name="font" data_type="font" type="Font">
diff --git a/doc/classes/Label.xml b/doc/classes/Label.xml
index b1046dea6b..d5744bbc42 100644
--- a/doc/classes/Label.xml
+++ b/doc/classes/Label.xml
@@ -85,7 +85,7 @@
[b]Note:[/b] Setting this property updates [member visible_characters] based on current [method get_total_character_count].
</member>
<member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="4" />
- <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0">
+ <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0">
Set BiDi algorithm override for the structured text.
</member>
<member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]">
diff --git a/doc/classes/Label3D.xml b/doc/classes/Label3D.xml
new file mode 100644
index 0000000000..c95b691bf3
--- /dev/null
+++ b/doc/classes/Label3D.xml
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="Label3D" inherits="GeometryInstance3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ Displays plain text in a 3D world.
+ </brief_description>
+ <description>
+ Label3D displays plain text in a 3D world. It gives you control over the horizontal and vertical alignment.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="clear_opentype_features">
+ <return type="void" />
+ <description>
+ Removes all OpenType features.
+ </description>
+ </method>
+ <method name="generate_triangle_mesh" qualifiers="const">
+ <return type="TriangleMesh" />
+ <description>
+ Returns a [TriangleMesh] with the label's vertices following its current configuration (such as its [member pixel_size]).
+ </description>
+ </method>
+ <method name="get_draw_flag" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="flag" type="int" enum="Label3D.DrawFlags" />
+ <description>
+ Returns the value of the specified flag.
+ </description>
+ </method>
+ <method name="get_opentype_feature" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="tag" type="String" />
+ <description>
+ Returns OpenType feature [code]tag[/code].
+ </description>
+ </method>
+ <method name="set_draw_flag">
+ <return type="void" />
+ <argument index="0" name="flag" type="int" enum="Label3D.DrawFlags" />
+ <argument index="1" name="enabled" type="bool" />
+ <description>
+ If [code]true[/code], the specified flag will be enabled. See [enum Label3D.DrawFlags] for a list of flags.
+ </description>
+ </method>
+ <method name="set_opentype_feature">
+ <return type="void" />
+ <argument index="0" name="tag" type="String" />
+ <argument index="1" name="value" type="int" />
+ <description>
+ Returns OpenType feature [code]tag[/code]. More info: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags]OpenType feature tags[/url].
+ </description>
+ </method>
+ </methods>
+ <members>
+ <member name="alpha_cut" type="int" setter="set_alpha_cut_mode" getter="get_alpha_cut_mode" enum="Label3D.AlphaCutMode" default="0">
+ The alpha cutting mode to use for the sprite. See [enum AlphaCutMode] for possible values.
+ </member>
+ <member name="alpha_scissor_threshold" type="float" setter="set_alpha_scissor_threshold" getter="get_alpha_scissor_threshold" default="0.5">
+ Threshold at which the alpha scissor will discard values.
+ </member>
+ <member name="autowrap_mode" type="int" setter="set_autowrap_mode" getter="get_autowrap_mode" enum="Label3D.AutowrapMode" default="0">
+ If set to something other than [constant AUTOWRAP_OFF], the text gets wrapped inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text. To see how each mode behaves, see [enum AutowrapMode].
+ </member>
+ <member name="billboard" type="int" setter="set_billboard_mode" getter="get_billboard_mode" enum="BaseMaterial3D.BillboardMode" default="0">
+ The billboard mode to use for the label. See [enum BaseMaterial3D.BillboardMode] for possible values.
+ </member>
+ <member name="double_sided" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
+ If [code]true[/code], text can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind.
+ </member>
+ <member name="fixed_size" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
+ If [code]true[/code], the label is rendered at the same size regardless of distance.
+ </member>
+ <member name="font" type="Font" setter="set_font" getter="get_font">
+ [Font] used for the [Label3D]'s text.
+ </member>
+ <member name="font_size" type="int" setter="set_font_size" getter="get_font_size" default="16">
+ Font size of the [Label3D]'s text.
+ </member>
+ <member name="horizontal_alignment" type="int" setter="set_horizontal_alignment" getter="get_horizontal_alignment" enum="HorizontalAlignment" default="1">
+ Controls the text's horizontal alignment. Supports left, center, right. Set it to one of the [enum HorizontalAlignment] constants.
+ </member>
+ <member name="language" type="String" setter="set_language" getter="get_language" default="&quot;&quot;">
+ Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
+ </member>
+ <member name="line_spacing" type="float" setter="set_line_spacing" getter="get_line_spacing" default="0.0">
+ Vertical space between lines in multiline [Label3D].
+ </member>
+ <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate" default="Color(1, 1, 1, 1)">
+ Text [Color] of the [Label3D].
+ </member>
+ <member name="no_depth_test" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
+ If [code]true[/code], depth testing is disabled and the object will be drawn in render order.
+ </member>
+ <member name="outline_modulate" type="Color" setter="set_outline_modulate" getter="get_outline_modulate" default="Color(0, 0, 0, 1)">
+ The tint of [Font]'s outline.
+ </member>
+ <member name="outline_size" type="int" setter="set_outline_size" getter="get_outline_size" default="0">
+ Text outline size.
+ </member>
+ <member name="pixel_size" type="float" setter="set_pixel_size" getter="get_pixel_size" default="0.01">
+ The size of one pixel's width on the label to scale it in 3D.
+ </member>
+ <member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
+ If [code]true[/code], the [Light3D] in the [Environment] has effects on the label.
+ </member>
+ <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0">
+ Set BiDi algorithm override for the structured text.
+ </member>
+ <member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]">
+ Set additional options for BiDi override.
+ </member>
+ <member name="text" type="String" setter="set_text" getter="get_text" default="&quot;&quot;">
+ The text to display on screen.
+ </member>
+ <member name="text_direction" type="int" setter="set_text_direction" getter="get_text_direction" enum="TextServer.Direction" default="0">
+ Base text writing direction.
+ </member>
+ <member name="texture_filter" type="int" setter="set_texture_filter" getter="get_texture_filter" enum="BaseMaterial3D.TextureFilter" default="3">
+ Filter flags for the texture. See [enum BaseMaterial3D.TextureFilter] for options.
+ </member>
+ <member name="uppercase" type="bool" setter="set_uppercase" getter="is_uppercase" default="false">
+ If [code]true[/code], all the text displays as UPPERCASE.
+ </member>
+ <member name="vertical_alignment" type="int" setter="set_vertical_alignment" getter="get_vertical_alignment" enum="VerticalAlignment" default="1">
+ Controls the text's vertical alignment. Supports top, center, bottom. Set it to one of the [enum VerticalAlignment] constants.
+ </member>
+ <member name="width" type="float" setter="set_width" getter="get_width" default="500.0">
+ Text width (in pixels), used for autowrap and fill alignment.
+ </member>
+ </members>
+ <constants>
+ <constant name="AUTOWRAP_OFF" value="0" enum="AutowrapMode">
+ Autowrap is disabled.
+ </constant>
+ <constant name="AUTOWRAP_ARBITRARY" value="1" enum="AutowrapMode">
+ Wraps the text inside the node's bounding rectangle by allowing to break lines at arbitrary positions, which is useful when very limited space is available.
+ </constant>
+ <constant name="AUTOWRAP_WORD" value="2" enum="AutowrapMode">
+ Wraps the text inside the node's bounding rectangle by soft-breaking between words.
+ </constant>
+ <constant name="AUTOWRAP_WORD_SMART" value="3" enum="AutowrapMode">
+ Behaves similarly to [constant AUTOWRAP_WORD], but force-breaks a word if that single word does not fit in one line.
+ </constant>
+ <constant name="FLAG_SHADED" value="0" enum="DrawFlags">
+ If set, lights in the environment affect the label.
+ </constant>
+ <constant name="FLAG_DOUBLE_SIDED" value="1" enum="DrawFlags">
+ If set, text can be seen from the back as well. If not, the texture is invisible when looking at it from behind.
+ </constant>
+ <constant name="FLAG_DISABLE_DEPTH_TEST" value="2" enum="DrawFlags">
+ Disables the depth test, so this object is drawn on top of all others. However, objects drawn after it in the draw order may cover it.
+ </constant>
+ <constant name="FLAG_FIXED_SIZE" value="3" enum="DrawFlags">
+ Label is scaled by depth so that it always appears the same size on screen.
+ </constant>
+ <constant name="FLAG_MAX" value="4" enum="DrawFlags">
+ Represents the size of the [enum DrawFlags] enum.
+ </constant>
+ <constant name="ALPHA_CUT_DISABLED" value="0" enum="AlphaCutMode">
+ This mode performs standard alpha blending. It can display translucent areas, but transparency sorting issues may be visible when multiple transparent materials are overlapping.
+ </constant>
+ <constant name="ALPHA_CUT_DISCARD" value="1" enum="AlphaCutMode">
+ This mode only allows fully transparent or fully opaque pixels. Harsh edges will be visible unless some form of screen-space antialiasing is enabled (see [member ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa]). This mode is also known as [i]alpha testing[/i] or [i]1-bit transparency[/i].
+ [b]Note:[/b] This mode might have issues with anti-aliased fonts and outlines, try adjusting [member alpha_scissor_threshold] or using MSDF font.
+ [b]Note:[/b] When using text with overlapping glyphs (e.g., cursive scripts), this mode might have transparency sorting issues between the main text and the outline.
+ </constant>
+ <constant name="ALPHA_CUT_OPAQUE_PREPASS" value="2" enum="AlphaCutMode">
+ This mode draws fully opaque pixels in the depth prepass. This is slower than [constant ALPHA_CUT_DISABLED] or [constant ALPHA_CUT_DISCARD], but it allows displaying translucent areas and smooth edges while using proper sorting.
+ [b]Note:[/b] When using text with overlapping glyphs (e.g., cursive scripts), this mode might have transparency sorting issues between the main text and the outline.
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index 136147b4b0..55e012ee0c 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -251,7 +251,7 @@
<member name="shortcut_keys_enabled" type="bool" setter="set_shortcut_keys_enabled" getter="is_shortcut_keys_enabled" default="true">
If [code]false[/code], using shortcuts will be disabled.
</member>
- <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0">
+ <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0">
Set BiDi algorithm override for the structured text.
</member>
<member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]">
diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml
index ad5a5a5518..ba80504caf 100644
--- a/doc/classes/LinkButton.xml
+++ b/doc/classes/LinkButton.xml
@@ -33,12 +33,10 @@
</method>
</methods>
<members>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="0" />
<member name="language" type="String" setter="set_language" getter="get_language" default="&quot;&quot;">
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
</member>
- <member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" overrides="Control" enum="Control.CursorShape" default="2" />
- <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0">
+ <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0">
Set BiDi algorithm override for the structured text.
</member>
<member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]">
diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml
index c32f7318c0..bec567b3ef 100644
--- a/doc/classes/MenuButton.xml
+++ b/doc/classes/MenuButton.xml
@@ -64,7 +64,7 @@
<theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
Text [Color] used when the [MenuButton] is being pressed.
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="3">
+ <theme_item name="h_separation" data_type="constant" type="int" default="3">
The horizontal space between [MenuButton]'s icon and text.
</theme_item>
<theme_item name="outline_size" data_type="constant" type="int" default="0">
diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml
index e4116cddfe..2b24901fe2 100644
--- a/doc/classes/Mesh.xml
+++ b/doc/classes/Mesh.xml
@@ -176,7 +176,7 @@
</method>
</methods>
<members>
- <member name="lightmap_size_hint" type="Vector2i" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint" default="Vector2i(0, 0)">
+ <member name="lightmap_size_hint" type="Vector2i" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint">
Sets a hint to be used for lightmap resolution.
</member>
</members>
diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml
index ac17886183..059d147979 100644
--- a/doc/classes/MultiplayerAPI.xml
+++ b/doc/classes/MultiplayerAPI.xml
@@ -6,7 +6,7 @@
<description>
This class implements the high-level multiplayer API. See also [MultiplayerPeer].
By default, [SceneTree] has a reference to this class that is used to provide multiplayer capabilities (i.e. RPCs) across the whole scene.
- It is possible to override the MultiplayerAPI instance used by specific Nodes by setting the [member Node.custom_multiplayer] property, effectively allowing to run both client and server in the same scene.
+ It is possible to override the MultiplayerAPI instance used by specific tree branches by calling the [method SceneTree.set_multiplayer] method, effectively allowing to run both client and server in the same scene.
[b]Note:[/b] The high-level multiplayer API protocol is an implementation detail and isn't meant to be used by non-Godot servers. It may change without notice.
[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.
</description>
@@ -53,7 +53,7 @@
<method name="poll">
<return type="void" />
<description>
- Method used for polling the MultiplayerAPI. You only need to worry about this if you are using [member Node.custom_multiplayer] override or you set [member SceneTree.multiplayer_poll] to [code]false[/code]. By default, [SceneTree] will poll its MultiplayerAPI for you.
+ Method used for polling the MultiplayerAPI. You only need to worry about this if you set [member SceneTree.multiplayer_poll] to [code]false[/code]. By default, [SceneTree] will poll its MultiplayerAPI(s) for you.
[b]Note:[/b] This method results in RPCs being called, so they will be executed in the same context of this function (e.g. [code]_process[/code], [code]physics[/code], [Thread]).
</description>
</method>
diff --git a/doc/classes/MultiplayerPeerExtension.xml b/doc/classes/MultiplayerPeerExtension.xml
index c5fe04cb32..bd11c76039 100644
--- a/doc/classes/MultiplayerPeerExtension.xml
+++ b/doc/classes/MultiplayerPeerExtension.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MultiplayerPeerExtension" inherits="MultiplayerPeer" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
+ Class that can be inherited to implement custom multiplayer API networking layers via GDExtension.
</brief_description>
<description>
+ This class is designed to be inherited from a GDExtension plugin to implement custom networking layers for the multiplayer API (such as WebRTC). All the methods below [b]must[/b] be implemented to have a working custom multiplayer implementation. See also [MultiplayerAPI].
</description>
<tutorials>
</tutorials>
@@ -10,16 +12,19 @@
<method name="_get_available_packet_count" qualifiers="virtual const">
<return type="int" />
<description>
+ Called when the available packet count is internally requested by the [MultiplayerAPI].
</description>
</method>
<method name="_get_connection_status" qualifiers="virtual const">
<return type="int" />
<description>
+ Called when the connection status is requested on the [MultiplayerPeer] (see [method MultiplayerPeer.get_connection_status]).
</description>
</method>
<method name="_get_max_packet_size" qualifiers="virtual const">
<return type="int" />
<description>
+ Called when the maximum allowed packet size (in bytes) is requested by the [MultiplayerAPI].
</description>
</method>
<method name="_get_packet" qualifiers="virtual">
@@ -27,41 +32,49 @@
<argument index="0" name="r_buffer" type="const uint8_t **" />
<argument index="1" name="r_buffer_size" type="int32_t*" />
<description>
+ Called when a packet needs to be received by the [MultiplayerAPI], with [code]p_buffer_size[/code] being the size of the binary [code]p_buffer[/code] in bytes.
</description>
</method>
<method name="_get_packet_peer" qualifiers="virtual const">
<return type="int" />
<description>
+ Called when the ID of the [MultiplayerPeer] who sent the most recent packet is requested (see [method MultiplayerPeer.get_packet_peer]).
</description>
</method>
<method name="_get_transfer_channel" qualifiers="virtual const">
<return type="int" />
<description>
+ Called when the transfer channel to use is read on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_channel]).
</description>
</method>
<method name="_get_transfer_mode" qualifiers="virtual const">
<return type="int" />
<description>
+ Called when the transfer mode to use is read on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_mode]).
</description>
</method>
<method name="_get_unique_id" qualifiers="virtual const">
<return type="int" />
<description>
+ Called when the unique ID of this [MultiplayerPeer] is requested (see [method MultiplayerPeer.get_unique_id]).
</description>
</method>
<method name="_is_refusing_new_connections" qualifiers="virtual const">
<return type="bool" />
<description>
+ Called when the "refuse new connections" status is requested on this [MultiplayerPeer] (see [member MultiplayerPeer.refuse_new_connections]).
</description>
</method>
<method name="_is_server" qualifiers="virtual const">
<return type="bool" />
<description>
+ Called when the "is server" status is requested on the [MultiplayerAPI]. See [method MultiplayerAPI.is_server].
</description>
</method>
<method name="_poll" qualifiers="virtual">
<return type="int" />
<description>
+ Called when the [MultiplayerAPI] is polled. See [method MultiplayerAPI.poll].
</description>
</method>
<method name="_put_packet" qualifiers="virtual">
@@ -69,30 +82,35 @@
<argument index="0" name="p_buffer" type="const uint8_t*" />
<argument index="1" name="p_buffer_size" type="int" />
<description>
+ Called when a packet needs to be sent by the [MultiplayerAPI], with [code]p_buffer_size[/code] being the size of the binary [code]p_buffer[/code] in bytes.
</description>
</method>
<method name="_set_refuse_new_connections" qualifiers="virtual">
<return type="void" />
<argument index="0" name="p_enable" type="bool" />
<description>
+ Called when the "refuse new connections" status is set on this [MultiplayerPeer] (see [member MultiplayerPeer.refuse_new_connections]).
</description>
</method>
<method name="_set_target_peer" qualifiers="virtual">
<return type="void" />
<argument index="0" name="p_peer" type="int" />
<description>
+ Called when the target peer to use is set for this [MultiplayerPeer] (see [method MultiplayerPeer.set_target_peer]).
</description>
</method>
<method name="_set_transfer_channel" qualifiers="virtual">
<return type="void" />
<argument index="0" name="p_channel" type="int" />
<description>
+ Called when the channel to use is set for this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_channel]).
</description>
</method>
<method name="_set_transfer_mode" qualifiers="virtual">
<return type="void" />
<argument index="0" name="p_mode" type="int" />
<description>
+ Called when the transfer mode is set on this [MultiplayerPeer] (see [member MultiplayerPeer.transfer_mode]).
</description>
</method>
</methods>
diff --git a/doc/classes/NavigationAgent2D.xml b/doc/classes/NavigationAgent2D.xml
index b7b23a1097..baab91569a 100644
--- a/doc/classes/NavigationAgent2D.xml
+++ b/doc/classes/NavigationAgent2D.xml
@@ -90,6 +90,9 @@
<member name="max_speed" type="float" setter="set_max_speed" getter="get_max_speed" default="200.0">
The maximum speed that an agent can move.
</member>
+ <member name="navigable_layers" type="int" setter="set_navigable_layers" getter="get_navigable_layers" default="1">
+ A bitfield determining what layers of navigation regions this agent will use to calculate path. Changing it runtime will clear current navigation path and generate new one, according to new layers.
+ </member>
<member name="neighbor_dist" type="float" setter="set_neighbor_dist" getter="get_neighbor_dist" default="500.0">
The distance to search for other agents.
</member>
diff --git a/doc/classes/NavigationAgent3D.xml b/doc/classes/NavigationAgent3D.xml
index 18886ac33e..04b148c70d 100644
--- a/doc/classes/NavigationAgent3D.xml
+++ b/doc/classes/NavigationAgent3D.xml
@@ -96,6 +96,9 @@
<member name="max_speed" type="float" setter="set_max_speed" getter="get_max_speed" default="10.0">
The maximum speed that an agent can move.
</member>
+ <member name="navigable_layers" type="int" setter="set_navigable_layers" getter="get_navigable_layers" default="1">
+ A bitfield determining what layers of navigation regions this agent will use to calculate path. Changing it runtime will clear current navigation path and generate new one, according to new layers.
+ </member>
<member name="neighbor_dist" type="float" setter="set_neighbor_dist" getter="get_neighbor_dist" default="50.0">
The distance to search for other agents.
</member>
diff --git a/doc/classes/NavigationServer2D.xml b/doc/classes/NavigationServer2D.xml
index a59666356c..e007dfd9b5 100644
--- a/doc/classes/NavigationServer2D.xml
+++ b/doc/classes/NavigationServer2D.xml
@@ -110,11 +110,11 @@
Sets the current velocity of the agent.
</description>
</method>
- <method name="free" qualifiers="const">
+ <method name="free_rid" qualifiers="const">
<return type="void" />
- <argument index="0" name="object" type="RID" />
+ <argument index="0" name="rid" type="RID" />
<description>
- Destroy the RID
+ Destroys the given RID.
</description>
</method>
<method name="map_create" qualifiers="const">
diff --git a/doc/classes/NavigationServer3D.xml b/doc/classes/NavigationServer3D.xml
index 7d11a30647..c987bc9042 100644
--- a/doc/classes/NavigationServer3D.xml
+++ b/doc/classes/NavigationServer3D.xml
@@ -110,11 +110,11 @@
Sets the current velocity of the agent.
</description>
</method>
- <method name="free" qualifiers="const">
+ <method name="free_rid" qualifiers="const">
<return type="void" />
- <argument index="0" name="object" type="RID" />
+ <argument index="0" name="rid" type="RID" />
<description>
- Destroy the RID
+ Destroys the given RID.
</description>
</method>
<method name="map_create" qualifiers="const">
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 5291ecab08..c9795856d5 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -84,6 +84,17 @@
[b]Note:[/b] [method _ready] may be called only once for each node. After removing a node from the scene tree and adding it again, [code]_ready[/code] will not be called a second time. This can be bypassed by requesting another call with [method request_ready], which may be called anywhere before adding the node again.
</description>
</method>
+ <method name="_shortcut_input" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="event" type="InputEvent" />
+ <description>
+ Called when an [InputEventKey] or [InputEventShortcut] hasn't been consumed by [method _input] or any GUI [Control] item. The input event propagates up through the node tree until a node consumes it.
+ It is only called if shortcut processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_shortcut_input].
+ To consume the input event and stop it propagating further to other nodes, [method Viewport.set_input_as_handled] can be called.
+ This method can be used to handle shortcuts.
+ [b]Note:[/b] This method is only called if the node is present in the scene tree (i.e. if it's not orphan).
+ </description>
+ </method>
<method name="_unhandled_input" qualifiers="virtual">
<return type="void" />
<argument index="0" name="event" type="InputEvent" />
@@ -102,6 +113,7 @@
Called when an [InputEventKey] or [InputEventShortcut] hasn't been consumed by [method _input] or any GUI [Control] item. The input event propagates up through the node tree until a node consumes it.
It is only called if unhandled key input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_unhandled_key_input].
To consume the input event and stop it propagating further to other nodes, [method Viewport.set_input_as_handled] can be called.
+ This method can be used to handle Unicode character input with [kbd]Alt[/kbd], [kbd]Alt + Ctrl[/kbd], and [kbd]Alt + Shift[/kbd] modifiers, after shortcuts were handled.
For gameplay input, this and [method _unhandled_input] are usually a better fit than [method _input] as they allow the GUI to intercept the events first.
[b]Note:[/b] This method is only called if the node is present in the scene tree (i.e. if it's not an orphan).
</description>
@@ -133,7 +145,7 @@
[/csharp]
[/codeblocks]
If you need the child node to be added below a specific node in the list of children, use [method add_sibling] instead of this method.
- [b]Note:[/b] If you want a child to be persisted to a [PackedScene], you must set [member owner] in addition to calling [method add_child]. This is typically relevant for [url=https://godot.readthedocs.io/en/latest/tutorials/misc/running_code_in_the_editor.html]tool scripts[/url] and [url=https://godot.readthedocs.io/en/latest/tutorials/plugins/editor/index.html]editor plugins[/url]. If [method add_child] is called without setting [member owner], the newly added [Node] will not be visible in the scene tree, though it will be visible in the 2D/3D view.
+ [b]Note:[/b] If you want a child to be persisted to a [PackedScene], you must set [member owner] in addition to calling [method add_child]. This is typically relevant for [url=$DOCS_URL/tutorials/misc/running_code_in_the_editor.html]tool scripts[/url] and [url=$DOCS_URL/tutorials/plugins/editor/index.html]editor plugins[/url]. If [method add_child] is called without setting [member owner], the newly added [Node] will not be visible in the scene tree, though it will be visible in the 2D/3D view.
</description>
</method>
<method name="add_sibling">
@@ -181,28 +193,45 @@
[b]Note:[/b] It will not work properly if the node contains a script with constructor arguments (i.e. needs to supply arguments to [method Object._init] method). In that case, the node will be duplicated without a script.
</description>
</method>
- <method name="find_nodes" qualifiers="const">
+ <method name="find_child" qualifiers="const">
+ <return type="Node" />
+ <argument index="0" name="pattern" type="String" />
+ <argument index="1" name="recursive" type="bool" default="true" />
+ <argument index="2" name="owned" type="bool" default="true" />
+ <description>
+ Finds the first descendant of this node whose name matches [code]pattern[/code] as in [method String.match].
+ [code]pattern[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]).
+ If [code]recursive[/code] is [code]true[/code], all child nodes are included, even if deeply nested. Nodes are checked in tree order, so this node's first direct child is checked first, then its own direct children, etc., before moving to the second direct child, and so on. If [code]recursive[/code] is [code]false[/code], only this node's direct children are matched.
+ If [code]owned[/code] is [code]true[/code], this method only finds nodes who have an assigned [member Node.owner]. This is especially important for scenes instantiated through a script, because those scenes don't have an owner.
+ Returns [code]null[/code] if no matching [Node] is found.
+ [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get a reference to another node. Whenever possible, consider using [method get_node] with unique names instead (see [member unique_name_in_owner]), or caching the node references into variable.
+ [b]Note:[/b] To find all descendant nodes matching a pattern or a class type, see [method find_children].
+ </description>
+ </method>
+ <method name="find_children" qualifiers="const">
<return type="Node[]" />
- <argument index="0" name="mask" type="String" />
+ <argument index="0" name="pattern" type="String" />
<argument index="1" name="type" type="String" default="&quot;&quot;" />
<argument index="2" name="recursive" type="bool" default="true" />
<argument index="3" name="owned" type="bool" default="true" />
<description>
- Finds descendants of this node whose, name matches [code]mask[/code] as in [method String.match], and/or type matches [code]type[/code] as in [method Object.is_class].
- [code]mask[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]).
- [code]type[/code] will check equality or inheritance. It is case-sensitive, [code]"Object"[/code] will match a node whose type is [code]"Node"[/code] but not the other way around.
- If [code]owned[/code] is [code]true[/code], this method only finds nodes whose owner is this node. This is especially important for scenes instantiated through a script, because those scenes don't have an owner.
- Returns an empty array, if no matching nodes are found.
- [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get references to other nodes. To avoid using [method find_nodes] too often, consider caching the node references into variables.
+ Finds descendants of this node whose name matches [code]pattern[/code] as in [method String.match], and/or type matches [code]type[/code] as in [method Object.is_class].
+ [code]pattern[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]).
+ [code]type[/code] will check equality or inheritance, and is case-sensitive. [code]"Object"[/code] will match a node whose type is [code]"Node"[/code] but not the other way around.
+ If [code]recursive[/code] is [code]true[/code], all child nodes are included, even if deeply nested. Nodes are checked in tree order, so this node's first direct child is checked first, then its own direct children, etc., before moving to the second direct child, and so on. If [code]recursive[/code] is [code]false[/code], only this node's direct children are matched.
+ If [code]owned[/code] is [code]true[/code], this method only finds nodes who have an assigned [member Node.owner]. This is especially important for scenes instantiated through a script, because those scenes don't have an owner.
+ Returns an empty array if no matching nodes are found.
+ [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get references to other nodes. Whenever possible, consider caching the node references into variables.
+ [b]Note:[/b] If you only want to find the first descendant node that matches a pattern, see [method find_child].
</description>
</method>
<method name="find_parent" qualifiers="const">
<return type="Node" />
- <argument index="0" name="mask" type="String" />
+ <argument index="0" name="pattern" type="String" />
<description>
- Finds the first parent of the current node whose name matches [code]mask[/code] as in [method String.match] (i.e. case-sensitive, but [code]"*"[/code] matches zero or more characters and [code]"?"[/code] matches any single character except [code]"."[/code]).
- [b]Note:[/b] It does not match against the full path, just against individual node names.
- [b]Note:[/b] As this method walks upwards in the scene tree, it can be slow in large, deeply nested scene trees. Whenever possible, consider using [method get_node] instead. To avoid using [method find_parent] too often, consider caching the node reference into a variable.
+ Finds the first parent of the current node whose name matches [code]pattern[/code] as in [method String.match].
+ [code]pattern[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]).
+ [b]Note:[/b] As this method walks upwards in the scene tree, it can be slow in large, deeply nested scene trees. Whenever possible, consider using [method get_node] with unique names instead (see [member unique_name_in_owner]), or caching the node references into variable.
</description>
</method>
<method name="get_child" qualifiers="const">
@@ -462,6 +491,12 @@
Returns [code]true[/code] if internal processing is enabled (see [method set_process_internal]).
</description>
</method>
+ <method name="is_processing_shortcut_input" qualifiers="const">
+ <return type="bool" />
+ <description>
+ Returns [code]true[/code] if the node is processing shortcuts (see [method set_process_shortcut_input]).
+ </description>
+ </method>
<method name="is_processing_unhandled_input" qualifiers="const">
<return type="bool" />
<description>
@@ -483,10 +518,11 @@
[b]Note:[/b] Internal children can only be moved within their expected "internal range" (see [code]internal[/code] parameter in [method add_child]).
</description>
</method>
- <method name="print_stray_nodes">
+ <method name="print_orphan_nodes">
<return type="void" />
<description>
- Prints all stray nodes (nodes outside the [SceneTree]). Used for debugging. Works only in debug builds.
+ Prints all orphan nodes (nodes outside the [SceneTree]). Used for debugging.
+ [b]Note:[/b] [method print_orphan_nodes] only works in debug builds. When called in a project exported in release mode, [method print_orphan_nodes] will not print anything.
</description>
</method>
<method name="print_tree">
@@ -586,7 +622,7 @@
</description>
</method>
<method name="rpc" qualifiers="vararg">
- <return type="Variant" />
+ <return type="void" />
<argument index="0" name="method" type="StringName" />
<description>
Sends a remote procedure call request for the given [code]method[/code] to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same [NodePath], including the exact same node name. Behaviour depends on the RPC configuration for the given method, see [method rpc_config]. Methods are not exposed to RPCs by default. Returns an empty [Variant].
@@ -605,7 +641,7 @@
</description>
</method>
<method name="rpc_id" qualifiers="vararg">
- <return type="Variant" />
+ <return type="void" />
<argument index="0" name="peer_id" type="int" />
<argument index="1" name="method" type="StringName" />
<description>
@@ -672,6 +708,13 @@
[b]Warning:[/b] Built-in Nodes rely on the internal processing for their own logic, so changing this value from your code may lead to unexpected behavior. Script access to this internal logic is provided for specific advanced uses, but is unsafe and not supported.
</description>
</method>
+ <method name="set_process_shortcut_input">
+ <return type="void" />
+ <argument index="0" name="enable" type="bool" />
+ <description>
+ Enables shortcut processing. Enabled automatically if [method _shortcut_input] is overridden. Any calls to this before [method _ready] will be ignored.
+ </description>
+ </method>
<method name="set_process_unhandled_input">
<return type="void" />
<argument index="0" name="enable" type="bool" />
@@ -702,14 +745,11 @@
</method>
</methods>
<members>
- <member name="custom_multiplayer" type="MultiplayerAPI" setter="set_custom_multiplayer" getter="get_custom_multiplayer">
- The override to the default [MultiplayerAPI]. Set to [code]null[/code] to use the default [SceneTree] one.
- </member>
<member name="editor_description" type="String" setter="set_editor_description" getter="get_editor_description" default="&quot;&quot;">
- Add a custom description to a node.
+ Add a custom description to a node. It will be displayed in a tooltip when hovered in editor's scene tree.
</member>
<member name="multiplayer" type="MultiplayerAPI" setter="" getter="get_multiplayer">
- The [MultiplayerAPI] instance associated with this node. Either the [member custom_multiplayer], or the default SceneTree one (if inside tree).
+ The [MultiplayerAPI] instance associated with this node. See [method SceneTree.get_multiplayer].
</member>
<member name="name" type="StringName" setter="set_name" getter="get_name">
The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed.
@@ -717,6 +757,7 @@
</member>
<member name="owner" type="Node" setter="set_owner" getter="get_owner">
The node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc. ascending in the tree). When saving a node (using [PackedScene]), all the nodes it owns will be saved with it. This allows for the creation of complex [SceneTree]s, with instancing and subinstancing.
+ [b]Note:[/b] If you want a child to be persisted to a [PackedScene], you must set [member owner] in addition to calling [method add_child]. This is typically relevant for [url=$DOCS_URL/tutorials/misc/running_code_in_the_editor.html]tool scripts[/url] and [url=$DOCS_URL/tutorials/plugins/editor/index.html]editor plugins[/url]. If [method add_child] is called without setting [member owner], the newly added [Node] will not be visible in the scene tree, though it will be visible in the 2D/3D view.
</member>
<member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="Node.ProcessMode" default="0">
Can be used to pause or unpause the node, or make the node paused based on the [SceneTree], or make it inherit the process mode from its parent (default).
@@ -727,6 +768,10 @@
<member name="scene_file_path" type="String" setter="set_scene_file_path" getter="get_scene_file_path">
If a scene is instantiated from a file, its topmost node contains the absolute file path from which it was loaded in [member scene_file_path] (e.g. [code]res://levels/1.tscn[/code]). Otherwise, [member scene_file_path] is set to an empty string.
</member>
+ <member name="unique_name_in_owner" type="bool" setter="set_unique_name_in_owner" getter="is_unique_name_in_owner" default="false">
+ Sets this node's name as a unique name in its [member owner]. This allows the node to be accessed as [code]%Name[/code] instead of the full path, from any node within that scene.
+ If another node with the same owner already had that name declared as unique, that other node's name will no longer be set as having a unique name.
+ </member>
</members>
<signals>
<signal name="child_entered_tree">
@@ -803,10 +848,13 @@
Notification received when the node is instantiated.
</constant>
<constant name="NOTIFICATION_DRAG_BEGIN" value="21">
- Notification received when a drag begins.
+ Notification received when a drag operation begins. All nodes receive this notification, not only the dragged one.
+ Can be triggered either by dragging a [Control] that provides drag data (see [method Control._get_drag_data]) or using [method Control.force_drag].
+ Use [method Viewport.gui_get_drag_data] to get the dragged data.
</constant>
<constant name="NOTIFICATION_DRAG_END" value="22">
- Notification received when a drag ends.
+ Notification received when a drag operation ends.
+ Use [method Viewport.gui_is_drag_successful] to check if the drag succeeded.
</constant>
<constant name="NOTIFICATION_PATH_RENAMED" value="23">
Notification received when the node's name or one of its parents' name is changed. This notification is [i]not[/i] received when the node is removed from the scene tree to be added to another parent later on.
diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml
index 3d3e139781..3319e5d822 100644
--- a/doc/classes/NodePath.xml
+++ b/doc/classes/NodePath.xml
@@ -5,21 +5,22 @@
</brief_description>
<description>
A pre-parsed relative or absolute path in a scene tree, for use with [method Node.get_node] and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, [code]"Path2D/PathFollow2D/Sprite2D:texture:size"[/code] would refer to the [code]size[/code] property of the [code]texture[/code] resource on the node named [code]"Sprite2D"[/code] which is a child of the other named nodes in the path.
- You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]@"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
+ You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]^"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful.
A [NodePath] is composed of a list of slash-separated node names (like a filesystem path) and an optional colon-separated list of "subnames" which can be resources or properties.
Some examples of NodePaths include the following:
[codeblock]
# No leading slash means it is relative to the current node.
- @"A" # Immediate child A
- @"A/B" # A's child B
- @"." # The current node.
- @".." # The parent node.
- @"../C" # A sibling node C.
+ ^"A" # Immediate child A
+ ^"A/B" # A's child B
+ ^"." # The current node.
+ ^".." # The parent node.
+ ^"../C" # A sibling node C.
# A leading slash means it is absolute from the SceneTree.
- @"/root" # Equivalent to get_tree().get_root().
- @"/root/Main" # If your main scene's root node were named "Main".
- @"/root/MyAutoload" # If you have an autoloaded node or scene.
+ ^"/root" # Equivalent to get_tree().get_root().
+ ^"/root/Main" # If your main scene's root node were named "Main".
+ ^"/root/MyAutoload" # If you have an autoloaded node or scene.
[/codeblock]
+ See also [StringName], which is a similar concept for general-purpose string interning.
[b]Note:[/b] In the editor, [NodePath] properties are automatically updated when moving, renaming or deleting a node in the scene tree, but they are never updated at runtime.
</description>
<tutorials>
@@ -36,7 +37,7 @@
<return type="NodePath" />
<argument index="0" name="from" type="NodePath" />
<description>
- Constructs a [NodePath] as a copy of the given [NodePath].
+ Constructs a [NodePath] as a copy of the given [NodePath]. [code]NodePath("example")[/code] is equivalent to [code]^"example"[/code].
</description>
</constructor>
<constructor name="NodePath">
@@ -172,22 +173,12 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="NodePath" />
<description>
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="NodePath" />
<description>
</description>
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index bc9bfc9676..f45bee4db4 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -278,7 +278,7 @@
<return type="String" />
<description>
Returns the name of the host OS.
- On Windows, this is [code]"Windows"[/code] or [code]"UWP"[/code] (Universal Windows Platform) if exported thereon.
+ On Windows, this is [code]"Windows"[/code] or [code]"UWP"[/code] if exported on Universal Windows Platform.
On macOS, this is [code]"macOS"[/code].
On Linux-based operating systems, this is [code]"Linux"[/code].
On BSD-based operating systems, this is [code]"FreeBSD"[/code], [code]"NetBSD"[/code], [code]"OpenBSD"[/code], or [code]"BSD"[/code] as a fallback.
@@ -455,6 +455,14 @@
[b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and Windows.
</description>
</method>
+ <method name="move_to_trash" qualifiers="const">
+ <return type="int" enum="Error" />
+ <argument index="0" name="path" type="String" />
+ <description>
+ Moves the file or directory to the system's recycle bin. See also [method Directory.remove].
+ [b]Note:[/b] If the user has disabled the recycle bin on their system, the file will be permanently deleted instead.
+ </description>
+ </method>
<method name="open_midi_inputs">
<return type="void" />
<description>
diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml
index a57101b62d..f7a3be48cf 100644
--- a/doc/classes/Object.xml
+++ b/doc/classes/Object.xml
@@ -53,7 +53,8 @@
<method name="_init" qualifiers="virtual">
<return type="void" />
<description>
- Called when the object is initialized.
+ Called when the object is initialized in memory. Can be defined to take in parameters, that are passed in when constructing.
+ [b]Note:[/b] If [method _init] is defined with required parameters, then explicit construction is the only valid means of creating an Object of the class. If any other means (such as [method PackedScene.instantiate]) is used, then initialization will fail.
</description>
</method>
<method name="_notification" qualifiers="virtual">
@@ -106,7 +107,7 @@
</description>
</method>
<method name="call_deferred" qualifiers="vararg">
- <return type="void" />
+ <return type="Variant" />
<argument index="0" name="method" type="StringName" />
<description>
Calls the [code]method[/code] on the object during idle time. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example:
@@ -300,7 +301,7 @@
</description>
</method>
<method name="emit_signal" qualifiers="vararg">
- <return type="void" />
+ <return type="int" enum="Error" />
<argument index="0" name="signal" type="StringName" />
<description>
Emits the given [code]signal[/code]. The signal must exist, so it should be a built-in signal of this class or one of its parent classes, or a user-defined signal. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example:
@@ -365,8 +366,10 @@
<method name="get_meta" qualifiers="const">
<return type="Variant" />
<argument index="0" name="name" type="StringName" />
+ <argument index="1" name="default" type="Variant" default="null" />
<description>
Returns the object's metadata entry for the given [code]name[/code].
+ Throws error if the entry does not exist, unless [code]default[/code] is not [code]null[/code] (in which case the default value will be returned).
</description>
</method>
<method name="get_meta_list" qualifiers="const">
diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml
index f65925f0f6..a7b1f0ea33 100644
--- a/doc/classes/OptionButton.xml
+++ b/doc/classes/OptionButton.xml
@@ -6,6 +6,7 @@
<description>
OptionButton is a type button that provides a selectable list of items when pressed. The item selected becomes the "current" item and is displayed as the button text.
See also [BaseButton] which contains common properties and methods associated with this node.
+ [b]Note:[/b] Properties [member Button.text] and [member Button.icon] are automatically set based on the selected item. They shouldn't be changed manually.
</description>
<tutorials>
</tutorials>
@@ -29,8 +30,9 @@
</method>
<method name="add_separator">
<return type="void" />
+ <argument index="0" name="text" type="String" default="&quot;&quot;" />
<description>
- Adds a separator to the list of items. Separators help to group items. Separator also takes up an index and is appended at the end.
+ Adds a separator to the list of items. Separators help to group items, and can optionally be given a [code]text[/code] header. A separator also gets an index assigned, and is appended at the end of the item list.
</description>
</method>
<method name="clear">
@@ -74,6 +76,13 @@
Returns the text of the item at index [code]idx[/code].
</description>
</method>
+ <method name="get_item_tooltip" qualifiers="const">
+ <return type="String" />
+ <argument index="0" name="idx" type="int" />
+ <description>
+ Returns the tooltip of the item at index [code]idx[/code].
+ </description>
+ </method>
<method name="get_popup" qualifiers="const">
<return type="PopupMenu" />
<description>
@@ -81,6 +90,12 @@
[b]Warning:[/b] This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member Window.visible] property.
</description>
</method>
+ <method name="get_selectable_item" qualifiers="const">
+ <return type="int" />
+ <argument index="0" name="from_last" type="bool" default="false" />
+ <description>
+ </description>
+ </method>
<method name="get_selected_id" qualifiers="const">
<return type="int" />
<description>
@@ -93,6 +108,11 @@
Gets the metadata of the selected item. Metadata for items can be set using [method set_item_metadata].
</description>
</method>
+ <method name="has_selectable_items" qualifiers="const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
<method name="is_item_disabled" qualifiers="const">
<return type="bool" />
<argument index="0" name="idx" type="int" />
@@ -100,6 +120,12 @@
Returns [code]true[/code] if the item at index [code]idx[/code] is disabled.
</description>
</method>
+ <method name="is_item_separator" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="idx" type="int" />
+ <description>
+ </description>
+ </method>
<method name="remove_item">
<return type="void" />
<argument index="0" name="idx" type="int" />
@@ -156,6 +182,14 @@
Sets the text of the item at index [code]idx[/code].
</description>
</method>
+ <method name="set_item_tooltip">
+ <return type="void" />
+ <argument index="0" name="idx" type="int" />
+ <argument index="1" name="tooltip" type="String" />
+ <description>
+ Sets the tooltip of the item at index [code]idx[/code].
+ </description>
+ </method>
</methods>
<members>
<member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" overrides="BaseButton" enum="BaseButton.ActionMode" default="0" />
@@ -204,7 +238,7 @@
<theme_item name="arrow_margin" data_type="constant" type="int" default="4">
The horizontal space between the arrow icon and the right edge of the button.
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="2">
+ <theme_item name="h_separation" data_type="constant" type="int" default="2">
The horizontal space between [OptionButton]'s icon and text.
</theme_item>
<theme_item name="outline_size" data_type="constant" type="int" default="0">
diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml
index be51b1dcf8..61dc1eef00 100644
--- a/doc/classes/PackedByteArray.xml
+++ b/doc/classes/PackedByteArray.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedByteArray" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of bytes.
+ A packed array of bytes.
</brief_description>
<description>
- An [Array] specifically designed to hold bytes. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold bytes. Packs data tightly, so it saves memory for large array sizes.
</description>
<tutorials>
</tutorials>
@@ -418,11 +418,6 @@
<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>
@@ -435,11 +430,6 @@
</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>
diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml
index f98c5c37e4..f880771c77 100644
--- a/doc/classes/PackedColorArray.xml
+++ b/doc/classes/PackedColorArray.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedColorArray" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of [Color]s.
+ A packed array of [Color]s.
</brief_description>
<description>
- An [Array] specifically designed to hold [Color]. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold [Color]. Packs data tightly, so it saves memory for large array sizes.
</description>
<tutorials>
</tutorials>
@@ -154,11 +154,6 @@
<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>
@@ -171,11 +166,6 @@
</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>
diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml
index 393af5f6c4..e2b877ad5f 100644
--- a/doc/classes/PackedFloat32Array.xml
+++ b/doc/classes/PackedFloat32Array.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedFloat32Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of 32-bit floating-point values.
+ A packed array of 32-bit floating-point values.
</brief_description>
<description>
- An [Array] specifically designed to hold 32-bit floating-point values. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold 32-bit floating-point values. Packs data tightly, so it saves memory for large array sizes.
If you need to pack 64-bit floats tightly, see [PackedFloat64Array].
</description>
<tutorials>
@@ -157,11 +157,6 @@
<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>
@@ -174,11 +169,6 @@
</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>
diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml
index 5a80d7b2e9..be7a52b7f4 100644
--- a/doc/classes/PackedFloat64Array.xml
+++ b/doc/classes/PackedFloat64Array.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedFloat64Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of 64-bit floating-point values.
+ A packed array of 64-bit floating-point values.
</brief_description>
<description>
- An [Array] specifically designed to hold 64-bit floating-point values. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold 64-bit floating-point values. Packs data tightly, so it saves memory for large array sizes.
If you only need to pack 32-bit floats tightly, see [PackedFloat32Array] for a more memory-friendly alternative.
</description>
<tutorials>
@@ -157,11 +157,6 @@
<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>
@@ -174,11 +169,6 @@
</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>
diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml
index 17085a9626..108273d859 100644
--- a/doc/classes/PackedInt32Array.xml
+++ b/doc/classes/PackedInt32Array.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedInt32Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of 32-bit integers.
+ A packed array of 32-bit integers.
</brief_description>
<description>
- An [Array] specifically designed to hold 32-bit integer values. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold 32-bit integer values. Packs data tightly, so it saves memory for large array sizes.
[b]Note:[/b] This type stores signed 32-bit integers, which means it can take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. [code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap around. In comparison, [int] uses signed 64-bit integers which can hold much larger values. If you need to pack 64-bit integers tightly, see [PackedInt64Array].
</description>
<tutorials>
@@ -157,11 +157,6 @@
<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>
@@ -174,11 +169,6 @@
</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>
diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml
index 066bc05f54..c34f2fc75e 100644
--- a/doc/classes/PackedInt64Array.xml
+++ b/doc/classes/PackedInt64Array.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedInt64Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of 64-bit integers.
+ A packed array of 64-bit integers.
</brief_description>
<description>
- An [Array] specifically designed to hold 64-bit integer values. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold 64-bit integer values. Packs data tightly, so it saves memory for large array sizes.
[b]Note:[/b] This type stores signed 64-bit integers, which means it can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds will wrap around. If you only need to pack 32-bit integers tightly, see [PackedInt32Array] for a more memory-friendly alternative.
</description>
<tutorials>
@@ -157,11 +157,6 @@
<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>
@@ -174,11 +169,6 @@
</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>
diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml
index 3cf43ecb28..536f5f02eb 100644
--- a/doc/classes/PackedStringArray.xml
+++ b/doc/classes/PackedStringArray.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedStringArray" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of [String]s.
+ A packed array of [String]s.
</brief_description>
<description>
- An [Array] specifically designed to hold [String]s. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold [String]s. Packs data tightly, so it saves memory for large array sizes.
</description>
<tutorials>
<link title="OS Test Demo">https://godotengine.org/asset-library/asset/677</link>
@@ -155,11 +155,6 @@
<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>
@@ -172,11 +167,6 @@
</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>
diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml
index 9abc366702..29423d1cde 100644
--- a/doc/classes/PackedVector2Array.xml
+++ b/doc/classes/PackedVector2Array.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedVector2Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of [Vector2]s.
+ A packed array of [Vector2]s.
</brief_description>
<description>
- An [Array] specifically designed to hold [Vector2]. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold [Vector2]. Packs data tightly, so it saves memory for large array sizes.
</description>
<tutorials>
<link title="2D Navigation Astar Demo">https://godotengine.org/asset-library/asset/519</link>
@@ -155,11 +155,6 @@
<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>
@@ -178,11 +173,6 @@
</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>
diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml
index ff9fc6a757..6d460cecab 100644
--- a/doc/classes/PackedVector3Array.xml
+++ b/doc/classes/PackedVector3Array.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="PackedVector3Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- A packed [Array] of [Vector3]s.
+ A packed array of [Vector3]s.
</brief_description>
<description>
- An [Array] specifically designed to hold [Vector3]. Packs data tightly, so it saves memory for large array sizes.
+ An array specifically designed to hold [Vector3]. Packs data tightly, so it saves memory for large array sizes.
</description>
<tutorials>
</tutorials>
@@ -154,11 +154,6 @@
<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>
@@ -177,11 +172,6 @@
</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>
diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml
index e05853e816..885bedbc04 100644
--- a/doc/classes/ParticlesMaterial.xml
+++ b/doc/classes/ParticlesMaterial.xml
@@ -325,19 +325,22 @@
<constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
Particles will be emitted in the volume of a sphere.
</constant>
- <constant name="EMISSION_SHAPE_BOX" value="2" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_SPHERE_SURFACE" value="2" enum="EmissionShape">
+ Particles will be emitted on the surface of a sphere.
+ </constant>
+ <constant name="EMISSION_SHAPE_BOX" value="3" enum="EmissionShape">
Particles will be emitted in the volume of a box.
</constant>
- <constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_POINTS" value="4" enum="EmissionShape">
Particles will be emitted at a position determined by sampling a random point on the [member emission_point_texture]. Particle color will be modulated by [member emission_color_texture].
</constant>
- <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="5" enum="EmissionShape">
Particles will be emitted at a position determined by sampling a random point on the [member emission_point_texture]. Particle velocity and rotation will be set based on [member emission_normal_texture]. Particle color will be modulated by [member emission_color_texture].
</constant>
- <constant name="EMISSION_SHAPE_RING" value="5" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_RING" value="6" enum="EmissionShape">
Particles will be emitted in a ring or cylinder.
</constant>
- <constant name="EMISSION_SHAPE_MAX" value="6" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_MAX" value="7" enum="EmissionShape">
Represents the size of the [enum EmissionShape] enum.
</constant>
<constant name="SUB_EMITTER_DISABLED" value="0" enum="SubEmitterMode">
diff --git a/doc/classes/PhysicsDirectBodyState3DExtension.xml b/doc/classes/PhysicsDirectBodyState3DExtension.xml
new file mode 100644
index 0000000000..f0659f8f1b
--- /dev/null
+++ b/doc/classes/PhysicsDirectBodyState3DExtension.xml
@@ -0,0 +1,260 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsDirectBodyState3DExtension" inherits="PhysicsDirectBodyState3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_add_constant_central_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_add_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <argument index="1" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_add_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_central_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_central_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="impulse" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <argument index="1" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="impulse" type="Vector3" />
+ <argument index="1" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_apply_torque_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="impulse" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_angular_velocity" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_center_of_mass" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_center_of_mass_local" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_constant_force" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_constant_torque" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_id" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_object" qualifiers="virtual const">
+ <return type="Object" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_shape" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_collider_velocity_at_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_count" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_impulse" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_normal" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_contact_local_shape" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="contact_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_inverse_inertia" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_inverse_mass" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_linear_velocity" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_principal_inertia_axes" qualifiers="virtual const">
+ <return type="Basis" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_space_state" qualifiers="virtual">
+ <return type="PhysicsDirectSpaceState3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_step" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_angular_damp" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_gravity" qualifiers="virtual const">
+ <return type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_total_linear_damp" qualifiers="virtual const">
+ <return type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_transform" qualifiers="virtual const">
+ <return type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_velocity_at_local_position" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="local_position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_integrate_forces" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_sleeping" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_angular_velocity" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="velocity" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_linear_velocity" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="velocity" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_sleep_state" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="enabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsDirectSpaceState3DExtension.xml b/doc/classes/PhysicsDirectSpaceState3DExtension.xml
new file mode 100644
index 0000000000..f150907963
--- /dev/null
+++ b/doc/classes/PhysicsDirectSpaceState3DExtension.xml
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsDirectSpaceState3DExtension" inherits="PhysicsDirectSpaceState3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_cast_motion" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="shape_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="collision_mask" type="int" />
+ <argument index="5" name="collide_with_bodies" type="bool" />
+ <argument index="6" name="collide_with_areas" type="bool" />
+ <argument index="7" name="closest_safe" type="float*" />
+ <argument index="8" name="closest_unsafe" type="float*" />
+ <argument index="9" name="info" type="PhysicsServer3DExtensionShapeRestInfo*" />
+ <description>
+ </description>
+ </method>
+ <method name="_collide_shape" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="shape_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="collision_mask" type="int" />
+ <argument index="5" name="collide_with_bodies" type="bool" />
+ <argument index="6" name="collide_with_areas" type="bool" />
+ <argument index="7" name="results" type="void*" />
+ <argument index="8" name="max_results" type="int" />
+ <argument index="9" name="result_count" type="int32_t*" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_closest_point_to_object_volume" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="object" type="RID" />
+ <argument index="1" name="point" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_point" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="position" type="Vector3" />
+ <argument index="1" name="collision_mask" type="int" />
+ <argument index="2" name="collide_with_bodies" type="bool" />
+ <argument index="3" name="collide_with_areas" type="bool" />
+ <argument index="4" name="results" type="PhysicsServer3DExtensionShapeResult*" />
+ <argument index="5" name="max_results" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_ray" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="from" type="Vector3" />
+ <argument index="1" name="to" type="Vector3" />
+ <argument index="2" name="collision_mask" type="int" />
+ <argument index="3" name="collide_with_bodies" type="bool" />
+ <argument index="4" name="collide_with_areas" type="bool" />
+ <argument index="5" name="hit_from_inside" type="bool" />
+ <argument index="6" name="hit_back_faces" type="bool" />
+ <argument index="7" name="result" type="PhysicsServer3DExtensionRayResult*" />
+ <description>
+ </description>
+ </method>
+ <method name="_intersect_shape" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="shape_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="collision_mask" type="int" />
+ <argument index="5" name="collide_with_bodies" type="bool" />
+ <argument index="6" name="collide_with_areas" type="bool" />
+ <argument index="7" name="result_count" type="PhysicsServer3DExtensionShapeResult*" />
+ <argument index="8" name="max_results" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_rest_info" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="shape_rid" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="collision_mask" type="int" />
+ <argument index="5" name="collide_with_bodies" type="bool" />
+ <argument index="6" name="collide_with_areas" type="bool" />
+ <argument index="7" name="rest_info" type="PhysicsServer3DExtensionShapeRestInfo*" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsServer3D.xml b/doc/classes/PhysicsServer3D.xml
index 7a9a0ac7c5..2e84287227 100644
--- a/doc/classes/PhysicsServer3D.xml
+++ b/doc/classes/PhysicsServer3D.xml
@@ -733,7 +733,7 @@
<return type="int" />
<argument index="0" name="process_info" type="int" enum="PhysicsServer3D.ProcessInfo" />
<description>
- Returns an Info defined by the [enum ProcessInfo] input given.
+ Returns information about the current state of the 3D physics engine. See [enum ProcessInfo] for a list of available states.
</description>
</method>
<method name="heightmap_shape_create">
diff --git a/doc/classes/PhysicsServer3DExtension.xml b/doc/classes/PhysicsServer3DExtension.xml
new file mode 100644
index 0000000000..795f5b86dd
--- /dev/null
+++ b/doc/classes/PhysicsServer3DExtension.xml
@@ -0,0 +1,897 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsServer3DExtension" inherits="PhysicsServer3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_area_add_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape" type="RID" />
+ <argument index="2" name="transform" type="Transform3D" />
+ <argument index="3" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_attach_object_instance_id" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="id" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_clear_shapes" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_object_instance_id" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_param" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.AreaParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape_count" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_shape_transform" qualifiers="virtual const">
+ <return type="Transform3D" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_space" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_get_transform" qualifiers="virtual const">
+ <return type="Transform3D" />
+ <argument index="0" name="area" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_remove_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_area_monitor_callback" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="callback" type="Callable" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_collision_layer" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="layer" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_collision_mask" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="mask" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_monitor_callback" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="callback" type="Callable" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_monitorable" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="monitorable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.AreaParameter" />
+ <argument index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_ray_pickable" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape_disabled" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_shape_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_space" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_area_set_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="area" type="RID" />
+ <argument index="1" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_collision_exception" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="excepted_body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_central_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <argument index="2" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_add_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape" type="RID" />
+ <argument index="2" name="transform" type="Transform3D" />
+ <argument index="3" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_central_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_central_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="impulse" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <argument index="2" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="impulse" type="Vector3" />
+ <argument index="2" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_apply_torque_impulse" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="impulse" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_attach_object_instance_id" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="id" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_clear_shapes" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_collision_layer" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_collision_mask" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_constant_force" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_constant_torque" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_direct_state" qualifiers="virtual">
+ <return type="PhysicsDirectBodyState3D" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_max_contacts_reported" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_mode" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer3D.BodyMode" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_object_instance_id" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_param" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.BodyParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape_count" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_shape_transform" qualifiers="virtual const">
+ <return type="Transform3D" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_space" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_get_state" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="state" type="int" enum="PhysicsServer3D.BodyState" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_is_axis_locked" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="axis" type="int" enum="PhysicsServer3D.BodyAxis" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_is_continuous_collision_detection_enabled" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_is_omitting_force_integration" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_remove_collision_exception" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="excepted_body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_remove_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_reset_mass_properties" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_axis_lock" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="axis" type="int" enum="PhysicsServer3D.BodyAxis" />
+ <argument index="2" name="lock" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_axis_velocity" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="axis_velocity" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_collision_layer" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="layer" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_collision_mask" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="mask" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_constant_force" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="force" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_constant_torque" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="torque" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_enable_continuous_collision_detection" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_force_integration_callback" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="callable" type="Callable" />
+ <argument index="2" name="userdata" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_max_contacts_reported" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="amount" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_mode" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="mode" type="int" enum="PhysicsServer3D.BodyMode" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_omit_force_integration" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.BodyParameter" />
+ <argument index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_ray_pickable" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape_disabled" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="disabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_shape_transform" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="shape_idx" type="int" />
+ <argument index="2" name="transform" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_space" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_set_state" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="state" type="int" enum="PhysicsServer3D.BodyState" />
+ <argument index="2" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_body_test_motion" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="body" type="RID" />
+ <argument index="1" name="from" type="Transform3D" />
+ <argument index="2" name="motion" type="Vector3" />
+ <argument index="3" name="margin" type="float" />
+ <argument index="4" name="max_collisions" type="int" />
+ <argument index="5" name="collide_separation_ray" type="bool" />
+ <argument index="6" name="result" type="PhysicsServer3DExtensionMotionResult*" />
+ <description>
+ </description>
+ </method>
+ <method name="_box_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_capsule_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_concave_polygon_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_cone_twist_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.ConeTwistJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_cone_twist_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.ConeTwistJointParam" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_convex_polygon_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_custom_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_cylinder_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_free_rid" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="rid" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_generic_6dof_joint_get_flag" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="axis" type="int" enum="Vector3.Axis" />
+ <argument index="2" name="flag" type="int" enum="PhysicsServer3D.G6DOFJointAxisFlag" />
+ <description>
+ </description>
+ </method>
+ <method name="_generic_6dof_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="axis" type="int" enum="Vector3.Axis" />
+ <argument index="2" name="param" type="int" enum="PhysicsServer3D.G6DOFJointAxisParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_generic_6dof_joint_set_flag" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="axis" type="int" enum="Vector3.Axis" />
+ <argument index="2" name="flag" type="int" enum="PhysicsServer3D.G6DOFJointAxisFlag" />
+ <argument index="3" name="enable" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_generic_6dof_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="axis" type="int" enum="Vector3.Axis" />
+ <argument index="2" name="param" type="int" enum="PhysicsServer3D.G6DOFJointAxisParam" />
+ <argument index="3" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_process_info" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="process_info" type="int" enum="PhysicsServer3D.ProcessInfo" />
+ <description>
+ </description>
+ </method>
+ <method name="_heightmap_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_hinge_joint_get_flag" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="flag" type="int" enum="PhysicsServer3D.HingeJointFlag" />
+ <description>
+ </description>
+ </method>
+ <method name="_hinge_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.HingeJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_hinge_joint_set_flag" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="flag" type="int" enum="PhysicsServer3D.HingeJointFlag" />
+ <argument index="2" name="enabled" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_hinge_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.HingeJointParam" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_clear" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_get_solver_priority" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_get_type" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer3D.JointType" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_cone_twist" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="local_ref_A" type="Transform3D" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="local_ref_B" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_generic_6dof" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="local_ref_A" type="Transform3D" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="local_ref_B" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_hinge" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="hinge_A" type="Transform3D" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="hinge_B" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_pin" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="local_A" type="Vector3" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="local_B" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_make_slider" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="body_A" type="RID" />
+ <argument index="2" name="local_ref_A" type="Transform3D" />
+ <argument index="3" name="body_B" type="RID" />
+ <argument index="4" name="local_ref_B" type="Transform3D" />
+ <description>
+ </description>
+ </method>
+ <method name="_joint_set_solver_priority" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="priority" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_get_local_a" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_get_local_b" qualifiers="virtual const">
+ <return type="Vector3" />
+ <argument index="0" name="joint" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.PinJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_set_local_a" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="local_A" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_set_local_b" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="local_B" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="_pin_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.PinJointParam" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_separation_ray_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_active" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="active" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_get_data" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_get_type" qualifiers="virtual const">
+ <return type="int" enum="PhysicsServer3D.ShapeType" />
+ <argument index="0" name="shape" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_shape_set_data" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="shape" type="RID" />
+ <argument index="1" name="data" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_slider_joint_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.SliderJointParam" />
+ <description>
+ </description>
+ </method>
+ <method name="_slider_joint_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="joint" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.SliderJointParam" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_soft_body_get_bounds" qualifiers="virtual const">
+ <return type="AABB" />
+ <argument index="0" name="body" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_direct_state" qualifiers="virtual">
+ <return type="PhysicsDirectSpaceState3D" />
+ <argument index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_get_param" qualifiers="virtual const">
+ <return type="float" />
+ <argument index="0" name="space" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.SpaceParameter" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_is_active" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="space" type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_set_active" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="space" type="RID" />
+ <argument index="1" name="active" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_space_set_param" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="space" type="RID" />
+ <argument index="1" name="param" type="int" enum="PhysicsServer3D.SpaceParameter" />
+ <argument index="2" name="value" type="float" />
+ <description>
+ </description>
+ </method>
+ <method name="_sphere_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ <method name="_world_boundary_shape_create" qualifiers="virtual">
+ <return type="RID" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/PhysicsServer3DRenderingServerHandler.xml b/doc/classes/PhysicsServer3DRenderingServerHandler.xml
new file mode 100644
index 0000000000..a40a2dd1c6
--- /dev/null
+++ b/doc/classes/PhysicsServer3DRenderingServerHandler.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PhysicsServer3DRenderingServerHandler" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_set_aabb" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="aabb" type="AABB" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_normal" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="vertex_id" type="int" />
+ <argument index="1" name="normals" type="const void*" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_vertex" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="vertex_id" type="int" />
+ <argument index="1" name="vertices" type="const void*" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml
index f037b0bf1e..a42ceba777 100644
--- a/doc/classes/Plane.xml
+++ b/doc/classes/Plane.xml
@@ -173,11 +173,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Plane" />
<description>
Returns [code]true[/code] if the planes are not equal.
@@ -186,11 +181,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Plane" />
<description>
Returns [code]true[/code] if the planes are exactly equal.
diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml
index b64c392357..bf80aa94a5 100644
--- a/doc/classes/PopupMenu.xml
+++ b/doc/classes/PopupMenu.xml
@@ -7,6 +7,7 @@
[PopupMenu] is a modal window used to display a list of options. They are popular in toolbars or context menus.
The size of a [PopupMenu] can be limited by using [member Window.max_size]. If the height of the list of items is larger than the maximum height of the [PopupMenu], a [ScrollContainer] within the popup will allow the user to scroll the contents.
If no maximum size is set, or if it is set to 0, the [PopupMenu] height will be limited by its parent rect.
+ All [code]set_*[/code] methods allow negative item index, which makes the item accessed from the last one.
</description>
<tutorials>
</tutorials>
@@ -567,8 +568,11 @@
<theme_item name="font_separator_color" data_type="color" type="Color" default="Color(0.875, 0.875, 0.875, 1)">
[Color] used for labeled separators' text. See [method add_separator].
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
- The horizontal space between the item's name and the shortcut text/submenu arrow.
+ <theme_item name="font_separator_outline_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
+ The tint of text outline of the labeled separator.
+ </theme_item>
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
+ The horizontal space between the item's elements.
</theme_item>
<theme_item name="item_end_padding" data_type="constant" type="int" default="2">
</theme_item>
@@ -577,12 +581,21 @@
<theme_item name="outline_size" data_type="constant" type="int" default="0">
The size of the item text outline.
</theme_item>
- <theme_item name="vseparation" data_type="constant" type="int" default="4">
+ <theme_item name="separator_outline_size" data_type="constant" type="int" default="0">
+ The size of the labeled separator text outline.
+ </theme_item>
+ <theme_item name="v_separation" data_type="constant" type="int" default="4">
The vertical space between each menu item.
</theme_item>
<theme_item name="font" data_type="font" type="Font">
[Font] used for the menu items.
</theme_item>
+ <theme_item name="font_separator" data_type="font" type="Font">
+ [Font] used for the labeled separator.
+ </theme_item>
+ <theme_item name="font_separator_size" data_type="font_size" type="int">
+ Font size of the labeled separator.
+ </theme_item>
<theme_item name="font_size" data_type="font_size" type="int">
Font size of the menu items.
</theme_item>
diff --git a/doc/classes/PortableCompressedTexture2D.xml b/doc/classes/PortableCompressedTexture2D.xml
new file mode 100644
index 0000000000..aad72bbb48
--- /dev/null
+++ b/doc/classes/PortableCompressedTexture2D.xml
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="PortableCompressedTexture2D" inherits="Texture2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ Provides a compressed texture for disk and/or VRAM in a way that is portable.
+ </brief_description>
+ <description>
+ This class allows storing compressed textures as self contained (not imported) resources.
+ For 2D usage (compressed on disk, uncompressed on VRAM), the lossy and lossless modes are recommended. For 3D usage (compressed on VRAM) it depends on the target platform.
+ If you intend to only use desktop, S3TC or BPTC are recommended. For only mobile, ETC2 is recommended.
+ For portable, self contained 3D textures that work on both desktop and mobile, Basis Universal is recommended (although it has a small quality cost and longer compression time as a tradeoff).
+ This resource is intended to be created from code.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="create_from_image">
+ <return type="void" />
+ <argument index="0" name="image" type="Image" />
+ <argument index="1" name="compression_mode" type="int" enum="PortableCompressedTexture2D.CompressionMode" />
+ <argument index="2" name="normal_map" type="bool" default="false" />
+ <argument index="3" name="lossy_quality" type="float" default="0.8" />
+ <description>
+ Initializes the compressed texture from a base image. The compression mode must be provided.
+ If this image will be used as a normal map, the "normal map" flag is recommended, to ensure optimum quality.
+ If lossy compression is requested, the quality setting can optionally be provided. This maps to Lossy WEBP compression quality.
+ </description>
+ </method>
+ <method name="get_compression_mode" qualifiers="const">
+ <return type="int" enum="PortableCompressedTexture2D.CompressionMode" />
+ <description>
+ Return the compression mode used (valid after initialized).
+ </description>
+ </method>
+ <method name="get_format" qualifiers="const">
+ <return type="int" enum="Image.Format" />
+ <description>
+ Return the image format used (valid after initialized).
+ </description>
+ </method>
+ <method name="is_keeping_all_compressed_buffers" qualifiers="static">
+ <return type="bool" />
+ <description>
+ Return whether the flag is overridden for all textures of this type.
+ </description>
+ </method>
+ <method name="set_keep_all_compressed_buffers" qualifiers="static">
+ <return type="void" />
+ <argument index="0" name="keep" type="bool" />
+ <description>
+ Overrides the flag globally for all textures of this type. This is used primarily by the editor.
+ </description>
+ </method>
+ </methods>
+ <members>
+ <member name="_data" type="PackedByteArray" setter="_set_data" getter="_get_data" default="PackedByteArray()">
+ </member>
+ <member name="keep_compressed_buffer" type="bool" setter="set_keep_compressed_buffer" getter="is_keeping_compressed_buffer" default="false">
+ When running on the editor, this class will keep the source compressed data in memory. Otherwise, the source compressed data is lost after loading and the resource can't be re saved.
+ This flag allows to keep the compressed data in memory if you intend it to persist after loading.
+ </member>
+ <member name="size_override" type="Vector2" setter="set_size_override" getter="get_size_override" default="Vector2(0, 0)">
+ Allow overriding the texture size (for 2D only).
+ </member>
+ </members>
+ <constants>
+ <constant name="COMPRESSION_MODE_LOSSLESS" value="0" enum="CompressionMode">
+ </constant>
+ <constant name="COMPRESSION_MODE_LOSSY" value="1" enum="CompressionMode">
+ </constant>
+ <constant name="COMPRESSION_MODE_BASIS_UNIVERSAL" value="2" enum="CompressionMode">
+ </constant>
+ <constant name="COMPRESSION_MODE_S3TC" value="3" enum="CompressionMode">
+ </constant>
+ <constant name="COMPRESSION_MODE_ETC2" value="4" enum="CompressionMode">
+ </constant>
+ <constant name="COMPRESSION_MODE_BPTC" value="5" enum="CompressionMode">
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/Position2D.xml b/doc/classes/Position2D.xml
index 881ec028de..754fd1fdf1 100644
--- a/doc/classes/Position2D.xml
+++ b/doc/classes/Position2D.xml
@@ -8,4 +8,9 @@
</description>
<tutorials>
</tutorials>
+ <members>
+ <member name="gizmo_extents" type="float" setter="set_gizmo_extents" getter="get_gizmo_extents" default="10.0">
+ Size of the gizmo cross that appears in the editor.
+ </member>
+ </members>
</class>
diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml
index 329d81342b..7046a21f68 100644
--- a/doc/classes/PrimitiveMesh.xml
+++ b/doc/classes/PrimitiveMesh.xml
@@ -34,10 +34,10 @@
</method>
</methods>
<members>
- <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb" default="AABB(0, 0, 0, 0, 0, 0)">
+ <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb">
Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices.
</member>
- <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces" default="false">
+ <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces">
If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn.
This gives the same result as using [constant BaseMaterial3D.CULL_FRONT] in [member BaseMaterial3D.cull_mode].
</member>
diff --git a/doc/classes/ProceduralSkyMaterial.xml b/doc/classes/ProceduralSkyMaterial.xml
index 2b15508119..bf33232406 100644
--- a/doc/classes/ProceduralSkyMaterial.xml
+++ b/doc/classes/ProceduralSkyMaterial.xml
@@ -23,6 +23,12 @@
<member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color" default="Color(0.6463, 0.6558, 0.6708, 1)">
Color of the ground at the horizon. Blends with [member ground_bottom_color].
</member>
+ <member name="sky_cover" type="Texture2D" setter="set_sky_cover" getter="get_sky_cover">
+ The sky cover texture to use. This texture must use an equirectangular projection (similar to [PanoramaSkyMaterial]). The texture's colors will be [i]added[/i] to the existing sky color, and will be multiplied by [member sky_energy] and [member sky_cover_modulate]. This is mainly suited to displaying stars at night, but it can also be used to display clouds at day or night (with a non-physically-accurate look).
+ </member>
+ <member name="sky_cover_modulate" type="Color" setter="set_sky_cover_modulate" getter="get_sky_cover_modulate" default="Color(1, 1, 1, 1)">
+ The tint to apply to the [member sky_cover] texture. This can be used to change the sky cover's colors or opacity independently of the sky energy, which is useful for day/night or weather transitions. Only effective if a texture is defined in [member sky_cover].
+ </member>
<member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve" default="0.15">
How quickly the [member sky_horizon_color] fades into the [member sky_top_color].
</member>
diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml
index 60b66a2493..1e9ab7c375 100644
--- a/doc/classes/ProgressBar.xml
+++ b/doc/classes/ProgressBar.xml
@@ -12,8 +12,6 @@
<member name="percent_visible" type="bool" setter="set_percent_visible" getter="is_percent_visible" default="true">
If [code]true[/code], the fill percentage is displayed on the bar.
</member>
- <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" />
- <member name="step" type="float" setter="set_step" getter="get_step" overrides="Range" default="0.01" />
</members>
<theme_items>
<theme_item name="font_color" data_type="color" type="Color" default="Color(0.95, 0.95, 0.95, 1)">
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 068b2c7757..7c6d6d1c10 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -512,7 +512,7 @@
</member>
<member name="display/window/size/resizable" type="bool" setter="" getter="" default="true">
Allows the window to be resizable by default.
- [b]Note:[/b] This setting is ignored on iOS and Android.
+ [b]Note:[/b] This setting is ignored on iOS.
</member>
<member name="display/window/size/viewport_height" type="int" setter="" getter="" default="600">
Sets the game's main viewport height. On desktop platforms, this is also the initial window height.
@@ -553,6 +553,14 @@
<member name="editor/script/templates_search_path" type="String" setter="" getter="" default="&quot;res://script_templates&quot;">
Search path for project-specific script templates. Godot will search for script templates both in the editor-specific path and in this project-specific path.
</member>
+ <member name="filesystem/import/blender/enabled" type="bool" setter="" getter="" default="true">
+ If [code]true[/code], Blender 3D scene files with the [code].blend[/code] extension will be imported by converting them to glTF 2.0.
+ This requires configuring a path to a Blender executable in the editor settings at [code]filesystem/import/blender/blender3_path[/code]. Blender 3.0 or later is required.
+ </member>
+ <member name="filesystem/import/fbx/enabled" type="bool" setter="" getter="" default="true">
+ If [code]true[/code], Autodesk FBX 3D scene files with the [code].fbx[/code] extension will be imported by converting them to glTF 2.0.
+ This requires configuring a path to a FBX2glTF executable in the editor settings at [code]filesystem/import/fbx/fbx2gltf_path[/code].
+ </member>
<member name="gui/common/default_scroll_deadzone" type="int" setter="" getter="" default="0">
Default value for [member ScrollContainer.scroll_deadzone], which will be used for all [ScrollContainer]s unless overridden.
</member>
@@ -570,9 +578,19 @@
<member name="gui/theme/default_font_antialiased" type="bool" setter="" getter="" default="true">
If set to [code]true[/code], default font uses 8-bit anitialiased glyph rendering. See [member FontData.antialiased].
</member>
+ <member name="gui/theme/default_font_generate_mipmaps" type="bool" setter="" getter="" default="false">
+ If set to [code]true[/code], the default font will have mipmaps generated. This prevents text from looking grainy when a [Control] is scaled down, or when a [Label3D] is viewed from a long distance (if [member Label3D.texture_filter] is set to a mode that displays mipmaps).
+ Enabling [member gui/theme/default_font_generate_mipmaps] increases font generation time and memory usage. Only enable this setting if you actually need it.
+ [b]Note:[/b] This setting does not affect custom [Font]s used within the project.
+ </member>
<member name="gui/theme/default_font_hinting" type="int" setter="" getter="" default="1">
Default font hinting mode. See [member FontData.hinting].
</member>
+ <member name="gui/theme/default_font_multichannel_signed_distance_field" type="bool" setter="" getter="" default="false">
+ If set to [code]true[/code], the default font will use multichannel signed distance field (MSDF) for crisp rendering at any size. Since this approach does not rely on rasterizing the font every time its size changes, this allows for resizing the font in real-time without any performance penalty. Text will also not look grainy for [Control]s that are scaled down (or for [Label3D]s viewed from a long distance).
+ MSDF font rendering can be combined with [member gui/theme/default_font_generate_mipmaps] to further improve font rendering quality when scaled down.
+ [b]Note:[/b] This setting does not affect custom [Font]s used within the project.
+ </member>
<member name="gui/theme/default_font_subpixel_positioning" type="int" setter="" getter="" default="1">
Default font glyph sub-pixel positioning mode. See [member FontData.subpixel_positioning].
</member>
@@ -1655,11 +1673,8 @@
<member name="rendering/environment/ssao/fadeout_to" type="float" setter="" getter="" default="300.0">
Distance at which the screen-space ambient occlusion is fully faded out. Use this hide ambient occlusion at great distances.
</member>
- <member name="rendering/environment/ssao/half_size" type="bool" setter="" getter="" default="false">
- If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details.
- </member>
- <member name="rendering/environment/ssao/half_size.mobile" type="bool" setter="" getter="" default="true">
- Lower-end override for [member rendering/environment/ssao/half_size] on mobile devices, due to performance concerns.
+ <member name="rendering/environment/ssao/half_size" type="bool" setter="" getter="" default="true">
+ If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details. If [code]false[/code], screen-space ambient occlusion will be rendered at full size.
</member>
<member name="rendering/environment/ssao/quality" type="int" setter="" getter="" default="2">
Sets the quality of the screen-space ambient occlusion effect. Higher values take more samples and so will result in better quality, at the cost of performance. Setting to [code]ULTRA[/code] will use the [member rendering/environment/ssao/adaptive_target] setting.
@@ -1918,7 +1933,7 @@
</member>
<member name="rendering/vulkan/staging_buffer/texture_upload_region_size_px" type="int" setter="" getter="" default="64">
</member>
- <member name="xr/openxr/default_action_map" type="String" setter="" getter="" default="&quot;res://default_action_map.tres&quot;">
+ <member name="xr/openxr/default_action_map" type="String" setter="" getter="" default="&quot;res://openxr_action_map.tres&quot;">
Action map configuration to load by default.
</member>
<member name="xr/openxr/enabled" type="bool" setter="" getter="" default="false">
@@ -1931,7 +1946,7 @@
Specify the default reference space.
</member>
<member name="xr/openxr/view_configuration" type="int" setter="" getter="" default="&quot;1&quot;">
- Specify the view configuration with which to configure OpenXR settting up either Mono or Stereo rendering.
+ Specify the view configuration with which to configure OpenXR setting up either Mono or Stereo rendering.
</member>
<member name="xr/shaders/enabled" type="bool" setter="" getter="" default="false">
If [code]true[/code], Godot will compile shaders required for XR.
diff --git a/doc/classes/Quaternion.xml b/doc/classes/Quaternion.xml
index c94b649b58..48e6317b11 100644
--- a/doc/classes/Quaternion.xml
+++ b/doc/classes/Quaternion.xml
@@ -91,6 +91,11 @@
Returns the dot product of two quaternions.
</description>
</method>
+ <method name="exp" qualifiers="const">
+ <return type="Quaternion" />
+ <description>
+ </description>
+ </method>
<method name="get_angle" qualifiers="const">
<return type="float" />
<description>
@@ -138,6 +143,11 @@
Returns the length of the quaternion, squared.
</description>
</method>
+ <method name="log" qualifiers="const">
+ <return type="Quaternion" />
+ <description>
+ </description>
+ </method>
<method name="normalized" qualifiers="const">
<return type="Quaternion" />
<description>
@@ -188,11 +198,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Quaternion" />
<description>
Returns [code]true[/code] if the quaternions are not equal.
@@ -257,11 +262,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Quaternion" />
<description>
Returns [code]true[/code] if the quaternions are exactly equal.
diff --git a/doc/classes/RID.xml b/doc/classes/RID.xml
index 6888c1f56c..39be605e1b 100644
--- a/doc/classes/RID.xml
+++ b/doc/classes/RID.xml
@@ -40,11 +40,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
@@ -63,11 +58,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="RID" />
<description>
</description>
diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml
index c150198eb1..df6efd155a 100644
--- a/doc/classes/Range.xml
+++ b/doc/classes/Range.xml
@@ -11,53 +11,54 @@
<methods>
<method name="_value_changed" qualifiers="virtual">
<return type="void" />
- <argument index="0" name="" type="float" />
+ <argument index="0" name="new_value" type="float" />
<description>
+ Called when the [Range]'s value is changed (following the same conditions as [signal value_changed]).
</description>
</method>
<method name="share">
<return type="void" />
<argument index="0" name="with" type="Node" />
<description>
- Binds two ranges together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group.
+ Binds two [Range]s together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group.
</description>
</method>
<method name="unshare">
<return type="void" />
<description>
- Stops range from sharing its member variables with any other.
+ Stops the [Range] from sharing its member variables with any other.
</description>
</method>
</methods>
<members>
- <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed" default="false">
+ <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed">
If [code]true[/code], [member value] may be greater than [member max_value].
</member>
- <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed" default="false">
+ <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed">
If [code]true[/code], [member value] may be less than [member min_value].
</member>
- <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp" default="false">
+ <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp">
If [code]true[/code], and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly.
</member>
- <member name="max_value" type="float" setter="set_max" getter="get_max" default="100.0">
+ <member name="max_value" type="float" setter="set_max" getter="get_max">
Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code].
</member>
- <member name="min_value" type="float" setter="set_min" getter="get_min" default="0.0">
+ <member name="min_value" type="float" setter="set_min" getter="get_min">
Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code].
</member>
- <member name="page" type="float" setter="set_page" getter="get_page" default="0.0">
+ <member name="page" type="float" setter="set_page" getter="get_page">
Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [code]page[/code] over the difference between [code]min_value[/code] and [code]max_value[/code].
</member>
<member name="ratio" type="float" setter="set_as_ratio" getter="get_as_ratio">
The value mapped between 0 and 1.
</member>
- <member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values" default="false">
+ <member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values">
If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer.
</member>
- <member name="step" type="float" setter="set_step" getter="get_step" default="1.0">
+ <member name="step" type="float" setter="set_step" getter="get_step">
If greater than 0, [code]value[/code] will always be rounded to a multiple of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], [code]value[/code] will first be rounded to a multiple of [code]step[/code] then rounded to the nearest integer.
</member>
- <member name="value" type="float" setter="set_value" getter="get_value" default="0.0">
+ <member name="value" type="float" setter="set_value" getter="get_value">
Range's current value.
</member>
</members>
@@ -70,7 +71,8 @@
<signal name="value_changed">
<argument index="0" name="value" type="float" />
<description>
- Emitted when [member value] changes.
+ Emitted when [member value] changes. When used on a [Slider], this is called continuously while dragging (potentially every frame). If you are performing an expensive operation in a function connected to [signal value_changed], consider using a [i]debouncing[/i] [Timer] to call the function less often.
+ [b]Note:[/b] Unlike signals such as [signal LineEdit.text_changed], [signal value_changed] is also emitted when [code]value[/code] is set directly via code.
</description>
</signal>
</signals>
diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml
index a975382bfa..e4b66a9d53 100644
--- a/doc/classes/Rect2.xml
+++ b/doc/classes/Rect2.xml
@@ -189,11 +189,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Rect2" />
<description>
Returns [code]true[/code] if the rectangles are not equal.
@@ -209,11 +204,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Rect2" />
<description>
Returns [code]true[/code] if the rectangles are exactly equal.
diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml
index 49fdd8e7e8..c9ae685a15 100644
--- a/doc/classes/Rect2i.xml
+++ b/doc/classes/Rect2i.xml
@@ -178,11 +178,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Rect2i" />
<description>
Returns [code]true[/code] if the rectangles are not equal.
@@ -190,11 +185,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Rect2i" />
<description>
Returns [code]true[/code] if the rectangles are equal.
diff --git a/doc/classes/RectangleShape2D.xml b/doc/classes/RectangleShape2D.xml
index cc3da8a789..124d752ae0 100644
--- a/doc/classes/RectangleShape2D.xml
+++ b/doc/classes/RectangleShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="RectangleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Rectangle shape for 2D collisions.
+ Rectangle shape resource for 2D physics.
</brief_description>
<description>
- Rectangle shape for 2D collisions. This shape is useful for modeling box-like 2D objects.
+ 2D rectangle shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. This shape is useful for modeling box-like 2D objects.
+ [b]Performance:[/b] Being a primitive collision shape, [RectangleShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]).
</description>
<tutorials>
<link title="2D Pong Demo">https://godotengine.org/asset-library/asset/121</link>
diff --git a/doc/classes/ReflectionProbe.xml b/doc/classes/ReflectionProbe.xml
index debbfd8d5d..ff66a89cb7 100644
--- a/doc/classes/ReflectionProbe.xml
+++ b/doc/classes/ReflectionProbe.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
Captures its surroundings as a cubemap, and stores versions of it with increasing levels of blur to simulate different material roughnesses.
- The [ReflectionProbe] is used to create high-quality reflections at a low performance cost (when [member update_mode] is [constant UPDATE_ONCE]). [ReflectionProbe]s can be blended together and with the rest of the scene smoothly. [ReflectionProbe]s can also be combined with [VoxelGI], SDFGI ([member Environment.sdfgi_enabled]) and screen-space reflections ([member Environment.ss_reflections_enabled]) to get more accurate reflections in specific areas. [ReflectionProbe]s render all objects within their [member cull_mask], so updating them can be quite expensive. It is best to update them once with the important static objects and then leave them as-is.
+ The [ReflectionProbe] is used to create high-quality reflections at a low performance cost (when [member update_mode] is [constant UPDATE_ONCE]). [ReflectionProbe]s can be blended together and with the rest of the scene smoothly. [ReflectionProbe]s can also be combined with [VoxelGI], SDFGI ([member Environment.sdfgi_enabled]) and screen-space reflections ([member Environment.ssr_enabled]) to get more accurate reflections in specific areas. [ReflectionProbe]s render all objects within their [member cull_mask], so updating them can be quite expensive. It is best to update them once with the important static objects and then leave them as-is.
[b]Note:[/b] Unlike [VoxelGI] and SDFGI, [ReflectionProbe]s only source their environment from a [WorldEnvironment] node. If you specify an [Environment] resource within a [Camera3D] node, it will be ignored by the [ReflectionProbe]. This can lead to incorrect lighting within the [ReflectionProbe].
</description>
<tutorials>
diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml
index 50990b5320..5bb83c8ffd 100644
--- a/doc/classes/RenderingServer.xml
+++ b/doc/classes/RenderingServer.xml
@@ -149,6 +149,17 @@
Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method.
</description>
</method>
+ <method name="canvas_item_add_animation_slice">
+ <return type="void" />
+ <argument index="0" name="item" type="RID" />
+ <argument index="1" name="animation_length" type="float" />
+ <argument index="2" name="slice_begin" type="float" />
+ <argument index="3" name="slice_end" type="float" />
+ <argument index="4" name="offset" type="float" default="0.0" />
+ <description>
+ Subsequent drawing commands will be ignored unless they fall within the specified animation slice. This is a faster way to implement animations that loop on background rather than redrawing constantly.
+ </description>
+ </method>
<method name="canvas_item_add_circle">
<return type="void" />
<argument index="0" name="item" type="RID" />
@@ -172,6 +183,7 @@
<argument index="2" name="to" type="Vector2" />
<argument index="3" name="color" type="Color" />
<argument index="4" name="width" type="float" default="1.0" />
+ <argument index="5" name="antialiased" type="bool" default="false" />
<description>
</description>
</method>
@@ -1605,10 +1617,10 @@
Sets the shadow mode for this directional light. Equivalent to [member DirectionalLight3D.directional_shadow_mode]. See [enum LightDirectionalShadowMode] for options.
</description>
</method>
- <method name="light_directional_set_sky_only">
+ <method name="light_directional_set_sky_mode">
<return type="void" />
<argument index="0" name="light" type="RID" />
- <argument index="1" name="enable" type="bool" />
+ <argument index="1" name="mode" type="int" enum="RenderingServer.LightDirectionalSkyMode" />
<description>
If [code]true[/code], this light will not be used for anything except sky shaders. Use this for lights that impact your sky shader that you may want to hide from affecting the rest of the scene. For example, you may want to enable this when the sun in your sky shader falls below the horizon.
</description>
@@ -3784,6 +3796,15 @@
<constant name="LIGHT_DIRECTIONAL_SHADOW_PARALLEL_4_SPLITS" value="2" enum="LightDirectionalShadowMode">
Use 4 splits for shadow projection when using directional light.
</constant>
+ <constant name="LIGHT_DIRECTIONAL_SKY_MODE_LIGHT_AND_SKY" value="0" enum="LightDirectionalSkyMode">
+ Use DirectionalLight3D in both sky rendering and scene lighting.
+ </constant>
+ <constant name="LIGHT_DIRECTIONAL_SKY_MODE_LIGHT_ONLY" value="1" enum="LightDirectionalSkyMode">
+ Only use DirectionalLight3D in scene lighting.
+ </constant>
+ <constant name="LIGHT_DIRECTIONAL_SKY_MODE_SKY_ONLY" value="2" enum="LightDirectionalSkyMode">
+ Only use DirectionalLight3D in sky rendering.
+ </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.
@@ -3912,10 +3933,10 @@
[FogVolume] will have no shape, will cover the whole world and will not be culled.
</constant>
<constant name="VIEWPORT_SCALING_3D_MODE_BILINEAR" value="0" enum="ViewportScaling3DMode">
- Enables bilinear scaling on 3D viewports. The amount of scaling can be set using [member Viewport.scaling_3d_scale]. Values less then [code]1.0[/code] will result in undersampling while values greater than [code]1.0[/code] will result in supersampling. A value of [code]1.0[/code] disables scaling.
+ Use bilinear scaling for the viewport's 3D buffer. The amount of scaling can be set using [member Viewport.scaling_3d_scale]. Values less then [code]1.0[/code] will result in undersampling while values greater than [code]1.0[/code] will result in supersampling. A value of [code]1.0[/code] disables scaling.
</constant>
<constant name="VIEWPORT_SCALING_3D_MODE_FSR" value="1" enum="ViewportScaling3DMode">
- Enables FSR upscaling on 3D viewports. The amount of scaling can be set using [member Viewport.scaling_3d_scale]. Values less then [code]1.0[/code] will be result in the viewport being upscaled using FSR. Values greater than [code]1.0[/code] are not supported and bilinear supersampling will be used instead. A value of [code]1.0[/code] disables scaling.
+ Use AMD FidelityFX Super Resolution 1.0 upscaling for the viewport's 3D buffer. The amount of scaling can be set using [member Viewport.scaling_3d_scale]. Values less then [code]1.0[/code] will be result in the viewport being upscaled using FSR. Values greater than [code]1.0[/code] are not supported and bilinear downsampling will be used instead. A value of [code]1.0[/code] disables scaling.
</constant>
<constant name="VIEWPORT_SCALING_3D_MODE_MAX" value="2" enum="ViewportScaling3DMode">
</constant>
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index d5e134fc60..62a692d4a7 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -49,6 +49,12 @@
Clears the tag stack and sets [member text] to an empty string.
</description>
</method>
+ <method name="deselect">
+ <return type="void" />
+ <description>
+ Clears the current selection.
+ </description>
+ </method>
<method name="get_character_line">
<return type="int" />
<argument index="0" name="character" type="int" />
@@ -88,6 +94,13 @@
Returns the vertical offset of the line found at the provided index.
</description>
</method>
+ <method name="get_menu" qualifiers="const">
+ <return type="PopupMenu" />
+ <description>
+ Returns the [PopupMenu] of this [RichTextLabel]. By default, this menu is displayed when right-clicking on the [RichTextLabel].
+ [b]Warning:[/b] This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their [member Window.visible] property.
+ </description>
+ </method>
<method name="get_paragraph_count" qualifiers="const">
<return type="int" />
<description>
@@ -157,6 +170,12 @@
Installs a custom effect. [code]effect[/code] should be a valid [RichTextEffect].
</description>
</method>
+ <method name="is_menu_visible" qualifiers="const">
+ <return type="bool" />
+ <description>
+ Returns whether the menu is visible. Use this instead of [code]get_menu().visible[/code] to improve performance (so the creation of the menu is avoided).
+ </description>
+ </method>
<method name="newline">
<return type="void" />
<description>
@@ -256,6 +275,13 @@
Adds a [code][font_size][/code] tag to the tag stack. Overrides default font size for its duration.
</description>
</method>
+ <method name="push_hint">
+ <return type="void" />
+ <argument index="0" name="description" type="String" />
+ <description>
+ Adds a [code][hint][/code] tag to the tag stack. Same as BBCode [code][hint=something]{text}[/hint][/code].
+ </description>
+ </method>
<method name="push_indent">
<return type="void" />
<argument index="0" name="level" type="int" />
@@ -316,7 +342,7 @@
<argument index="0" name="alignment" type="int" enum="HorizontalAlignment" />
<argument index="1" name="base_direction" type="int" enum="Control.TextDirection" default="0" />
<argument index="2" name="language" type="String" default="&quot;&quot;" />
- <argument index="3" name="st_parser" type="int" enum="Control.StructuredTextParser" default="0" />
+ <argument index="3" name="st_parser" type="int" enum="TextServer.StructuredTextParser" default="0" />
<description>
Adds a [code][p][/code] tag to the tag stack.
</description>
@@ -363,6 +389,13 @@
Scrolls the window's top line to match first line of the [code]paragraph[/code].
</description>
</method>
+ <method name="select_all">
+ <return type="void" />
+ <description>
+ Select all the text.
+ If [member selection_enabled] is [code]false[/code], no selection will occur.
+ </description>
+ </method>
<method name="set_cell_border_color">
<return type="void" />
<argument index="0" name="color" type="Color" />
@@ -413,6 +446,9 @@
If [code]true[/code], the label uses BBCode formatting.
</member>
<member name="clip_contents" type="bool" setter="set_clip_contents" getter="is_clipping_contents" overrides="Control" default="true" />
+ <member name="context_menu_enabled" type="bool" setter="set_context_menu_enabled" getter="is_context_menu_enabled" default="false">
+ If [code]true[/code], a right-click displays the context menu.
+ </member>
<member name="custom_effects" type="Array" setter="set_effects" getter="get_effects" default="[]">
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].
@@ -424,6 +460,9 @@
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.
</member>
+ <member name="hint_underlined" type="bool" setter="set_hint_underline" getter="is_hint_underlined" default="true">
+ If [code]true[/code], the label underlines hint tags such as [code][hint=description]{text}[/hint][/code].
+ </member>
<member name="language" type="String" setter="set_language" getter="get_language" default="&quot;&quot;">
Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead.
</member>
@@ -446,7 +485,10 @@
<member name="selection_enabled" type="bool" setter="set_selection_enabled" getter="is_selection_enabled" default="false">
If [code]true[/code], the label allows text selection.
</member>
- <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0">
+ <member name="shortcut_keys_enabled" type="bool" setter="set_shortcut_keys_enabled" getter="is_shortcut_keys_enabled" default="true">
+ If [code]true[/code], shortcut keys for context menu items are enabled, even if the context menu is disabled.
+ </member>
+ <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0">
Set BiDi algorithm override for the structured text.
</member>
<member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]">
@@ -563,9 +605,11 @@
</constant>
<constant name="ITEM_META" value="23" enum="ItemType">
</constant>
- <constant name="ITEM_DROPCAP" value="24" enum="ItemType">
+ <constant name="ITEM_HINT" value="24" enum="ItemType">
+ </constant>
+ <constant name="ITEM_DROPCAP" value="25" enum="ItemType">
</constant>
- <constant name="ITEM_CUSTOMFX" value="25" enum="ItemType">
+ <constant name="ITEM_CUSTOMFX" value="26" enum="ItemType">
</constant>
<constant name="VC_CHARS_BEFORE_SHAPING" value="0" enum="VisibleCharactersBehavior">
Trims text before the shaping. e.g, increasing [member visible_characters] value is visually identical to typing the text.
@@ -623,10 +667,10 @@
<theme_item name="shadow_outline_size" data_type="constant" type="int" default="1">
The size of the shadow outline.
</theme_item>
- <theme_item name="table_hseparation" data_type="constant" type="int" default="3">
+ <theme_item name="table_h_separation" data_type="constant" type="int" default="3">
The horizontal separation of elements in a table.
</theme_item>
- <theme_item name="table_vseparation" data_type="constant" type="int" default="3">
+ <theme_item name="table_v_separation" data_type="constant" type="int" default="3">
The vertical separation of elements in a table.
</theme_item>
<theme_item name="bold_font" data_type="font" type="Font">
diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml
index f3dfc727b0..ddff766b17 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -14,7 +14,7 @@
</tutorials>
<methods>
<method name="call_group" qualifiers="vararg">
- <return type="Variant" />
+ <return type="void" />
<argument index="0" name="group" type="StringName" />
<argument index="1" name="method" type="StringName" />
<description>
@@ -24,7 +24,7 @@
</description>
</method>
<method name="call_group_flags" qualifiers="vararg">
- <return type="Variant" />
+ <return type="void" />
<argument index="0" name="flags" type="int" />
<argument index="1" name="group" type="StringName" />
<argument index="2" name="method" type="StringName" />
@@ -99,6 +99,13 @@
Returns the current frame number, i.e. the total frame count since the application started.
</description>
</method>
+ <method name="get_multiplayer" qualifiers="const">
+ <return type="MultiplayerAPI" />
+ <argument index="0" name="for_path" type="NodePath" default="NodePath(&quot;&quot;)" />
+ <description>
+ Return the [MultiplayerAPI] configured for the given path, or the default one if [code]for_path[/code] is empty.
+ </description>
+ </method>
<method name="get_node_count" qualifiers="const">
<return type="int" />
<description>
@@ -193,6 +200,14 @@
Sets the given [code]property[/code] to [code]value[/code] on all members of the given group, respecting the given [enum GroupCallFlags].
</description>
</method>
+ <method name="set_multiplayer">
+ <return type="void" />
+ <argument index="0" name="multiplayer" type="MultiplayerAPI" />
+ <argument index="1" name="root_path" type="NodePath" default="NodePath(&quot;&quot;)" />
+ <description>
+ Sets a custom [MultiplayerAPI] with the given [code]root_path[/code] (controlling also the relative subpaths), or override the default one if [code]root_path[/code] is empty.
+ </description>
+ </method>
<method name="set_quit_on_go_back">
<return type="void" />
<argument index="0" name="enabled" type="bool" />
@@ -215,9 +230,6 @@
<member name="edited_scene_root" type="Node" setter="set_edited_scene_root" getter="get_edited_scene_root">
The root of the edited scene.
</member>
- <member name="multiplayer" type="MultiplayerAPI" setter="set_multiplayer" getter="get_multiplayer">
- The default [MultiplayerAPI] instance for this [SceneTree].
- </member>
<member name="multiplayer_poll" type="bool" setter="set_multiplayer_poll_enabled" getter="is_multiplayer_poll_enabled" default="true">
If [code]true[/code] (default value), enables automatic polling of the [MultiplayerAPI] for this SceneTree during [signal process_frame].
If [code]false[/code], you need to manually call [method MultiplayerAPI.poll] to process network packets and deliver RPCs. This allows running RPCs in a different loop (e.g. physics, thread, specific time step) and for manual [Mutex] protection when accessing the [MultiplayerAPI] from threads.
diff --git a/doc/classes/ScriptExtension.xml b/doc/classes/ScriptExtension.xml
new file mode 100644
index 0000000000..91fa6206d7
--- /dev/null
+++ b/doc/classes/ScriptExtension.xml
@@ -0,0 +1,173 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="ScriptExtension" inherits="Script" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_can_instantiate" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_editor_can_reload_from_file" qualifiers="virtual">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_base_script" qualifiers="virtual const">
+ <return type="Script" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_constants" qualifiers="virtual const">
+ <return type="Dictionary" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_documentation" qualifiers="virtual const">
+ <return type="Dictionary[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_instance_base_type" qualifiers="virtual const">
+ <return type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_language" qualifiers="virtual const">
+ <return type="ScriptLanguage" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_member_line" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="member" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_members" qualifiers="virtual const">
+ <return type="StringName[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_method_info" qualifiers="virtual const">
+ <return type="Dictionary" />
+ <argument index="0" name="method" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_property_default_value" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="property" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_rpc_methods" qualifiers="virtual const">
+ <return type="Dictionary[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_script_method_list" qualifiers="virtual const">
+ <return type="Dictionary[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_script_property_list" qualifiers="virtual const">
+ <return type="Dictionary[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_script_signal_list" qualifiers="virtual const">
+ <return type="Dictionary[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_source_code" qualifiers="virtual const">
+ <return type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_has_method" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="method" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_has_script_signal" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="signal" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_has_source_code" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_inherits_script" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="script" type="Script" />
+ <description>
+ </description>
+ </method>
+ <method name="_instance_create" qualifiers="virtual const">
+ <return type="void*" />
+ <argument index="0" name="for_object" type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_instance_has" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="object" type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_placeholder_fallback_enabled" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_tool" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_valid" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_placeholder_erased" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="placeholder" type="void*" />
+ <description>
+ </description>
+ </method>
+ <method name="_placeholder_instance_create" qualifiers="virtual const">
+ <return type="void*" />
+ <argument index="0" name="for_object" type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_reload" qualifiers="virtual">
+ <return type="int" enum="Error" />
+ <argument index="0" name="keep_state" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_set_source_code" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="code" type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_update_exports" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ </methods>
+</class>
diff --git a/doc/classes/ScriptLanguage.xml b/doc/classes/ScriptLanguage.xml
new file mode 100644
index 0000000000..b229e461f5
--- /dev/null
+++ b/doc/classes/ScriptLanguage.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="ScriptLanguage" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/ScriptLanguageExtension.xml b/doc/classes/ScriptLanguageExtension.xml
new file mode 100644
index 0000000000..d66bb6a7c7
--- /dev/null
+++ b/doc/classes/ScriptLanguageExtension.xml
@@ -0,0 +1,416 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="ScriptLanguageExtension" inherits="ScriptLanguage" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_add_global_constant" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="name" type="StringName" />
+ <argument index="1" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_add_named_global_constant" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="name" type="StringName" />
+ <argument index="1" name="value" type="Variant" />
+ <description>
+ </description>
+ </method>
+ <method name="_alloc_instance_binding_data" qualifiers="virtual">
+ <return type="void*" />
+ <argument index="0" name="object" type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_auto_indent_code" qualifiers="virtual const">
+ <return type="String" />
+ <argument index="0" name="code" type="String" />
+ <argument index="1" name="from_line" type="int" />
+ <argument index="2" name="to_line" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_can_inherit_from_file" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_complete_code" qualifiers="virtual const">
+ <return type="Dictionary" />
+ <argument index="0" name="code" type="String" />
+ <argument index="1" name="path" type="String" />
+ <argument index="2" name="owner" type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_create_script" qualifiers="virtual const">
+ <return type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_current_stack_info" qualifiers="virtual">
+ <return type="Dictionary[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_error" qualifiers="virtual const">
+ <return type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_globals" qualifiers="virtual">
+ <return type="Dictionary" />
+ <argument index="0" name="max_subitems" type="int" />
+ <argument index="1" name="max_depth" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_stack_level_count" qualifiers="virtual const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_stack_level_function" qualifiers="virtual const">
+ <return type="String" />
+ <argument index="0" name="level" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_stack_level_instance" qualifiers="virtual">
+ <return type="void*" />
+ <argument index="0" name="level" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_stack_level_line" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="level" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_stack_level_locals" qualifiers="virtual">
+ <return type="Dictionary" />
+ <argument index="0" name="level" type="int" />
+ <argument index="1" name="max_subitems" type="int" />
+ <argument index="2" name="max_depth" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_get_stack_level_members" qualifiers="virtual">
+ <return type="Dictionary" />
+ <argument index="0" name="level" type="int" />
+ <argument index="1" name="max_subitems" type="int" />
+ <argument index="2" name="max_depth" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_debug_parse_stack_level_expression" qualifiers="virtual">
+ <return type="String" />
+ <argument index="0" name="level" type="int" />
+ <argument index="1" name="expression" type="String" />
+ <argument index="2" name="max_subitems" type="int" />
+ <argument index="3" name="max_depth" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_execute_file" qualifiers="virtual">
+ <return type="int" enum="Error" />
+ <argument index="0" name="path" type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_find_function" qualifiers="virtual const">
+ <return type="int" />
+ <argument index="0" name="class_name" type="String" />
+ <argument index="1" name="function_name" type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_finish" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_frame" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_free_instance_binding_data" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="data" type="void*" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_built_in_templates" qualifiers="virtual const">
+ <return type="Dictionary[]" />
+ <argument index="0" name="object" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_comment_delimiters" qualifiers="virtual const">
+ <return type="PackedStringArray" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_extension" qualifiers="virtual const">
+ <return type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_global_class_name" qualifiers="virtual const">
+ <return type="Dictionary" />
+ <argument index="0" name="path" type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_name" qualifiers="virtual const">
+ <return type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_public_constants" qualifiers="virtual const">
+ <return type="Dictionary" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_public_functions" qualifiers="virtual const">
+ <return type="Dictionary[]" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_recognized_extensions" qualifiers="virtual const">
+ <return type="PackedStringArray" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_reserved_words" qualifiers="virtual const">
+ <return type="PackedStringArray" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_string_delimiters" qualifiers="virtual const">
+ <return type="PackedStringArray" />
+ <description>
+ </description>
+ </method>
+ <method name="_get_type" qualifiers="virtual const">
+ <return type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_handles_global_class_type" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="type" type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_has_named_classes" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_init" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_control_flow_keyword" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="keyword" type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_is_using_templates" qualifiers="virtual">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_lookup_code" qualifiers="virtual const">
+ <return type="Dictionary" />
+ <argument index="0" name="code" type="String" />
+ <argument index="1" name="symbol" type="String" />
+ <argument index="2" name="path" type="String" />
+ <argument index="3" name="owner" type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_make_function" qualifiers="virtual const">
+ <return type="String" />
+ <argument index="0" name="class_name" type="String" />
+ <argument index="1" name="function_name" type="String" />
+ <argument index="2" name="function_args" type="PackedStringArray" />
+ <description>
+ </description>
+ </method>
+ <method name="_make_template" qualifiers="virtual const">
+ <return type="Script" />
+ <argument index="0" name="template" type="String" />
+ <argument index="1" name="class_name" type="String" />
+ <argument index="2" name="base_class_name" type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="_open_in_external_editor" qualifiers="virtual">
+ <return type="int" enum="Error" />
+ <argument index="0" name="script" type="Script" />
+ <argument index="1" name="line" type="int" />
+ <argument index="2" name="column" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_overrides_external_editor" qualifiers="virtual">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_profiling_get_accumulated_data" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="info_array" type="ScriptLanguageExtensionProfilingInfo*" />
+ <argument index="1" name="info_max" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_profiling_get_frame_data" qualifiers="virtual">
+ <return type="int" />
+ <argument index="0" name="info_array" type="ScriptLanguageExtensionProfilingInfo*" />
+ <argument index="1" name="info_max" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="_profiling_start" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_profiling_stop" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_refcount_decremented_instance_binding" qualifiers="virtual">
+ <return type="bool" />
+ <argument index="0" name="object" type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_refcount_incremented_instance_binding" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="object" type="Object" />
+ <description>
+ </description>
+ </method>
+ <method name="_reload_all_scripts" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_reload_tool_script" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="script" type="Script" />
+ <argument index="1" name="soft_reload" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_remove_named_global_constant" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="name" type="StringName" />
+ <description>
+ </description>
+ </method>
+ <method name="_supports_builtin_mode" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_supports_documentation" qualifiers="virtual const">
+ <return type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_thread_enter" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_thread_exit" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ </description>
+ </method>
+ <method name="_validate" qualifiers="virtual const">
+ <return type="Dictionary" />
+ <argument index="0" name="script" type="String" />
+ <argument index="1" name="path" type="String" />
+ <argument index="2" name="validate_functions" type="bool" />
+ <argument index="3" name="validate_errors" type="bool" />
+ <argument index="4" name="validate_warnings" type="bool" />
+ <argument index="5" name="validate_safe_lines" type="bool" />
+ <description>
+ </description>
+ </method>
+ <method name="_validate_path" qualifiers="virtual const">
+ <return type="String" />
+ <argument index="0" name="path" type="String" />
+ <description>
+ </description>
+ </method>
+ </methods>
+ <constants>
+ <constant name="LOOKUP_RESULT_SCRIPT_LOCATION" value="0" enum="LookupResultType">
+ </constant>
+ <constant name="LOOKUP_RESULT_CLASS" value="1" enum="LookupResultType">
+ </constant>
+ <constant name="LOOKUP_RESULT_CLASS_CONSTANT" value="2" enum="LookupResultType">
+ </constant>
+ <constant name="LOOKUP_RESULT_CLASS_PROPERTY" value="3" enum="LookupResultType">
+ </constant>
+ <constant name="LOOKUP_RESULT_CLASS_METHOD" value="4" enum="LookupResultType">
+ </constant>
+ <constant name="LOOKUP_RESULT_CLASS_ENUM" value="5" enum="LookupResultType">
+ </constant>
+ <constant name="LOOKUP_RESULT_CLASS_TBD_GLOBALSCOPE" value="6" enum="LookupResultType">
+ </constant>
+ <constant name="LOOKUP_RESULT_MAX" value="7" enum="LookupResultType">
+ </constant>
+ <constant name="LOCATION_LOCAL" value="0" enum="CodeCompletionLocation">
+ The option is local to the location of the code completion query - e.g. a local variable.
+ </constant>
+ <constant name="LOCATION_PARENT_MASK" value="256" enum="CodeCompletionLocation">
+ The option is from the containing class or a parent class, relative to the location of the code completion query. Perform a bitwise OR with the class depth (e.g. 0 for the local class, 1 for the parent, 2 for the grandparent, etc) to store the depth of an option in a the class or a parent class.
+ </constant>
+ <constant name="LOCATION_OTHER_USER_CODE" value="512" enum="CodeCompletionLocation">
+ The option is from user code which is not local and not in a derived class (e.g. Autoload Singletons).
+ </constant>
+ <constant name="LOCATION_OTHER" value="1024" enum="CodeCompletionLocation">
+ The option is from other engine code, not covered by the other enum constants - e.g. built-in classes.
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_CLASS" value="0" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_FUNCTION" value="1" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_SIGNAL" value="2" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_VARIABLE" value="3" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_MEMBER" value="4" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_ENUM" value="5" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_CONSTANT" value="6" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_NODE_PATH" value="7" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_FILE_PATH" value="8" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_PLAIN_TEXT" value="9" enum="CodeCompletionKind">
+ </constant>
+ <constant name="CODE_COMPLETION_KIND_MAX" value="10" enum="CodeCompletionKind">
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/ScrollBar.xml b/doc/classes/ScrollBar.xml
index 266787c9c8..d0dd69408e 100644
--- a/doc/classes/ScrollBar.xml
+++ b/doc/classes/ScrollBar.xml
@@ -12,8 +12,6 @@
<member name="custom_step" type="float" setter="set_custom_step" getter="get_custom_step" default="-1.0">
Overrides the step used when clicking increment and decrement buttons or when using arrow keys when the [ScrollBar] is focused.
</member>
- <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" />
- <member name="step" type="float" setter="set_step" getter="get_step" overrides="Range" default="0.0" />
</members>
<signals>
<signal name="scrolling">
diff --git a/doc/classes/SegmentShape2D.xml b/doc/classes/SegmentShape2D.xml
index 8109886262..a1809301e5 100644
--- a/doc/classes/SegmentShape2D.xml
+++ b/doc/classes/SegmentShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SegmentShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Segment shape for 2D collisions.
+ Segment shape resource for 2D physics.
</brief_description>
<description>
- Segment shape for 2D collisions. Consists of two points, [code]a[/code] and [code]b[/code].
+ 2D segment shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. Consists of two points, [code]a[/code] and [code]b[/code].
+ [b]Performance:[/b] Being a primitive collision shape, [SegmentShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]).
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/SeparationRayShape2D.xml b/doc/classes/SeparationRayShape2D.xml
index 3e7a2857bf..d67c7b4cd9 100644
--- a/doc/classes/SeparationRayShape2D.xml
+++ b/doc/classes/SeparationRayShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SeparationRayShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Separation ray shape for 2D collisions.
+ Separation ray shape resource for 2D physics.
</brief_description>
<description>
- Separation ray shape for 2D collisions. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ 2D separation ray shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ [b]Performance:[/b] Being a primitive collision shape, [SeparationRayShape2D] is fast to check collisions against.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/SeparationRayShape3D.xml b/doc/classes/SeparationRayShape3D.xml
index 028c3ba511..0fb4a07457 100644
--- a/doc/classes/SeparationRayShape3D.xml
+++ b/doc/classes/SeparationRayShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SeparationRayShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Separation ray shape for 3D collisions.
+ Separation ray shape resource for 3D physics.
</brief_description>
<description>
- Separation ray shape for 3D collisions, which can be set into a [PhysicsBody3D] or [Area3D]. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ 3D separation ray shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters.
+ [b]Performance:[/b] Being a primitive collision shape, [SeparationRayShape3D] is fast to check collisions against.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Signal.xml b/doc/classes/Signal.xml
index 1b67900607..049e7f8777 100644
--- a/doc/classes/Signal.xml
+++ b/doc/classes/Signal.xml
@@ -6,6 +6,8 @@
<description>
</description>
<tutorials>
+ <link title="Using Signals">$DOCS_URL/getting_started/step_by_step/signals.html</link>
+ <link title="GDScript Basics">$DOCS_URL/tutorials/scripting/gdscript/gdscript_basics.html#signals</link>
</tutorials>
<constructors>
<constructor name="Signal">
@@ -99,22 +101,12 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Signal" />
<description>
</description>
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Signal" />
<description>
</description>
diff --git a/doc/classes/Slider.xml b/doc/classes/Slider.xml
index 03f20b0aab..4139530db1 100644
--- a/doc/classes/Slider.xml
+++ b/doc/classes/Slider.xml
@@ -13,11 +13,9 @@
<member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true">
If [code]true[/code], the slider can be interacted with. If [code]false[/code], the value can be changed only by code.
</member>
- <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" />
<member name="scrollable" type="bool" setter="set_scrollable" getter="is_scrollable" default="true">
If [code]true[/code], the value can be changed using the mouse wheel.
</member>
- <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" />
<member name="tick_count" type="int" setter="set_ticks" getter="get_ticks" default="0">
Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers.
</member>
diff --git a/doc/classes/SphereShape3D.xml b/doc/classes/SphereShape3D.xml
index b5e9c9069b..63084f024e 100644
--- a/doc/classes/SphereShape3D.xml
+++ b/doc/classes/SphereShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="SphereShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Sphere shape for 3D collisions.
+ Sphere shape resource for 3D collisions.
</brief_description>
<description>
- Sphere shape for 3D collisions, which can be set into a [PhysicsBody3D] or [Area3D]. This shape is useful for modeling sphere-like 3D objects.
+ 3D sphere shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. This shape is useful for modeling sphere-like 3D objects.
+ [b]Performance:[/b] Being a primitive collision shape, [SphereShape3D] is the fastest collision shape to check collisions against, as it only requires a distance check with the shape's origin.
</description>
<tutorials>
<link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link>
diff --git a/doc/classes/SpinBox.xml b/doc/classes/SpinBox.xml
index 5e3eb0c9f8..e84f9c38ff 100644
--- a/doc/classes/SpinBox.xml
+++ b/doc/classes/SpinBox.xml
@@ -25,6 +25,7 @@
The above code will create a [SpinBox], disable context menu on it and set the text alignment to right.
See [Range] class for more options over the [SpinBox].
[b]Note:[/b] [SpinBox] relies on an underlying [LineEdit] node. To theme a [SpinBox]'s background, add theme items for [LineEdit] and customize them.
+ [b]Note:[/b] If you want to implement drag and drop for the underlying [LineEdit], you can use [method Control.set_drag_forwarding] on the node returned by [method get_line_edit].
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/SpriteBase3D.xml b/doc/classes/SpriteBase3D.xml
index 405fff0ce8..9733fa3a26 100644
--- a/doc/classes/SpriteBase3D.xml
+++ b/doc/classes/SpriteBase3D.xml
@@ -53,6 +53,9 @@
<member name="double_sided" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
If [code]true[/code], texture can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind.
</member>
+ <member name="fixed_size" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
+ If [code]true[/code], the label is rendered at the same size regardless of distance.
+ </member>
<member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false">
If [code]true[/code], texture is flipped horizontally.
</member>
@@ -63,6 +66,9 @@
A color value used to [i]multiply[/i] the texture's colors. Can be used for mood-coloring or to simulate the color of light.
[b]Note:[/b] If a [member GeometryInstance3D.material_override] is defined on the [SpriteBase3D], the material override must be configured to take vertex colors into account for albedo. Otherwise, the color defined in [member modulate] will be ignored. For a [BaseMaterial3D], [member BaseMaterial3D.vertex_color_use_as_albedo] must be [code]true[/code]. For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the shader's [code]fragment()[/code] function.
</member>
+ <member name="no_depth_test" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
+ If [code]true[/code], depth testing is disabled and the object will be drawn in render order.
+ </member>
<member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2(0, 0)">
The texture's drawing offset.
</member>
@@ -72,6 +78,9 @@
<member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false">
If [code]true[/code], the [Light3D] in the [Environment] has effects on the sprite.
</member>
+ <member name="texture_filter" type="int" setter="set_texture_filter" getter="get_texture_filter" enum="BaseMaterial3D.TextureFilter" default="3">
+ Filter flags for the texture. See [enum BaseMaterial3D.TextureFilter] for options.
+ </member>
<member name="transparent" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true">
If [code]true[/code], the texture's transparency and the opacity are used to make those parts of the sprite invisible.
</member>
@@ -86,7 +95,13 @@
<constant name="FLAG_DOUBLE_SIDED" value="2" enum="DrawFlags">
If set, texture can be seen from the back as well. If not, the texture is invisible when looking at it from behind.
</constant>
- <constant name="FLAG_MAX" value="3" enum="DrawFlags">
+ <constant name="FLAG_DISABLE_DEPTH_TEST" value="3" enum="DrawFlags">
+ Disables the depth test, so this object is drawn on top of all others. However, objects drawn after it in the draw order may cover it.
+ </constant>
+ <constant name="FLAG_FIXED_SIZE" value="4" enum="DrawFlags">
+ Label is scaled by depth so that it always appears the same size on screen.
+ </constant>
+ <constant name="FLAG_MAX" value="5" enum="DrawFlags">
Represents the size of the [enum DrawFlags] enum.
</constant>
<constant name="ALPHA_CUT_DISABLED" value="0" enum="AlphaCutMode">
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index d85e521f08..1f3d5596aa 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -341,7 +341,6 @@
print("1.7".is_valid_float()) # Prints "true"
print("24".is_valid_float()) # Prints "true"
print("7e3".is_valid_float()) # Prints "true"
- print("24".is_valid_float()) # Prints "true"
print("Hello".is_valid_float()) # Prints "false"
[/codeblock]
</description>
@@ -514,12 +513,30 @@
[/codeblock]
</description>
</method>
+ <method name="num_int64" qualifiers="static">
+ <return type="String" />
+ <argument index="0" name="number" type="int" />
+ <argument index="1" name="base" type="int" default="10" />
+ <argument index="2" name="capitalize_hex" type="bool" default="false" />
+ <description>
+ Converts a signed [int] to a string representation of a number.
+ </description>
+ </method>
<method name="num_scientific" qualifiers="static">
<return type="String" />
<argument index="0" name="number" type="float" />
<description>
</description>
</method>
+ <method name="num_uint64" qualifiers="static">
+ <return type="String" />
+ <argument index="0" name="number" type="int" />
+ <argument index="1" name="base" type="int" default="10" />
+ <argument index="2" name="capitalize_hex" type="bool" default="false" />
+ <description>
+ Converts a unsigned [int] to a string representation of a number.
+ </description>
+ </method>
<method name="pad_decimals" qualifiers="const">
<return type="String" />
<argument index="0" name="digits" type="int" />
@@ -615,8 +632,8 @@
var some_string = "One,Two,Three,Four"
var some_array = some_string.rsplit(",", true, 1)
print(some_array.size()) # Prints 2
- print(some_array[0]) # Prints "Four"
- print(some_array[1]) # Prints "Three,Two,One"
+ print(some_array[0]) # Prints "One,Two,Three"
+ print(some_array[1]) # Prints "Four"
[/gdscript]
[csharp]
// There is no Rsplit.
@@ -660,7 +677,7 @@
<return type="float" />
<argument index="0" name="text" type="String" />
<description>
- Returns the similarity index ([url=https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) this string compared to another. 1.0 means totally similar and 0.0 means totally dissimilar.
+ Returns the similarity index ([url=https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient]Sorensen-Dice coefficient[/url]) of this string compared to another. A result of 1.0 means totally similar, while 0.0 means totally dissimilar.
[codeblock]
print("ABC123".similarity("ABC123")) # Prints "1"
print("ABC123".similarity("XYZ456")) # Prints "0"
@@ -865,11 +882,6 @@
<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>
@@ -892,20 +904,21 @@
<description>
</description>
</operator>
- <operator name="operator &lt;">
- <return type="bool" />
- <argument index="0" name="right" type="String" />
+ <operator name="operator +">
+ <return type="String" />
+ <argument index="0" name="right" type="int" />
<description>
</description>
</operator>
- <operator name="operator &lt;=">
+ <operator name="operator &lt;">
<return type="bool" />
<argument index="0" name="right" type="String" />
<description>
</description>
</operator>
- <operator name="operator ==">
+ <operator name="operator &lt;=">
<return type="bool" />
+ <argument index="0" name="right" type="String" />
<description>
</description>
</operator>
diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml
index c19fce9944..ffa1227500 100644
--- a/doc/classes/StringName.xml
+++ b/doc/classes/StringName.xml
@@ -4,7 +4,9 @@
An optimized string type for unique names.
</brief_description>
<description>
- [StringName]s are immutable strings designed for general-purpose representation of unique names. [StringName] ensures that only one instance of a given name exists (so two [StringName]s with the same value are the same object). Comparing them is much faster than with regular [String]s, because only the pointers are compared, not the whole strings.
+ [StringName]s are immutable strings designed for general-purpose representation of unique names (also called "string interning"). [StringName] ensures that only one instance of a given name exists (so two [StringName]s with the same value are the same object). Comparing them is much faster than with regular [String]s, because only the pointers are compared, not the whole strings.
+ You will usually just pass a [String] to methods expecting a [StringName] and it will be automatically converted, but you may occasionally want to construct a [StringName] ahead of time with [StringName] or the literal syntax [code]&amp;"example"[/code].
+ See also [NodePath], which is a similar concept specifically designed to store pre-parsed node paths.
</description>
<tutorials>
</tutorials>
@@ -26,18 +28,13 @@
<return type="StringName" />
<argument index="0" name="from" type="String" />
<description>
- Creates a new [StringName] from the given [String].
+ Creates a new [StringName] from the given [String]. [code]StringName("example")[/code] is equivalent to [code]&amp;"example"[/code].
</description>
</constructor>
</constructors>
<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>
@@ -62,11 +59,6 @@
</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>
diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml
index bc2333f26a..74d02a84fd 100644
--- a/doc/classes/StyleBox.xml
+++ b/doc/classes/StyleBox.xml
@@ -107,21 +107,21 @@
</method>
</methods>
<members>
- <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin">
The bottom margin for the contents of this style box. Increasing this value reduces the space available to the contents from the bottom.
If this value is negative, it is ignored and a child-specific margin is used instead. For example for [StyleBoxFlat] the border thickness (if any) is used instead.
It is up to the code using this style box to decide what these contents are: for example, a [Button] respects this content margin for the textual contents of the button.
[method get_margin] should be used to fetch this value as consumer instead of reading these properties directly. This is because it correctly respects negative values and the fallback mentioned above.
</member>
- <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin">
The left margin for the contents of this style box. Increasing this value reduces the space available to the contents from the left.
Refer to [member content_margin_bottom] for extra considerations.
</member>
- <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin">
The right margin for the contents of this style box. Increasing this value reduces the space available to the contents from the right.
Refer to [member content_margin_bottom] for extra considerations.
</member>
- <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0">
+ <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin">
The top margin for the contents of this style box. Increasing this value reduces the space available to the contents from the top.
Refer to [member content_margin_bottom] for extra considerations.
</member>
diff --git a/doc/classes/TabBar.xml b/doc/classes/TabBar.xml
index 698de783c0..a8ed0d4286 100644
--- a/doc/classes/TabBar.xml
+++ b/doc/classes/TabBar.xml
@@ -223,7 +223,7 @@
<member name="select_with_rmb" type="bool" setter="set_select_with_rmb" getter="get_select_with_rmb" default="false">
If [code]true[/code], enables selecting a tab with the right mouse button.
</member>
- <member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="1">
+ <member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="0">
Sets the position at which tabs will be placed. See [enum AlignmentMode] for details.
</member>
<member name="tab_close_display_policy" type="int" setter="set_tab_close_display_policy" getter="get_tab_close_display_policy" enum="TabBar.CloseButtonDisplayPolicy" default="0">
@@ -323,6 +323,9 @@
</constant>
</constants>
<theme_items>
+ <theme_item name="drop_mark_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
+ Modulation color for the [theme_item drop_mark] icon.
+ </theme_item>
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.875, 0.875, 0.875, 0.5)">
Font color of disabled tabs.
</theme_item>
@@ -335,7 +338,7 @@
<theme_item name="font_unselected_color" data_type="color" type="Color" default="Color(0.7, 0.7, 0.7, 1)">
Font color of the other, unselected tabs.
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
The horizontal separation between the elements inside tabs.
</theme_item>
<theme_item name="outline_size" data_type="constant" type="int" default="0">
@@ -356,6 +359,9 @@
<theme_item name="decrement_highlight" data_type="icon" type="Texture2D">
Icon for the left arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor.
</theme_item>
+ <theme_item name="drop_mark" data_type="icon" type="Texture2D">
+ Icon shown to indicate where a dragged tab is gonna be dropped (see [member drag_to_rearrange_enabled]).
+ </theme_item>
<theme_item name="increment" data_type="icon" type="Texture2D">
Icon for the right arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the last tab is visible) it appears semi-transparent.
</theme_item>
diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml
index bdc73ee3c4..011b716dfc 100644
--- a/doc/classes/TabContainer.xml
+++ b/doc/classes/TabContainer.xml
@@ -30,6 +30,13 @@
Returns the previously active tab index.
</description>
</method>
+ <method name="get_tab_button_icon" qualifiers="const">
+ <return type="Texture2D" />
+ <argument index="0" name="tab_idx" type="int" />
+ <description>
+ Returns the button icon from the tab at index [code]tab_idx[/code].
+ </description>
+ </method>
<method name="get_tab_control" qualifiers="const">
<return type="Control" />
<argument index="0" name="tab_idx" type="int" />
@@ -92,6 +99,14 @@
If set on a [Popup] node instance, a popup menu icon appears in the top-right corner of the [TabContainer] (setting it to [code]null[/code] will make it go away). Clicking it will expand the [Popup] node.
</description>
</method>
+ <method name="set_tab_button_icon">
+ <return type="void" />
+ <argument index="0" name="tab_idx" type="int" />
+ <argument index="1" name="icon" type="Texture2D" />
+ <description>
+ Sets the button icon from the tab at index [code]tab_idx[/code].
+ </description>
+ </method>
<method name="set_tab_disabled">
<return type="void" />
<argument index="0" name="tab_idx" type="int" />
@@ -138,7 +153,7 @@
<member name="drag_to_rearrange_enabled" type="bool" setter="set_drag_to_rearrange_enabled" getter="get_drag_to_rearrange_enabled" default="false">
If [code]true[/code], tabs can be rearranged with mouse drag.
</member>
- <member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="1">
+ <member name="tab_alignment" type="int" setter="set_tab_alignment" getter="get_tab_alignment" enum="TabBar.AlignmentMode" default="0">
Sets the position at which tabs will be placed. See [enum TabBar.AlignmentMode] for details.
</member>
<member name="tabs_rearrange_group" type="int" setter="set_tabs_rearrange_group" getter="get_tabs_rearrange_group" default="-1">
@@ -158,6 +173,12 @@
Emitted when the [TabContainer]'s [Popup] button is clicked. See [method set_popup] for details.
</description>
</signal>
+ <signal name="tab_button_pressed">
+ <argument index="0" name="tab" type="int" />
+ <description>
+ Emitted when the user clicks on the button icon on this tab.
+ </description>
+ </signal>
<signal name="tab_changed">
<argument index="0" name="tab" type="int" />
<description>
@@ -172,6 +193,9 @@
</signal>
</signals>
<theme_items>
+ <theme_item name="drop_mark_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
+ Modulation color for the [theme_item drop_mark] icon.
+ </theme_item>
<theme_item name="font_disabled_color" data_type="color" type="Color" default="Color(0.875, 0.875, 0.875, 0.5)">
Font color of disabled tabs.
</theme_item>
@@ -206,6 +230,9 @@
<theme_item name="decrement_highlight" data_type="icon" type="Texture2D">
Icon for the left arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor.
</theme_item>
+ <theme_item name="drop_mark" data_type="icon" type="Texture2D">
+ Icon shown to indicate where a dragged tab is gonna be dropped (see [member drag_to_rearrange_enabled]).
+ </theme_item>
<theme_item name="increment" data_type="icon" type="Texture2D">
Icon for the right arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the last tab is visible) it appears semi-transparent.
</theme_item>
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index a4edaa79c7..58fdd2d058 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -1017,7 +1017,7 @@
<member name="shortcut_keys_enabled" type="bool" setter="set_shortcut_keys_enabled" getter="is_shortcut_keys_enabled" default="true">
If [code]true[/code], shortcut keys for context menu items are enabled, even if the context menu is disabled.
</member>
- <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0">
+ <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0">
Set BiDi algorithm override for the structured text.
</member>
<member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]">
diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml
index 020c30b9cd..dba4bd24a5 100644
--- a/doc/classes/TextServer.xml
+++ b/doc/classes/TextServer.xml
@@ -57,7 +57,7 @@
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Removes all font sizes from the cache entry
+ Removes all font sizes from the cache entry.
</description>
</method>
<method name="font_clear_textures">
@@ -80,6 +80,7 @@
<description>
Draws single glyph into a canvas item at the position, using [code]font_rid[/code] at the size [code]size[/code].
[b]Note:[/b] Glyph index is specific to the font, use glyphs indices returned by [method shaped_text_get_glyphs] or [method font_get_glyph_index].
+ [b]Note:[/b] If there are pending glyphs to render, calling this function might trigger the texture cache update.
</description>
</method>
<method name="font_draw_glyph_outline" qualifiers="const">
@@ -94,6 +95,7 @@
<description>
Draws single glyph outline of size [code]outline_size[/code] into a canvas item at the position, using [code]font_rid[/code] at the size [code]size[/code].
[b]Note:[/b] Glyph index is specific to the font, use glyphs indices returned by [method shaped_text_get_glyphs] or [method font_get_glyph_index].
+ [b]Note:[/b] If there are pending glyphs to render, calling this function might trigger the texture cache update.
</description>
</method>
<method name="font_get_ascent" qualifiers="const">
@@ -126,6 +128,13 @@
Returns bitmap font fixed size.
</description>
</method>
+ <method name="font_get_generate_mipmaps" qualifiers="const">
+ <return type="bool" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Returns [code]true[/code] if font texture mipmap generation is enabled.
+ </description>
+ </method>
<method name="font_get_global_oversampling" qualifiers="const">
<return type="float" />
<description>
@@ -199,6 +208,26 @@
Returns index of the cache texture containing the glyph.
</description>
</method>
+ <method name="font_get_glyph_texture_rid" qualifiers="const">
+ <return type="RID" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="size" type="Vector2i" />
+ <argument index="2" name="glyph" type="int" />
+ <description>
+ Returns resource id of the cache texture containing the glyph.
+ [b]Note:[/b] If there are pending glyphs to render, calling this function might trigger the texture cache update.
+ </description>
+ </method>
+ <method name="font_get_glyph_texture_size" qualifiers="const">
+ <return type="Vector2" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="size" type="Vector2i" />
+ <argument index="2" name="glyph" type="int" />
+ <description>
+ Returns size of the cache texture containing the glyph.
+ [b]Note:[/b] If there are pending glyphs to render, calling this function might trigger the texture cache update.
+ </description>
+ </method>
<method name="font_get_glyph_uv_rect" qualifiers="const">
<return type="Rect2" />
<argument index="0" name="font_rid" type="RID" />
@@ -509,7 +538,7 @@
<argument index="1" name="size" type="Vector2i" />
<argument index="2" name="index" type="int" />
<description>
- Renders specified glyph the the font cache texture.
+ Renders specified glyph to the font cache texture.
</description>
</method>
<method name="font_render_range">
@@ -580,6 +609,14 @@
If set to [code]true[/code] auto-hinting is preferred over font built-in hinting.
</description>
</method>
+ <method name="font_set_generate_mipmaps">
+ <return type="void" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="generate_mipmaps" type="bool" />
+ <description>
+ If set to [code]true[/code] font texture mipmap generation is enabled.
+ </description>
+ </method>
<method name="font_set_global_oversampling">
<return type="void" />
<argument index="0" name="oversampling" type="float" />
@@ -927,6 +964,15 @@
Converts a number from the numeral systems used in [code]language[/code] to Western Arabic (0..9).
</description>
</method>
+ <method name="parse_structured_text" qualifiers="const">
+ <return type="Array" />
+ <argument index="0" name="parser_type" type="int" enum="TextServer.StructuredTextParser" />
+ <argument index="1" name="args" type="Array" />
+ <argument index="2" name="text" type="String" />
+ <description>
+ Default implementation of the BiDi algorithm override function. See [enum StructuredTextParser] for more info.
+ </description>
+ </method>
<method name="percent_sign" qualifiers="const">
<return type="String" />
<argument index="0" name="language" type="String" default="&quot;&quot;" />
@@ -1112,7 +1158,7 @@
<return type="Array" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns text glyphs in the visual order.
+ Returns an array of glyphs in the visual order.
</description>
</method>
<method name="shaped_text_get_grapheme_bounds" qualifiers="const">
@@ -1177,7 +1223,7 @@
<return type="RID" />
<argument index="0" name="shaped" type="RID" />
<description>
- Sets text orientation.
+ Returns the parent buffer from which the substring originates.
</description>
</method>
<method name="shaped_text_get_preserve_control" qualifiers="const">
@@ -1222,7 +1268,7 @@
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns position of the trim.
+ Returns the position of the overrun trim.
</description>
</method>
<method name="shaped_text_get_underline_position" qualifiers="const">
@@ -1249,9 +1295,9 @@
<method name="shaped_text_get_word_breaks" qualifiers="const">
<return type="PackedInt32Array" />
<argument index="0" name="shaped" type="RID" />
- <argument index="1" name="grapheme_flags" type="int" />
+ <argument index="1" name="grapheme_flags" type="int" default="264" />
<description>
- Breaks text into words and returns array of character ranges.
+ Breaks text into words and returns array of character ranges. Use [code]grapheme_flags[/code] to set what characters are used for breaking (see [enum GraphemeFlag]).
</description>
</method>
<method name="shaped_text_hit_test_grapheme" qualifiers="const">
@@ -1420,6 +1466,7 @@
<argument index="0" name="string" type="String" />
<description>
Strips diacritics from the string.
+ [b]Note:[/b] The result may be longer or shorter than the original.
</description>
</method>
<method name="tag_to_name" qualifiers="const">
@@ -1544,8 +1591,8 @@
</constant>
<constant name="SUBPIXEL_POSITIONING_AUTO" value="1" enum="SubpixelPositioning">
Glyph horizontal position is rounded based on font size.
- - To one quarter of the pixel size if font size is smaller or equal to [code]16[/code].
- - To one half of the pixel size if font size is smaller or equal to [code]20[/code].
+ - To one quarter of the pixel size if font size is smaller or equal to [constant SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE].
+ - To one half of the pixel size if font size is smaller or equal to [constant SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE].
- To the whole pixel size for larger fonts.
</constant>
<constant name="SUBPIXEL_POSITIONING_ONE_HALF" value="2" enum="SubpixelPositioning">
@@ -1554,31 +1601,49 @@
<constant name="SUBPIXEL_POSITIONING_ONE_QUARTER" value="3" enum="SubpixelPositioning">
Glyph horizontal position is rounded to one quarter of the pixel size, each glyph is rasterized up to four times.
</constant>
- <constant name="FEATURE_BIDI_LAYOUT" value="1" enum="Feature">
- TextServer supports bidirectional layouts.
+ <constant name="SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE" value="20" enum="SubpixelPositioning">
+ Maximum font size which will use one half of the pixel subpixel positioning in [constants SUBPIXEL_POSITIONING_AUTO] mode.
+ </constant>
+ <constant name="SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE" value="16" enum="SubpixelPositioning">
+ Maximum font size which will use one quarter of the pixel subpixel positioning in [constants SUBPIXEL_POSITIONING_AUTO] mode.
+ </constant>
+ <constant name="FEATURE_SIMPLE_LAYOUT" value="1" enum="Feature">
+ TextServer supports simple text layouts.
+ </constant>
+ <constant name="FEATURE_BIDI_LAYOUT" value="2" enum="Feature">
+ TextServer supports bidirectional text layouts.
</constant>
- <constant name="FEATURE_VERTICAL_LAYOUT" value="2" enum="Feature">
+ <constant name="FEATURE_VERTICAL_LAYOUT" value="4" enum="Feature">
TextServer supports vertical layouts.
</constant>
- <constant name="FEATURE_SHAPING" value="4" enum="Feature">
+ <constant name="FEATURE_SHAPING" value="8" enum="Feature">
TextServer supports complex text shaping.
</constant>
- <constant name="FEATURE_KASHIDA_JUSTIFICATION" value="8" enum="Feature">
+ <constant name="FEATURE_KASHIDA_JUSTIFICATION" value="16" enum="Feature">
TextServer supports justification using kashidas.
</constant>
- <constant name="FEATURE_BREAK_ITERATORS" value="16" enum="Feature">
+ <constant name="FEATURE_BREAK_ITERATORS" value="32" enum="Feature">
TextServer supports complex line/word breaking rules (e.g. dictionary based).
</constant>
- <constant name="FEATURE_FONT_SYSTEM" value="32" enum="Feature">
+ <constant name="FEATURE_FONT_BITMAP" value="64" enum="Feature">
+ TextServer supports loading bitmap fonts.
+ </constant>
+ <constant name="FEATURE_FONT_DYNAMIC" value="128" enum="Feature">
+ TextServer supports loading dynamic (TrueType, OpeType, etc.) fonts.
+ </constant>
+ <constant name="FEATURE_FONT_MSDF" value="256" enum="Feature">
+ TextServer supports multichannel signed distance field dynamic font rendering.
+ </constant>
+ <constant name="FEATURE_FONT_SYSTEM" value="512" enum="Feature">
TextServer supports loading system fonts.
</constant>
- <constant name="FEATURE_FONT_VARIABLE" value="64" enum="Feature">
+ <constant name="FEATURE_FONT_VARIABLE" value="1024" enum="Feature">
TextServer supports variable fonts.
</constant>
- <constant name="FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION" value="128" enum="Feature">
+ <constant name="FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION" value="2048" enum="Feature">
TextServer supports locale dependent and context sensitive case conversion.
</constant>
- <constant name="FEATURE_USE_SUPPORT_DATA" value="256" enum="Feature">
+ <constant name="FEATURE_USE_SUPPORT_DATA" value="4096" enum="Feature">
TextServer require external data file for some features.
</constant>
<constant name="CONTOUR_CURVE_TAG_ON" value="1" enum="ContourPointTag">
@@ -1611,5 +1676,27 @@
<constant name="FONT_FIXED_WIDTH" value="4" enum="FontStyle">
Font have fixed-width characters.
</constant>
+ <constant name="STRUCTURED_TEXT_DEFAULT" value="0" enum="StructuredTextParser">
+ Use default behavior. Same as [code]STRUCTURED_TEXT_NONE[/code] unless specified otherwise in the control description.
+ </constant>
+ <constant name="STRUCTURED_TEXT_URI" value="1" enum="StructuredTextParser">
+ BiDi override for URI.
+ </constant>
+ <constant name="STRUCTURED_TEXT_FILE" value="2" enum="StructuredTextParser">
+ BiDi override for file path.
+ </constant>
+ <constant name="STRUCTURED_TEXT_EMAIL" value="3" enum="StructuredTextParser">
+ BiDi override for email.
+ </constant>
+ <constant name="STRUCTURED_TEXT_LIST" value="4" enum="StructuredTextParser">
+ BiDi override for lists.
+ Structured text options: list separator [code]String[/code].
+ </constant>
+ <constant name="STRUCTURED_TEXT_NONE" value="5" enum="StructuredTextParser">
+ Use default Unicode BiDi algorithm.
+ </constant>
+ <constant name="STRUCTURED_TEXT_CUSTOM" value="6" enum="StructuredTextParser">
+ User defined structured text BiDi override function.
+ </constant>
</constants>
</class>
diff --git a/doc/classes/TextServerDummy.xml b/doc/classes/TextServerDummy.xml
new file mode 100644
index 0000000000..b872e93fd6
--- /dev/null
+++ b/doc/classes/TextServerDummy.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="TextServerDummy" inherits="TextServerExtension" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/TextServerExtension.xml b/doc/classes/TextServerExtension.xml
index 5ffd80bf63..ef522d08a7 100644
--- a/doc/classes/TextServerExtension.xml
+++ b/doc/classes/TextServerExtension.xml
@@ -9,23 +9,21 @@
<tutorials>
</tutorials>
<methods>
- <method name="_create_font" qualifiers="virtual">
+ <method name="create_font" qualifiers="virtual">
<return type="RID" />
<description>
- Creates new, empty font cache entry resource. To free the resulting resourec, use [method _free] method.
+ Creates new, empty font cache entry resource. To free the resulting resourec, use [method free_rid] method.
</description>
</method>
- <method name="_create_shaped_text" qualifiers="virtual">
+ <method name="create_shaped_text" qualifiers="virtual">
<return type="RID" />
<argument index="0" name="direction" type="int" enum="TextServer.Direction" />
<argument index="1" name="orientation" type="int" enum="TextServer.Orientation" />
<description>
- Creates new buffer for complex text layout, with the given [code]direction[/code] and [code]orientation[/code]. To free the resulting buffer, use [method _free] method.
- [b]Note:[/b] Direction is ignored if server does not support [code]FEATURE_BIDI_LAYOUT[/code] feature.
- [b]Note:[/b] Orientation is ignored if server does not support [code]FEATURE_VERTICAL_LAYOUT[/code] feature.
+ Creates new buffer for complex text layout, with the given [code]direction[/code] and [code]orientation[/code]. To free the resulting buffer, use [method free_rid] method.
</description>
</method>
- <method name="_draw_hex_code_box" qualifiers="virtual const">
+ <method name="draw_hex_code_box" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="canvas" type="RID" />
<argument index="1" name="size" type="int" />
@@ -34,18 +32,18 @@
<argument index="4" name="color" type="Color" />
<description>
Draws box displaying character hexadecimal code. Used for replacing missing characters.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_font_clear_glyphs" qualifiers="virtual">
+ <method name="font_clear_glyphs" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<description>
Removes all rendered glyphs information from the cache entry.
- [b]Note:[/b] This function will not remove textures associated with the glyphs, use [method _font_remove_texture] to remove them manually.
</description>
</method>
- <method name="_font_clear_kerning_map" qualifiers="virtual">
+ <method name="font_clear_kerning_map" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -53,23 +51,22 @@
Removes all kerning overrides.
</description>
</method>
- <method name="_font_clear_size_cache" qualifiers="virtual">
+ <method name="font_clear_size_cache" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Removes all font sizes from the cache entry
+ Removes all font sizes from the cache entry.
</description>
</method>
- <method name="_font_clear_textures" qualifiers="virtual">
+ <method name="font_clear_textures" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<description>
Removes all textures from font cache entry.
- [b]Note:[/b] This function will not remove glyphs associated with the texture, use [method _font_remove_glyph] to remove them manually.
</description>
</method>
- <method name="_font_draw_glyph" qualifiers="virtual const">
+ <method name="font_draw_glyph" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="canvas" type="RID" />
@@ -79,10 +76,9 @@
<argument index="5" name="color" type="Color" />
<description>
Draws single glyph into a canvas item at the position, using [code]font_rid[/code] at the size [code]size[/code].
- [b]Note:[/b] Glyph index is specific to the font, use glyphs indices returned by [method _shaped_text_get_glyphs] or [method _font_get_glyph_index].
</description>
</method>
- <method name="_font_draw_glyph_outline" qualifiers="virtual const">
+ <method name="font_draw_glyph_outline" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="canvas" type="RID" />
@@ -93,10 +89,9 @@
<argument index="6" name="color" type="Color" />
<description>
Draws single glyph outline of size [code]outline_size[/code] into a canvas item at the position, using [code]font_rid[/code] at the size [code]size[/code].
- [b]Note:[/b] Glyph index is specific to the font, use glyphs indices returned by [method _shaped_text_get_glyphs] or [method _font_get_glyph_index].
</description>
</method>
- <method name="_font_get_ascent" qualifiers="virtual const">
+ <method name="font_get_ascent" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -104,7 +99,7 @@
Returns the font ascent (number of pixels above the baseline).
</description>
</method>
- <method name="_font_get_descent" qualifiers="virtual const">
+ <method name="font_get_descent" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -112,37 +107,43 @@
Returns the font descent (number of pixels below the baseline).
</description>
</method>
- <method name="_font_get_embolden" qualifiers="virtual const">
+ <method name="font_get_embolden" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font embolden strength.
</description>
</method>
- <method name="_font_get_fixed_size" qualifiers="virtual const">
+ <method name="font_get_fixed_size" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns bitmap font fixed size.
</description>
</method>
- <method name="_font_get_global_oversampling" qualifiers="virtual const">
+ <method name="font_get_generate_mipmaps" qualifiers="virtual const">
+ <return type="bool" />
+ <argument index="0" name="font_rid" type="RID" />
+ <description>
+ Returns [code]true[/code] if font texture mipmap generation is enabled.
+ </description>
+ </method>
+ <method name="font_get_global_oversampling" qualifiers="virtual const">
<return type="float" />
<description>
Returns the font oversampling factor, shared by all fonts in the TextServer.
</description>
</method>
- <method name="_font_get_glyph_advance" qualifiers="virtual const">
+ <method name="font_get_glyph_advance" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
<argument index="2" name="glyph" type="int" />
<description>
Returns glyph advance (offset of the next glyph).
- [b]Note:[/b] Advance for glyphs outlines is the same as the base glyph advance and is not saved.
</description>
</method>
- <method name="_font_get_glyph_contours" qualifiers="virtual const">
+ <method name="font_get_glyph_contours" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -154,7 +155,7 @@
[code]orientation[/code] - [bool], contour orientation. If [code]true[/code], clockwise contours must be filled.
</description>
</method>
- <method name="_font_get_glyph_index" qualifiers="virtual const">
+ <method name="font_get_glyph_index" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -164,7 +165,7 @@
Returns the glyph index of a [code]char[/code], optionally modified by the [code]variation_selector[/code].
</description>
</method>
- <method name="_font_get_glyph_list" qualifiers="virtual const">
+ <method name="font_get_glyph_list" qualifiers="virtual const">
<return type="Array" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -172,7 +173,7 @@
Returns list of rendered glyphs in the cache entry.
</description>
</method>
- <method name="_font_get_glyph_offset" qualifiers="virtual const">
+ <method name="font_get_glyph_offset" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -181,7 +182,7 @@
Returns glyph offset from the baseline.
</description>
</method>
- <method name="_font_get_glyph_size" qualifiers="virtual const">
+ <method name="font_get_glyph_size" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -190,7 +191,7 @@
Returns size of the glyph.
</description>
</method>
- <method name="_font_get_glyph_texture_idx" qualifiers="virtual const">
+ <method name="font_get_glyph_texture_idx" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -199,7 +200,25 @@
Returns index of the cache texture containing the glyph.
</description>
</method>
- <method name="_font_get_glyph_uv_rect" qualifiers="virtual const">
+ <method name="font_get_glyph_texture_rid" qualifiers="virtual const">
+ <return type="RID" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="size" type="Vector2i" />
+ <argument index="2" name="glyph" type="int" />
+ <description>
+ Returns resource id of the cache texture containing the glyph.
+ </description>
+ </method>
+ <method name="font_get_glyph_texture_size" qualifiers="virtual const">
+ <return type="Vector2" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="size" type="Vector2i" />
+ <argument index="2" name="glyph" type="int" />
+ <description>
+ Returns size of the cache texture containing the glyph.
+ </description>
+ </method>
+ <method name="font_get_glyph_uv_rect" qualifiers="virtual const">
<return type="Rect2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -208,14 +227,14 @@
Returns rectangle in the cache texture containing the glyph.
</description>
</method>
- <method name="_font_get_hinting" qualifiers="virtual const">
+ <method name="font_get_hinting" qualifiers="virtual const">
<return type="int" enum="TextServer.Hinting" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns the font hinting mode. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_get_kerning" qualifiers="virtual const">
+ <method name="font_get_kerning" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -224,7 +243,7 @@
Returns kerning for the pair of glyphs.
</description>
</method>
- <method name="_font_get_kerning_list" qualifiers="virtual const">
+ <method name="font_get_kerning_list" qualifiers="virtual const">
<return type="Array" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -232,7 +251,7 @@
Returns list of the kerning overrides.
</description>
</method>
- <method name="_font_get_language_support_override" qualifiers="virtual">
+ <method name="font_get_language_support_override" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="language" type="String" />
@@ -240,49 +259,49 @@
Returns [code]true[/code] if support override is enabled for the [code]language[/code].
</description>
</method>
- <method name="_font_get_language_support_overrides" qualifiers="virtual">
+ <method name="font_get_language_support_overrides" qualifiers="virtual">
<return type="PackedStringArray" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns list of language support overrides.
</description>
</method>
- <method name="_font_get_msdf_pixel_range" qualifiers="virtual const">
+ <method name="font_get_msdf_pixel_range" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Return the width of the range around the shape between the minimum and maximum representable signed distance.
+ Returns the width of the range around the shape between the minimum and maximum representable signed distance.
</description>
</method>
- <method name="_font_get_msdf_size" qualifiers="virtual const">
+ <method name="font_get_msdf_size" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns source font size used to generate MSDF textures.
</description>
</method>
- <method name="_font_get_name" qualifiers="virtual const">
+ <method name="font_get_name" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font family name.
</description>
</method>
- <method name="_font_get_opentype_feature_overrides" qualifiers="virtual const">
+ <method name="font_get_opentype_feature_overrides" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font OpenType feature set override.
</description>
</method>
- <method name="_font_get_oversampling" qualifiers="virtual const">
+ <method name="font_get_oversampling" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font oversampling factor, if set to [code]0.0[/code] global oversampling factor is used instead. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_get_scale" qualifiers="virtual const">
+ <method name="font_get_scale" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -290,7 +309,7 @@
Returns scaling factor of the color bitmap font.
</description>
</method>
- <method name="_font_get_script_support_override" qualifiers="virtual">
+ <method name="font_get_script_support_override" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="script" type="String" />
@@ -298,21 +317,21 @@
Returns [code]true[/code] if support override is enabled for the [code]script[/code].
</description>
</method>
- <method name="_font_get_script_support_overrides" qualifiers="virtual">
+ <method name="font_get_script_support_overrides" qualifiers="virtual">
<return type="PackedStringArray" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns list of script support overrides.
</description>
</method>
- <method name="_font_get_size_cache_list" qualifiers="virtual const">
+ <method name="font_get_size_cache_list" qualifiers="virtual const">
<return type="Array" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Return list of the font sizes in the cache. Each size is [code]Vector2i[/code] with font size and outline size.
+ Returns list of the font sizes in the cache. Each size is [code]Vector2i[/code] with font size and outline size.
</description>
</method>
- <method name="_font_get_spacing" qualifiers="virtual const">
+ <method name="font_get_spacing" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -321,35 +340,35 @@
Returns extra spacing added between glyphs in pixels.
</description>
</method>
- <method name="_font_get_style" qualifiers="virtual const">
+ <method name="font_get_style" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font style flags, see [enum TextServer.FontStyle].
</description>
</method>
- <method name="_font_get_style_name" qualifiers="virtual const">
+ <method name="font_get_style_name" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font style name.
</description>
</method>
- <method name="_font_get_subpixel_positioning" qualifiers="virtual const">
+ <method name="font_get_subpixel_positioning" qualifiers="virtual const">
<return type="int" enum="TextServer.SubpixelPositioning" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns font sub-pixel glyph positioning mode.
</description>
</method>
- <method name="_font_get_supported_chars" qualifiers="virtual const">
+ <method name="font_get_supported_chars" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns a string containing all the characters available in the font.
</description>
</method>
- <method name="_font_get_texture_count" qualifiers="virtual const">
+ <method name="font_get_texture_count" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -357,7 +376,7 @@
Returns number of textures used by font cache entry.
</description>
</method>
- <method name="_font_get_texture_image" qualifiers="virtual const">
+ <method name="font_get_texture_image" qualifiers="virtual const">
<return type="Image" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -366,7 +385,7 @@
Returns font cache texture image data.
</description>
</method>
- <method name="_font_get_texture_offsets" qualifiers="virtual const">
+ <method name="font_get_texture_offsets" qualifiers="virtual const">
<return type="PackedInt32Array" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -375,14 +394,14 @@
Returns array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
</description>
</method>
- <method name="_font_get_transform" qualifiers="virtual const">
+ <method name="font_get_transform" qualifiers="virtual const">
<return type="Transform2D" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Retruns 2D transform applied to the font outlines.
+ Returns 2D transform applied to the font outlines.
</description>
</method>
- <method name="_font_get_underline_position" qualifiers="virtual const">
+ <method name="font_get_underline_position" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -390,7 +409,7 @@
Returns pixel offset of the underline below the baseline.
</description>
</method>
- <method name="_font_get_underline_thickness" qualifiers="virtual const">
+ <method name="font_get_underline_thickness" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -398,36 +417,36 @@
Returns thickness of the underline in pixels.
</description>
</method>
- <method name="_font_get_variation_coordinates" qualifiers="virtual const">
+ <method name="font_get_variation_coordinates" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<description>
- Returns variation coordinates for the specified font cache entry. See [method _font_supported_variation_list] for more info.
+ Returns variation coordinates for the specified font cache entry. See [method font_supported_variation_list] for more info.
</description>
</method>
- <method name="_font_has_char" qualifiers="virtual const">
+ <method name="font_has_char" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="char" type="int" />
<description>
- Return [code]true[/code] if a Unicode [code]char[/code] is available in the font.
+ Returns [code]true[/code] if a Unicode [code]char[/code] is available in the font.
</description>
</method>
- <method name="_font_is_antialiased" qualifiers="virtual const">
+ <method name="font_is_antialiased" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns [code]true[/code] if font 8-bit anitialiased glyph rendering is supported and enabled.
</description>
</method>
- <method name="_font_is_force_autohinter" qualifiers="virtual const">
+ <method name="font_is_force_autohinter" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns [code]true[/code] if auto-hinting is supported and preferred over font built-in hinting. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_is_language_supported" qualifiers="virtual const">
+ <method name="font_is_language_supported" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="language" type="String" />
@@ -435,14 +454,14 @@
Returns [code]true[/code], if font supports given language ([url=https://en.wikipedia.org/wiki/ISO_639-1]ISO 639[/url] code).
</description>
</method>
- <method name="_font_is_multichannel_signed_distance_field" qualifiers="virtual const">
+ <method name="font_is_multichannel_signed_distance_field" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns [code]true[/code] if glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data.
</description>
</method>
- <method name="_font_is_script_supported" qualifiers="virtual const">
+ <method name="font_is_script_supported" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="script" type="String" />
@@ -450,17 +469,16 @@
Returns [code]true[/code], if font supports given script (ISO 15924 code).
</description>
</method>
- <method name="_font_remove_glyph" qualifiers="virtual">
+ <method name="font_remove_glyph" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<argument index="2" name="glyph" type="int" />
<description>
Removes specified rendered glyph information from the cache entry.
- [b]Note:[/b] This function will not remove textures associated with the glyphs, use [method _font_remove_texture] to remove them manually.
</description>
</method>
- <method name="_font_remove_kerning" qualifiers="virtual">
+ <method name="font_remove_kerning" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -469,7 +487,7 @@
Removes kerning override for the pair of glyphs.
</description>
</method>
- <method name="_font_remove_language_support_override" qualifiers="virtual">
+ <method name="font_remove_language_support_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="language" type="String" />
@@ -477,7 +495,7 @@
Remove language support override.
</description>
</method>
- <method name="_font_remove_script_support_override" qualifiers="virtual">
+ <method name="font_remove_script_support_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="script" type="String" />
@@ -485,7 +503,7 @@
Removes script support override.
</description>
</method>
- <method name="_font_remove_size_cache" qualifiers="virtual">
+ <method name="font_remove_size_cache" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -493,26 +511,25 @@
Removes specified font size from the cache entry.
</description>
</method>
- <method name="_font_remove_texture" qualifiers="virtual">
+ <method name="font_remove_texture" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<argument index="2" name="texture_index" type="int" />
<description>
Removes specified texture from font cache entry.
- [b]Note:[/b] This function will not remove glyphs associated with the texture, remove them manually, using [method _font_remove_glyph].
</description>
</method>
- <method name="_font_render_glyph" qualifiers="virtual">
+ <method name="font_render_glyph" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
<argument index="2" name="index" type="int" />
<description>
- Renders specified glyph the the font cache texture.
+ Renders specified glyph to the font cache texture.
</description>
</method>
- <method name="_font_render_range" qualifiers="virtual">
+ <method name="font_render_range" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -522,7 +539,7 @@
Renders the range of characters to the font cache texture.
</description>
</method>
- <method name="_font_set_antialiased" qualifiers="virtual">
+ <method name="font_set_antialiased" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="antialiased" type="bool" />
@@ -530,7 +547,7 @@
If set to [code]true[/code], 8-bit antialiased glyph rendering is used, otherwise 1-bit rendering is used. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_set_ascent" qualifiers="virtual">
+ <method name="font_set_ascent" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -539,7 +556,7 @@
Sets the font ascent (number of pixels above the baseline).
</description>
</method>
- <method name="_font_set_data" qualifiers="virtual">
+ <method name="font_set_data" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="data" type="PackedByteArray" />
@@ -547,25 +564,25 @@
Sets font source data, e.g contents of the dynamic font source file.
</description>
</method>
- <method name="_font_set_data_ptr" qualifiers="virtual">
+ <method name="font_set_data_ptr" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="data_ptr" type="const uint8_t*" />
<argument index="2" name="data_size" type="int" />
<description>
- Sets the font descent (number of pixels below the baseline).
+ Sets font source data, e.g contents of the dynamic font source file. [code]data_ptr[/code] memory buffer must remain accessible during font lifetime.
</description>
</method>
- <method name="_font_set_descent" qualifiers="virtual">
+ <method name="font_set_descent" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
<argument index="2" name="descent" type="float" />
<description>
- Sets bitmap font fixed size. If set to value greater than zero, same cache entry will be used for all font sizes.
+ Sets the font descent (number of pixels below the baseline).
</description>
</method>
- <method name="_font_set_embolden" qualifiers="virtual">
+ <method name="font_set_embolden" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="strength" type="float" />
@@ -573,15 +590,15 @@
Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
</description>
</method>
- <method name="_font_set_fixed_size" qualifiers="virtual">
+ <method name="font_set_fixed_size" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="fixed_size" type="int" />
<description>
- If set to [code]true[/code] auto-hinting is preferred over font built-in hinting.
+ Sets bitmap font fixed size. If set to value greater than zero, same cache entry will be used for all font sizes.
</description>
</method>
- <method name="_font_set_force_autohinter" qualifiers="virtual">
+ <method name="font_set_force_autohinter" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="force_autohinter" type="bool" />
@@ -589,7 +606,15 @@
If set to [code]true[/code] auto-hinting is preferred over font built-in hinting.
</description>
</method>
- <method name="_font_set_global_oversampling" qualifiers="virtual">
+ <method name="font_set_generate_mipmaps" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="font_rid" type="RID" />
+ <argument index="1" name="generate_mipmaps" type="bool" />
+ <description>
+ If set to [code]true[/code] font texture mipmap generation is enabled.
+ </description>
+ </method>
+ <method name="font_set_global_oversampling" qualifiers="virtual">
<return type="void" />
<argument index="0" name="oversampling" type="float" />
<description>
@@ -597,7 +622,7 @@
[b]Note:[/b] This value can be automatically changed by display server.
</description>
</method>
- <method name="_font_set_glyph_advance" qualifiers="virtual">
+ <method name="font_set_glyph_advance" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -605,10 +630,9 @@
<argument index="3" name="advance" type="Vector2" />
<description>
Sets glyph advance (offset of the next glyph).
- [b]Note:[/b] Advance for glyphs outlines is the same as the base glyph advance and is not saved.
</description>
</method>
- <method name="_font_set_glyph_offset" qualifiers="virtual">
+ <method name="font_set_glyph_offset" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -618,7 +642,7 @@
Sets glyph offset from the baseline.
</description>
</method>
- <method name="_font_set_glyph_size" qualifiers="virtual">
+ <method name="font_set_glyph_size" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -628,7 +652,7 @@
Sets size of the glyph.
</description>
</method>
- <method name="_font_set_glyph_texture_idx" qualifiers="virtual">
+ <method name="font_set_glyph_texture_idx" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -638,7 +662,7 @@
Sets index of the cache texture containing the glyph.
</description>
</method>
- <method name="_font_set_glyph_uv_rect" qualifiers="virtual">
+ <method name="font_set_glyph_uv_rect" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -648,7 +672,7 @@
Sets rectangle in the cache texture containing the glyph.
</description>
</method>
- <method name="_font_set_hinting" qualifiers="virtual">
+ <method name="font_set_hinting" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="hinting" type="int" enum="TextServer.Hinting" />
@@ -656,7 +680,7 @@
Sets font hinting mode. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_set_kerning" qualifiers="virtual">
+ <method name="font_set_kerning" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -666,16 +690,16 @@
Sets kerning for the pair of glyphs.
</description>
</method>
- <method name="_font_set_language_support_override" qualifiers="virtual">
+ <method name="font_set_language_support_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="language" type="String" />
<argument index="2" name="supported" type="bool" />
<description>
- Adds override for [method _font_is_language_supported].
+ Adds override for [method font_is_language_supported].
</description>
</method>
- <method name="_font_set_msdf_pixel_range" qualifiers="virtual">
+ <method name="font_set_msdf_pixel_range" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="msdf_pixel_range" type="int" />
@@ -683,7 +707,7 @@
Sets the width of the range around the shape between the minimum and maximum representable signed distance.
</description>
</method>
- <method name="_font_set_msdf_size" qualifiers="virtual">
+ <method name="font_set_msdf_size" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="msdf_size" type="int" />
@@ -691,15 +715,16 @@
Sets source font size used to generate MSDF textures.
</description>
</method>
- <method name="_font_set_multichannel_signed_distance_field" qualifiers="virtual">
+ <method name="font_set_multichannel_signed_distance_field" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="msdf" type="bool" />
<description>
- If set to [code]true[/code], glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data.
+ If set to [code]true[/code], glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data. MSDF rendering allows displaying the font at any scaling factor without blurriness, and without incurring a CPU cost when the font size changes (since the font no longer needs to be rasterized on the CPU). As a downside, font hinting is not available with MSDF. The lack of font hinting may result in less crisp and less readable fonts at small sizes.
+ [b]Note:[/b] MSDF font rendering does not render glyphs with overlapping shapes correctly. Overlapping shapes are not valid per the OpenType standard, but are still commonly found in many font files, especially those converted by Google Fonts. To avoid issues with overlapping glyphs, consider downloading the font file directly from the type foundry instead of relying on Google Fonts.
</description>
</method>
- <method name="_font_set_name" qualifiers="virtual">
+ <method name="font_set_name" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="name" type="String" />
@@ -707,7 +732,7 @@
Sets the font family name.
</description>
</method>
- <method name="_font_set_opentype_feature_overrides" qualifiers="virtual">
+ <method name="font_set_opentype_feature_overrides" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="overrides" type="Dictionary" />
@@ -715,7 +740,7 @@
Sets font OpenType feature set override.
</description>
</method>
- <method name="_font_set_oversampling" qualifiers="virtual">
+ <method name="font_set_oversampling" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="oversampling" type="float" />
@@ -723,7 +748,7 @@
Sets font oversampling factor, if set to [code]0.0[/code] global oversampling factor is used instead. Used by dynamic fonts only.
</description>
</method>
- <method name="_font_set_scale" qualifiers="virtual">
+ <method name="font_set_scale" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -732,16 +757,16 @@
Sets scaling factor of the color bitmap font.
</description>
</method>
- <method name="_font_set_script_support_override" qualifiers="virtual">
+ <method name="font_set_script_support_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="script" type="String" />
<argument index="2" name="supported" type="bool" />
<description>
- Adds override for [method _font_is_script_supported].
+ Adds override for [method font_is_script_supported].
</description>
</method>
- <method name="_font_set_spacing" qualifiers="virtual">
+ <method name="font_set_spacing" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -751,7 +776,7 @@
Sets extra spacing added between glyphs in pixels.
</description>
</method>
- <method name="_font_set_style" qualifiers="virtual">
+ <method name="font_set_style" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="style" type="int" />
@@ -759,7 +784,7 @@
Sets the font style flags, see [enum TextServer.FontStyle].
</description>
</method>
- <method name="_font_set_style_name" qualifiers="virtual">
+ <method name="font_set_style_name" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="name_style" type="String" />
@@ -767,7 +792,7 @@
Sets the font style name.
</description>
</method>
- <method name="_font_set_subpixel_positioning" qualifiers="virtual">
+ <method name="font_set_subpixel_positioning" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="subpixel_positioning" type="int" enum="TextServer.SubpixelPositioning" />
@@ -775,7 +800,7 @@
Sets font sub-pixel glyph positioning mode.
</description>
</method>
- <method name="_font_set_texture_image" qualifiers="virtual">
+ <method name="font_set_texture_image" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -785,7 +810,7 @@
Sets font cache texture image data.
</description>
</method>
- <method name="_font_set_texture_offsets" qualifiers="virtual">
+ <method name="font_set_texture_offsets" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="Vector2i" />
@@ -795,7 +820,7 @@
Sets array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
</description>
</method>
- <method name="_font_set_transform" qualifiers="virtual">
+ <method name="font_set_transform" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="transform" type="Transform2D" />
@@ -804,7 +829,7 @@
For example, to simulate italic typeface by slanting, apply the following transform [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code].
</description>
</method>
- <method name="_font_set_underline_position" qualifiers="virtual">
+ <method name="font_set_underline_position" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -813,7 +838,7 @@
Sets pixel offset of the underline below the baseline.
</description>
</method>
- <method name="_font_set_underline_thickness" qualifiers="virtual">
+ <method name="font_set_underline_thickness" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="size" type="int" />
@@ -822,29 +847,29 @@
Sets thickness of the underline in pixels.
</description>
</method>
- <method name="_font_set_variation_coordinates" qualifiers="virtual">
+ <method name="font_set_variation_coordinates" qualifiers="virtual">
<return type="void" />
<argument index="0" name="font_rid" type="RID" />
<argument index="1" name="variation_coordinates" type="Dictionary" />
<description>
- Sets variation coordinates for the specified font cache entry. See [method _font_supported_variation_list] for more info.
+ Sets variation coordinates for the specified font cache entry. See [method font_supported_variation_list] for more info.
</description>
</method>
- <method name="_font_supported_feature_list" qualifiers="virtual const">
+ <method name="font_supported_feature_list" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns the dictionary of the supported OpenType features.
</description>
</method>
- <method name="_font_supported_variation_list" qualifiers="virtual const">
+ <method name="font_supported_variation_list" qualifiers="virtual const">
<return type="Dictionary" />
<argument index="0" name="font_rid" type="RID" />
<description>
Returns the dictionary of the supported OpenType variation coordinates.
</description>
</method>
- <method name="_format_number" qualifiers="virtual const">
+ <method name="format_number" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
<argument index="1" name="language" type="String" />
@@ -852,82 +877,82 @@
Converts a number from the Western Arabic (0..9) to the numeral systems used in [code]language[/code].
</description>
</method>
- <method name="_free" qualifiers="virtual">
+ <method name="free_rid" qualifiers="virtual">
<return type="void" />
<argument index="0" name="rid" type="RID" />
<description>
Frees an object created by this [TextServer].
</description>
</method>
- <method name="_get_features" qualifiers="virtual const">
+ <method name="get_features" qualifiers="virtual const">
<return type="int" />
<description>
Returns text server features, see [enum TextServer.Feature].
</description>
</method>
- <method name="_get_hex_code_box_size" qualifiers="virtual const">
+ <method name="get_hex_code_box_size" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="size" type="int" />
<argument index="1" name="index" type="int" />
<description>
Returns size of the replacement character (box with character hexadecimal code that is drawn in place of invalid characters).
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_get_name" qualifiers="virtual const">
+ <method name="get_name" qualifiers="virtual const">
<return type="String" />
<description>
Returns the name of the server interface.
</description>
</method>
- <method name="_get_support_data_filename" qualifiers="virtual const">
+ <method name="get_support_data_filename" qualifiers="virtual const">
<return type="String" />
<description>
Returns default TextServer database (e.g. ICU break iterators and dictionaries) filename.
</description>
</method>
- <method name="_get_support_data_info" qualifiers="virtual const">
+ <method name="get_support_data_info" qualifiers="virtual const">
<return type="String" />
<description>
Returns TextServer database (e.g. ICU break iterators and dictionaries) description.
</description>
</method>
- <method name="_has" qualifiers="virtual">
+ <method name="has" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="rid" type="RID" />
<description>
Returns [code]true[/code] if [code]rid[/code] is valid resource owned by this text server.
</description>
</method>
- <method name="_has_feature" qualifiers="virtual const">
+ <method name="has_feature" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="feature" type="int" enum="TextServer.Feature" />
<description>
Returns [code]true[/code] if the server supports a feature.
</description>
</method>
- <method name="_is_locale_right_to_left" qualifiers="virtual const">
+ <method name="is_locale_right_to_left" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="locale" type="String" />
<description>
Returns [code]true[/code] if locale is right-to-left.
</description>
</method>
- <method name="_load_support_data" qualifiers="virtual">
+ <method name="load_support_data" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="filename" type="String" />
<description>
Loads optional TextServer database (e.g. ICU break iterators and dictionaries).
- [b]Note:[/b] This function should be called before any other TextServer functions used, otherwise it won't have any effect.
</description>
</method>
- <method name="_name_to_tag" qualifiers="virtual const">
+ <method name="name_to_tag" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="name" type="String" />
<description>
Converts readable feature, variation, script or language name to OpenType tag.
</description>
</method>
- <method name="_parse_number" qualifiers="virtual const">
+ <method name="parse_number" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
<argument index="1" name="language" type="String" />
@@ -935,14 +960,22 @@
Converts a number from the numeral systems used in [code]language[/code] to Western Arabic (0..9).
</description>
</method>
- <method name="_percent_sign" qualifiers="virtual const">
+ <method name="parse_structured_text" qualifiers="virtual const">
+ <return type="Array" />
+ <argument index="0" name="parser_type" type="int" enum="TextServer.StructuredTextParser" />
+ <argument index="1" name="args" type="Array" />
+ <argument index="2" name="text" type="String" />
+ <description>
+ </description>
+ </method>
+ <method name="percent_sign" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="language" type="String" />
<description>
Returns percent sign used in the [code]language[/code].
</description>
</method>
- <method name="_save_support_data" qualifiers="virtual const">
+ <method name="save_support_data" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="filename" type="String" />
<description>
@@ -950,14 +983,14 @@
[b]Note:[/b] This function is used by during project export, to include TextServer database.
</description>
</method>
- <method name="_shaped_get_span_count" qualifiers="virtual const">
+ <method name="shaped_get_span_count" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns number of text spans added using [method _shaped_text_add_string] or [method _shaped_text_add_object].
+ Returns number of text spans added using [method shaped_text_add_string] or [method shaped_text_add_object].
</description>
</method>
- <method name="_shaped_get_span_meta" qualifiers="virtual const">
+ <method name="shaped_get_span_meta" qualifiers="virtual const">
<return type="Variant" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="index" type="int" />
@@ -965,7 +998,7 @@
Returns text span metadata.
</description>
</method>
- <method name="_shaped_set_span_update_font" qualifiers="virtual">
+ <method name="shaped_set_span_update_font" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="index" type="int" />
@@ -976,7 +1009,7 @@
Changes text span font, font size and OpenType features, without changing the text.
</description>
</method>
- <method name="_shaped_text_add_object" qualifiers="virtual">
+ <method name="shaped_text_add_object" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="key" type="Variant" />
@@ -987,7 +1020,7 @@
Adds inline object to the text buffer, [code]key[/code] must be unique. In the text, object is represented as [code]length[/code] object replacement characters.
</description>
</method>
- <method name="_shaped_text_add_string" qualifiers="virtual">
+ <method name="shaped_text_add_string" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="text" type="String" />
@@ -1000,14 +1033,14 @@
Adds text span and font to draw it to the text buffer.
</description>
</method>
- <method name="_shaped_text_clear" qualifiers="virtual">
+ <method name="shaped_text_clear" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<description>
Clears text buffer (removes text and inline objects).
</description>
</method>
- <method name="_shaped_text_draw" qualifiers="virtual const">
+ <method name="shaped_text_draw" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="canvas" type="RID" />
@@ -1017,9 +1050,10 @@
<argument index="5" name="color" type="Color" />
<description>
Draw shaped text into a canvas item at a given position, with [code]color[/code]. [code]pos[/code] specifies the leftmost point of the baseline (for horizontal layout) or topmost point of the baseline (for vertical layout).
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_draw_outline" qualifiers="virtual const">
+ <method name="shaped_text_draw_outline" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="canvas" type="RID" />
@@ -1030,116 +1064,118 @@
<argument index="6" name="color" type="Color" />
<description>
Draw the outline of the shaped text into a canvas item at a given position, with [code]color[/code]. [code]pos[/code] specifies the leftmost point of the baseline (for horizontal layout) or topmost point of the baseline (for vertical layout).
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_fit_to_width" qualifiers="virtual">
+ <method name="shaped_text_fit_to_width" qualifiers="virtual">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="width" type="float" />
<argument index="2" name="jst_flags" type="int" />
<description>
- Adjusts text with to fit to specified width, returns new text width
+ Adjusts text with to fit to specified width, returns new text width.
</description>
</method>
- <method name="_shaped_text_get_ascent" qualifiers="virtual const">
+ <method name="shaped_text_get_ascent" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns the text ascent (number of pixels above the baseline for horizontal layout or to the left of baseline for vertical).
- [b]Note:[/b] Overall ascent can be higher than font ascent, if some glyphs are displaced from the baseline.
</description>
</method>
- <method name="_shaped_text_get_carets" qualifiers="virtual const">
+ <method name="shaped_text_get_carets" qualifiers="virtual const">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="position" type="int" />
<argument index="2" name="caret" type="CaretInfo*" />
<description>
Returns shapes of the carets corresponding to the character offset [code]position[/code] in the text. Returned caret shape is 1 pixel wide rectangle.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_custom_punctuation" qualifiers="virtual const">
+ <method name="shaped_text_get_custom_punctuation" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns custom punctuation character list, used for word breaking. If set to empty string, server defaults are used.
</description>
</method>
- <method name="_shaped_text_get_descent" qualifiers="virtual const">
+ <method name="shaped_text_get_descent" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns the text descent (number of pixels below the baseline for horizontal layout or to the right of baseline for vertical).
- [b]Note:[/b] Overall descent can be higher than font descent, if some glyphs are displaced from the baseline.
</description>
</method>
- <method name="_shaped_text_get_direction" qualifiers="virtual const">
+ <method name="shaped_text_get_direction" qualifiers="virtual const">
<return type="int" enum="TextServer.Direction" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns direction of the text.
</description>
</method>
- <method name="_shaped_text_get_dominant_direction_in_range" qualifiers="virtual const">
+ <method name="shaped_text_get_dominant_direction_in_range" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="start" type="int" />
<argument index="2" name="end" type="int" />
<description>
Returns dominant direction of in the range of text.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_ellipsis_glyph_count" qualifiers="virtual const">
+ <method name="shaped_text_get_ellipsis_glyph_count" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns number of glyphs in the ellipsis.
</description>
</method>
- <method name="_shaped_text_get_ellipsis_glyphs" qualifiers="virtual const">
- <return type="Glyph*" />
+ <method name="shaped_text_get_ellipsis_glyphs" qualifiers="virtual const">
+ <return type="const Glyph*" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns array of the glyphs in the ellipsis.
</description>
</method>
- <method name="_shaped_text_get_ellipsis_pos" qualifiers="virtual const">
+ <method name="shaped_text_get_ellipsis_pos" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns position of the ellipsis.
</description>
</method>
- <method name="_shaped_text_get_glyph_count" qualifiers="virtual const">
+ <method name="shaped_text_get_glyph_count" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns text glyphs count.
+ Returns number of glyphs in the buffer.
</description>
</method>
- <method name="_shaped_text_get_glyphs" qualifiers="virtual const">
- <return type="Glyph*" />
+ <method name="shaped_text_get_glyphs" qualifiers="virtual const">
+ <return type="const Glyph*" />
<argument index="0" name="shaped" type="RID" />
<description>
- Copies text glyphs in the visual order, into preallocated array of the size returned by [method _shaped_text_get_glyph_count].
+ Returns an array of glyphs in the visual order.
</description>
</method>
- <method name="_shaped_text_get_grapheme_bounds" qualifiers="virtual const">
+ <method name="shaped_text_get_grapheme_bounds" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="pos" type="int" />
<description>
Returns composite character's bounds as offsets from the start of the line.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_inferred_direction" qualifiers="virtual const">
+ <method name="shaped_text_get_inferred_direction" qualifiers="virtual const">
<return type="int" enum="TextServer.Direction" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns direction of the text, inferred by the BiDi algorithm.
</description>
</method>
- <method name="_shaped_text_get_line_breaks" qualifiers="virtual const">
+ <method name="shaped_text_get_line_breaks" qualifiers="virtual const">
<return type="PackedInt32Array" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="width" type="float" />
@@ -1147,9 +1183,10 @@
<argument index="3" name="break_flags" type="int" />
<description>
Breaks text to the lines and returns character ranges for each line.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_line_breaks_adv" qualifiers="virtual const">
+ <method name="shaped_text_get_line_breaks_adv" qualifiers="virtual const">
<return type="PackedInt32Array" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="width" type="PackedFloat32Array" />
@@ -1158,9 +1195,10 @@
<argument index="4" name="break_flags" type="int" />
<description>
Breaks text to the lines and columns. Returns character ranges for each segment.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_object_rect" qualifiers="virtual const">
+ <method name="shaped_text_get_object_rect" qualifiers="virtual const">
<return type="Rect2" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="key" type="Variant" />
@@ -1168,35 +1206,35 @@
Returns bounding rectangle of the inline object.
</description>
</method>
- <method name="_shaped_text_get_objects" qualifiers="virtual const">
+ <method name="shaped_text_get_objects" qualifiers="virtual const">
<return type="Array" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns array of inline objects.
</description>
</method>
- <method name="_shaped_text_get_orientation" qualifiers="virtual const">
+ <method name="shaped_text_get_orientation" qualifiers="virtual const">
<return type="int" enum="TextServer.Orientation" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns text orientation.
+ eturns text orientation.
</description>
</method>
- <method name="_shaped_text_get_parent" qualifiers="virtual const">
+ <method name="shaped_text_get_parent" qualifiers="virtual const">
<return type="RID" />
<argument index="0" name="shaped" type="RID" />
<description>
- Sets text orientation.
+ Returns the parent buffer from which the substring originates.
</description>
</method>
- <method name="_shaped_text_get_preserve_control" qualifiers="virtual const">
+ <method name="shaped_text_get_preserve_control" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns [code]true[/code] if text buffer is configured to display control characters.
</description>
</method>
- <method name="_shaped_text_get_preserve_invalid" qualifiers="virtual const">
+ <method name="shaped_text_get_preserve_invalid" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
@@ -1204,97 +1242,102 @@
[b]Note:[/b] If set to [code]false[/code], nothing is displayed in place of invalid characters.
</description>
</method>
- <method name="_shaped_text_get_range" qualifiers="virtual const">
+ <method name="shaped_text_get_range" qualifiers="virtual const">
<return type="Vector2i" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns substring buffer character range in the parent buffer.
</description>
</method>
- <method name="_shaped_text_get_selection" qualifiers="virtual const">
+ <method name="shaped_text_get_selection" qualifiers="virtual const">
<return type="PackedVector2Array" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="start" type="int" />
<argument index="2" name="end" type="int" />
<description>
Returns selection rectangles for the specified character range.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_get_size" qualifiers="virtual const">
+ <method name="shaped_text_get_size" qualifiers="virtual const">
<return type="Vector2" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns size of the text.
</description>
</method>
- <method name="_shaped_text_get_trim_pos" qualifiers="virtual const">
+ <method name="shaped_text_get_trim_pos" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<description>
- Returns ellipsis and trim positions.
+ Returns the position of the overrun trim.
</description>
</method>
- <method name="_shaped_text_get_underline_position" qualifiers="virtual const">
+ <method name="shaped_text_get_underline_position" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns pixel offset of the underline below the baseline.
</description>
</method>
- <method name="_shaped_text_get_underline_thickness" qualifiers="virtual const">
+ <method name="shaped_text_get_underline_thickness" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns thickness of the underline.
</description>
</method>
- <method name="_shaped_text_get_width" qualifiers="virtual const">
+ <method name="shaped_text_get_width" qualifiers="virtual const">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns width (for horizontal layout) or height (for vertical) of the text.
</description>
</method>
- <method name="_shaped_text_get_word_breaks" qualifiers="virtual const">
+ <method name="shaped_text_get_word_breaks" qualifiers="virtual const">
<return type="PackedInt32Array" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="grapheme_flags" type="int" />
<description>
Breaks text into words and returns array of character ranges.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_hit_test_grapheme" qualifiers="virtual const">
+ <method name="shaped_text_hit_test_grapheme" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="coord" type="float" />
<description>
Returns grapheme index at the specified pixel offset at the baseline, or [code]-1[/code] if none is found.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_hit_test_position" qualifiers="virtual const">
+ <method name="shaped_text_hit_test_position" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="coord" type="float" />
<description>
Returns caret character offset at the specified pixel offset at the baseline. This function always returns a valid position.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_is_ready" qualifiers="virtual const">
+ <method name="shaped_text_is_ready" qualifiers="virtual const">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
Returns [code]true[/code] if buffer is successfully shaped.
</description>
</method>
- <method name="_shaped_text_next_grapheme_pos" qualifiers="virtual const">
+ <method name="shaped_text_next_grapheme_pos" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="pos" type="int" />
<description>
Returns composite character end position closest to the [code]pos[/code].
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_overrun_trim_to_width" qualifiers="virtual">
+ <method name="shaped_text_overrun_trim_to_width" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="width" type="float" />
@@ -1303,15 +1346,16 @@
Trims text if it exceeds the given width.
</description>
</method>
- <method name="_shaped_text_prev_grapheme_pos" qualifiers="virtual const">
+ <method name="shaped_text_prev_grapheme_pos" qualifiers="virtual const">
<return type="int" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="pos" type="int" />
<description>
Returns composite character start position closest to the [code]pos[/code].
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_shaped_text_resize_object" qualifiers="virtual">
+ <method name="shaped_text_resize_object" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="key" type="Variant" />
@@ -1321,7 +1365,7 @@
Sets new size and alignment of embedded object.
</description>
</method>
- <method name="_shaped_text_set_bidi_override" qualifiers="virtual">
+ <method name="shaped_text_set_bidi_override" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="override" type="Array" />
@@ -1330,7 +1374,7 @@
Override ranges should cover full source text without overlaps. BiDi algorithm will be used on each range separately.
</description>
</method>
- <method name="_shaped_text_set_custom_punctuation" qualifiers="virtual">
+ <method name="shaped_text_set_custom_punctuation" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="punct" type="String" />
@@ -1338,25 +1382,23 @@
Sets custom punctuation character list, used for word breaking. If set to empty string, server defaults are used.
</description>
</method>
- <method name="_shaped_text_set_direction" qualifiers="virtual">
+ <method name="shaped_text_set_direction" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="direction" type="int" enum="TextServer.Direction" />
<description>
Sets desired text direction. If set to [code]TEXT_DIRECTION_AUTO[/code], direction will be detected based on the buffer contents and current locale.
- [b]Note:[/b] Direction is ignored if server does not support [code]FEATURE_BIDI_LAYOUT[/code] feature.
</description>
</method>
- <method name="_shaped_text_set_orientation" qualifiers="virtual">
+ <method name="shaped_text_set_orientation" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="orientation" type="int" enum="TextServer.Orientation" />
<description>
Sets desired text orientation.
- [b]Note:[/b] Orientation is ignored if server does not support [code]FEATURE_VERTICAL_LAYOUT[/code] feature.
</description>
</method>
- <method name="_shaped_text_set_preserve_control" qualifiers="virtual">
+ <method name="shaped_text_set_preserve_control" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="enabled" type="bool" />
@@ -1364,7 +1406,7 @@
If set to [code]true[/code] text buffer will display control characters.
</description>
</method>
- <method name="_shaped_text_set_preserve_invalid" qualifiers="virtual">
+ <method name="shaped_text_set_preserve_invalid" qualifiers="virtual">
<return type="void" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="enabled" type="bool" />
@@ -1372,22 +1414,21 @@
If set to [code]true[/code] text buffer will display invalid characters as hexadecimal codes, otherwise nothing is displayed.
</description>
</method>
- <method name="_shaped_text_shape" qualifiers="virtual">
+ <method name="shaped_text_shape" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
Shapes buffer if it's not shaped. Returns [code]true[/code] if the string is shaped successfully.
- [b]Note:[/b] It is not necessary to call this function manually, buffer will be shaped automatically as soon as any of its output data is requested.
</description>
</method>
- <method name="_shaped_text_sort_logical" qualifiers="virtual">
- <return type="Glyph*" />
+ <method name="shaped_text_sort_logical" qualifiers="virtual">
+ <return type="const Glyph*" />
<argument index="0" name="shaped" type="RID" />
<description>
- Copies text glyphs in the logical order, into preallocated array of the size returned by [method _shaped_text_get_glyph_count].
+ Returns text glyphs in the logical order.
</description>
</method>
- <method name="_shaped_text_substr" qualifiers="virtual const">
+ <method name="shaped_text_substr" qualifiers="virtual const">
<return type="RID" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="start" type="int" />
@@ -1396,7 +1437,7 @@
Returns text buffer for the substring of the text in the [code]shaped[/code] text buffer (including inline objects).
</description>
</method>
- <method name="_shaped_text_tab_align" qualifiers="virtual">
+ <method name="shaped_text_tab_align" qualifiers="virtual">
<return type="float" />
<argument index="0" name="shaped" type="RID" />
<argument index="1" name="tab_stops" type="PackedFloat32Array" />
@@ -1404,37 +1445,47 @@
Aligns shaped text to the given tab-stops.
</description>
</method>
- <method name="_shaped_text_update_breaks" qualifiers="virtual">
+ <method name="shaped_text_update_breaks" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
- Updates line and word breaks.
+ Updates line breaking positions in the text buffer.
+ [b]Note:[/b] This method is used by default line/word breaking methods, and its implementation might be omitted if custom line breaking in implemented.
</description>
</method>
- <method name="_shaped_text_update_justification_ops" qualifiers="virtual">
+ <method name="shaped_text_update_justification_ops" qualifiers="virtual">
<return type="bool" />
<argument index="0" name="shaped" type="RID" />
<description>
- Updates justification opportunities (spaces, kashidas, etc.).
+ Updates line justification positions (word breaks and elongations) in the text buffer.
+ [b]Note:[/b] This method is used by default line/word breaking methods, and its implementation might be omitted if custom line breaking in implemented.
</description>
</method>
- <method name="_string_to_lower" qualifiers="virtual const">
+ <method name="string_to_lower" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
<argument index="1" name="language" type="String" />
<description>
- Returns the string converted to lowercase. Casing is locale dependent and context sensitive. The result may be longer or shorter than the original.
+ Returns the string converted to lowercase.
</description>
</method>
- <method name="_string_to_upper" qualifiers="virtual const">
+ <method name="string_to_upper" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
<argument index="1" name="language" type="String" />
<description>
- Returns the string converted to uppercase. Casing is locale dependent and context sensitive. The result may be longer or shorter than the original.
+ Returns the string converted to uppercase.
+ </description>
+ </method>
+ <method name="strip_diacritics" qualifiers="virtual const">
+ <return type="String" />
+ <argument index="0" name="string" type="String" />
+ <description>
+ Strips diacritics from the string.
+ [b]Note:[/b] If this method is not implemented in the plugin, the default implementation will be used.
</description>
</method>
- <method name="_tag_to_name" qualifiers="virtual const">
+ <method name="tag_to_name" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="tag" type="int" />
<description>
diff --git a/doc/classes/TextureProgressBar.xml b/doc/classes/TextureProgressBar.xml
index a97e3a0cdc..4ea072a25f 100644
--- a/doc/classes/TextureProgressBar.xml
+++ b/doc/classes/TextureProgressBar.xml
@@ -27,7 +27,6 @@
<member name="fill_mode" type="int" setter="set_fill_mode" getter="get_fill_mode" default="0">
The fill direction. See [enum FillMode] for possible values.
</member>
- <member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" overrides="Control" enum="Control.MouseFilter" default="1" />
<member name="nine_patch_stretch" type="bool" setter="set_nine_patch_stretch" getter="get_nine_patch_stretch" default="false">
If [code]true[/code], Godot treats the bar's textures like in [NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When using a radial [member fill_mode], this setting will enable stretching.
</member>
diff --git a/doc/classes/Time.xml b/doc/classes/Time.xml
index dd83fa54ff..d3aac5fa00 100644
--- a/doc/classes/Time.xml
+++ b/doc/classes/Time.xml
@@ -50,6 +50,7 @@
<description>
Converts the given ISO 8601 date and time string (YYYY-MM-DDTHH:MM:SS) to a dictionary of keys: [code]year[/code], [code]month[/code], [code]day[/code], [code]weekday[/code], [code]hour[/code], [code]minute[/code], and [code]second[/code].
If [code]weekday[/code] is false, then the [code]weekday[/code] entry is excluded (the calculation is relatively expensive).
+ [b]Note:[/b] Any decimal fraction in the time string will be ignored silently.
</description>
</method>
<method name="get_datetime_dict_from_system" qualifiers="const">
@@ -171,12 +172,14 @@
<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.
+ [b]Note:[/b] Any decimal fraction in the time string will be ignored silently.
</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 in UTC. This method is implemented by the operating system and always returns the time in UTC.
+ [b]Note:[/b] Unlike other methods that use integer timestamps, this method returns the timestamp as a [float] for sub-second precision.
</description>
</method>
</methods>
diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml
index 6c0c3032ec..3ad21ee809 100644
--- a/doc/classes/Transform2D.xml
+++ b/doc/classes/Transform2D.xml
@@ -206,11 +206,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Transform2D" />
<description>
Returns [code]true[/code] if the transforms are not equal.
@@ -261,11 +256,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Transform2D" />
<description>
Returns [code]true[/code] if the transforms are exactly equal.
diff --git a/doc/classes/Transform3D.xml b/doc/classes/Transform3D.xml
index 67e70f30e4..5a72dc223c 100644
--- a/doc/classes/Transform3D.xml
+++ b/doc/classes/Transform3D.xml
@@ -148,11 +148,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Transform3D" />
<description>
Returns [code]true[/code] if the transforms are not equal.
@@ -203,11 +198,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Transform3D" />
<description>
Returns [code]true[/code] if the transforms are exactly equal.
diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml
index b8c39bee49..1d4a5b922d 100644
--- a/doc/classes/Tree.xml
+++ b/doc/classes/Tree.xml
@@ -179,8 +179,9 @@
<return type="Rect2" />
<argument index="0" name="item" type="TreeItem" />
<argument index="1" name="column" type="int" default="-1" />
+ <argument index="2" name="button_index" type="int" default="-1" />
<description>
- Returns the rectangle area for the specified [TreeItem]. If [code]column[/code] is specified, only get the position and size of that column, otherwise get the rectangle containing all columns.
+ Returns the rectangle area for the specified [TreeItem]. If [code]column[/code] is specified, only get the position and size of that column, otherwise get the rectangle containing all columns. If a button index is specified, the rectangle of that button will be returned.
</description>
</method>
<method name="get_item_at_position" qualifiers="const">
@@ -521,7 +522,7 @@
<theme_item name="draw_relationship_lines" data_type="constant" type="int" default="0">
Draws the relationship lines if not zero, this acts as a boolean. Relationship lines are drawn at the start of child items to show hierarchy.
</theme_item>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
The horizontal space between item cells. This is also used as the margin at the start of an item when folding is disabled.
</theme_item>
<theme_item name="item_margin" data_type="constant" type="int" default="16">
@@ -545,7 +546,7 @@
<theme_item name="scroll_speed" data_type="constant" type="int" default="12">
The speed of border scrolling.
</theme_item>
- <theme_item name="vseparation" data_type="constant" type="int" default="4">
+ <theme_item name="v_separation" data_type="constant" type="int" default="4">
The vertical padding inside each item, i.e. the distance between the item's content and top/bottom border.
</theme_item>
<theme_item name="font" data_type="font" type="Font">
diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml
index c909a35ab5..d2e29bf3b1 100644
--- a/doc/classes/TreeItem.xml
+++ b/doc/classes/TreeItem.xml
@@ -22,7 +22,7 @@
</description>
</method>
<method name="call_recursive" qualifiers="vararg">
- <return type="Variant" />
+ <return type="void" />
<argument index="0" name="method" type="StringName" />
<description>
Calls the [code]method[/code] on the actual TreeItem and its children recursively. Pass parameters as a comma separated list.
@@ -284,7 +284,7 @@
</description>
</method>
<method name="get_structured_text_bidi_override" qualifiers="const">
- <return type="int" enum="Control.StructuredTextParser" />
+ <return type="int" enum="TextServer.StructuredTextParser" />
<argument index="0" name="column" type="int" />
<description>
</description>
@@ -620,7 +620,7 @@
<method name="set_structured_text_bidi_override">
<return type="void" />
<argument index="0" name="column" type="int" />
- <argument index="1" name="parser" type="int" enum="Control.StructuredTextParser" />
+ <argument index="1" name="parser" type="int" enum="TextServer.StructuredTextParser" />
<description>
</description>
</method>
diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml
index 2c152410ce..72f32f39c2 100644
--- a/doc/classes/Tween.xml
+++ b/doc/classes/Tween.xml
@@ -72,6 +72,13 @@
[b]Note:[/b] The [Tween] will become invalid after finished, but you can call [method stop] after the step, to keep it and reset.
</description>
</method>
+ <method name="get_total_elapsed_time" qualifiers="const">
+ <return type="float" />
+ <description>
+ Returns the total time in seconds the [Tween] has been animating (i.e. time since it started, not counting pauses etc.). The time is affected by [method set_speed_scale] and [method stop] will reset it to [code]0[/code].
+ [b]Note:[/code] As it results from accumulating frame deltas, the time returned after the [Tween] has finished animating will be slightly greater than the actual [Tween] duration.
+ </description>
+ </method>
<method name="interpolate_value">
<return type="Variant" />
<argument index="0" name="initial_value" type="Variant" />
diff --git a/doc/classes/VFlowContainer.xml b/doc/classes/VFlowContainer.xml
index d047f4142e..f427276117 100644
--- a/doc/classes/VFlowContainer.xml
+++ b/doc/classes/VFlowContainer.xml
@@ -9,10 +9,10 @@
<tutorials>
</tutorials>
<theme_items>
- <theme_item name="hseparation" data_type="constant" type="int" default="4">
+ <theme_item name="h_separation" data_type="constant" type="int" default="4">
The horizontal separation of children nodes.
</theme_item>
- <theme_item name="vseparation" data_type="constant" type="int" default="4">
+ <theme_item name="v_separation" data_type="constant" type="int" default="4">
The vertical separation of children nodes.
</theme_item>
</theme_items>
diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml
index a39ddb8187..f9ef126658 100644
--- a/doc/classes/Vector2.xml
+++ b/doc/classes/Vector2.xml
@@ -359,11 +359,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Vector2" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -461,11 +456,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Vector2" />
<description>
Returns [code]true[/code] if the vectors are exactly equal.
diff --git a/doc/classes/Vector2i.xml b/doc/classes/Vector2i.xml
index 9b41e01c25..28d68b6e44 100644
--- a/doc/classes/Vector2i.xml
+++ b/doc/classes/Vector2i.xml
@@ -133,11 +133,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -253,11 +248,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Vector2i" />
<description>
Returns [code]true[/code] if the vectors are equal.
diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml
index ec695f41c1..18204943fd 100644
--- a/doc/classes/Vector3.xml
+++ b/doc/classes/Vector3.xml
@@ -4,7 +4,7 @@
Vector used for 3D math using floating point coordinates.
</brief_description>
<description>
- 3-element structure that can be used to represent positions in 3D space or any other pair of numeric values.
+ 3-element structure that can be used to represent positions in 3D space or any other triplet of numeric values.
It uses floating-point coordinates. See [Vector3i] for its integer counterpart.
[b]Note:[/b] In a boolean context, a Vector3 will evaluate to [code]false[/code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 will always evaluate to [code]true[/code].
</description>
@@ -360,11 +360,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Vector3" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -476,11 +471,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Vector3" />
<description>
Returns [code]true[/code] if the vectors are exactly equal.
diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml
index e486d7cfec..ebb518792f 100644
--- a/doc/classes/Vector3i.xml
+++ b/doc/classes/Vector3i.xml
@@ -4,7 +4,7 @@
Vector used for 3D math using integer coordinates.
</brief_description>
<description>
- 3-element structure that can be used to represent positions in 3D space or any other pair of numeric values.
+ 3-element structure that can be used to represent positions in 3D space or any other triplet of numeric values.
It uses integer coordinates and is therefore preferable to [Vector3] when exact precision is required.
[b]Note:[/b] In a boolean context, a Vector3i will evaluate to [code]false[/code] if it's equal to [code]Vector3i(0, 0, 0)[/code]. Otherwise, a Vector3i will always evaluate to [code]true[/code].
</description>
@@ -140,11 +140,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator !=">
- <return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
Returns [code]true[/code] if the vectors are not equal.
@@ -166,7 +161,7 @@
<description>
Gets the remainder of each component of the [Vector3i] with the the given [int]. This operation uses truncated division, which is often not desired as it does not work well with negative numbers. Consider using [method @GlobalScope.posmod] instead if you want to handle negative numbers.
[codeblock]
- print(Vector2i(10, -20, 30) % 7) # Prints "(3, -6, 2)"
+ print(Vector3i(10, -20, 30) % 7) # Prints "(3, -6, 2)"
[/codeblock]
</description>
</operator>
@@ -260,11 +255,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </operator>
- <operator name="operator ==">
- <return type="bool" />
<argument index="0" name="right" type="Vector3i" />
<description>
Returns [code]true[/code] if the vectors are equal.
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index ce61f51b9a..ce466b2d0f 100644
--- a/doc/classes/Viewport.xml
+++ b/doc/classes/Viewport.xml
@@ -122,6 +122,7 @@
<return type="bool" />
<description>
Returns [code]true[/code] if the viewport is currently performing a drag operation.
+ Alternative to [constant Node.NOTIFICATION_DRAG_BEGIN] and [constant Node.NOTIFICATION_DRAG_END] when you prefer polling the value.
</description>
</method>
<method name="gui_release_focus">
@@ -130,11 +131,6 @@
Removes the focus from the currently focused [Control] within this viewport. If no [Control] has the focus, does nothing.
</description>
</method>
- <method name="is_embedding_subwindows" qualifiers="const">
- <return type="bool" />
- <description>
- </description>
- </method>
<method name="is_input_handled" qualifiers="const">
<return type="bool" />
<description>
@@ -177,7 +173,7 @@
</method>
<method name="warp_mouse">
<return type="void" />
- <argument index="0" name="to_position" type="Vector2" />
+ <argument index="0" name="position" type="Vector2" />
<description>
Moves the mouse pointer to the specified position in this [Viewport] using the coordinate system of this [Viewport].
</description>
@@ -219,7 +215,8 @@
<member name="gui_disable_input" type="bool" setter="set_disable_input" getter="is_input_disabled" default="false">
If [code]true[/code], the viewport will not receive input events.
</member>
- <member name="gui_embed_subwindows" type="bool" setter="set_embed_subwindows_hint" getter="get_embed_subwindows_hint" default="false">
+ <member name="gui_embed_subwindows" type="bool" setter="set_embedding_subwindows" getter="is_embedding_subwindows" default="false">
+ If [code]true[/code], sub-windows (popups and dialogs) will be embedded inside application window as control-like nodes. If [code]false[/code], they will appear as separate windows handled by the operating system.
</member>
<member name="gui_snap_controls_to_pixels" type="bool" setter="set_snap_controls_to_pixels" getter="is_snap_controls_to_pixels_enabled" default="true">
If [code]true[/code], the GUI controls on the viewport will lay pixel perfectly.
@@ -336,10 +333,10 @@
Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum.
</constant>
<constant name="SCALING_3D_MODE_BILINEAR" value="0" enum="Scaling3DMode">
- Enables bilinear scaling on 3D viewports. The amount of scaling can be set using [member scaling_3d_scale]. Values less then [code]1.0[/code] will result in undersampling while values greater than [code]1.0[/code] will result in supersampling. A value of [code]1.0[/code] disables scaling.
+ Use bilinear scaling for the viewport's 3D buffer. The amount of scaling can be set using [member scaling_3d_scale]. Values less then [code]1.0[/code] will result in undersampling while values greater than [code]1.0[/code] will result in supersampling. A value of [code]1.0[/code] disables scaling.
</constant>
<constant name="SCALING_3D_MODE_FSR" value="1" enum="Scaling3DMode">
- Enables FSR upscaling on 3D viewports. The amount of scaling can be set using [member scaling_3d_scale]. Values less then [code]1.0[/code] will be result in the viewport being upscaled using FSR. Values greater than [code]1.0[/code] are not supported and bilinear supersampling will be used instead. A value of [code]1.0[/code] disables scaling.
+ Use AMD FidelityFX Super Resolution 1.0 upscaling for the viewport's 3D buffer. The amount of scaling can be set using [member scaling_3d_scale]. Values less then [code]1.0[/code] will be result in the viewport being upscaled using FSR. Values greater than [code]1.0[/code] are not supported and bilinear downsampling will be used instead. A value of [code]1.0[/code] disables scaling.
</constant>
<constant name="SCALING_3D_MODE_MAX" value="2" enum="Scaling3DMode">
Represents the size of the [enum Scaling3DMode] enum.
diff --git a/doc/classes/ViewportTexture.xml b/doc/classes/ViewportTexture.xml
index e5b7a68a51..87de664aad 100644
--- a/doc/classes/ViewportTexture.xml
+++ b/doc/classes/ViewportTexture.xml
@@ -14,7 +14,6 @@
<link title="3D Viewport Scaling Demo">https://godotengine.org/asset-library/asset/586</link>
</tutorials>
<members>
- <member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene" overrides="Resource" default="true" />
<member name="viewport_path" type="NodePath" setter="set_viewport_path_in_scene" getter="get_viewport_path_in_scene" default="NodePath(&quot;&quot;)">
The path to the [Viewport] node to display. This is relative to the scene root, not to the node which uses the texture.
</member>
diff --git a/doc/classes/VisualInstance3D.xml b/doc/classes/VisualInstance3D.xml
index 7efa1f4df8..78a681d92a 100644
--- a/doc/classes/VisualInstance3D.xml
+++ b/doc/classes/VisualInstance3D.xml
@@ -63,7 +63,7 @@
</method>
</methods>
<members>
- <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask" default="1">
+ <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask">
The render layer(s) this [VisualInstance3D] is drawn on.
This object will only be visible for [Camera3D]s whose cull mask includes the render object this [VisualInstance3D] is set to.
</member>
diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml
index 138aad8d47..5f13e4e7bc 100644
--- a/doc/classes/VisualShader.xml
+++ b/doc/classes/VisualShader.xml
@@ -214,11 +214,13 @@
</constant>
<constant name="VARYING_TYPE_VECTOR_3D" value="2" enum="VaryingType">
</constant>
- <constant name="VARYING_TYPE_COLOR" value="3" enum="VaryingType">
+ <constant name="VARYING_TYPE_VECTOR_4D" value="3" enum="VaryingType">
</constant>
- <constant name="VARYING_TYPE_TRANSFORM" value="4" enum="VaryingType">
+ <constant name="VARYING_TYPE_COLOR" value="4" enum="VaryingType">
</constant>
- <constant name="VARYING_TYPE_MAX" value="5" enum="VaryingType">
+ <constant name="VARYING_TYPE_TRANSFORM" value="5" enum="VaryingType">
+ </constant>
+ <constant name="VARYING_TYPE_MAX" value="6" enum="VaryingType">
</constant>
<constant name="NODE_ID_INVALID" value="-1">
</constant>
diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml
index b4a9c85625..7220731a8a 100644
--- a/doc/classes/VisualShaderNode.xml
+++ b/doc/classes/VisualShaderNode.xml
@@ -78,16 +78,19 @@
<constant name="PORT_TYPE_VECTOR_3D" value="3" enum="PortType">
3D vector of floating-point values. Translated to [code]vec3[/code] type in shader code.
</constant>
- <constant name="PORT_TYPE_BOOLEAN" value="4" enum="PortType">
+ <constant name="PORT_TYPE_VECTOR_4D" value="4" enum="PortType">
+ 4D vector of floating-point values. Translated to [code]vec4[/code] type in shader code.
+ </constant>
+ <constant name="PORT_TYPE_BOOLEAN" value="5" enum="PortType">
Boolean type. Translated to [code]bool[/code] type in shader code.
</constant>
- <constant name="PORT_TYPE_TRANSFORM" value="5" enum="PortType">
+ <constant name="PORT_TYPE_TRANSFORM" value="6" enum="PortType">
Transform type. Translated to [code]mat4[/code] type in shader code.
</constant>
- <constant name="PORT_TYPE_SAMPLER" value="6" enum="PortType">
+ <constant name="PORT_TYPE_SAMPLER" value="7" enum="PortType">
Sampler type. Translated to reference of sampler uniform in shader code. Can only be used for input ports in non-uniform nodes.
</constant>
- <constant name="PORT_TYPE_MAX" value="7" enum="PortType">
+ <constant name="PORT_TYPE_MAX" value="8" enum="PortType">
Represents the size of the [enum PortType] enum.
</constant>
</constants>
diff --git a/doc/classes/VisualShaderNodeClamp.xml b/doc/classes/VisualShaderNodeClamp.xml
index fd24b9cfc2..35f50a37c3 100644
--- a/doc/classes/VisualShaderNodeClamp.xml
+++ b/doc/classes/VisualShaderNodeClamp.xml
@@ -26,7 +26,10 @@
<constant name="OP_TYPE_VECTOR_3D" value="3" enum="OpType">
A 3D vector type.
</constant>
- <constant name="OP_TYPE_MAX" value="4" enum="OpType">
+ <constant name="OP_TYPE_VECTOR_4D" value="4" enum="OpType">
+ A 4D vector type.
+ </constant>
+ <constant name="OP_TYPE_MAX" value="5" enum="OpType">
Represents the size of the [enum OpType] enum.
</constant>
</constants>
diff --git a/doc/classes/VisualShaderNodeCompare.xml b/doc/classes/VisualShaderNodeCompare.xml
index d703181e2d..942ced2ebd 100644
--- a/doc/classes/VisualShaderNodeCompare.xml
+++ b/doc/classes/VisualShaderNodeCompare.xml
@@ -32,13 +32,16 @@
<constant name="CTYPE_VECTOR_3D" value="3" enum="ComparisonType">
A 3D vector type.
</constant>
- <constant name="CTYPE_BOOLEAN" value="4" enum="ComparisonType">
+ <constant name="CTYPE_VECTOR_4D" value="4" enum="ComparisonType">
+ A 4D vector type.
+ </constant>
+ <constant name="CTYPE_BOOLEAN" value="5" enum="ComparisonType">
A boolean type.
</constant>
- <constant name="CTYPE_TRANSFORM" value="5" enum="ComparisonType">
+ <constant name="CTYPE_TRANSFORM" value="6" enum="ComparisonType">
A transform ([code]mat4[/code]) type.
</constant>
- <constant name="CTYPE_MAX" value="6" enum="ComparisonType">
+ <constant name="CTYPE_MAX" value="7" enum="ComparisonType">
Represents the size of the [enum ComparisonType] enum.
</constant>
<constant name="FUNC_EQUAL" value="0" enum="Function">
diff --git a/doc/classes/VisualShaderNodeDerivativeFunc.xml b/doc/classes/VisualShaderNodeDerivativeFunc.xml
index ea1153ca25..9a1ad53394 100644
--- a/doc/classes/VisualShaderNodeDerivativeFunc.xml
+++ b/doc/classes/VisualShaderNodeDerivativeFunc.xml
@@ -26,7 +26,10 @@
<constant name="OP_TYPE_VECTOR_3D" value="2" enum="OpType">
A 3D vector type.
</constant>
- <constant name="OP_TYPE_MAX" value="3" enum="OpType">
+ <constant name="OP_TYPE_VECTOR_4D" value="3" enum="OpType">
+ A 4D vector type.
+ </constant>
+ <constant name="OP_TYPE_MAX" value="4" enum="OpType">
Represents the size of the [enum OpType] enum.
</constant>
<constant name="FUNC_SUM" value="0" enum="Function">
diff --git a/doc/classes/VisualShaderNodeMix.xml b/doc/classes/VisualShaderNodeMix.xml
index c8ca545183..3470e47726 100644
--- a/doc/classes/VisualShaderNodeMix.xml
+++ b/doc/classes/VisualShaderNodeMix.xml
@@ -29,7 +29,13 @@
<constant name="OP_TYPE_VECTOR_3D_SCALAR" value="4" enum="OpType">
The [code]a[/code] and [code]b[/code] ports use a 3D vector type. The [code]weight[/code] port uses a scalar type.
</constant>
- <constant name="OP_TYPE_MAX" value="5" enum="OpType">
+ <constant name="OP_TYPE_VECTOR_4D" value="5" enum="OpType">
+ A 4D vector type.
+ </constant>
+ <constant name="OP_TYPE_VECTOR_4D_SCALAR" value="6" enum="OpType">
+ The [code]a[/code] and [code]b[/code] ports use a 4D vector type. The [code]weight[/code] port uses a scalar type.
+ </constant>
+ <constant name="OP_TYPE_MAX" value="7" enum="OpType">
Represents the size of the [enum OpType] enum.
</constant>
</constants>
diff --git a/doc/classes/VisualShaderNodeMultiplyAdd.xml b/doc/classes/VisualShaderNodeMultiplyAdd.xml
index 811f01fc28..15d0d113e9 100644
--- a/doc/classes/VisualShaderNodeMultiplyAdd.xml
+++ b/doc/classes/VisualShaderNodeMultiplyAdd.xml
@@ -23,7 +23,10 @@
<constant name="OP_TYPE_VECTOR_3D" value="2" enum="OpType">
A 3D vector type.
</constant>
- <constant name="OP_TYPE_MAX" value="3" enum="OpType">
+ <constant name="OP_TYPE_VECTOR_4D" value="3" enum="OpType">
+ A 4D vector type.
+ </constant>
+ <constant name="OP_TYPE_MAX" value="4" enum="OpType">
Represents the size of the [enum OpType] enum.
</constant>
</constants>
diff --git a/doc/classes/VisualShaderNodeSmoothStep.xml b/doc/classes/VisualShaderNodeSmoothStep.xml
index b10e8b4433..e25fb72921 100644
--- a/doc/classes/VisualShaderNodeSmoothStep.xml
+++ b/doc/classes/VisualShaderNodeSmoothStep.xml
@@ -30,7 +30,13 @@
<constant name="OP_TYPE_VECTOR_3D_SCALAR" value="4" enum="OpType">
The [code]x[/code] port uses a 3D vector type. The first two ports use a floating-point scalar type.
</constant>
- <constant name="OP_TYPE_MAX" value="5" enum="OpType">
+ <constant name="OP_TYPE_VECTOR_4D" value="5" enum="OpType">
+ A 4D vector type.
+ </constant>
+ <constant name="OP_TYPE_VECTOR_4D_SCALAR" value="6" enum="OpType">
+ The [code]a[/code] and [code]b[/code] ports use a 4D vector type. The [code]weight[/code] port uses a scalar type.
+ </constant>
+ <constant name="OP_TYPE_MAX" value="7" enum="OpType">
Represents the size of the [enum OpType] enum.
</constant>
</constants>
diff --git a/doc/classes/VisualShaderNodeStep.xml b/doc/classes/VisualShaderNodeStep.xml
index 2d9e87e56c..497b86c85f 100644
--- a/doc/classes/VisualShaderNodeStep.xml
+++ b/doc/classes/VisualShaderNodeStep.xml
@@ -30,7 +30,13 @@
<constant name="OP_TYPE_VECTOR_3D_SCALAR" value="4" enum="OpType">
The [code]x[/code] port uses a 3D vector type, while the [code]edge[/code] port uses a floating-point scalar type.
</constant>
- <constant name="OP_TYPE_MAX" value="5" enum="OpType">
+ <constant name="OP_TYPE_VECTOR_4D" value="5" enum="OpType">
+ A 4D vector type.
+ </constant>
+ <constant name="OP_TYPE_VECTOR_4D_SCALAR" value="6" enum="OpType">
+ The [code]a[/code] and [code]b[/code] ports use a 4D vector type. The [code]weight[/code] port uses a scalar type.
+ </constant>
+ <constant name="OP_TYPE_MAX" value="7" enum="OpType">
Represents the size of the [enum OpType] enum.
</constant>
</constants>
diff --git a/doc/classes/VisualShaderNodeSwitch.xml b/doc/classes/VisualShaderNodeSwitch.xml
index 4cadf79b8e..e74ff6e162 100644
--- a/doc/classes/VisualShaderNodeSwitch.xml
+++ b/doc/classes/VisualShaderNodeSwitch.xml
@@ -26,13 +26,16 @@
<constant name="OP_TYPE_VECTOR_3D" value="3" enum="OpType">
A 3D vector type.
</constant>
- <constant name="OP_TYPE_BOOLEAN" value="4" enum="OpType">
+ <constant name="OP_TYPE_VECTOR_4D" value="4" enum="OpType">
+ A 4D vector type.
+ </constant>
+ <constant name="OP_TYPE_BOOLEAN" value="5" enum="OpType">
A boolean type.
</constant>
- <constant name="OP_TYPE_TRANSFORM" value="5" enum="OpType">
+ <constant name="OP_TYPE_TRANSFORM" value="6" enum="OpType">
A transform type.
</constant>
- <constant name="OP_TYPE_MAX" value="6" enum="OpType">
+ <constant name="OP_TYPE_MAX" value="7" enum="OpType">
Represents the size of the [enum OpType] enum.
</constant>
</constants>
diff --git a/doc/classes/VisualShaderNodeVec4Constant.xml b/doc/classes/VisualShaderNodeVec4Constant.xml
new file mode 100644
index 0000000000..ed3d8a673d
--- /dev/null
+++ b/doc/classes/VisualShaderNodeVec4Constant.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="VisualShaderNodeVec4Constant" inherits="VisualShaderNodeConstant" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ A 4D vector (represented as a [Quaternion]) constant to be used within the visual shader graph.
+ </brief_description>
+ <description>
+ A constant 4D vector (represented as a [Quaternion]), which can be used as an input node.
+ </description>
+ <tutorials>
+ </tutorials>
+ <members>
+ <member name="constant" type="Quaternion" setter="set_constant" getter="get_constant" default="Quaternion(0, 0, 0, 1)">
+ A 4D vector (represented as a [Quaternion]) constant which represents the state of this node.
+ </member>
+ </members>
+</class>
diff --git a/doc/classes/VisualShaderNodeVec4Uniform.xml b/doc/classes/VisualShaderNodeVec4Uniform.xml
new file mode 100644
index 0000000000..5bd13a440b
--- /dev/null
+++ b/doc/classes/VisualShaderNodeVec4Uniform.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="VisualShaderNodeVec4Uniform" inherits="VisualShaderNodeUniform" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
+ <brief_description>
+ A 4D vector (represented as a [Quaternion]) uniform to be used within the visual shader graph.
+ </brief_description>
+ <description>
+ Translated to [code]uniform vec4[/code] in the shader language.
+ </description>
+ <tutorials>
+ </tutorials>
+ <members>
+ <member name="default_value" type="Quaternion" setter="set_default_value" getter="get_default_value" default="Quaternion(0, 0, 0, 1)">
+ A default value to be assigned within the shader.
+ </member>
+ <member name="default_value_enabled" type="bool" setter="set_default_value_enabled" getter="is_default_value_enabled" default="false">
+ Enables usage of the [member default_value].
+ </member>
+ </members>
+</class>
diff --git a/doc/classes/VisualShaderNodeVectorBase.xml b/doc/classes/VisualShaderNodeVectorBase.xml
index 21f70960ab..d9c9f2d79c 100644
--- a/doc/classes/VisualShaderNodeVectorBase.xml
+++ b/doc/classes/VisualShaderNodeVectorBase.xml
@@ -19,7 +19,10 @@
<constant name="OP_TYPE_VECTOR_3D" value="1" enum="OpType">
A 3D vector type.
</constant>
- <constant name="OP_TYPE_MAX" value="2" enum="OpType">
+ <constant name="OP_TYPE_VECTOR_4D" value="2" enum="OpType">
+ A 4D vector type.
+ </constant>
+ <constant name="OP_TYPE_MAX" value="3" enum="OpType">
Represents the size of the [enum OpType] enum.
</constant>
</constants>
diff --git a/doc/classes/VisualShaderNodeVectorCompose.xml b/doc/classes/VisualShaderNodeVectorCompose.xml
index 87947c088e..b7447894b7 100644
--- a/doc/classes/VisualShaderNodeVectorCompose.xml
+++ b/doc/classes/VisualShaderNodeVectorCompose.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeVectorCompose" inherits="VisualShaderNodeVectorBase" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Composes a [Vector3] from three scalars within the visual shader graph.
+ Composes a [Vector2], [Vector3] or 4D vector (represented as a [Quaternion]) from scalars within the visual shader graph.
</brief_description>
<description>
- Creates a [code]vec3[/code] using three scalar values that can be provided from separate inputs.
+ Creates a [code]vec2[/code], [code]vec3[/code] or [code]vec4[/code] using scalar values that can be provided from separate inputs.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/VisualShaderNodeVectorDecompose.xml b/doc/classes/VisualShaderNodeVectorDecompose.xml
index f5cff2a9f7..fa18e6b0b9 100644
--- a/doc/classes/VisualShaderNodeVectorDecompose.xml
+++ b/doc/classes/VisualShaderNodeVectorDecompose.xml
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeVectorDecompose" inherits="VisualShaderNodeVectorBase" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- Decomposes a [Vector3] into three scalars within the visual shader graph.
+ Decomposes a [Vector2], [Vector3] or 4D vector (represented as a [Quaternion]) into scalars within the visual shader graph.
</brief_description>
<description>
- Takes a [code]vec3[/code] and decomposes it into three scalar values that can be used as separate inputs.
+ Takes a [code]vec2[/code], [code]vec3[/code] or [code]vec4[/code] and decomposes it into scalar values that can be used as separate outputs.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml
index 9853f906bc..5ce870a899 100644
--- a/doc/classes/Window.xml
+++ b/doc/classes/Window.xml
@@ -349,6 +349,15 @@
<argument index="0" name="files" type="PackedStringArray" />
<description>
Emitted when files are dragged from the OS file manager and dropped in the game window. The argument is a list of file paths.
+ Note that this method only works with non-embedded windows, i.e. the main window and [Window]-derived nodes when [member Viewport.gui_embed_subwindows] is disabled in the main viewport.
+ Example usage:
+ [codeblock]
+ func _ready():
+ get_viewport().files_dropped.connect(on_files_dropped)
+
+ func on_files_dropped(files):
+ print(files)
+ [/codeblock]
</description>
</signal>
<signal name="focus_entered">
@@ -458,9 +467,9 @@
<theme_item name="title_outline_modulate" data_type="color" type="Color" default="Color(1, 1, 1, 1)">
The color of the title outline.
</theme_item>
- <theme_item name="close_h_ofs" data_type="constant" type="int" default="18">
+ <theme_item name="close_h_offset" data_type="constant" type="int" default="18">
</theme_item>
- <theme_item name="close_v_ofs" data_type="constant" type="int" default="24">
+ <theme_item name="close_v_offset" data_type="constant" type="int" default="24">
</theme_item>
<theme_item name="resize_margin" data_type="constant" type="int" default="4">
</theme_item>
diff --git a/doc/classes/WorldBoundaryShape2D.xml b/doc/classes/WorldBoundaryShape2D.xml
index cfcaede4a6..5a655520c3 100644
--- a/doc/classes/WorldBoundaryShape2D.xml
+++ b/doc/classes/WorldBoundaryShape2D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="WorldBoundaryShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- World boundary shape for 2D collisions.
+ World boundary (infinite plane) shape resource for 2D physics.
</brief_description>
<description>
- World boundary shape for 2D collisions. It works like a 2D plane and will not allow any physics body to go to the negative side. Not recommended for rigid bodies, and usually not recommended for static bodies either because it forces checks against it on every frame.
+ 2D world boundary shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. [WorldBoundaryShape2D] works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [member normal] matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape2D] is used in a [PhysicsBody2D], it will cause colliding objects placed "below" it to teleport "above" the plane.
+ [b]Performance:[/b] Being a primitive collision shape, [WorldBoundaryShape2D] is fast to check collisions against.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/WorldBoundaryShape3D.xml b/doc/classes/WorldBoundaryShape3D.xml
index a05c404125..4f6b987a8e 100644
--- a/doc/classes/WorldBoundaryShape3D.xml
+++ b/doc/classes/WorldBoundaryShape3D.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="WorldBoundaryShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd">
<brief_description>
- World boundary shape for 3D collisions.
+ World boundary (infinite plane) shape resource for 3D physics.
</brief_description>
<description>
- World boundary shape for 3D collisions. It works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape3D] is used in a [PhysicsBody3D], it will cause colliding objects placed "below" it to teleport "above" the plane.
+ 3D world boundary shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. [WorldBoundaryShape3D] works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape3D] is used in a [PhysicsBody3D], it will cause colliding objects placed "below" it to teleport "above" the plane.
+ [b]Performance:[/b] Being a primitive collision shape, [WorldBoundaryShape3D] is fast to check collisions against.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/bool.xml b/doc/classes/bool.xml
index 6b1243b8c0..374b703636 100644
--- a/doc/classes/bool.xml
+++ b/doc/classes/bool.xml
@@ -123,11 +123,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </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].
@@ -142,12 +137,6 @@
</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>
- </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].
diff --git a/doc/classes/float.xml b/doc/classes/float.xml
index 1fe234c567..50961f9c7f 100644
--- a/doc/classes/float.xml
+++ b/doc/classes/float.xml
@@ -44,11 +44,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </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.
@@ -201,11 +196,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </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.
diff --git a/doc/classes/int.xml b/doc/classes/int.xml
index eac7ee8dfd..609291b69c 100644
--- a/doc/classes/int.xml
+++ b/doc/classes/int.xml
@@ -70,11 +70,6 @@
<operators>
<operator name="operator !=">
<return type="bool" />
- <description>
- </description>
- </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.
@@ -273,11 +268,6 @@
</operator>
<operator name="operator ==">
<return type="bool" />
- <description>
- </description>
- </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].