summaryrefslogtreecommitdiff
path: root/doc/classes
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes')
-rw-r--r--doc/classes/Area.xml15
-rw-r--r--doc/classes/Area2D.xml23
-rw-r--r--doc/classes/AudioEffectPitchShift.xml16
-rw-r--r--doc/classes/ColorPicker.xml8
-rw-r--r--doc/classes/EncodedObjectAsID.xml22
-rw-r--r--doc/classes/Engine.xml18
-rw-r--r--doc/classes/Geometry.xml11
-rw-r--r--doc/classes/IP.xml16
-rw-r--r--doc/classes/LineEdit.xml2
-rw-r--r--doc/classes/MarginContainer.xml14
-rw-r--r--doc/classes/Node.xml9
-rw-r--r--doc/classes/NodePath.xml55
-rw-r--r--doc/classes/OS.xml2
-rw-r--r--doc/classes/Object.xml2
-rw-r--r--doc/classes/PacketPeerUDP.xml23
-rw-r--r--doc/classes/String.xml12
-rw-r--r--doc/classes/TextEdit.xml22
-rw-r--r--doc/classes/UndoRedo.xml21
-rw-r--r--doc/classes/VisualServer.xml2
-rw-r--r--doc/classes/VisualShaderNodeGroupBase.xml8
20 files changed, 252 insertions, 49 deletions
diff --git a/doc/classes/Area.xml b/doc/classes/Area.xml
index c39c570be9..d40376414f 100644
--- a/doc/classes/Area.xml
+++ b/doc/classes/Area.xml
@@ -56,7 +56,8 @@
<argument index="0" name="body" type="Node">
</argument>
<description>
- If [code]true[/code], the given body overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ If [code]true[/code], the given physics body overlaps the Area. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</method>
<method name="set_collision_layer_bit">
@@ -183,14 +184,16 @@
<argument index="0" name="body" type="Node">
</argument>
<description>
- Emitted when a [PhysicsBody] object enters.
+ Emitted when a physics body enters.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_exited">
<argument index="0" name="body" type="Node">
</argument>
<description>
- Emitted when a [PhysicsBody] object exits.
+ Emitted when a physics body exits.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_shape_entered">
@@ -203,7 +206,8 @@
<argument index="3" name="area_shape" type="int">
</argument>
<description>
- Emitted when a [PhysicsBody] object enters, reporting which shapes overlapped.
+ Emitted when a physics body enters, reporting which shapes overlapped.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_shape_exited">
@@ -216,7 +220,8 @@
<argument index="3" name="area_shape" type="int">
</argument>
<description>
- Emitted when a [PhysicsBody] object exits, reporting which shapes were overlapping.
+ Emitted when a physics body exits, reporting which shapes were overlapping.
+ The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
</signals>
diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml
index 8d28ddc889..4771a976b5 100644
--- a/doc/classes/Area2D.xml
+++ b/doc/classes/Area2D.xml
@@ -56,7 +56,8 @@
<argument index="0" name="body" type="Node">
</argument>
<description>
- If [code]true[/code], the given body overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ If [code]true[/code], the given physics body overlaps the Area2D. Note that the result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</method>
<method name="set_collision_layer_bit">
@@ -168,43 +169,47 @@
</description>
</signal>
<signal name="body_entered">
- <argument index="0" name="body" type="PhysicsBody2D">
+ <argument index="0" name="body" type="Node">
</argument>
<description>
- Emitted when a [PhysicsBody2D] object enters.
+ Emitted when a physics body enters.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_exited">
- <argument index="0" name="body" type="PhysicsBody2D">
+ <argument index="0" name="body" type="Node">
</argument>
<description>
- Emitted when a [PhysicsBody2D] object exits.
+ Emitted when a physics body exits.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_shape_entered">
<argument index="0" name="body_id" type="int">
</argument>
- <argument index="1" name="body" type="PhysicsBody2D">
+ <argument index="1" name="body" type="Node">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
- Emitted when a [PhysicsBody2D] object enters, reporting which shapes overlapped.
+ Emitted when a physics body enters, reporting which shapes overlapped.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
<signal name="body_shape_exited">
<argument index="0" name="body_id" type="int">
</argument>
- <argument index="1" name="body" type="PhysicsBody2D">
+ <argument index="1" name="body" type="Node">
</argument>
<argument index="2" name="body_shape" type="int">
</argument>
<argument index="3" name="area_shape" type="int">
</argument>
<description>
- Emitted when a [PhysicsBody2D] object exits, reporting which shapes were overlapping.
+ Emitted when a physics body exits, reporting which shapes were overlapping.
+ The [code]body[/code] argument can either be a [PhysicsBody2D] or a [TileMap] instance (while TileMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body).
</description>
</signal>
</signals>
diff --git a/doc/classes/AudioEffectPitchShift.xml b/doc/classes/AudioEffectPitchShift.xml
index 7d6c5f2b20..8c22afb40f 100644
--- a/doc/classes/AudioEffectPitchShift.xml
+++ b/doc/classes/AudioEffectPitchShift.xml
@@ -12,10 +12,26 @@
<methods>
</methods>
<members>
+ <member name="fft_size" type="int" setter="set_fft_size" getter="get_fft_size" enum="AudioEffectPitchShift.FFT_Size">
+ </member>
+ <member name="oversampling" type="int" setter="set_oversampling" getter="get_oversampling">
+ </member>
<member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale">
Pitch value. Can range from 0 (-1 octave) to 16 (+16 octaves).
</member>
</members>
<constants>
+ <constant name="FFT_SIZE_256" value="0" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_512" value="1" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_1024" value="2" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_2048" value="3" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_4096" value="4" enum="FFT_Size">
+ </constant>
+ <constant name="FFT_SIZE_MAX" value="5" enum="FFT_Size">
+ </constant>
</constants>
</class>
diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml
index 1fefc719b7..0ab91e9621 100644
--- a/doc/classes/ColorPicker.xml
+++ b/doc/classes/ColorPicker.xml
@@ -45,14 +45,14 @@
<member name="edit_alpha" type="bool" setter="set_edit_alpha" getter="is_editing_alpha">
If [code]true[/code], shows an alpha channel slider (transparency).
</member>
- <member name="presets_enabled" type="bool" setter="set_presets_enabled" getter="are_presets_enabled">
- </member>
- <member name="presets_visible" type="bool" setter="set_presets_visible" getter="are_presets_visible">
- </member>
<member name="hsv_mode" type="bool" setter="set_hsv_mode" getter="is_hsv_mode">
If [code]true[/code], allows to edit color with Hue/Saturation/Value sliders.
[b]Note:[/b] Cannot be enabled if raw mode is on.
</member>
+ <member name="presets_enabled" type="bool" setter="set_presets_enabled" getter="are_presets_enabled">
+ </member>
+ <member name="presets_visible" type="bool" setter="set_presets_visible" getter="are_presets_visible">
+ </member>
<member name="raw_mode" type="bool" setter="set_raw_mode" getter="is_raw_mode">
If [code]true[/code], allows the color R, G, B component values to go beyond 1.0, which can be used for certain special operations that require it (like tinting without darkening or rendering sprites in HDR).
[b]Note:[/b] Cannot be enabled if hsv mode is on.
diff --git a/doc/classes/EncodedObjectAsID.xml b/doc/classes/EncodedObjectAsID.xml
index 1822f6c199..6efdda48ef 100644
--- a/doc/classes/EncodedObjectAsID.xml
+++ b/doc/classes/EncodedObjectAsID.xml
@@ -1,27 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="EncodedObjectAsID" inherits="Reference" category="Core" version="3.2">
<brief_description>
+ Holds a reference to an [Object]'s instance ID.
</brief_description>
<description>
+ Utility class which holds a reference to the internal identifier of an [Object] instance, as given by [method Object.get_instance_id]. This ID can then be used to retrieve the object instance with [method @GDScript.instance_from_id].
+ This class is used internally by the editor inspector and script debugger, but can also be used in plugins to pass and display objects as their IDs.
</description>
<tutorials>
</tutorials>
<methods>
- <method name="get_object_id" qualifiers="const">
- <return type="int">
- </return>
- <description>
- </description>
- </method>
- <method name="set_object_id">
- <return type="void">
- </return>
- <argument index="0" name="id" type="int">
- </argument>
- <description>
- </description>
- </method>
</methods>
+ <members>
+ <member name="object_id" type="int" setter="set_object_id" getter="get_object_id">
+ The [Object] identifier stored in this [EncodedObjectAsID] instance. The object instance can be retrieved with [method @GDScript.instance_from_id].
+ </member>
+ </members>
<constants>
</constants>
</class>
diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml
index ac46d34198..d446363a83 100644
--- a/doc/classes/Engine.xml
+++ b/doc/classes/Engine.xml
@@ -85,14 +85,16 @@
</return>
<description>
Returns the current engine version information in a Dictionary.
- "major" - Holds the major version number as an int
- "minor" - Holds the minor version number as an int
- "patch" - Holds the patch version number as an int
- "hex" - Holds the full version number encoded as an hexadecimal int with one byte (2 places) per number (see example below)
- "status" - Holds the status (e.g. "beta", "rc1", "rc2", ... "stable") as a String
- "build" - Holds the build name (e.g. "custom-build") as a String
- "string" - major + minor + patch + status + build in a single String
- The "hex" value is encoded as follows, from left to right: one byte for the major, one byte for the minor, one byte for the patch version. For example, "3.1.12" would be [code]0x03010C[/code]. Note that it's still an int internally, and printing it will give you its decimal representation, which is not particularly meaningful. Use hexadecimal literals for easy version comparisons from code:
+ [code]major[/code] - Holds the major version number as an int
+ [code]minor[/code] - Holds the minor version number as an int
+ [code]patch[/code] - Holds the patch version number as an int
+ [code]hex[/code] - Holds the full version number encoded as an hexadecimal int with one byte (2 places) per number (see example below)
+ [code]status[/code] - Holds the status (e.g. "beta", "rc1", "rc2", ... "stable") as a String
+ [code]build[/code] - Holds the build name (e.g. "custom_build") as a String
+ [code]hash[/code] - Holds the full Git commit hash as a String
+ [code]year[/code] - Holds the year the version was released in as an int
+ [code]string[/code] - [code]major[/code] + [code]minor[/code] + [code]patch[/code] + [code]status[/code] + [code]build[/code] in a single String
+ The [code]hex[/code] value is encoded as follows, from left to right: one byte for the major, one byte for the minor, one byte for the patch version. For example, "3.1.12" would be [code]0x03010C[/code]. Note that it's still an int internally, and printing it will give you its decimal representation, which is not particularly meaningful. Use hexadecimal literals for easy version comparisons from code:
[codeblock]
if Engine.get_version_info().hex &gt;= 0x030200:
# do things specific to version 3.2 or later
diff --git a/doc/classes/Geometry.xml b/doc/classes/Geometry.xml
index e2ba3fb7b0..6fb4341b3c 100644
--- a/doc/classes/Geometry.xml
+++ b/doc/classes/Geometry.xml
@@ -216,6 +216,17 @@
Intersects [code]polyline[/code] with [code]polygon[/code] and returns an array of intersected polylines. This performs [code]OPERATION_INTERSECTION[/code] between the polyline and the polygon. This operation can be thought of as chopping a line with a closed shape.
</description>
</method>
+ <method name="is_point_in_polygon">
+ <return type="bool">
+ </return>
+ <argument index="0" name="point" type="Vector2">
+ </argument>
+ <argument index="1" name="polygon" type="PoolVector2Array">
+ </argument>
+ <description>
+ Returns [code]true[/code] if [code]point[/code] is inside [code]polygon[/code] or if it's located exactly [i]on[/i] polygon's boundary, otherwise returns [code]false[/code].
+ </description>
+ </method>
<method name="is_polygon_clockwise">
<return type="bool">
</return>
diff --git a/doc/classes/IP.xml b/doc/classes/IP.xml
index 3616a9ec50..65b1700333 100644
--- a/doc/classes/IP.xml
+++ b/doc/classes/IP.xml
@@ -34,6 +34,22 @@
Returns all of the user's current IPv4 and IPv6 addresses as an array.
</description>
</method>
+ <method name="get_local_interfaces" qualifiers="const">
+ <return type="Array">
+ </return>
+ <description>
+ Returns all network adapters as an array.
+ Each adapter is a dictionary of the form:
+ [codeblock]
+ {
+ "index": "1", # Interface index.
+ "name": "eth0", # Interface name.
+ "friendly": "Ethernet One", # A friendly name (might be empty).
+ "addresses": ["192.168.1.101"], # An array of IP addresses associated to this interface.
+ }
+ [/codeblock]
+ </description>
+ </method>
<method name="get_resolve_item_address" qualifiers="const">
<return type="String">
</return>
diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml
index 184987d2dd..333f6a3671 100644
--- a/doc/classes/LineEdit.xml
+++ b/doc/classes/LineEdit.xml
@@ -200,6 +200,8 @@
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
+ <theme_item name="font_color_uneditable" type="Color">
+ </theme_item>
<theme_item name="minimum_spaces" type="int">
</theme_item>
<theme_item name="normal" type="StyleBox">
diff --git a/doc/classes/MarginContainer.xml b/doc/classes/MarginContainer.xml
index 0993ed88ca..3ea3204e56 100644
--- a/doc/classes/MarginContainer.xml
+++ b/doc/classes/MarginContainer.xml
@@ -4,7 +4,15 @@
Simple margin container.
</brief_description>
<description>
- Simple margin container. Adds a left margin to anything contained.
+ Adds a top, left, bottom, and right margin to all [Control] nodes that are direct children of the container. To control the [MarginContainer]'s margin, use the [code]margin_*[/code] theme properties listed below.
+ [b]Note:[/b] Be careful, [Control] margin values are different than the constant margin values. If you want to change the custom margin values of the [MarginContainer] by code you should use the following examples:
+ [codeblock]
+ var margin_value = 100
+ set("custom_constants/margin_top", margin_value)
+ set("custom_constants/margin_left", margin_value)
+ set("custom_constants/margin_bottom", margin_value)
+ set("custom_constants/margin_right", margin_value)
+ [/codeblock]
</description>
<tutorials>
</tutorials>
@@ -14,12 +22,16 @@
</constants>
<theme_items>
<theme_item name="margin_bottom" type="int">
+ All direct children of [MarginContainer] will have a bottom margin of [code]margin_bottom[/code] pixels.
</theme_item>
<theme_item name="margin_left" type="int">
+ All direct children of [MarginContainer] will have a left margin of [code]margin_left[/code] pixels.
</theme_item>
<theme_item name="margin_right" type="int">
+ All direct children of [MarginContainer] will have a right margin of [code]margin_right[/code] pixels.
</theme_item>
<theme_item name="margin_top" type="int">
+ All direct children of [MarginContainer] will have a top margin of [code]margin_top[/code] pixels.
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 1fb2e7350f..e8b43ead85 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -268,6 +268,14 @@
<argument index="0" name="path" type="NodePath">
</argument>
<description>
+ Fetches a node and one of its resources as specified by the [NodePath]'s subname (e.g. [code]Area2D/CollisionShape2D:shape[/code]). If several nested resources are specified in the [NodePath], the last one will be fetched.
+ The return value is an array of size 3: the first index points to the [Node] (or [code]null[/code] if not found), the second index points to the [Resource] (or [code]null[/code] if not found), and the third index is the remaining [NodePath], if any.
+ For example, assuming that [code]Area2D/CollisionShape2D[/code] is a valid node and that its [code]shape[/code] property has been assigned a [RectangleShape2D] resource, one could have this kind of output:
+ [codeblock]
+ print(get_node_and_resource("Area2D/CollisionShape2D")) # [[CollisionShape2D:1161], Null, ]
+ print(get_node_and_resource("Area2D/CollisionShape2D:shape")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], ]
+ print(get_node_and_resource("Area2D/CollisionShape2D:shape:extents")) # [[CollisionShape2D:1161], [RectangleShape2D:1156], :extents]
+ [/codeblock]
</description>
</method>
<method name="get_node_or_null" qualifiers="const">
@@ -359,6 +367,7 @@
<argument index="0" name="path" type="NodePath">
</argument>
<description>
+ Returns [code]true[/code] if the [NodePath] points to a valid node and its subname points to a valid resource, e.g. [code]Area2D/CollisionShape2D:shape[/code]. Properties with a non-[Resource] type (e.g. nodes or primitive math types) are not considered resources.
</description>
</method>
<method name="is_a_parent_of" qualifiers="const">
diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml
index 554858d895..2879a83efb 100644
--- a/doc/classes/NodePath.xml
+++ b/doc/classes/NodePath.xml
@@ -4,9 +4,9 @@
Pre-parsed scene tree path.
</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/Sprite:texture:size"[/code] would refer to the size property of the texture resource on the node named "Sprite" which is a child of the other named nodes in the path. Note that if you want to get a resource, you must end the path with a colon, otherwise the last element will be used as a property name.
+ 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/Sprite:texture:size"[/code] would refer to the [code]size[/code] property of the [code]texture[/code] resource on the node named [code]"Sprite"[/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.
- A [NodePath] is made up of a list of node names, a list of "subnode" (resource) names, and the name of a property in the final node or resource.
+ 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.
</description>
<tutorials>
</tutorials>
@@ -18,18 +18,46 @@
</argument>
<description>
Create a NodePath from a string, e.g. "Path2D/PathFollow2D/Sprite:texture:size". A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, [code]"."[/code] and [code]".."[/code] indicate the current node and its parent.
+ The "subnames" optionally included after the path to the target node can point to resources or properties, and can also be nested.
+ Examples of valid NodePaths (assuming that those nodes exist and have the referenced resources or properties):
+ [codeblock]
+ # Points to the Sprite node
+ "Path2D/PathFollow2D/Sprite"
+ # Points to the Sprite node and its 'texture' resource.
+ # get_node() would retrieve "Sprite", while get_node_and_resource()
+ # would retrieve both the Sprite node and the 'texture' resource.
+ "Path2D/PathFollow2D/Sprite:texture"
+ # Points to the Sprite node and its 'position' property.
+ "Path2D/PathFollow2D/Sprite:position"
+ # Points to the Sprite node and the 'x' component of its 'position' property.
+ "Path2D/PathFollow2D/Sprite:position:x"
+ # Absolute path (from 'root')
+ "/root/Level/Path2D"
+ [/codeblock]
</description>
</method>
<method name="get_as_property_path">
<return type="NodePath">
</return>
<description>
+ Returns a node path with a colon character ([code]:[/code]) prepended, transforming it to a pure property path with no node name (defaults to resolving from the current node).
+ [codeblock]
+ # This will be parsed as a node path to the 'x' property in the 'position' node
+ var node_path = NodePath("position:x")
+ # This will be parsed as a node path to the 'x' component of the 'position' property in the current node
+ var property_path = node_path.get_as_property_path()
+ print(property_path) # :position:x
</description>
</method>
<method name="get_concatenated_subnames">
<return type="String">
</return>
<description>
+ Returns all subnames concatenated with a colon character ([code]:[/code]) as separator, i.e. the right side of the first colon in a node path.
+ [codeblock]
+ var nodepath = NodePath("Path2D/PathFollow2D/Sprite:texture:load_path")
+ print(nodepath.get_concatenated_subnames()) # texture:load_path
+ [/codeblock]
</description>
</method>
<method name="get_name">
@@ -38,14 +66,21 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the node name indicated by [code]idx[/code] (0 to [method get_name_count])
+ Get the node name indicated by [code]idx[/code] (0 to [method get_name_count]).
+ [codeblock]
+ var node_path = NodePath("Path2D/PathFollow2D/Sprite")
+ print(node_path.get_name(0)) # Path2D
+ print(node_path.get_name(1)) # PathFollow2D
+ print(node_path.get_name(2)) # Sprite
+ [/codeblock]
</description>
</method>
<method name="get_name_count">
<return type="int">
</return>
<description>
- Get the number of node names which make up the path.
+ Get the number of node names which make up the path. Subnames (see [method get_subname_count]) are not included.
+ For example, [code]"Path2D/PathFollow2D/Sprite"[code] has 3 names.
</description>
</method>
<method name="get_subname">
@@ -54,21 +89,27 @@
<argument index="0" name="idx" type="int">
</argument>
<description>
- Get the resource name indicated by [code]idx[/code] (0 to [method get_subname_count])
+ Get the resource or property name indicated by [code]idx[/code] (0 to [method get_subname_count]).
+ [codeblock]
+ var node_path = NodePath("Path2D/PathFollow2D/Sprite:texture:load_path")
+ print(node_path.get_subname(0)) # texture
+ print(node_path.get_subname(1)) # load_path
+ [/codeblock]
</description>
</method>
<method name="get_subname_count">
<return type="int">
</return>
<description>
- Get the number of resource names in the path.
+ Get the number of resource or property names ("subnames") in the path. Each subname is listed after a colon character ([code]:[/code]) in the node path.
+ For example, [code]"Path2D/PathFollow2D/Sprite:texture:load_path"[/code] has 2 subnames.
</description>
</method>
<method name="is_absolute">
<return type="bool">
</return>
<description>
- Returns [code]true[/code] if the node path is absolute (not relative).
+ Returns [code]true[/code] if the node path is absolute (as opposed to relative), which means that it starts with a slash character ([code]/[/code]). Absolute node paths can be used to access the root node ([code]"/root"[/code]) or autoloads (e.g. [code]"/global"[/code] if a "global" autoload was registered).
</description>
</method>
<method name="is_empty">
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index 7b50021284..3292438851 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -4,7 +4,7 @@
Operating System functions.
</brief_description>
<description>
- Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as: mouse grabbing, mouse cursors, clipboard, video mode, date and time, timers, environment variables, execution of binaries, command line, etc.
+ Operating System functions. OS Wraps the most common functionality to communicate with the host Operating System, such as: clipboard, video mode, date and time, timers, environment variables, execution of binaries, command line, etc.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml
index c9910360ed..a1fba1ac8d 100644
--- a/doc/classes/Object.xml
+++ b/doc/classes/Object.xml
@@ -203,6 +203,7 @@
</return>
<description>
Returns the object's unique instance ID.
+ This ID can be saved in [EncodedObjectAsID], and can be used to retrieve the object instance with [method @GDScript.instance_from_id].
</description>
</method>
<method name="get_meta" qualifiers="const">
@@ -374,6 +375,7 @@
<argument index="1" name="value" type="Variant">
</argument>
<description>
+ Set property into the object, after the current frame's physics step. This is equivalent to calling [method set] via [method call_deferred], i.e. [code]call_deferred("set", [property, value])[/code].
</description>
</method>
<method name="set_indexed">
diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml
index 9843c16108..376818fb86 100644
--- a/doc/classes/PacketPeerUDP.xml
+++ b/doc/classes/PacketPeerUDP.xml
@@ -37,6 +37,29 @@
Returns whether this [PacketPeerUDP] is listening.
</description>
</method>
+ <method name="join_multicast_group">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="multicast_address" type="String">
+ </argument>
+ <argument index="1" name="interface_name" type="String">
+ </argument>
+ <description>
+ Join the multicast group specified by [code]multicast_address[/code] using the interface identified by [code]interface_name[/code].
+ You can join the same multicast group with multiple interfaces. Use [method IP.get_local_interfaces] to know which are available.
+ </description>
+ </method>
+ <method name="leave_multicast_group">
+ <return type="int" enum="Error">
+ </return>
+ <argument index="0" name="multicast_address" type="String">
+ </argument>
+ <argument index="1" name="interface_name" type="String">
+ </argument>
+ <description>
+ Remove the interface identified by [code]interface_name[/code] from the multicast group specified by [code]multicast_address[/code].
+ </description>
+ </method>
<method name="listen">
<return type="int" enum="Error">
</return>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index ff0572f384..6395fe2ce8 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -388,6 +388,18 @@
Converts a string containing a hexadecimal number into an integer.
</description>
</method>
+ <method name="http_escape">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
+ <method name="http_unescape">
+ <return type="String">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="insert">
<return type="String">
</return>
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index 8139da3a4c..00db5ef2b9 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -44,6 +44,12 @@
Returns if the given line is foldable, that is, it has indented lines right below it.
</description>
</method>
+ <method name="center_viewport_to_cursor">
+ <return type="void">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="clear_colors">
<return type="void">
</return>
@@ -515,12 +521,15 @@
</constants>
<theme_items>
<theme_item name="background_color" type="Color">
+ Sets the background [Color] of this [TextEdit]. [member syntax_highlighting] has to be enabled.
</theme_item>
<theme_item name="bookmark_color" type="Color">
+ Sets the [Color] of the bookmark marker. [member syntax_highlighting] has to be enabled.
</theme_item>
<theme_item name="brace_mismatch_color" type="Color">
</theme_item>
<theme_item name="breakpoint_color" type="Color">
+ Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be enabled.
</theme_item>
<theme_item name="caret_background_color" type="Color">
</theme_item>
@@ -547,6 +556,7 @@
<theme_item name="completion_selected_color" type="Color">
</theme_item>
<theme_item name="current_line_color" type="Color">
+ Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be enabled.
</theme_item>
<theme_item name="executing_line_color" type="Color">
</theme_item>
@@ -557,38 +567,50 @@
<theme_item name="folded" type="Texture">
</theme_item>
<theme_item name="font" type="Font">
+ Sets the default [Font].
</theme_item>
<theme_item name="font_color" type="Color">
+ Sets the font [Color].
+ </theme_item>
+ <theme_item name="font_color_readonly" type="Color">
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="function_color" type="Color">
</theme_item>
<theme_item name="line_number_color" type="Color">
+ Sets the [Color] of the line numbers. [member show_line_numbers] has to be enabled.
</theme_item>
<theme_item name="line_spacing" type="int">
+ Sets the spacing between the lines.
</theme_item>
<theme_item name="mark_color" type="Color">
+ Sets the [Color] of marked text.
</theme_item>
<theme_item name="member_variable_color" type="Color">
</theme_item>
<theme_item name="normal" type="StyleBox">
+ Sets the [StyleBox] of this [TextEdit].
</theme_item>
<theme_item name="number_color" type="Color">
</theme_item>
<theme_item name="read_only" type="StyleBox">
+ Sets the [StyleBox] of this [TextEdit] when [member readonly] is enabled.
</theme_item>
<theme_item name="safe_line_number_color" type="Color">
</theme_item>
<theme_item name="selection_color" type="Color">
+ Sets the highlight [Color] of text selections.
</theme_item>
<theme_item name="space" type="Texture">
</theme_item>
<theme_item name="symbol_color" type="Color">
</theme_item>
<theme_item name="tab" type="Texture">
+ Sets a custom [Texture] for tab text characters.
</theme_item>
<theme_item name="word_highlighted_color" type="Color">
+ Sets the highlight [Color] of multiple occurrences. [member highlight_all_occurrences] has to be enabled.
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml
index c0b73cd8e3..b6e458b43f 100644
--- a/doc/classes/UndoRedo.xml
+++ b/doc/classes/UndoRedo.xml
@@ -141,6 +141,20 @@
This is useful mostly to check if something changed from a saved version.
</description>
</method>
+ <method name="has_redo">
+ <return type="bool">
+ </return>
+ <description>
+ Returns [code]true[/code] if an 'redo' action is available.
+ </description>
+ </method>
+ <method name="has_undo">
+ <return type="bool">
+ </return>
+ <description>
+ Returns [code]true[/code] if an 'undo' action is available.
+ </description>
+ </method>
<method name="is_commiting_action" qualifiers="const">
<return type="bool">
</return>
@@ -162,6 +176,13 @@
</description>
</method>
</methods>
+ <signals>
+ <signal name="version_changed">
+ <description>
+ Called when [method undo] or [method redo] was called.
+ </description>
+ </signal>
+ </signals>
<constants>
<constant name="MERGE_DISABLE" value="0" enum="MergeMode">
Makes [code]do[/code]/[code]undo[/code] operations stay in separate actions.
diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml
index f9b668b38a..10b96f1d60 100644
--- a/doc/classes/VisualServer.xml
+++ b/doc/classes/VisualServer.xml
@@ -1951,6 +1951,8 @@
<argument index="2" name="scenario" type="RID">
</argument>
<description>
+ Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as [MeshInstance] or [DirectionalLight]. Use [method @GDscript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World] you want to query.
+ Warning: this function is primarily intended for editor usage. For in-game use cases, prefer physics collision.
</description>
</method>
<method name="light_directional_set_blend_splits">
diff --git a/doc/classes/VisualShaderNodeGroupBase.xml b/doc/classes/VisualShaderNodeGroupBase.xml
index 37d48956f6..c2e9b9503b 100644
--- a/doc/classes/VisualShaderNodeGroupBase.xml
+++ b/doc/classes/VisualShaderNodeGroupBase.xml
@@ -109,6 +109,14 @@
<description>
</description>
</method>
+ <method name="is_valid_port_name" qualifiers="const">
+ <return type="bool">
+ </return>
+ <argument index="0" name="name" type="String">
+ </argument>
+ <description>
+ </description>
+ </method>
<method name="remove_input_port">
<return type="void">
</return>