summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/classes/Animation.xml68
-rw-r--r--doc/classes/AnimationTree.xml4
-rw-r--r--doc/classes/Area2D.xml40
-rw-r--r--doc/classes/Area3D.xml40
-rw-r--r--doc/classes/AudioStreamPlayer3D.xml2
-rw-r--r--doc/classes/CharFXTransform.xml2
-rw-r--r--doc/classes/EditorDebuggerPlugin.xml7
-rw-r--r--doc/classes/EditorExportPlugin.xml3
-rw-r--r--doc/classes/EditorImportPlugin.xml7
-rw-r--r--doc/classes/EditorInspectorPlugin.xml4
-rw-r--r--doc/classes/EditorNode3DGizmoPlugin.xml3
-rw-r--r--doc/classes/EditorPlugin.xml28
-rw-r--r--doc/classes/EditorSceneFormatImporter.xml (renamed from doc/classes/EditorSceneImporter.xml)4
-rw-r--r--doc/classes/EditorSceneFormatImporterFBX.xml32
-rw-r--r--doc/classes/EditorSceneFormatImporterGLTF.xml9
-rw-r--r--doc/classes/EditorScenePostImportPlugin.xml116
-rw-r--r--doc/classes/EditorSyntaxHighlighter.xml2
-rw-r--r--doc/classes/EditorTranslationParserPlugin.xml3
-rw-r--r--doc/classes/Environment.xml2
-rw-r--r--doc/classes/MeshInstance3D.xml24
-rw-r--r--doc/classes/Node.xml1
-rw-r--r--doc/classes/Plane.xml15
-rw-r--r--doc/classes/ProjectSettings.xml15
-rw-r--r--doc/classes/RigidDynamicBody2D.xml20
-rw-r--r--doc/classes/RigidDynamicBody3D.xml20
-rw-r--r--doc/classes/ScriptEditorBase.xml7
-rw-r--r--doc/classes/Skeleton3D.xml74
-rw-r--r--doc/classes/TileMap.xml15
-rw-r--r--doc/classes/TileSetAtlasSource.xml22
-rw-r--r--doc/classes/Tween.xml1
-rw-r--r--doc/classes/UndoRedo.xml14
-rw-r--r--doc/classes/VideoPlayer.xml4
-rw-r--r--doc/translations/extract.py1
33 files changed, 440 insertions, 169 deletions
diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml
index d2ecbdde26..ebcced7dc4 100644
--- a/doc/classes/Animation.xml
+++ b/doc/classes/Animation.xml
@@ -201,6 +201,14 @@
Sets the value of the key identified by [code]key_idx[/code] to the given value. The [code]track_idx[/code] must be the index of a Bezier Track.
</description>
</method>
+ <method name="blend_shape_track_insert_key">
+ <return type="int" />
+ <argument index="0" name="track_idx" type="int" />
+ <argument index="1" name="time" type="float" />
+ <argument index="2" name="amount" type="float" />
+ <description>
+ </description>
+ </method>
<method name="clear">
<return type="void" />
<description>
@@ -253,6 +261,14 @@
Returns the arguments values to be called on a method track for a given key in a given track.
</description>
</method>
+ <method name="position_track_insert_key">
+ <return type="int" />
+ <argument index="0" name="track_idx" type="int" />
+ <argument index="1" name="time" type="float" />
+ <argument index="2" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
<method name="remove_track">
<return type="void" />
<argument index="0" name="track_idx" type="int" />
@@ -260,6 +276,22 @@
Removes a track by specifying the track index.
</description>
</method>
+ <method name="rotation_track_insert_key">
+ <return type="int" />
+ <argument index="0" name="track_idx" type="int" />
+ <argument index="1" name="time" type="float" />
+ <argument index="2" name="rotation" type="Quaternion" />
+ <description>
+ </description>
+ </method>
+ <method name="scale_track_insert_key">
+ <return type="int" />
+ <argument index="0" name="track_idx" type="int" />
+ <argument index="1" name="time" type="float" />
+ <argument index="2" name="scale" type="Vector3" />
+ <description>
+ </description>
+ </method>
<method name="track_find_key" qualifiers="const">
<return type="int" />
<argument index="0" name="track_idx" type="int" />
@@ -466,25 +498,6 @@
Swaps the track [code]idx[/code]'s index position with the track [code]with_idx[/code].
</description>
</method>
- <method name="transform_track_insert_key">
- <return type="int" />
- <argument index="0" name="track_idx" type="int" />
- <argument index="1" name="time" type="float" />
- <argument index="2" name="location" type="Vector3" />
- <argument index="3" name="rotation" type="Quaternion" />
- <argument index="4" name="scale" type="Vector3" />
- <description>
- Insert a transform key for a transform track.
- </description>
- </method>
- <method name="transform_track_interpolate" qualifiers="const">
- <return type="Array" />
- <argument index="0" name="track_idx" type="int" />
- <argument index="1" name="time_sec" type="float" />
- <description>
- Returns the interpolated value of a transform track at a given time (in seconds). An array consisting of 3 elements: position ([Vector3]), rotation ([Quaternion]) and scale ([Vector3]).
- </description>
- </method>
<method name="value_track_get_key_indices" qualifiers="const">
<return type="PackedInt32Array" />
<argument index="0" name="track_idx" type="int" />
@@ -541,19 +554,24 @@
<constant name="TYPE_VALUE" value="0" enum="TrackType">
Value tracks set values in node properties, but only those which can be Interpolated.
</constant>
- <constant name="TYPE_TRANSFORM3D" value="1" enum="TrackType">
- Transform3D tracks are used to change node local transforms or skeleton pose bones of 3D nodes. Transitions are interpolated.
+ <constant name="TYPE_POSITION_3D" value="1" enum="TrackType">
+ </constant>
+ <constant name="TYPE_ROTATION_3D" value="2" enum="TrackType">
+ </constant>
+ <constant name="TYPE_SCALE_3D" value="3" enum="TrackType">
+ </constant>
+ <constant name="TYPE_BLEND_SHAPE" value="4" enum="TrackType">
</constant>
- <constant name="TYPE_METHOD" value="2" enum="TrackType">
+ <constant name="TYPE_METHOD" value="5" enum="TrackType">
Method tracks call functions with given arguments per key.
</constant>
- <constant name="TYPE_BEZIER" value="3" enum="TrackType">
+ <constant name="TYPE_BEZIER" value="6" enum="TrackType">
Bezier tracks are used to interpolate a value using custom curves. They can also be used to animate sub-properties of vectors and colors (e.g. alpha value of a [Color]).
</constant>
- <constant name="TYPE_AUDIO" value="4" enum="TrackType">
+ <constant name="TYPE_AUDIO" value="7" enum="TrackType">
Audio tracks are used to play an audio stream with either type of [AudioStreamPlayer]. The stream can be trimmed and previewed in the animation.
</constant>
- <constant name="TYPE_ANIMATION" value="5" enum="TrackType">
+ <constant name="TYPE_ANIMATION" value="8" enum="TrackType">
Animation tracks play animations in other [AnimationPlayer] nodes.
</constant>
<constant name="INTERPOLATION_NEAREST" value="0" enum="InterpolationType">
diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml
index 3d112e258e..40dcd950d7 100644
--- a/doc/classes/AnimationTree.xml
+++ b/doc/classes/AnimationTree.xml
@@ -22,7 +22,7 @@
<method name="get_root_motion_transform" qualifiers="const">
<return type="Transform3D" />
<description>
- Retrieve the motion of the [member root_motion_track] as a [Transform3D] that can be used elsewhere. If [member root_motion_track] is not a path to a track of type [constant Animation.TYPE_TRANSFORM3D], returns an identity transformation. See also [member root_motion_track] and [RootMotionView].
+ Retrieve the motion of the [member root_motion_track] as a [Transform3D] that can be used elsewhere. If [member root_motion_track] is not a path to a track of type [constant Animation.TYPE_POSITION_3D], [constant Animation.TYPE_SCALE_3D] or [constant Animation.TYPE_ROTATION_3D], returns an identity transformation. See also [member root_motion_track] and [RootMotionView].
</description>
</method>
<method name="rename_parameter">
@@ -45,7 +45,7 @@
</member>
<member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track" default="NodePath(&quot;&quot;)">
The path to the Animation track used for root motion. Paths must be valid scene-tree paths to a node, and must be specified starting from the parent node of the node that will reproduce the animation. To specify a track that controls properties or bones, append its name after the path, separated by [code]":"[/code]. For example, [code]"character/skeleton:ankle"[/code] or [code]"character/mesh:transform/local"[/code].
- If the track has type [constant Animation.TYPE_TRANSFORM3D], the transformation will be cancelled visually, and the animation will appear to stay in place. See also [method get_root_motion_transform] and [RootMotionView].
+ If the track has type [constant Animation.TYPE_POSITION_3D], [constant Animation.TYPE_ROTATION_3D] or [constant Animation.TYPE_SCALE_3D] the transformation will be cancelled visually, and the animation will appear to stay in place. See also [method get_root_motion_transform] and [RootMotionView].
</member>
<member name="tree_root" type="AnimationNode" setter="set_tree_root" getter="get_tree_root">
The root animation node of this [AnimationTree]. See [AnimationNode].
diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml
index 25f67f0571..ddfc3b1869 100644
--- a/doc/classes/Area2D.xml
+++ b/doc/classes/Area2D.xml
@@ -101,27 +101,27 @@
<signal name="area_shape_entered">
<argument index="0" name="area_rid" type="RID" />
<argument index="1" name="area" type="Area2D" />
- <argument index="2" name="area_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="area_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of another Area2D's [Shape2D]s enters one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code].
- [code]area_id[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D].
+ [code]area_rid[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D].
[code]area[/code] the other Area2D.
- [code]area_shape[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D].
- [code]local_shape[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D].
+ [code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
<signal name="area_shape_exited">
<argument index="0" name="area_rid" type="RID" />
<argument index="1" name="area" type="Area2D" />
- <argument index="2" name="area_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="area_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of another Area2D's [Shape2D]s exits one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code].
- [code]area_id[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D].
+ [code]area_rid[/code] the [RID] of the other Area2D's [CollisionObject2D] used by the [PhysicsServer2D].
[code]area[/code] the other Area2D.
- [code]area_shape[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D].
- [code]local_shape[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D].
+ [code]area_shape_index[/code] the index of the [Shape2D] of the other Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
<signal name="body_entered">
@@ -141,27 +141,27 @@
<signal name="body_shape_entered">
<argument index="0" name="body_rid" type="RID" />
<argument index="1" name="body" type="Node2D" />
- <argument index="2" name="body_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="body_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of a [PhysicsBody2D] or [TileMap]'s [Shape2D]s enters one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code]. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.
- [code]body_id[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
+ [code]body_rid[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody2D] or [TileMap].
- [code]body_shape[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D].
- [code]local_shape[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D].
+ [code]body_shape_index[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
<signal name="body_shape_exited">
<argument index="0" name="body_rid" type="RID" />
<argument index="1" name="body" type="Node2D" />
- <argument index="2" name="body_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="body_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of a [PhysicsBody2D] or [TileMap]'s [Shape2D]s exits one of this Area2D's [Shape2D]s. Requires [member monitoring] to be set to [code]true[/code]. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.
- [code]body_id[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
+ [code]body_rid[/code] the [RID] of the [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody2D] or [TileMap].
- [code]body_shape[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D].
- [code]local_shape[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D].
+ [code]body_shape_index[/code] the index of the [Shape2D] of the [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this Area2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
</signals>
diff --git a/doc/classes/Area3D.xml b/doc/classes/Area3D.xml
index e91cfd79a1..896bfcd14e 100644
--- a/doc/classes/Area3D.xml
+++ b/doc/classes/Area3D.xml
@@ -120,27 +120,27 @@
<signal name="area_shape_entered">
<argument index="0" name="area_rid" type="RID" />
<argument index="1" name="area" type="Area3D" />
- <argument index="2" name="area_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="area_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of another Area3D's [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code].
- [code]area_id[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D].
+ [code]area_rid[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D].
[code]area[/code] the other Area3D.
- [code]area_shape[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D].
- [code]local_shape[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D].
+ [code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
<signal name="area_shape_exited">
<argument index="0" name="area_rid" type="RID" />
<argument index="1" name="area" type="Area3D" />
- <argument index="2" name="area_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="area_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of another Area3D's [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code].
- [code]area_id[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D].
+ [code]area_rid[/code] the [RID] of the other Area3D's [CollisionObject3D] used by the [PhysicsServer3D].
[code]area[/code] the other Area3D.
- [code]area_shape[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D].
- [code]local_shape[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D].
+ [code]area_shape_index[/code] the index of the [Shape3D] of the other Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]area.shape_owner_get_owner(area_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
<signal name="body_entered">
@@ -160,27 +160,27 @@
<signal name="body_shape_entered">
<argument index="0" name="body_rid" type="RID" />
<argument index="1" name="body" type="Node3D" />
- <argument index="2" name="body_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="body_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of a [PhysicsBody3D] or [GridMap]'s [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code]. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.
- [code]body_id[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
+ [code]body_rid[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody3D] or [GridMap].
- [code]body_shape[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D].
- [code]local_shape[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D].
+ [code]body_shape_index[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
<signal name="body_shape_exited">
<argument index="0" name="body_rid" type="RID" />
<argument index="1" name="body" type="Node3D" />
- <argument index="2" name="body_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="body_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of a [PhysicsBody3D] or [GridMap]'s [Shape3D]s enters one of this Area3D's [Shape3D]s. Requires [member monitoring] to be set to [code]true[/code]. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.
- [code]body_id[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
+ [code]body_rid[/code] the [RID] of the [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
[code]body[/code] the [Node], if it exists in the tree, of the [PhysicsBody3D] or [GridMap].
- [code]body_shape[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D].
- [code]local_shape[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D].
+ [code]body_shape_index[/code] the index of the [Shape3D] of the [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this Area3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
</signals>
diff --git a/doc/classes/AudioStreamPlayer3D.xml b/doc/classes/AudioStreamPlayer3D.xml
index bd344fad29..e8a78d5a4c 100644
--- a/doc/classes/AudioStreamPlayer3D.xml
+++ b/doc/classes/AudioStreamPlayer3D.xml
@@ -123,7 +123,7 @@
Logarithmic dampening of loudness according to distance.
</constant>
<constant name="ATTENUATION_DISABLED" value="3" enum="AttenuationModel">
- No dampening of loudness according to distance. The sound will still be heard positionally, unlike an [AudioStreamPlayer].
+ No dampening of loudness according to distance. The sound will still be heard positionally, unlike an [AudioStreamPlayer]. [constant ATTENUATION_DISABLED] can be combined with a [member max_distance] value greater than [code]0.0[/code] to achieve linear attenuation clamped to a sphere of a defined size.
</constant>
<constant name="DOPPLER_TRACKING_DISABLED" value="0" enum="DopplerTracking">
Disables doppler tracking.
diff --git a/doc/classes/CharFXTransform.xml b/doc/classes/CharFXTransform.xml
index 2d8e7817c1..b11d9c341a 100644
--- a/doc/classes/CharFXTransform.xml
+++ b/doc/classes/CharFXTransform.xml
@@ -15,7 +15,7 @@
The color the character will be drawn with.
</member>
<member name="elapsed_time" type="float" setter="set_elapsed_time" getter="get_elapsed_time" default="0.0">
- The time elapsed since the [RichTextLabel] was added to the scene tree (in seconds). Time stops when the project is paused depending on the value of the [RichTextLabel]'s [member Node.process_mode].
+ The time elapsed since the [RichTextLabel] was added to the scene tree (in seconds). Time stops when the [RichTextLabel] is paused (see [member Node.process_mode]). Resets when the text in the [RichTextLabel] is changed.
[b]Note:[/b] Time still passes while the [RichTextLabel] is hidden.
</member>
<member name="env" type="Dictionary" setter="set_environment" getter="get_environment" default="{}">
diff --git a/doc/classes/EditorDebuggerPlugin.xml b/doc/classes/EditorDebuggerPlugin.xml
index 0773e176b3..6687d3c3ac 100644
--- a/doc/classes/EditorDebuggerPlugin.xml
+++ b/doc/classes/EditorDebuggerPlugin.xml
@@ -4,9 +4,10 @@
A base class to implement debugger plugins.
</brief_description>
<description>
- All debugger plugin scripts must extend [EditorDebuggerPlugin]. It provides functions related to editor side of debugger.
- You don't need to instantiate this class. That is handled by the debugger itself. [Control] nodes can be added as child nodes to provide a GUI front-end for the plugin.
- Do not queue_free/reparent it's instance otherwise the instance becomes unusable.
+ [EditorDebuggerPlugin] provides functions related to the editor side of the debugger.
+ You don't need to instantiate this class; that is automatically handled by the debugger. [Control] nodes can be added as child nodes to provide a GUI for the plugin.
+ Do not free or reparent this node, otherwise it becomes unusable.
+ To use [EditorDebuggerPlugin], register it using the [method EditorPlugin.add_debugger_plugin] method first.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/EditorExportPlugin.xml b/doc/classes/EditorExportPlugin.xml
index fca7bb350d..3830bfc60e 100644
--- a/doc/classes/EditorExportPlugin.xml
+++ b/doc/classes/EditorExportPlugin.xml
@@ -4,7 +4,8 @@
A script that is executed when exporting the project.
</brief_description>
<description>
- Editor export plugins are automatically activated whenever the user exports the project. Their most common use is to determine what files are being included in the exported project. For each plugin, [method _export_begin] is called at the beginning of the export process and then [method _export_file] is called for each exported file.
+ [EditorExportPlugin]s are automatically invoked whenever the user exports the project. Their most common use is to determine what files are being included in the exported project. For each plugin, [method _export_begin] is called at the beginning of the export process and then [method _export_file] is called for each exported file.
+ To use [EditorExportPlugin], register it using the [method EditorPlugin.add_export_plugin] method first.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/EditorImportPlugin.xml b/doc/classes/EditorImportPlugin.xml
index f20f4adcdf..6011a5411d 100644
--- a/doc/classes/EditorImportPlugin.xml
+++ b/doc/classes/EditorImportPlugin.xml
@@ -4,8 +4,8 @@
Registers a custom resource importer in the editor. Use the class to parse any file and import it as a new resource type.
</brief_description>
<description>
- EditorImportPlugins provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers. Register your [EditorPlugin] with [method EditorPlugin.add_import_plugin].
- EditorImportPlugins work by associating with specific file extensions and a resource type. See [method _get_recognized_extensions] and [method _get_resource_type]. They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].godot/imported[/code] directory.
+ [EditorImportPlugin]s provide a way to extend the editor's resource import functionality. Use them to import resources from custom files or to provide alternatives to the editor's existing importers.
+ EditorImportPlugins work by associating with specific file extensions and a resource type. See [method _get_recognized_extensions] and [method _get_resource_type]. They may optionally specify some import presets that affect the import process. EditorImportPlugins are responsible for creating the resources and saving them in the [code].godot/imported[/code] directory (see [member ProjectSettings.application/config/project_data_dir_name]).
Below is an example EditorImportPlugin that imports a [Mesh] from a file with the extension ".special" or ".spec":
[codeblocks]
[gdscript]
@@ -108,6 +108,7 @@
}
[/csharp]
[/codeblocks]
+ To use [EditorImportPlugin], register it using the [method EditorPlugin.add_import_plugin] method first.
</description>
<tutorials>
<link title="Import plugins">https://docs.godotengine.org/en/latest/tutorials/plugins/editor/import_plugins.html</link>
@@ -197,7 +198,7 @@
<method name="_get_save_extension" qualifiers="virtual const">
<return type="String" />
<description>
- Gets the extension used to save this resource in the [code].godot/imported[/code] directory.
+ Gets the extension used to save this resource in the [code].godot/imported[/code] directory (see [member ProjectSettings.application/config/project_data_dir_name]).
</description>
</method>
<method name="_get_visible_name" qualifiers="virtual const">
diff --git a/doc/classes/EditorInspectorPlugin.xml b/doc/classes/EditorInspectorPlugin.xml
index 17397b80bf..f65e974d47 100644
--- a/doc/classes/EditorInspectorPlugin.xml
+++ b/doc/classes/EditorInspectorPlugin.xml
@@ -4,13 +4,13 @@
Plugin for adding custom property editors on inspector.
</brief_description>
<description>
- These plugins allow adding custom property editors to [EditorInspector].
- Plugins are registered via [method EditorPlugin.add_inspector_plugin].
+ [EditorInspectorPlugin] allows adding custom property editors to [EditorInspector].
When an object is edited, the [method _can_handle] function is called and must return [code]true[/code] if the object type is supported.
If supported, the function [method _parse_begin] will be called, allowing to place custom controls at the beginning of the class.
Subsequently, the [method _parse_category] and [method _parse_property] are called for every category and property. They offer the ability to add custom controls to the inspector too.
Finally, [method _parse_end] will be called.
On each of these calls, the "add" functions can be called.
+ To use [EditorInspectorPlugin], register it using the [method EditorPlugin.add_inspector_plugin] method first.
</description>
<tutorials>
<link title="Inspector plugins">https://docs.godotengine.org/en/latest/tutorials/plugins/editor/inspector_plugins.html</link>
diff --git a/doc/classes/EditorNode3DGizmoPlugin.xml b/doc/classes/EditorNode3DGizmoPlugin.xml
index 424d5dd310..08423c4577 100644
--- a/doc/classes/EditorNode3DGizmoPlugin.xml
+++ b/doc/classes/EditorNode3DGizmoPlugin.xml
@@ -4,7 +4,8 @@
Used by the editor to define Node3D gizmo types.
</brief_description>
<description>
- EditorNode3DGizmoPlugin allows you to define a new type of Gizmo. There are two main ways to do so: extending [EditorNode3DGizmoPlugin] for the simpler gizmos, or creating a new [EditorNode3DGizmo] type. See the tutorial in the documentation for more info.
+ [EditorNode3DGizmoPlugin] allows you to define a new type of Gizmo. There are two main ways to do so: extending [EditorNode3DGizmoPlugin] for the simpler gizmos, or creating a new [EditorNode3DGizmo] type. See the tutorial in the documentation for more info.
+ To use [EditorNode3DGizmoPlugin], register it using the [method EditorPlugin.add_spatial_gizmo_plugin] method first.
</description>
<tutorials>
<link title="Spatial gizmo plugins">https://docs.godotengine.org/en/latest/tutorials/plugins/editor/spatial_gizmos.html</link>
diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml
index eefbe4b7e4..8df6d721d4 100644
--- a/doc/classes/EditorPlugin.xml
+++ b/doc/classes/EditorPlugin.xml
@@ -381,7 +381,7 @@
<argument index="0" name="importer" type="EditorImportPlugin" />
<description>
Registers a new [EditorImportPlugin]. Import plugins are used to import custom and unsupported assets as a custom [Resource] type.
- [b]Note:[/b] If you want to import custom 3D asset formats use [method add_scene_import_plugin] instead.
+ [b]Note:[/b] If you want to import custom 3D asset formats use [method add_scene_format_importer_plugin] instead.
See [method add_inspector_plugin] for an example of how to register a plugin.
</description>
</method>
@@ -405,11 +405,18 @@
[/codeblocks]
</description>
</method>
- <method name="add_scene_import_plugin">
+ <method name="add_scene_format_importer_plugin">
<return type="void" />
- <argument index="0" name="scene_importer" type="EditorSceneImporter" />
+ <argument index="0" name="scene_format_importer" type="EditorSceneFormatImporter" />
<description>
- Registers a new [EditorSceneImporter]. Scene importers are used to import custom 3D asset formats as scenes.
+ Registers a new [EditorSceneFormatImporter]. Scene importers are used to import custom 3D asset formats as scenes.
+ </description>
+ </method>
+ <method name="add_scene_post_import_plugin">
+ <return type="void" />
+ <argument index="0" name="scene_import_plugin" type="EditorScenePostImportPlugin" />
+ <description>
+ Add a [EditorScenePostImportPlugin]. These plugins allow customizing the import process of 3D assets by adding new options to the import dialogs.
</description>
</method>
<method name="add_spatial_gizmo_plugin">
@@ -554,11 +561,18 @@
Removes an inspector plugin registered by [method add_import_plugin]
</description>
</method>
- <method name="remove_scene_import_plugin">
+ <method name="remove_scene_format_importer_plugin">
+ <return type="void" />
+ <argument index="0" name="scene_format_importer" type="EditorSceneFormatImporter" />
+ <description>
+ Removes a scene format importer registered by [method add_scene_format_importer_plugin].
+ </description>
+ </method>
+ <method name="remove_scene_post_import_plugin">
<return type="void" />
- <argument index="0" name="scene_importer" type="EditorSceneImporter" />
+ <argument index="0" name="scene_import_plugin" type="EditorScenePostImportPlugin" />
<description>
- Removes a scene importer registered by [method add_scene_import_plugin].
+ Remove the [EditorScenePostImportPlugin], added with [method add_scene_post_import_plugin].
</description>
</method>
<method name="remove_spatial_gizmo_plugin">
diff --git a/doc/classes/EditorSceneImporter.xml b/doc/classes/EditorSceneFormatImporter.xml
index a400db551f..6dbd80604e 100644
--- a/doc/classes/EditorSceneImporter.xml
+++ b/doc/classes/EditorSceneFormatImporter.xml
@@ -1,9 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
-<class name="EditorSceneImporter" inherits="RefCounted" version="4.0">
+<class name="EditorSceneFormatImporter" inherits="RefCounted" version="4.0">
<brief_description>
Imports scenes from third-parties' 3D files.
</brief_description>
<description>
+ [EditorSceneFormatImporter] allows to define an importer script for a third-party 3D format.
+ To use [EditorSceneFormatImporter], register it using the [method EditorPlugin.add_scene_format_importer_plugin] method first.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/EditorSceneFormatImporterFBX.xml b/doc/classes/EditorSceneFormatImporterFBX.xml
new file mode 100644
index 0000000000..117030dfd5
--- /dev/null
+++ b/doc/classes/EditorSceneFormatImporterFBX.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="EditorSceneFormatImporterFBX" inherits="EditorSceneFormatImporter" version="4.0">
+ <brief_description>
+ FBX 3D asset importer.
+ </brief_description>
+ <description>
+ This is an FBX 3D asset importer with full support for most FBX features.
+ If exporting a FBX scene from Autodesk Maya, use these FBX export settings:
+ [codeblock]
+ - Smoothing Groups
+ - Smooth Mesh
+ - Triangluate (for meshes with blend shapes)
+ - Bake Animation
+ - Resample All
+ - Deformed Models
+ - Skins
+ - Blend Shapes
+ - Curve Filters
+ - Constant Key Reducer
+ - Auto Tangents Only
+ - *Do not check* Constraints (as it will break the file)
+ - Can check Embed Media (embeds textures into the exported FBX file)
+ - Note that when importing embedded media, the texture and mesh will be a single immutable file.
+ - You will have to re-export then re-import the FBX if the texture has changed.
+ - Units: Centimeters
+ - Up Axis: Y
+ - Binary format in FBX 2017
+ [/codeblock]
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/EditorSceneFormatImporterGLTF.xml b/doc/classes/EditorSceneFormatImporterGLTF.xml
new file mode 100644
index 0000000000..1476a22aef
--- /dev/null
+++ b/doc/classes/EditorSceneFormatImporterGLTF.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="EditorSceneFormatImporterGLTF" inherits="EditorSceneFormatImporter" version="4.0">
+ <brief_description>
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+</class>
diff --git a/doc/classes/EditorScenePostImportPlugin.xml b/doc/classes/EditorScenePostImportPlugin.xml
new file mode 100644
index 0000000000..07d8fa28b9
--- /dev/null
+++ b/doc/classes/EditorScenePostImportPlugin.xml
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="EditorScenePostImportPlugin" inherits="RefCounted" version="4.0">
+ <brief_description>
+ Plugin to control and modifying the process of importing a scene.
+ </brief_description>
+ <description>
+ This plugin type exists to modify the process of importing scenes, allowing to change the content as well as add importer options at every stage of the process.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="_get_import_options" qualifiers="virtual">
+ <return type="void" />
+ <description>
+ Override to add general import options. These will appear in the main import dock on the editor. Add options via [method add_import_option] and [method add_import_option_advanced].
+ </description>
+ </method>
+ <method name="_get_internal_import_options" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="category" type="int" />
+ <description>
+ Override to add internal import options. These will appear in the 3D scene import dialog. Add options via [method add_import_option] and [method add_import_option_advanced].
+ </description>
+ </method>
+ <method name="_get_internal_option_update_view_required" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="category" type="int" />
+ <argument index="1" name="option" type="String" />
+ <description>
+ Return true whether updating the 3D view of the import dialog needs to be updated if an option has changed.
+ </description>
+ </method>
+ <method name="_get_internal_option_visibility" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="category" type="int" />
+ <argument index="1" name="option" type="String" />
+ <description>
+ Return true or false whether a given option should be visible. Return null to ignore.
+ </description>
+ </method>
+ <method name="_get_option_visibility" qualifiers="virtual const">
+ <return type="Variant" />
+ <argument index="0" name="option" type="String" />
+ <description>
+ Return true or false whether a given option should be visible. Return null to ignore.
+ </description>
+ </method>
+ <method name="_internal_process" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="category" type="int" />
+ <argument index="1" name="base_node" type="Node" />
+ <argument index="2" name="node" type="Node" />
+ <argument index="3" name="resource" type="Resource" />
+ <description>
+ Process a specific node or resource for a given category.
+ </description>
+ </method>
+ <method name="_post_process" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="scene" type="Node" />
+ <description>
+ Post process the scene. This function is called after the final scene has been configured.
+ </description>
+ </method>
+ <method name="_pre_process" qualifiers="virtual">
+ <return type="void" />
+ <argument index="0" name="scene" type="Node" />
+ <description>
+ Pre Process the scene. This function is called right after the scene format loader loaded the scene and no changes have been made.
+ </description>
+ </method>
+ <method name="add_import_option">
+ <return type="void" />
+ <argument index="0" name="name" type="String" />
+ <argument index="1" name="value" type="Variant" />
+ <description>
+ Add a specific import option (name and default value only). This function can only be called from [method _get_import_options] and [method _get_internal_import_options].
+ </description>
+ </method>
+ <method name="add_import_option_advanced">
+ <return type="void" />
+ <argument index="0" name="type" type="int" enum="Variant.Type" />
+ <argument index="1" name="name" type="String" />
+ <argument index="2" name="default_value" type="Variant" />
+ <argument index="3" name="hint" type="int" enum="PropertyHint" default="0" />
+ <argument index="4" name="hint_string" type="String" default="&quot;&quot;" />
+ <argument index="5" name="usage_flags" type="int" default="7" />
+ <description>
+ Add a specific import option. This function can only be called from [method _get_import_options] and [method _get_internal_import_options].
+ </description>
+ </method>
+ <method name="get_option_value" qualifiers="const">
+ <return type="Variant" />
+ <argument index="0" name="name" type="StringName" />
+ <description>
+ Query the value of an option. This function can only be called from those querying visibility, or processing.
+ </description>
+ </method>
+ </methods>
+ <constants>
+ <constant name="INTERNAL_IMPORT_CATEGORY_NODE" value="0" enum="InternalImportCategory">
+ </constant>
+ <constant name="INTERNAL_IMPORT_CATEGORY_MESH_3D_NODE" value="1" enum="InternalImportCategory">
+ </constant>
+ <constant name="INTERNAL_IMPORT_CATEGORY_MESH" value="2" enum="InternalImportCategory">
+ </constant>
+ <constant name="INTERNAL_IMPORT_CATEGORY_MATERIAL" value="3" enum="InternalImportCategory">
+ </constant>
+ <constant name="INTERNAL_IMPORT_CATEGORY_ANIMATION" value="4" enum="InternalImportCategory">
+ </constant>
+ <constant name="INTERNAL_IMPORT_CATEGORY_ANIMATION_NODE" value="5" enum="InternalImportCategory">
+ </constant>
+ <constant name="INTERNAL_IMPORT_CATEGORY_MAX" value="6" enum="InternalImportCategory">
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/EditorSyntaxHighlighter.xml b/doc/classes/EditorSyntaxHighlighter.xml
index 8880ce4d44..462323a067 100644
--- a/doc/classes/EditorSyntaxHighlighter.xml
+++ b/doc/classes/EditorSyntaxHighlighter.xml
@@ -5,7 +5,7 @@
</brief_description>
<description>
Base syntax highlighter resource all editor syntax highlighters extend from, it is used in the [ScriptEditor].
- Add a syntax highlighter to an individual script by calling ScriptEditorBase._add_syntax_highlighter (currently not working). To apply to all scripts on open, call [method ScriptEditor.register_syntax_highlighter]
+ Add a syntax highlighter to an individual script by calling [method ScriptEditorBase.add_syntax_highlighter]. To apply to all scripts on open, call [method ScriptEditor.register_syntax_highlighter]
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/EditorTranslationParserPlugin.xml b/doc/classes/EditorTranslationParserPlugin.xml
index de8204def3..900d877f12 100644
--- a/doc/classes/EditorTranslationParserPlugin.xml
+++ b/doc/classes/EditorTranslationParserPlugin.xml
@@ -4,7 +4,7 @@
Plugin for adding custom parsers to extract strings that are to be translated from custom files (.csv, .json etc.).
</brief_description>
<description>
- Plugins are registered via [method EditorPlugin.add_translation_parser_plugin] method. To define the parsing and string extraction logic, override the [method _parse_file] method in script.
+ [EditorTranslationParserPlugin] is invoked when a file is being parsed to extract strings that require translation. To define the parsing and string extraction logic, override the [method _parse_file] method in script.
Add the extracted strings to argument [code]msgids[/code] or [code]msgids_context_plural[/code] if context or plural is used.
When adding to [code]msgids_context_plural[/code], you must add the data using the format [code]["A", "B", "C"][/code], where [code]A[/code] represents the extracted string, [code]B[/code] represents the context, and [code]C[/code] represents the plural version of the extracted string. If you want to add only context but not plural, put [code]""[/code] for the plural slot. The idea is the same if you only want to add plural but not context. See the code below for concrete examples.
The extracted strings will be written into a POT file selected by user under "POT Generation" in "Localization" tab in "Project Settings" menu.
@@ -98,6 +98,7 @@
}
[/csharp]
[/codeblocks]
+ To use [EditorTranslationParserPlugin], register it using the [method EditorPlugin.add_translation_parser_plugin] method first.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index 98b0de6ce1..80298a0319 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -101,8 +101,10 @@
If [code]true[/code], fog effects are enabled.
</member>
<member name="fog_height" type="float" setter="set_fog_height" getter="get_fog_height" default="0.0">
+ The height at which the height fog effect begins.
</member>
<member name="fog_height_density" type="float" setter="set_fog_height_density" getter="get_fog_height_density" default="0.0">
+ The density used to increase fog as height decreases. To make fog increase as height increases, use a negative value.
</member>
<member name="fog_light_color" type="Color" setter="set_fog_light_color" getter="get_fog_light_color" default="Color(0.5, 0.6, 0.7, 1)">
</member>
diff --git a/doc/classes/MeshInstance3D.xml b/doc/classes/MeshInstance3D.xml
index 507a76197a..b72ce46310 100644
--- a/doc/classes/MeshInstance3D.xml
+++ b/doc/classes/MeshInstance3D.xml
@@ -41,6 +41,12 @@
This helper creates a [StaticBody3D] child node with a [ConcavePolygonShape3D] collision shape calculated from the mesh geometry. It's mainly used for testing.
</description>
</method>
+ <method name="find_blend_shape_by_name">
+ <return type="int" />
+ <argument index="0" name="name" type="StringName" />
+ <description>
+ </description>
+ </method>
<method name="get_active_material" qualifiers="const">
<return type="Material" />
<argument index="0" name="surface" type="int" />
@@ -48,6 +54,17 @@
Returns the [Material] that will be used by the [Mesh] when drawing. This can return the [member GeometryInstance3D.material_override], the surface override [Material] defined in this [MeshInstance3D], or the surface [Material] defined in the [Mesh]. For example, if [member GeometryInstance3D.material_override] is used, all surfaces will return the override material.
</description>
</method>
+ <method name="get_blend_shape_count" qualifiers="const">
+ <return type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="get_blend_shape_value" qualifiers="const">
+ <return type="float" />
+ <argument index="0" name="blend_shape_idx" type="int" />
+ <description>
+ </description>
+ </method>
<method name="get_surface_override_material" qualifiers="const">
<return type="Material" />
<argument index="0" name="surface" type="int" />
@@ -61,6 +78,13 @@
Returns the number of surface override materials. This is equivalent to [method Mesh.get_surface_count].
</description>
</method>
+ <method name="set_blend_shape_value">
+ <return type="void" />
+ <argument index="0" name="blend_shape_idx" type="int" />
+ <argument index="1" name="value" type="float" />
+ <description>
+ </description>
+ </method>
<method name="set_surface_override_material">
<return type="void" />
<argument index="0" name="surface" type="int" />
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index cae74ca553..843db8c174 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -551,6 +551,7 @@
<argument index="0" name="node" type="Node" />
<description>
Removes a child node. The node is NOT deleted and must be deleted manually.
+ [b]Note:[/b] This function may set the [member owner] of the removed Node (or its descendants) to be [code]null[/code], if that [member owner] is no longer a parent or ancestor.
</description>
</method>
<method name="remove_from_group">
diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml
index 78e1e81752..f7a68e6a24 100644
--- a/doc/classes/Plane.xml
+++ b/doc/classes/Plane.xml
@@ -36,17 +36,24 @@
<method name="Plane" qualifiers="constructor">
<return type="Plane" />
<argument index="0" name="normal" type="Vector3" />
+ <argument index="1" name="point" type="Vector3" />
+ <description>
+ Creates a plane from the normal vector and a point in the plane.
+ </description>
+ </method>
+ <method name="Plane" qualifiers="constructor">
+ <return type="Plane" />
+ <argument index="0" name="normal" type="Vector3" />
<argument index="1" name="d" type="float" />
<description>
- Creates a plane from the normal and the plane's distance to the origin.
+ Creates a plane from the normal vector and the plane's distance to the origin.
</description>
</method>
<method name="Plane" qualifiers="constructor">
<return type="Plane" />
- <argument index="0" name="point" type="Vector3" />
- <argument index="1" name="normal" type="Vector3" />
+ <argument index="0" name="normal" type="Vector3" />
<description>
- Creates a plane from the given position and a plane normal.
+ Creates a plane from the normal vector. The plane will intersect the origin.
</description>
</method>
<method name="Plane" qualifiers="constructor">
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 5403bd48d5..eec06d6f82 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -221,6 +221,11 @@
The project's name. It is used both by the Project Manager and by exporters. The project name can be translated by translating its value in localization files. The window title will be set to match the project name automatically on startup.
[b]Note:[/b] Changing this value will also change the user data folder's path if [member application/config/use_custom_user_dir] is [code]false[/code]. After renaming the project, you will no longer be able to access existing data in [code]user://[/code] unless you rename the old folder to match the new project name. See [url=https://docs.godotengine.org/en/latest/tutorials/io/data_paths.html]Data paths[/url] in the documentation for more information.
</member>
+ <member name="application/config/project_data_dir_name" type="String" setter="" getter="" default="&quot;.godot&quot;">
+ The project data directory is used for storing project-specific data (metadata, shader cache, etc.).
+ [b]Note:[/b] Restart the application after changing this setting.
+ [b]Note:[/b] Changing this value can help on platforms or with third-party tools where specific directory patterns are disallowed. Only modify this setting if you know that your environment requires it, as changing the default can impact compatibility with some external tools or plugins which expect the default [code].godot[/code] folder.
+ </member>
<member name="application/config/project_settings_override" type="String" setter="" getter="" default="&quot;&quot;">
Specifies a file to override project settings. For example: [code]user://custom_settings.cfg[/code]. See "Overriding" in the [ProjectSettings] class description at the top for more information.
[b]Note:[/b] Regardless of this setting's value, [code]res://override.cfg[/code] will still be read to override the project settings.
@@ -1745,23 +1750,23 @@
</member>
<member name="rendering/textures/vram_compression/import_bptc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the BPTC algorithm. This texture compression algorithm is only supported on desktop platforms, and only when using the Vulkan renderer.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor.
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
</member>
<member name="rendering/textures/vram_compression/import_etc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression algorithm. This algorithm doesn't support alpha channels in textures.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor.
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
</member>
<member name="rendering/textures/vram_compression/import_etc2" type="bool" setter="" getter="" default="true">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression 2 algorithm. This texture compression algorithm is only supported when using the Vulkan renderer.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor.
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
</member>
<member name="rendering/textures/vram_compression/import_pvrtc" type="bool" setter="" getter="" default="false">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the PowerVR Texture Compression algorithm. This texture compression algorithm is only supported on iOS.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor.
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
</member>
<member name="rendering/textures/vram_compression/import_s3tc" type="bool" setter="" getter="" default="true">
If [code]true[/code], the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm. This algorithm is only supported on desktop platforms and consoles.
- [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor.
+ [b]Note:[/b] Changing this setting does [i]not[/i] impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the [code].godot/imported/[/code] folder located inside the project folder then restart the editor (see [member application/config/project_data_dir_name]).
</member>
<member name="rendering/vulkan/descriptor_pools/max_descriptors_per_pool" type="int" setter="" getter="" default="64">
</member>
diff --git a/doc/classes/RigidDynamicBody2D.xml b/doc/classes/RigidDynamicBody2D.xml
index 9baed392eb..f503884192 100644
--- a/doc/classes/RigidDynamicBody2D.xml
+++ b/doc/classes/RigidDynamicBody2D.xml
@@ -174,27 +174,27 @@
<signal name="body_shape_entered">
<argument index="0" name="body_rid" type="RID" />
<argument index="1" name="body" type="Node" />
- <argument index="2" name="body_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="body_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of this RigidDynamicBody2D's [Shape2D]s collides with another [PhysicsBody2D] or [TileMap]'s [Shape2D]s. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.
- [code]body_id[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
+ [code]body_rid[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
[code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody2D] or [TileMap].
- [code]body_shape[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D].
- [code]local_shape[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D].
+ [code]body_shape_index[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
<signal name="body_shape_exited">
<argument index="0" name="body_rid" type="RID" />
<argument index="1" name="body" type="Node" />
- <argument index="2" name="body_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="body_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when the collision between one of this RigidDynamicBody2D's [Shape2D]s and another [PhysicsBody2D] or [TileMap]'s [Shape2D]s ends. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [TileMap]s are detected if the [TileSet] has Collision [Shape2D]s.
- [code]body_id[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
+ [code]body_rid[/code] the [RID] of the other [PhysicsBody2D] or [TileSet]'s [CollisionObject2D] used by the [PhysicsServer2D].
[code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody2D] or [TileMap].
- [code]body_shape[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D].
- [code]local_shape[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D].
+ [code]body_shape_index[/code] the index of the [Shape2D] of the other [PhysicsBody2D] or [TileMap] used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape2D] of this RigidDynamicBody2D used by the [PhysicsServer2D]. Get the [CollisionShape2D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
</description>
</signal>
<signal name="sleeping_state_changed">
diff --git a/doc/classes/RigidDynamicBody3D.xml b/doc/classes/RigidDynamicBody3D.xml
index 7d1c7fecfa..6c8d190704 100644
--- a/doc/classes/RigidDynamicBody3D.xml
+++ b/doc/classes/RigidDynamicBody3D.xml
@@ -177,28 +177,28 @@
<signal name="body_shape_entered">
<argument index="0" name="body_rid" type="RID" />
<argument index="1" name="body" type="Node" />
- <argument index="2" name="body_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="body_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when one of this RigidDynamicBody3D's [Shape3D]s collides with another [PhysicsBody3D] or [GridMap]'s [Shape3D]s. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.
- [code]body_id[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
+ [code]body_rid[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D].
[code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody3D] or [GridMap].
- [code]body_shape[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D].
- [code]local_shape[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D].
+ [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
[b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape3D]. Don't use multiple [CollisionShape3D]s when using a [ConcavePolygonShape3D] with Bullet physics if you need shape indices.
</description>
</signal>
<signal name="body_shape_exited">
<argument index="0" name="body_rid" type="RID" />
<argument index="1" name="body" type="Node" />
- <argument index="2" name="body_shape" type="int" />
- <argument index="3" name="local_shape" type="int" />
+ <argument index="2" name="body_shape_index" type="int" />
+ <argument index="3" name="local_shape_index" type="int" />
<description>
Emitted when the collision between one of this RigidDynamicBody3D's [Shape3D]s and another [PhysicsBody3D] or [GridMap]'s [Shape3D]s ends. Requires [member contact_monitor] to be set to [code]true[/code] and [member contacts_reported] to be set high enough to detect all the collisions. [GridMap]s are detected if the [MeshLibrary] has Collision [Shape3D]s.
- [code]body_id[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. [GridMap]s are detected if the Meshes have [Shape3D]s.
+ [code]body_rid[/code] the [RID] of the other [PhysicsBody3D] or [MeshLibrary]'s [CollisionObject3D] used by the [PhysicsServer3D]. [GridMap]s are detected if the Meshes have [Shape3D]s.
[code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody3D] or [GridMap].
- [code]body_shape[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D].
- [code]local_shape[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D].
+ [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body_shape_index)[/code].
+ [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(local_shape_index)[/code].
[b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape3D]. Don't use multiple [CollisionShape3D]s when using a [ConcavePolygonShape3D] with Bullet physics if you need shape indices.
</description>
</signal>
diff --git a/doc/classes/ScriptEditorBase.xml b/doc/classes/ScriptEditorBase.xml
index 1e72fe9090..88adeaf12f 100644
--- a/doc/classes/ScriptEditorBase.xml
+++ b/doc/classes/ScriptEditorBase.xml
@@ -9,6 +9,13 @@
<tutorials>
</tutorials>
<methods>
+ <method name="add_syntax_highlighter">
+ <return type="void" />
+ <argument index="0" name="highlighter" type="EditorSyntaxHighlighter" />
+ <description>
+ Adds a [EditorSyntaxHighlighter] to the open script.
+ </description>
+ </method>
<method name="get_base_editor" qualifiers="const">
<return type="Control" />
<description>
diff --git a/doc/classes/Skeleton3D.xml b/doc/classes/Skeleton3D.xml
index 6ab5ed55a3..e804e7bf24 100644
--- a/doc/classes/Skeleton3D.xml
+++ b/doc/classes/Skeleton3D.xml
@@ -47,6 +47,11 @@
Removes the local pose override on all bones in the skeleton.
</description>
</method>
+ <method name="create_skin_from_rest_transforms">
+ <return type="Skin" />
+ <description>
+ </description>
+ </method>
<method name="execute_modifications">
<return type="void" />
<argument index="0" name="delta" type="float" />
@@ -88,13 +93,6 @@
Returns the amount of bones in the skeleton.
</description>
</method>
- <method name="get_bone_custom_pose" qualifiers="const">
- <return type="Transform3D" />
- <argument index="0" name="bone_idx" type="int" />
- <description>
- Returns the custom pose of the specified bone. Custom pose is applied on top of the rest pose.
- </description>
- </method>
<method name="get_bone_global_pose" qualifiers="const">
<return type="Transform3D" />
<argument index="0" name="bone_idx" type="int" />
@@ -144,6 +142,24 @@
Returns the pose transform of the specified bone. Pose is applied on top of the custom pose, which is applied on top the rest pose.
</description>
</method>
+ <method name="get_bone_pose_position" qualifiers="const">
+ <return type="Vector3" />
+ <argument index="0" name="bone_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="get_bone_pose_rotation" qualifiers="const">
+ <return type="Quaternion" />
+ <argument index="0" name="bone_idx" type="int" />
+ <description>
+ </description>
+ </method>
+ <method name="get_bone_pose_scale" qualifiers="const">
+ <return type="Vector3" />
+ <argument index="0" name="bone_idx" type="int" />
+ <description>
+ </description>
+ </method>
<method name="get_bone_rest" qualifiers="const">
<return type="Transform3D" />
<argument index="0" name="bone_idx" type="int" />
@@ -196,13 +212,6 @@
Returns whether the bone pose for the bone at [code]bone_idx[/code] is enabled.
</description>
</method>
- <method name="is_bone_rest_disabled" qualifiers="const">
- <return type="bool" />
- <argument index="0" name="bone_idx" type="int" />
- <description>
- Returns whether the bone rest for the bone at [code]bone_idx[/code] is disabled.
- </description>
- </method>
<method name="local_pose_to_global_pose">
<return type="Transform3D" />
<argument index="0" name="bone_idx" type="int" />
@@ -272,23 +281,6 @@
Sets the children for the passed in bone, [code]bone_idx[/code], to the passed-in array of bone indexes, [code]bone_children[/code].
</description>
</method>
- <method name="set_bone_custom_pose">
- <return type="void" />
- <argument index="0" name="bone_idx" type="int" />
- <argument index="1" name="custom_pose" type="Transform3D" />
- <description>
- Sets the custom pose transform, [code]custom_pose[/code], for the bone at [code]bone_idx[/code]. This pose is an addition to the bone rest pose.
- [b]Note:[/b] The pose transform needs to be in bone space. Use [method world_transform_to_global_pose] to convert a world transform, like one you can get from a [Node3D], to bone space.
- </description>
- </method>
- <method name="set_bone_disable_rest">
- <return type="void" />
- <argument index="0" name="bone_idx" type="int" />
- <argument index="1" name="disable" type="bool" />
- <description>
- Disables the rest pose for the bone at [code]bone_idx[/code] if [code]true[/code], enables the bone rest if [code]false[/code].
- </description>
- </method>
<method name="set_bone_enabled">
<return type="void" />
<argument index="0" name="bone_idx" type="int" />
@@ -337,13 +329,25 @@
[b]Note:[/b] [code]parent_idx[/code] must be less than [code]bone_idx[/code].
</description>
</method>
- <method name="set_bone_pose">
+ <method name="set_bone_pose_position">
<return type="void" />
<argument index="0" name="bone_idx" type="int" />
- <argument index="1" name="pose" type="Transform3D" />
+ <argument index="1" name="position" type="Vector3" />
+ <description>
+ </description>
+ </method>
+ <method name="set_bone_pose_rotation">
+ <return type="void" />
+ <argument index="0" name="bone_idx" type="int" />
+ <argument index="1" name="rotation" type="Quaternion" />
+ <description>
+ </description>
+ </method>
+ <method name="set_bone_pose_scale">
+ <return type="void" />
+ <argument index="0" name="bone_idx" type="int" />
+ <argument index="1" name="scale" type="Vector3" />
<description>
- Sets the pose transform for bone [code]bone_idx[/code].
- [b]Note:[/b] The pose transform needs to be in bone space. Use [method world_transform_to_global_pose] to convert a world transform, like one you can get from a [Node3D], to bone space.
</description>
</method>
<method name="set_bone_rest">
diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml
index 532c9a7128..d7108c3a2a 100644
--- a/doc/classes/TileMap.xml
+++ b/doc/classes/TileMap.xml
@@ -76,6 +76,13 @@
Returns the coodinates of the tile for given physics body RID. Such RID can be retrieved from [method KinematicCollision2D.get_collider_rid], when colliding with a tile.
</description>
</method>
+ <method name="get_layer_modulate" qualifiers="const">
+ <return type="Color" />
+ <argument index="0" name="layer" type="int" />
+ <description>
+ Returns a TileMap layer's modulate.
+ </description>
+ </method>
<method name="get_layer_name" qualifiers="const">
<return type="String" />
<argument index="0" name="layer" type="int" />
@@ -188,6 +195,14 @@
Enables or disables the layer [code]layer[/code]. A disabled layer is not processed at all (no rendering, no physics, etc...).
</description>
</method>
+ <method name="set_layer_modulate">
+ <return type="void" />
+ <argument index="0" name="layer" type="int" />
+ <argument index="1" name="enabled" type="Color" />
+ <description>
+ Sets a layer's color. It will be multiplied by tile's color and TileMap's modulate.
+ </description>
+ </method>
<method name="set_layer_name">
<return type="void" />
<argument index="0" name="layer" type="int" />
diff --git a/doc/classes/TileSetAtlasSource.xml b/doc/classes/TileSetAtlasSource.xml
index d12ac840f4..881a1c3d07 100644
--- a/doc/classes/TileSetAtlasSource.xml
+++ b/doc/classes/TileSetAtlasSource.xml
@@ -15,12 +15,6 @@
<tutorials>
</tutorials>
<methods>
- <method name="clear_tiles_outside_texture">
- <return type="void" />
- <description>
- Clears all tiles that are defined outside the texture boundaries.
- </description>
- </method>
<method name="create_alternative_tile">
<return type="int" />
<argument index="0" name="atlas_coords" type="Vector2i" />
@@ -124,6 +118,16 @@
Returns a tile's texture region in the atlas texture. For animated tiles, a [code]frame[/code] argument might be provided for the different frames of the animation.
</description>
</method>
+ <method name="get_tiles_to_be_removed_on_change">
+ <return type="PackedVector2Array" />
+ <argument index="0" name="texture" type="Texture2D" />
+ <argument index="1" name="margins" type="Vector2i" />
+ <argument index="2" name="separation" type="Vector2i" />
+ <argument index="3" name="texture_region_size" type="Vector2i" />
+ <description>
+ Returns an array of tiles coordinates ID that will be automatically removed when modifying one or several of those properties: [code]texture[/code], [code]margins[/code], [code]separation[/code] or [code]texture_region_size[/code]. This can be used to undo changes that would have caused tiles data loss.
+ </description>
+ </method>
<method name="has_room_for_tile" qualifiers="const">
<return type="bool" />
<argument index="0" name="atlas_coords" type="Vector2i" />
@@ -136,12 +140,6 @@
Returns whether there is enough room in an atlas to create/modify a tile with the given properties. If [code]ignored_tile[/code] is provided, act as is the given tile was not present in the atlas. This may be used when you want to modify a tile's properties.
</description>
</method>
- <method name="has_tiles_outside_texture">
- <return type="bool" />
- <description>
- Returns if this atlas has tiles outside of its texture.
- </description>
- </method>
<method name="move_tile_in_atlas">
<return type="void" />
<argument index="0" name="atlas_coords" type="Vector2i" />
diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml
index f94018c96b..488a5aa340 100644
--- a/doc/classes/Tween.xml
+++ b/doc/classes/Tween.xml
@@ -146,6 +146,7 @@
<description>
Sets the number of times the tweening sequence will be repeated, i.e. [code]set_loops(2)[/code] will run the animation twice.
Calling this method without arguments will make the [Tween] run infinitely, until it is either killed by [method kill] or by freeing bound node, or all the animated objects have been freed (which makes further animation impossible).
+ [b]Warning:[/b] Make sure to always add some duration/delay when using infinite loops. 0-duration looped animations (e.g. single [CallbackTweener] with no delay) are equivalent to infinite [code]while[/code] loops and will freeze your game.
</description>
</method>
<method name="set_parallel">
diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml
index def6fe5d1f..044460f569 100644
--- a/doc/classes/UndoRedo.xml
+++ b/doc/classes/UndoRedo.xml
@@ -134,6 +134,12 @@
The way actions are merged is dictated by the [code]merge_mode[/code] argument. See [enum MergeMode] for details.
</description>
</method>
+ <method name="end_force_keep_in_merge_ends">
+ <return type="void" />
+ <description>
+ Stops marking operations as to be processed even if the action gets merged with another in the [constant MERGE_ENDS] mode. See [method start_force_keep_in_merge_ends].
+ </description>
+ </method>
<method name="get_action_name">
<return type="String" />
<argument index="0" name="id" type="int" />
@@ -190,6 +196,12 @@
Redo the last action.
</description>
</method>
+ <method name="start_force_keep_in_merge_ends">
+ <return type="void" />
+ <description>
+ Marks the next "do" and "undo" operations to be processed even if the action gets merged with another in the [constant MERGE_ENDS] mode. Return to normal operation using [method end_force_keep_in_merge_ends].
+ </description>
+ </method>
<method name="undo">
<return type="bool" />
<description>
@@ -209,7 +221,7 @@
Makes "do"/"undo" operations stay in separate actions.
</constant>
<constant name="MERGE_ENDS" value="1" enum="MergeMode">
- Makes so that the action's "do" operation is from the first action created and the "undo" operation is from the last subsequent action with the same name.
+ Makes so that the action's "undo" operations are from the first action created and the "do" operations are from the last subsequent action with the same name.
</constant>
<constant name="MERGE_ALL" value="2" enum="MergeMode">
Makes subsequent actions with the same name be merged into one.
diff --git a/doc/classes/VideoPlayer.xml b/doc/classes/VideoPlayer.xml
index 4f60b9d567..c8590988f5 100644
--- a/doc/classes/VideoPlayer.xml
+++ b/doc/classes/VideoPlayer.xml
@@ -5,9 +5,9 @@
</brief_description>
<description>
Control node for playing video streams using [VideoStream] resources.
- Supported video formats are [url=https://www.webmproject.org/]WebM[/url] ([code].webm[/code], [VideoStreamWebm]), [url=https://www.theora.org/]Ogg Theora[/url] ([code].ogv[/code], [VideoStreamTheora]), and any format exposed via a GDNative plugin using [VideoStreamGDNative].
+ Supported video formats are [url=https://www.theora.org/]Ogg Theora[/url] ([code].ogv[/code], [VideoStreamTheora]) and any format exposed via a GDNative plugin using [VideoStreamGDNative].
[b]Note:[/b] Due to a bug, VideoPlayer does not support localization remapping yet.
- [b]Warning:[/b] On HTML5, video playback [i]will[/i] perform poorly due to missing architecture-specific assembly optimizations, especially for VP8/VP9.
+ [b]Warning:[/b] On HTML5, video playback [i]will[/i] perform poorly due to missing architecture-specific assembly optimizations.
</description>
<tutorials>
</tutorials>
diff --git a/doc/translations/extract.py b/doc/translations/extract.py
index a2bc5e37ec..a13680a613 100644
--- a/doc/translations/extract.py
+++ b/doc/translations/extract.py
@@ -2,7 +2,6 @@
import argparse
import os
-import re
import shutil
from collections import OrderedDict