summaryrefslogtreecommitdiff
path: root/doc/classes
diff options
context:
space:
mode:
Diffstat (limited to 'doc/classes')
-rw-r--r--doc/classes/@GlobalScope.xml4
-rw-r--r--doc/classes/BaseMaterial3D.xml14
-rw-r--r--doc/classes/Button.xml4
-rw-r--r--doc/classes/CheckBox.xml4
-rw-r--r--doc/classes/CheckButton.xml4
-rw-r--r--doc/classes/ColorPickerButton.xml2
-rw-r--r--doc/classes/Control.xml25
-rw-r--r--doc/classes/Directory.xml3
-rw-r--r--doc/classes/DisplayServer.xml102
-rw-r--r--doc/classes/EditorPlugin.xml6
-rw-r--r--doc/classes/FontData.xml3
-rw-r--r--doc/classes/GPUParticles2D.xml3
-rw-r--r--doc/classes/GPUParticles3D.xml1
-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/Input.xml3
-rw-r--r--doc/classes/ItemList.xml4
-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.xml2
-rw-r--r--doc/classes/MenuButton.xml2
-rw-r--r--doc/classes/MultiplayerAPI.xml4
-rw-r--r--doc/classes/Node.xml57
-rw-r--r--doc/classes/OS.xml10
-rw-r--r--doc/classes/OptionButton.xml2
-rw-r--r--doc/classes/PackedByteArray.xml4
-rw-r--r--doc/classes/PackedColorArray.xml4
-rw-r--r--doc/classes/PackedFloat32Array.xml4
-rw-r--r--doc/classes/PackedFloat64Array.xml4
-rw-r--r--doc/classes/PackedInt32Array.xml4
-rw-r--r--doc/classes/PackedInt64Array.xml4
-rw-r--r--doc/classes/PackedStringArray.xml4
-rw-r--r--doc/classes/PackedVector2Array.xml4
-rw-r--r--doc/classes/PackedVector3Array.xml4
-rw-r--r--doc/classes/PacketPeerUDP.xml2
-rw-r--r--doc/classes/PopupMenu.xml4
-rw-r--r--doc/classes/ProjectSettings.xml10
-rw-r--r--doc/classes/RichTextLabel.xml8
-rw-r--r--doc/classes/SceneTree.xml18
-rw-r--r--doc/classes/Skeleton3D.xml8
-rw-r--r--doc/classes/SpriteBase3D.xml17
-rw-r--r--doc/classes/StreamPeerTCP.xml8
-rw-r--r--doc/classes/StyleBoxFlat.xml10
-rw-r--r--doc/classes/TabBar.xml2
-rw-r--r--doc/classes/TextEdit.xml2
-rw-r--r--doc/classes/TextServer.xml76
-rw-r--r--doc/classes/TextServerExtension.xml49
-rw-r--r--doc/classes/TileMap.xml4
-rw-r--r--doc/classes/Tree.xml4
-rw-r--r--doc/classes/TreeItem.xml4
-rw-r--r--doc/classes/Tween.xml20
-rw-r--r--doc/classes/Tweener.xml2
-rw-r--r--doc/classes/VFlowContainer.xml4
-rw-r--r--doc/classes/Vector3i.xml2
-rw-r--r--doc/classes/Viewport.xml1
-rw-r--r--doc/classes/Window.xml4
59 files changed, 617 insertions, 128 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index da6513a08b..0021b2f857 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -266,7 +266,7 @@
- Greater than 1.0 (exclusive): Ease in
[/codeblock]
[url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/ease_cheatsheet.png]ease() curve values cheatsheet[/url]
- See also [method smoothstep]. If you need to perform more advanced transitions, use [Tween] or [AnimationPlayer].
+ See also [method smoothstep]. If you need to perform more advanced transitions, use [method Tween.interpolate_value].
</description>
</method>
<method name="error_string">
@@ -2013,7 +2013,7 @@
<constant name="KEY_CODE_MASK" value="33554431" enum="KeyModifierMask">
Key Code mask.
</constant>
- <constant name="KEY_MODIFIER_MASK" value="-16777216" enum="KeyModifierMask">
+ <constant name="KEY_MODIFIER_MASK" value="2130706432" enum="KeyModifierMask">
Modifier key mask.
</constant>
<constant name="KEY_MASK_SHIFT" value="33554432" enum="KeyModifierMask">
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/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/CheckBox.xml b/doc/classes/CheckBox.xml
index 462ab81587..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">
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/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/Control.xml b/doc/classes/Control.xml
index 78150af9dd..d084bd4db9 100644
--- a/doc/classes/Control.xml
+++ b/doc/classes/Control.xml
@@ -665,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">
@@ -1358,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/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 0d99c600d5..ede3a1e199 100644
--- a/doc/classes/DisplayServer.xml
+++ b/doc/classes/DisplayServer.xml
@@ -814,6 +814,93 @@
[b]Note:[/b] This method is implemented on Windows.
</description>
</method>
+ <method name="tts_get_voices" qualifiers="const">
+ <return type="Array" />
+ <description>
+ Returns an [Array] of voice information dictionaries.
+ Each [Dictionary] contains two [String] entries:
+ - [code]name[/code] is voice name.
+ - [code]id[/code] is voice identifier.
+ - [code]language[/code] is language code in [code]lang_Variant[/code] format. [code]lang[/code] part is a 2 or 3-letter code based on the ISO-639 standard, in lowercase. And [code]Variant[/code] part is an engine dependent string describing country, region or/and dialect.
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
+ <method name="tts_get_voices_for_language" qualifiers="const">
+ <return type="PackedStringArray" />
+ <argument index="0" name="language" type="String" />
+ <description>
+ Returns an [PackedStringArray] of voice identifiers for the [code]language[/code].
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
+ <method name="tts_is_paused" qualifiers="const">
+ <return type="bool" />
+ <description>
+ Returns [code]true[/code] if the synthesizer is in a paused state.
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
+ <method name="tts_is_speaking" qualifiers="const">
+ <return type="bool" />
+ <description>
+ Returns [code]true[/code] if the synthesizer is generating speech, or have utterance waiting in the queue.
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
+ <method name="tts_pause">
+ <return type="void" />
+ <description>
+ Puts the synthesizer into a paused state.
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
+ <method name="tts_resume">
+ <return type="void" />
+ <description>
+ Resumes the synthesizer if it was paused.
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
+ <method name="tts_set_utterance_callback">
+ <return type="void" />
+ <argument index="0" name="event" type="int" enum="DisplayServer.TTSUtteranceEvent" />
+ <argument index="1" name="callable" type="Callable" />
+ <description>
+ Adds a callback, which is called when the utterance has started, finished, canceled or reached a text boundary.
+ - [code]TTS_UTTERANCE_STARTED[/code], [code]TTS_UTTERANCE_ENDED[/code], and [code]TTS_UTTERANCE_CANCELED[/code] callable's method should take one [int] parameter, the utterance id.
+ - [code]TTS_UTTERANCE_BOUNDARY[/code] callable's method should take two [int] parameters, the index of the character and the utterance id.
+ [b]Note:[/b] The granularity of the boundary callbacks is engine dependent.
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
+ <method name="tts_speak">
+ <return type="void" />
+ <argument index="0" name="text" type="String" />
+ <argument index="1" name="voice" type="String" />
+ <argument index="2" name="volume" type="int" default="50" />
+ <argument index="3" name="pitch" type="float" default="1.0" />
+ <argument index="4" name="rate" type="float" default="1.0" />
+ <argument index="5" name="utterance_id" type="int" default="0" />
+ <argument index="6" name="interrupt" type="bool" default="false" />
+ <description>
+ Adds an utterance to the queue. If [code]interrupt[/code] is [code]true[/code], the queue is cleared first.
+ - [code]voice[/code] identifier is one of the [code]"id"[/code] values returned by [method tts_get_voices] or one of the values returned by [method tts_get_voices_for_language].
+ - [code]volume[/code] ranges from [code]0[/code] (lowest) to [code]100[/code] (highest).
+ - [code]pitch[/code] ranges from [code]0.0[/code] (lowest) to [code]2.0[/code] (highest), [code]1.0[/code] is default pitch for the current voice.
+ - [code]rate[/code] ranges from [code]0.1[/code] (lowest) to [code]10.0[/code] (highest), [code]1.0[/code] is a normal speaking rate. Other values act as a percentage relative.
+ - [code]utterance_id[/code] is passed as a parameter to the callback functions.
+ [b]Note:[/b] On Windows and Linux, utterance [code]text[/code] can use SSML markup. SSML support is engine and voice dependent. If the engine does not support SSML, you should strip out all XML markup before calling [method tts_speak].
+ [b]Note:[/b] The granularity of pitch, rate, and volume is engine and voice dependent. Values may be truncated.
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
+ <method name="tts_stop">
+ <return type="void" />
+ <description>
+ Stops synthesis in progress and removes all utterances from the queue.
+ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows.
+ </description>
+ </method>
<method name="virtual_keyboard_get_height" qualifiers="const">
<return type="int" />
<description>
@@ -1184,6 +1271,9 @@
</constant>
<constant name="FEATURE_CLIPBOARD_PRIMARY" value="18" enum="Feature">
</constant>
+ <constant name="FEATURE_TEXT_TO_SPEECH" value="19" enum="Feature">
+ Display server supports text-to-speech. See [code]tts_*[/code] methods.
+ </constant>
<constant name="MOUSE_MODE_VISIBLE" value="0" enum="MouseMode">
Makes the mouse cursor visible if it is hidden.
</constant>
@@ -1335,5 +1425,17 @@
- MacOS: [code]NSView*[/code] for the window main view.
- iOS: [code]UIView*[/code] for the window main view.
</constant>
+ <constant name="TTS_UTTERANCE_STARTED" value="0" enum="TTSUtteranceEvent">
+ Utterance has begun to be spoken.
+ </constant>
+ <constant name="TTS_UTTERANCE_ENDED" value="1" enum="TTSUtteranceEvent">
+ Utterance was successfully finished.
+ </constant>
+ <constant name="TTS_UTTERANCE_CANCELED" value="2" enum="TTSUtteranceEvent">
+ Utterance was canceled, or TTS service was unable to process it.
+ </constant>
+ <constant name="TTS_UTTERANCE_BOUNDARY" value="3" enum="TTSUtteranceEvent">
+ Utterance reached a word or sentence boundary.
+ </constant>
</constants>
</class>
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index d28bf80a1e..7bbb2ae26c 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -470,6 +470,12 @@
Returns the [EditorInterface] object that gives you control over Godot editor's window and its functionalities.
</description>
</method>
+ <method name="get_export_as_menu">
+ <return type="PopupMenu" />
+ <description>
+ Returns the [PopupMenu] under [b]Scene &gt; Export As...[/b].
+ </description>
+ </method>
<method name="get_script_create_dialog">
<return type="ScriptCreateDialog" />
<description>
diff --git a/doc/classes/FontData.xml b/doc/classes/FontData.xml
index 313e3e31fc..a423d7a4e4 100644
--- a/doc/classes/FontData.xml
+++ b/doc/classes/FontData.xml
@@ -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/GPUParticles2D.xml b/doc/classes/GPUParticles2D.xml
index 3de0d0dbe9..53894bad87 100644
--- a/doc/classes/GPUParticles2D.xml
+++ b/doc/classes/GPUParticles2D.xml
@@ -57,6 +57,9 @@
<member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta" default="true">
If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
</member>
+ <member name="interpolate" type="bool" setter="set_interpolate" getter="get_interpolate" default="true">
+ Enables particle interpolation, which makes the particle movement smoother when their [member fixed_fps] is lower than the screen refresh rate.
+ </member>
<member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0">
Amount of time each particle will exist.
</member>
diff --git a/doc/classes/GPUParticles3D.xml b/doc/classes/GPUParticles3D.xml
index 899b5dec27..c4bd18db69 100644
--- a/doc/classes/GPUParticles3D.xml
+++ b/doc/classes/GPUParticles3D.xml
@@ -90,6 +90,7 @@
If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect.
</member>
<member name="interpolate" type="bool" setter="set_interpolate" getter="get_interpolate" default="true">
+ Enables particle interpolation, which makes the particle movement smoother when their [member fixed_fps] is lower than the screen refresh rate.
</member>
<member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime" default="1.0">
Amount of time each particle will exist.
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/Input.xml b/doc/classes/Input.xml
index c3552c9f62..948c4b253f 100644
--- a/doc/classes/Input.xml
+++ b/doc/classes/Input.xml
@@ -376,7 +376,8 @@
<argument index="0" name="duration_ms" type="int" default="500" />
<description>
Vibrate Android and iOS devices.
- [b]Note:[/b] It needs [code]VIBRATE[/code] permission for Android at export settings. iOS does not support duration.
+ [b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] permission in the export preset.
+ [b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and later.
</description>
</method>
<method name="warp_mouse">
diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml
index 06bd64577b..edfd8daec1 100644
--- a/doc/classes/ItemList.xml
+++ b/doc/classes/ItemList.xml
@@ -476,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">
@@ -488,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 3b03d86644..ba80504caf 100644
--- a/doc/classes/LinkButton.xml
+++ b/doc/classes/LinkButton.xml
@@ -36,7 +36,7 @@
<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="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/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/Node.xml b/doc/classes/Node.xml
index 7079036879..c9795856d5 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -193,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">
@@ -728,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. 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.
@@ -754,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">
@@ -830,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/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/OptionButton.xml b/doc/classes/OptionButton.xml
index b7145ab923..a7b1f0ea33 100644
--- a/doc/classes/OptionButton.xml
+++ b/doc/classes/OptionButton.xml
@@ -238,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 a0e67bfa63..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>
diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml
index d1a00b32b1..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>
diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml
index b351058346..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>
diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml
index b4ffa295bd..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>
diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml
index b34deb518a..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>
diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml
index 6a99db778c..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>
diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml
index 29c72f62de..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>
diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml
index cd78f29595..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>
diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml
index 9ae4073fdf..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>
diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml
index 580bf60518..7c6622be3c 100644
--- a/doc/classes/PacketPeerUDP.xml
+++ b/doc/classes/PacketPeerUDP.xml
@@ -61,7 +61,7 @@
Returns whether this [PacketPeerUDP] is bound to an address and can receive packets.
</description>
</method>
- <method name="is_connected_to_host" qualifiers="const">
+ <method name="is_socket_connected" qualifiers="const">
<return type="bool" />
<description>
Returns [code]true[/code] if the UDP socket is open and has been connected to a remote address. See [method connect_to_host].
diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml
index f8f16acb06..bf80aa94a5 100644
--- a/doc/classes/PopupMenu.xml
+++ b/doc/classes/PopupMenu.xml
@@ -571,7 +571,7 @@
<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="hseparation" data_type="constant" type="int" default="4">
+ <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">
@@ -584,7 +584,7 @@
<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="vseparation" data_type="constant" type="int" default="4">
+ <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">
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index ee32677b3a..7c6d6d1c10 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -578,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>
diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml
index 02b67a4a5b..62a692d4a7 100644
--- a/doc/classes/RichTextLabel.xml
+++ b/doc/classes/RichTextLabel.xml
@@ -342,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>
@@ -488,7 +488,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="[]">
@@ -667,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 77023d2126..ddff766b17 100644
--- a/doc/classes/SceneTree.xml
+++ b/doc/classes/SceneTree.xml
@@ -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/Skeleton3D.xml b/doc/classes/Skeleton3D.xml
index 80a36acacc..f271220989 100644
--- a/doc/classes/Skeleton3D.xml
+++ b/doc/classes/Skeleton3D.xml
@@ -111,6 +111,14 @@
<return type="Transform3D" />
<argument index="0" name="bone_idx" type="int" />
<description>
+ Returns the global pose override transform for [code]bone_idx[/code].
+ </description>
+ </method>
+ <method name="get_bone_global_rest" qualifiers="const">
+ <return type="Transform3D" />
+ <argument index="0" name="bone_idx" type="int" />
+ <description>
+ Returns the global rest transform for [code]bone_idx[/code].
</description>
</method>
<method name="get_bone_local_pose_override" qualifiers="const">
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/StreamPeerTCP.xml b/doc/classes/StreamPeerTCP.xml
index a1f1f1be79..f06cf5c7a2 100644
--- a/doc/classes/StreamPeerTCP.xml
+++ b/doc/classes/StreamPeerTCP.xml
@@ -51,16 +51,16 @@
Returns the local port to which this peer is bound.
</description>
</method>
- <method name="get_status">
+ <method name="get_status" qualifiers="const">
<return type="int" enum="StreamPeerTCP.Status" />
<description>
Returns the status of the connection, see [enum Status].
</description>
</method>
- <method name="is_connected_to_host" qualifiers="const">
- <return type="bool" />
+ <method name="poll">
+ <return type="int" enum="Error" />
<description>
- Returns [code]true[/code] if this peer is currently connected or is connecting to a host, [code]false[/code] otherwise.
+ Poll the socket, updating its state. See [method get_status].
</description>
</method>
<method name="set_no_delay">
diff --git a/doc/classes/StyleBoxFlat.xml b/doc/classes/StyleBoxFlat.xml
index 20430f3205..c80f8dcbb1 100644
--- a/doc/classes/StyleBoxFlat.xml
+++ b/doc/classes/StyleBoxFlat.xml
@@ -119,7 +119,7 @@
</methods>
<members>
<member name="anti_aliasing" type="bool" setter="set_anti_aliased" getter="is_anti_aliased" default="true">
- Antialiasing draws a small ring around the edges, which fades to transparency. As a result, edges look much smoother. This is only noticeable when using rounded corners.
+ Antialiasing draws a small ring around the edges, which fades to transparency. As a result, edges look much smoother. This is only noticeable when using rounded corners or [member skew].
[b]Note:[/b] When using beveled corners with 45-degree angles ([member corner_detail] = 1), it is recommended to set [member anti_aliasing] to [code]false[/code] to ensure crisp visuals and avoid possible visual glitches.
</member>
<member name="anti_aliasing_size" type="float" setter="set_aa_size" getter="get_aa_size" default="0.625">
@@ -168,15 +168,19 @@
</member>
<member name="expand_margin_bottom" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
Expands the stylebox outside of the control rect on the bottom edge. Useful in combination with [member border_width_bottom] to draw a border outside the control rect.
+ [b]Note:[/b] Unlike [member StyleBox.content_margin_bottom], [member expand_margin_bottom] does [i]not[/i] affect the size of the clickable area for [Control]s. This can negatively impact usability if used wrong, as the user may try to click an area of the StyleBox that cannot actually receive clicks.
</member>
<member name="expand_margin_left" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
Expands the stylebox outside of the control rect on the left edge. Useful in combination with [member border_width_left] to draw a border outside the control rect.
+ [b]Note:[/b] Unlike [member StyleBox.content_margin_left], [member expand_margin_left] does [i]not[/i] affect the size of the clickable area for [Control]s. This can negatively impact usability if used wrong, as the user may try to click an area of the StyleBox that cannot actually receive clicks.
</member>
<member name="expand_margin_right" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
Expands the stylebox outside of the control rect on the right edge. Useful in combination with [member border_width_right] to draw a border outside the control rect.
+ [b]Note:[/b] Unlike [member StyleBox.content_margin_right], [member expand_margin_right] does [i]not[/i] affect the size of the clickable area for [Control]s. This can negatively impact usability if used wrong, as the user may try to click an area of the StyleBox that cannot actually receive clicks.
</member>
<member name="expand_margin_top" type="float" setter="set_expand_margin" getter="get_expand_margin" default="0.0">
Expands the stylebox outside of the control rect on the top edge. Useful in combination with [member border_width_top] to draw a border outside the control rect.
+ [b]Note:[/b] Unlike [member StyleBox.content_margin_top], [member expand_margin_top] does [i]not[/i] affect the size of the clickable area for [Control]s. This can negatively impact usability if used wrong, as the user may try to click an area of the StyleBox that cannot actually receive clicks.
</member>
<member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color(0, 0, 0, 0.6)">
The color of the shadow. This has no effect if [member shadow_size] is lower than 1.
@@ -187,5 +191,9 @@
<member name="shadow_size" type="int" setter="set_shadow_size" getter="get_shadow_size" default="0">
The shadow size in pixels.
</member>
+ <member name="skew" type="Vector2" setter="set_skew" getter="get_skew" default="Vector2(0, 0)">
+ If set to a non-zero value on either axis, [member skew] distorts the StyleBox horizontally and/or vertically. This can be used for "futuristic"-style UIs. Positive values skew the StyleBox towards the right (X axis) and upwards (Y axis), while negative values skew the StyleBox towards the left (X axis) and downwards (Y axis).
+ [b]Note:[/b] To ensure text does not touch the StyleBox's edges, consider increasing the [StyleBox]'s content margin (see [member StyleBox.content_margin_bottom]). It is preferable to increase the content margin instead of the expand margin (see [member expand_margin_bottom]), as increasing the expand margin does not increase the size of the clickable area for [Control]s.
+ </member>
</members>
</class>
diff --git a/doc/classes/TabBar.xml b/doc/classes/TabBar.xml
index aca5e2d7f3..a8ed0d4286 100644
--- a/doc/classes/TabBar.xml
+++ b/doc/classes/TabBar.xml
@@ -338,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">
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 9ef800d7e1..2f57b76374 100644
--- a/doc/classes/TextServer.xml
+++ b/doc/classes/TextServer.xml
@@ -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" />
@@ -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;" />
@@ -1395,6 +1441,14 @@
Aligns shaped text to the given tab-stops.
</description>
</method>
+ <method name="string_get_word_breaks" qualifiers="const">
+ <return type="PackedInt32Array" />
+ <argument index="0" name="string" type="String" />
+ <argument index="1" name="language" type="String" default="&quot;&quot;" />
+ <description>
+ Returns array of the word break character offsets.
+ </description>
+ </method>
<method name="string_to_lower" qualifiers="const">
<return type="String" />
<argument index="0" name="string" type="String" />
@@ -1630,5 +1684,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/TextServerExtension.xml b/doc/classes/TextServerExtension.xml
index e7c5edd266..434d6f909c 100644
--- a/doc/classes/TextServerExtension.xml
+++ b/doc/classes/TextServerExtension.xml
@@ -121,6 +121,13 @@
Returns bitmap font fixed size.
</description>
</method>
+ <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>
@@ -193,6 +200,24 @@
Returns index of the cache texture containing the glyph.
</description>
</method>
+ <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" />
@@ -581,6 +606,14 @@
If set to [code]true[/code] auto-hinting is preferred over font built-in hinting.
</description>
</method>
+ <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" />
@@ -927,6 +960,14 @@
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="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" />
@@ -1420,6 +1461,14 @@
[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_get_word_breaks" qualifiers="virtual const">
+ <return type="PackedInt32Array" />
+ <argument index="0" name="string" type="String" />
+ <argument index="1" name="language" type="String" />
+ <description>
+ Returns array of the word break character offsets.
+ </description>
+ </method>
<method name="string_to_lower" qualifiers="virtual const">
<return type="String" />
<argument index="0" name="string" type="String" />
diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml
index 9453bb9e2a..259c800a78 100644
--- a/doc/classes/TileMap.xml
+++ b/doc/classes/TileMap.xml
@@ -330,10 +330,10 @@
[b]Note:[/b] Enabling [code]collision_animatable[/code] may have a small performance impact, only do it if the TileMap is moving and has colliding tiles.
</member>
<member name="collision_visibility_mode" type="int" setter="set_collision_visibility_mode" getter="get_collision_visibility_mode" enum="TileMap.VisibilityMode" default="0">
- Show or hide the TileMap's collision shapes. If set to [code]VISIBILITY_MODE_DEFAULT[/code], this depends on the show collision debug settings.
+ Show or hide the TileMap's collision shapes. If set to [constant VISIBILITY_MODE_DEFAULT], this depends on the show collision debug settings.
</member>
<member name="navigation_visibility_mode" type="int" setter="set_navigation_visibility_mode" getter="get_navigation_visibility_mode" enum="TileMap.VisibilityMode" default="0">
- Show or hide the TileMap's collision shapes. If set to [code]VISIBILITY_MODE_DEFAULT[/code], this depends on the show navigation debug settings.
+ Show or hide the TileMap's collision shapes. If set to [constant VISIBILITY_MODE_DEFAULT], this depends on the show navigation debug settings.
</member>
<member name="tile_set" type="TileSet" setter="set_tileset" getter="get_tileset">
The assigned [TileSet].
diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml
index 5abec4b437..1d4a5b922d 100644
--- a/doc/classes/Tree.xml
+++ b/doc/classes/Tree.xml
@@ -522,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">
@@ -546,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 396be2d9f8..d2e29bf3b1 100644
--- a/doc/classes/TreeItem.xml
+++ b/doc/classes/TreeItem.xml
@@ -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 72f32f39c2..f9ec0d115d 100644
--- a/doc/classes/Tween.xml
+++ b/doc/classes/Tween.xml
@@ -6,7 +6,7 @@
<description>
Tweens are mostly useful for animations requiring a numerical property to be interpolated over a range of values. The name [i]tween[/i] comes from [i]in-betweening[/i], an animation technique where you specify [i]keyframes[/i] and the computer interpolates the frames that appear between them.
[Tween] is more suited than [AnimationPlayer] for animations where you don't know the final values in advance. For example, interpolating a dynamically-chosen camera zoom value is best done with a [Tween]; it would be difficult to do the same thing with an [AnimationPlayer] node. Tweens are also more light-weight than [AnimationPlayer], so they are very much suited for simple animations or general tasks that don't require visual tweaking provided by the editor. They can be used in a fire-and-forget manner for some logic that normally would be done by code. You can e.g. make something shoot periodically by using a looped [CallbackTweener] with a delay.
- A [Tween] can be created by using either [method SceneTree.create_tween] or [method Node.create_tween]. [Tween]s created manually (i.e. by using [code]Tween.new()[/code]) are invalid. They can't be used for tweening values, but you can do manual interpolation with [method interpolate_value].
+ A [Tween] can be created by using either [method SceneTree.create_tween] or [method Node.create_tween]. [Tween]s created manually (i.e. by using [code]Tween.new()[/code]) are invalid and can't be used for tweening values.
A [Tween] animation is composed of a sequence of [Tweener]s, which by default are executed one after another. You can create a sequence by appending [Tweener]s to the [Tween]. Animating something with a [Tweener] is called tweening. Example tweening sequence looks like this:
[codeblock]
var tween = get_tree().create_tween()
@@ -76,10 +76,10 @@
<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.
+ [b]Note:[/b] 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">
+ <method name="interpolate_value" qualifiers="static">
<return type="Variant" />
<argument index="0" name="initial_value" type="Variant" />
<argument index="1" name="delta_value" type="Variant" />
@@ -105,7 +105,7 @@
<method name="is_valid">
<return type="bool" />
<description>
- Returns whether the [Tween] is valid. A valid [Tween] is a [Tween] contained by the scene tree (i.e. the array from [method SceneTree.get_processed_tweens] will contain this [Tween]). [Tween] might become invalid when it has finished tweening or was killed, also when created with [code]Tween.new()[/code]. Invalid [Tween] can't have [Tweener]s appended, because it can't animate them. You can however still use [method interpolate_value].
+ Returns whether the [Tween] is valid. A valid [Tween] is a [Tween] contained by the scene tree (i.e. the array from [method SceneTree.get_processed_tweens] will contain this [Tween]). [Tween] might become invalid when it has finished tweening or was killed, also when created with [code]Tween.new()[/code]. Invalid [Tween] can't have [Tweener]s appended, because it can't animate them.
</description>
</method>
<method name="kill">
@@ -231,10 +231,10 @@
Example: creating an object that moves back and forth and jumps every few seconds.
[codeblock]
var tween = create_tween().set_loops()
- tween.tween_property("position:x", 200, 1).as_relative()
+ tween.tween_property($Sprite, "position:x", 200.0, 1).as_relative()
tween.tween_callback(jump)
tween.tween_interval(2)
- tween.tween_property("position:x", -200, 1).as_relative()
+ tween.tween_property($Sprite, "position:x", -200.0, 1).as_relative()
tween.tween_callback(jump)
tween.tween_interval(2)
[/codeblock]
@@ -274,16 +274,16 @@
Creates and appends a [PropertyTweener]. This method tweens a [code]property[/code] of an [code]object[/code] between an initial value and [code]final_val[/code] in a span of time equal to [code]duration[/code], in seconds. The initial value by default is a value at the time the tweening of the [PropertyTweener] start. For example:
[codeblock]
var tween = create_tween()
- tween.tween_property($Sprite, "position", Vector2(100, 200)
- tween.tween_property($Sprite, "position", Vector2(200, 300)
+ tween.tween_property($Sprite, "position", Vector2(100, 200), 1)
+ tween.tween_property($Sprite, "position", Vector2(200, 300), 1)
[/codeblock]
will move the sprite to position (100, 200) and then to (200, 300). If you use [method PropertyTweener.from] or [method PropertyTweener.from_current], the starting position will be overwritten by the given value instead. See other methods in [PropertyTweener] to see how the tweening can be tweaked further.
[b]Note:[/b] You can find the correct property name by hovering over the property in the Inspector. You can also provide the components of a property directly by using [code]"property:component"[/code] (eg. [code]position:x[/code]), where it would only apply to that particular component.
Example: moving object twice from the same position, with different transition types.
[codeblock]
var tween = create_tween()
- tween.tween_property($Sprite, "position", Vector2.RIGHT * 300).as_relative().set_trans(Tween.TRANS_SINE)
- tween.tween_property($Sprite, "position", Vector2.RIGHT * 300).as_relative().from_current().set_trans(Tween.TRANS_EXPO)
+ tween.tween_property($Sprite, "position", Vector2.RIGHT * 300, 1).as_relative().set_trans(Tween.TRANS_SINE)
+ tween.tween_property($Sprite, "position", Vector2.RIGHT * 300, 1).as_relative().from_current().set_trans(Tween.TRANS_EXPO)
[/codeblock]
</description>
</method>
diff --git a/doc/classes/Tweener.xml b/doc/classes/Tweener.xml
index 3392f9ee23..721ed4e13e 100644
--- a/doc/classes/Tweener.xml
+++ b/doc/classes/Tweener.xml
@@ -4,7 +4,7 @@
Abstract class for all Tweeners used by [Tween].
</brief_description>
<description>
- Tweeners are objects that perform a specific animating task, e.g. interpolating a property or calling a method at a given time. A [Tweener] can't be created manually, you need to use a dedicated method from [Tween] or [Node].
+ Tweeners are objects that perform a specific animating task, e.g. interpolating a property or calling a method at a given time. A [Tweener] can't be created manually, you need to use a dedicated method from [Tween].
</description>
<tutorials>
</tutorials>
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/Vector3i.xml b/doc/classes/Vector3i.xml
index a4c91a9299..ebb518792f 100644
--- a/doc/classes/Vector3i.xml
+++ b/doc/classes/Vector3i.xml
@@ -161,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>
diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml
index 6f4720491d..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">
diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml
index 87a65db192..5ce870a899 100644
--- a/doc/classes/Window.xml
+++ b/doc/classes/Window.xml
@@ -467,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>