summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/classes/@GDScript.xml10
-rw-r--r--doc/classes/@GlobalScope.xml36
-rw-r--r--doc/classes/ARVRInterface.xml7
-rw-r--r--doc/classes/AnimationNode.xml1
-rw-r--r--doc/classes/AnimationNodeAdd2.xml3
-rw-r--r--doc/classes/AnimationNodeAdd3.xml7
-rw-r--r--doc/classes/AnimationNodeAnimation.xml3
-rw-r--r--doc/classes/AnimationNodeBlend2.xml3
-rw-r--r--doc/classes/AnimationNodeBlend3.xml7
-rw-r--r--doc/classes/AnimationNodeBlendSpace1D.xml16
-rw-r--r--doc/classes/AnimationNodeBlendSpace2D.xml28
-rw-r--r--doc/classes/ArrayMesh.xml5
-rw-r--r--doc/classes/Bone2D.xml10
-rw-r--r--doc/classes/CPUParticles.xml121
-rw-r--r--doc/classes/CPUParticles2D.xml101
-rw-r--r--doc/classes/CameraFeed.xml64
-rw-r--r--doc/classes/CameraServer.xml83
-rw-r--r--doc/classes/CameraTexture.xml25
-rw-r--r--doc/classes/ClippedCamera.xml6
-rw-r--r--doc/classes/Color.xml2
-rw-r--r--doc/classes/Environment.xml8
-rw-r--r--doc/classes/FileDialog.xml2
-rw-r--r--doc/classes/Image.xml2
-rw-r--r--doc/classes/InputEventKey.xml2
-rw-r--r--doc/classes/MeshInstance.xml1
-rw-r--r--doc/classes/MeshInstance2D.xml11
-rw-r--r--doc/classes/MultiMeshInstance2D.xml33
-rw-r--r--doc/classes/Navigation.xml2
-rw-r--r--doc/classes/OS.xml22
-rw-r--r--doc/classes/Particles.xml5
-rw-r--r--doc/classes/Particles2D.xml4
-rw-r--r--doc/classes/ParticlesMaterial.xml10
-rw-r--r--doc/classes/PrimitiveMesh.xml5
-rw-r--r--doc/classes/ProjectSettings.xml10
-rw-r--r--doc/classes/QuadMesh.xml1
-rw-r--r--doc/classes/String.xml21
-rw-r--r--doc/classes/TextEdit.xml51
-rw-r--r--doc/classes/TriangleMesh.xml2
-rw-r--r--doc/classes/VehicleWheel.xml2
-rw-r--r--doc/classes/VisualServer.xml17
-rwxr-xr-xdoc/tools/makerst.py47
41 files changed, 711 insertions, 85 deletions
diff --git a/doc/classes/@GDScript.xml b/doc/classes/@GDScript.xml
index 553fd4d629..b6de5dbf62 100644
--- a/doc/classes/@GDScript.xml
+++ b/doc/classes/@GDScript.xml
@@ -92,13 +92,13 @@
<argument index="0" name="condition" type="bool">
</argument>
<description>
- Assert that the [code]condition[/code] is [code]true[/code] . If the [code]condition[/code] is [code]false[/code] a fatal error is generated and the program is halted. Useful for debugging to make sure a value is always [code]true[/code].
+ Asserts that the [code]condition[/code] is [code]true[/code] . If the [code]condition[/code] is [code]false[/code], an error is generated and the program is halted until you resume it. Only executes in debug builds, or when running the game from the editor. Use it for debugging purposes, to make sure a statement is [code]true[/code] during development.
[codeblock]
- # Speed should always be between 0 and 20
+ # Imagine we always want speed to be between 0 and 20
speed = -10
- assert(speed &lt; 20) # Is true and program continues
- assert(speed &gt;= 0) # Is false and program stops
- assert(speed &gt;= 0 &amp;&amp; speed &lt; 20) # Or combined
+ assert(speed &lt; 20) # True, the program will continue
+ assert(speed &gt;= 0) # False, the program will stop
+ assert(speed &gt;= 0 &amp;&amp; speed &lt; 20) # You can also combine the two conditional statements in one check
[/codeblock]
</description>
</method>
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml
index 760287e1b8..d36a545c56 100644
--- a/doc/classes/@GlobalScope.xml
+++ b/doc/classes/@GlobalScope.xml
@@ -18,6 +18,9 @@
<member name="AudioServer" type="AudioServer" setter="" getter="">
[AudioServer] singleton
</member>
+ <member name="CameraServer" type="CameraServer" setter="" getter="">
+ [CameraServer] singleton
+ </member>
<member name="ClassDB" type="ClassDB" setter="" getter="">
[ClassDB] singleton
</member>
@@ -1003,6 +1006,27 @@
<constant name="JOY_DS_Y" value="2" enum="JoystickList">
DualShock controller Y button
</constant>
+ <constant name="JOY_VR_GRIP" value="2" enum="JoystickList">
+ Grip (side) buttons on a VR controller
+ </constant>
+ <constant name="JOY_VR_PAD" value="14" enum="JoystickList">
+ Push down on the touchpad or main joystick on a VR controller
+ </constant>
+ <constant name="JOY_VR_TRIGGER" value="15" enum="JoystickList">
+ Trigger on a VR controller
+ </constant>
+ <constant name="JOY_OCULUS_AX" value="7" enum="JoystickList">
+ A button on the right Oculus Touch controller, X button on the left controller (also when used in OpenVR)
+ </constant>
+ <constant name="JOY_OCULUS_BY" value="1" enum="JoystickList">
+ B button on the right Oculus Touch controller, Y button on the left controller (also when used in OpenVR)
+ </constant>
+ <constant name="JOY_OCULUS_MENU" value="3" enum="JoystickList">
+ Menu button on either Oculus Touch controller.
+ </constant>
+ <constant name="JOY_OPENVR_MENU" value="1" enum="JoystickList">
+ Menu button in OpenVR (Except when Oculus Touch controllers are used)
+ </constant>
<constant name="JOY_SELECT" value="10" enum="JoystickList">
Joypad Button Select
</constant>
@@ -1085,6 +1109,18 @@
<constant name="JOY_ANALOG_R2" value="7" enum="JoystickList">
Joypad Right Analog Trigger
</constant>
+ <constant name="JOY_VR_ANALOG_TRIGGER" value="2" enum="JoystickList">
+ VR Controller Analog Trigger
+ </constant>
+ <constant name="JOY_VR_ANALOG_GRIP" value="4" enum="JoystickList">
+ VR Controller Analog Grip (side buttons)
+ </constant>
+ <constant name="JOY_OPENVR_TOUCHPADX" value="0" enum="JoystickList">
+ OpenVR touchpad X axis (Joystick axis on Oculus Touch and Windows MR controllers)
+ </constant>
+ <constant name="JOY_OPENVR_TOUCHPADY" value="1" enum="JoystickList">
+ OpenVR touchpad Y axis (Joystick axis on Oculus Touch and Windows MR controllers)
+ </constant>
<constant name="MIDI_MESSAGE_NOTE_OFF" value="8" enum="MidiMessageList">
</constant>
<constant name="MIDI_MESSAGE_NOTE_ON" value="9" enum="MidiMessageList">
diff --git a/doc/classes/ARVRInterface.xml b/doc/classes/ARVRInterface.xml
index 11084fb98e..c286811b5d 100644
--- a/doc/classes/ARVRInterface.xml
+++ b/doc/classes/ARVRInterface.xml
@@ -10,6 +10,13 @@
<tutorials>
</tutorials>
<methods>
+ <method name="get_camera_feed_id">
+ <return type="int">
+ </return>
+ <description>
+ If this is an AR interface that requires displaying a camera feed as the background, this method returns the feed id in the [CameraServer] for this interface.
+ </description>
+ </method>
<method name="get_capabilities" qualifiers="const">
<return type="int">
</return>
diff --git a/doc/classes/AnimationNode.xml b/doc/classes/AnimationNode.xml
index 9854d4c27e..23f7a316d9 100644
--- a/doc/classes/AnimationNode.xml
+++ b/doc/classes/AnimationNode.xml
@@ -215,6 +215,7 @@
</signal>
<signal name="tree_changed">
<description>
+ Emitted by nodes that inherit from this class and that have an internal tree when one of their nodes changes. The nodes that emit this signal are [AnimationNodeBlendSpace1D], [AnimationNodeBlendSpace2D], [AnimationNodeStateMachine], and [AnimationNodeBlendTree].
</description>
</signal>
</signals>
diff --git a/doc/classes/AnimationNodeAdd2.xml b/doc/classes/AnimationNodeAdd2.xml
index ac2a28e396..890d6f8b49 100644
--- a/doc/classes/AnimationNodeAdd2.xml
+++ b/doc/classes/AnimationNodeAdd2.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeAdd2" inherits="AnimationNode" category="Core" version="3.2">
<brief_description>
+ Blends two animations additively inside of an [AnimationNodeBlendTree].
</brief_description>
<description>
+ A resource to add to an [AnimationNodeBlendTree]. Blends two animations additively based on an amount value in the [code][0.0, 1.0][/code] range.
</description>
<tutorials>
</tutorials>
@@ -10,6 +12,7 @@
</methods>
<members>
<member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ If [code]true[/code], sets the [code]optimization[/code] to [code]false[/code] when calling [method AnimationNode.blend_input], forcing the blended animations to update every frame.
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationNodeAdd3.xml b/doc/classes/AnimationNodeAdd3.xml
index 9cfeb47378..7747c333bf 100644
--- a/doc/classes/AnimationNodeAdd3.xml
+++ b/doc/classes/AnimationNodeAdd3.xml
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeAdd3" inherits="AnimationNode" category="Core" version="3.2">
<brief_description>
+ Blends two of three animations additively inside of an [AnimationNodeBlendTree].
</brief_description>
<description>
+ A resource to add to an [AnimationNodeBlendTree]. Blends two animations together additively out of three based on a value in the [code][-1.0, 1.0][/code] range.
+ This node has three inputs:
+ - The base animation to add to
+ - A -add animation to blend with when the blend amount is in the [code][-1.0, 0.0][/code] range.
+ - A +add animation to blend with when the blend amount is in the [code][0.0, 1.0][/code] range
</description>
<tutorials>
</tutorials>
@@ -10,6 +16,7 @@
</methods>
<members>
<member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ If [code]true[/code], sets the [code]optimization[/code] to [code]false[/code] when calling [method AnimationNode.blend_input], forcing the blended animations to update every frame.
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationNodeAnimation.xml b/doc/classes/AnimationNodeAnimation.xml
index e7d53fc7b3..420a702d38 100644
--- a/doc/classes/AnimationNodeAnimation.xml
+++ b/doc/classes/AnimationNodeAnimation.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeAnimation" inherits="AnimationRootNode" category="Core" version="3.2">
<brief_description>
+ Input animation to use in an [AnimationNodeBlendTree].
</brief_description>
<description>
+ A resource to add to an [AnimationNodeBlendTree]. Only features one output set using the [member animation] property. Use it as an input for [AnimationNode] that blend animations together.
</description>
<tutorials>
</tutorials>
@@ -10,6 +12,7 @@
</methods>
<members>
<member name="animation" type="String" setter="set_animation" getter="get_animation">
+ Animation to use as an output. It is one of the animations provided by [member AnimationTree.anim_player].
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationNodeBlend2.xml b/doc/classes/AnimationNodeBlend2.xml
index f15fa44f39..9358c5eeef 100644
--- a/doc/classes/AnimationNodeBlend2.xml
+++ b/doc/classes/AnimationNodeBlend2.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeBlend2" inherits="AnimationNode" category="Core" version="3.2">
<brief_description>
+ Blends two animations linearly inside of an [AnimationNodeBlendTree].
</brief_description>
<description>
+ A resource to add to an [AnimationNodeBlendTree]. Blends two animations linearly based on an amount value in the [code][0.0, 1.0][/code] range.
</description>
<tutorials>
</tutorials>
@@ -10,6 +12,7 @@
</methods>
<members>
<member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ If [code]true[/code], sets the [code]optimization[/code] to [code]false[/code] when calling [method AnimationNode.blend_input], forcing the blended animations to update every frame.
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationNodeBlend3.xml b/doc/classes/AnimationNodeBlend3.xml
index 2f82eea041..f4a108f930 100644
--- a/doc/classes/AnimationNodeBlend3.xml
+++ b/doc/classes/AnimationNodeBlend3.xml
@@ -1,8 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeBlend3" inherits="AnimationNode" category="Core" version="3.2">
<brief_description>
+ Blends two of three animations linearly inside of an [AnimationNodeBlendTree].
</brief_description>
<description>
+ A resource to add to an [AnimationNodeBlendTree]. Blends two animations together linearly out of three based on a value in the [code][-1.0, 1.0][/code] range.
+ This node has three inputs:
+ - The base animation
+ - A -blend animation to blend with when the blend amount is in the [code][-1.0, 0.0][/code] range.
+ - A +blend animation to blend with when the blend amount is in the [code][0.0, 1.0][/code] range
</description>
<tutorials>
</tutorials>
@@ -10,6 +16,7 @@
</methods>
<members>
<member name="sync" type="bool" setter="set_use_sync" getter="is_using_sync">
+ If [code]true[/code], sets the [code]optimization[/code] to [code]false[/code] when calling [method AnimationNode.blend_input], forcing the blended animations to update every frame.
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationNodeBlendSpace1D.xml b/doc/classes/AnimationNodeBlendSpace1D.xml
index b13aee277e..6fb5c6312b 100644
--- a/doc/classes/AnimationNodeBlendSpace1D.xml
+++ b/doc/classes/AnimationNodeBlendSpace1D.xml
@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeBlendSpace1D" inherits="AnimationRootNode" category="Core" version="3.2">
<brief_description>
+ Blends linearly between two of any number of [AnimationNode] of any type placed on a virtual axis.
</brief_description>
<description>
+ A resource to add to an [AnimationNodeBlendTree].
+ This is a virtual axis on which you can add any type of [AnimationNode] using [method add_blend_point].
+ Outputs the linear blend of the two [code]AnimationNode[/code] closest to the node's current [code]value[/code].
+ You can set the extents of the axis using the [member min_space] and [member max_space].
</description>
<tutorials>
</tutorials>
@@ -17,12 +22,14 @@
<argument index="2" name="at_index" type="int" default="-1">
</argument>
<description>
+ Add a new point that represents a [code]node[/code] on the virtual axis at a given position set by [code]pos[/code]. You can insert it at a specific index using the [code]at_index[/code] argument. If you use the default value for [code]at_index[/code] , the point is inserted at the end of the blend points array.
</description>
</method>
<method name="get_blend_point_count" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns the number of points on the blend axis.
</description>
</method>
<method name="get_blend_point_node" qualifiers="const">
@@ -31,6 +38,7 @@
<argument index="0" name="point" type="int">
</argument>
<description>
+ Returns the [code]AnimationNode[/code] referenced by the point at index [code]point[/code].
</description>
</method>
<method name="get_blend_point_position" qualifiers="const">
@@ -39,6 +47,7 @@
<argument index="0" name="point" type="int">
</argument>
<description>
+ Returns the position of the point at index [code]point[/code].
</description>
</method>
<method name="remove_blend_point">
@@ -47,6 +56,7 @@
<argument index="0" name="point" type="int">
</argument>
<description>
+ Removes the point at index [code]point[/code] from the blend axis.
</description>
</method>
<method name="set_blend_point_node">
@@ -57,6 +67,7 @@
<argument index="1" name="node" type="AnimationRootNode">
</argument>
<description>
+ Changes the AnimationNode referenced by the point at index [code]point[/code].
</description>
</method>
<method name="set_blend_point_position">
@@ -67,17 +78,22 @@
<argument index="1" name="pos" type="float">
</argument>
<description>
+ Updates the position of the point at index [code]point[/code] on the blend axis.
</description>
</method>
</methods>
<members>
<member name="max_space" type="float" setter="set_max_space" getter="get_max_space">
+ The blend space's axis's upper limit for the points' position. See [method add_blend_point].
</member>
<member name="min_space" type="float" setter="set_min_space" getter="get_min_space">
+ The blend space's axis's lower limit for the points' position. See [method add_blend_point].
</member>
<member name="snap" type="float" setter="set_snap" getter="get_snap">
+ Position increment to snap to when moving a point on the axis.
</member>
<member name="value_label" type="String" setter="set_value_label" getter="get_value_label">
+ Label of the virtual axis of the blend space.
</member>
</members>
<constants>
diff --git a/doc/classes/AnimationNodeBlendSpace2D.xml b/doc/classes/AnimationNodeBlendSpace2D.xml
index 2ec5977301..6567098d6c 100644
--- a/doc/classes/AnimationNodeBlendSpace2D.xml
+++ b/doc/classes/AnimationNodeBlendSpace2D.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="AnimationNodeBlendSpace2D" inherits="AnimationRootNode" category="Core" version="3.2">
<brief_description>
+ Blends linearly between three [AnimationNode] of any type placed in a 2d space.
</brief_description>
<description>
+ A resource to add to an [AnimationNodeBlendTree].
+ This node allows you to blend linearly between three animations using a [Vector2] weight.
+ You can add vertices to the blend space with [method add_blend_point] and automatically triangulate it by setting [member auto_triangles] to [code]true[/code]. Otherwise, use [method add_triangle] and [method remove_triangle] to create up the blend space by hand.
</description>
<tutorials>
</tutorials>
@@ -17,6 +21,7 @@
<argument index="2" name="at_index" type="int" default="-1">
</argument>
<description>
+ Add a new point that represents a [code]node[/code] at the position set by [code]pos[/code]. You can insert it at a specific index using the [code]at_index[/code] argument. If you use the default value for [code]at_index[/code] , the point is inserted at the end of the blend points array.
</description>
</method>
<method name="add_triangle">
@@ -31,12 +36,14 @@
<argument index="3" name="at_index" type="int" default="-1">
</argument>
<description>
+ Creates a new triangle using three points [code]x[/code], [code]y[/code], and [code]z[/code]. Triangles can overlap. You can insert the triangle at a specific index using the [code]at_index[/code] argument. If you use the default value for [code]at_index[/code] , the point is inserted at the end of the blend points array.
</description>
</method>
<method name="get_blend_point_count" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns the number of points in the blend space.
</description>
</method>
<method name="get_blend_point_node" qualifiers="const">
@@ -45,6 +52,7 @@
<argument index="0" name="point" type="int">
</argument>
<description>
+ Returns the [code]AnimationRootNode[/code] referenced by the point at index [code]point[/code].
</description>
</method>
<method name="get_blend_point_position" qualifiers="const">
@@ -53,12 +61,14 @@
<argument index="0" name="point" type="int">
</argument>
<description>
+ Returns the position of the point at index [code]point[/code].
</description>
</method>
<method name="get_triangle_count" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns the number of triangles in the blend space.
</description>
</method>
<method name="get_triangle_point">
@@ -69,6 +79,7 @@
<argument index="1" name="point" type="int">
</argument>
<description>
+ Returns the position of the point at index [code]point[/code] in the triangle of index [code]triangle[/code].
</description>
</method>
<method name="remove_blend_point">
@@ -77,6 +88,7 @@
<argument index="0" name="point" type="int">
</argument>
<description>
+ Removes the point at index [code]point[/code] from the blend space.
</description>
</method>
<method name="remove_triangle">
@@ -85,6 +97,7 @@
<argument index="0" name="triangle" type="int">
</argument>
<description>
+ Removes the triangle at index [code]triangle[/code] from the blend space.
</description>
</method>
<method name="set_blend_point_node">
@@ -95,6 +108,7 @@
<argument index="1" name="node" type="AnimationRootNode">
</argument>
<description>
+ Changes the AnimationNode referenced by the point at index [code]point[/code].
</description>
</method>
<method name="set_blend_point_position">
@@ -105,39 +119,49 @@
<argument index="1" name="pos" type="Vector2">
</argument>
<description>
+ Updates the position of the point at index [code]point[/code] on the blend axis.
</description>
</method>
</methods>
<members>
<member name="auto_triangles" type="bool" setter="set_auto_triangles" getter="get_auto_triangles">
+ If true, the blend space is triangulated automatically. The mesh updates every time you add or remove points with [method add_blend_point] and [method remove_blend_point].
</member>
<member name="blend_mode" type="int" setter="set_blend_mode" getter="get_blend_mode" enum="AnimationNodeBlendSpace2D.BlendMode">
+ Controls the interpolation between animations. See [enum BlendMode] constants.
</member>
<member name="max_space" type="Vector2" setter="set_max_space" getter="get_max_space">
+ The blend space's X and Y axes' upper limit for the points' position. See [method add_blend_point].
</member>
<member name="min_space" type="Vector2" setter="set_min_space" getter="get_min_space">
+ The blend space's X and Y axes' lower limit for the points' position. See [method add_blend_point].
</member>
<member name="snap" type="Vector2" setter="set_snap" getter="get_snap">
+ Position increment to snap to when moving a point.
</member>
<member name="x_label" type="String" setter="set_x_label" getter="get_x_label">
+ Name of the blend space's X axis.
</member>
<member name="y_label" type="String" setter="set_y_label" getter="get_y_label">
+ Name of the blend space's Y axis.
</member>
</members>
<signals>
<signal name="triangles_updated">
<description>
+ Emitted every time the blend space's triangles are created, removed, or when one of their vertices changes position.
</description>
</signal>
</signals>
<constants>
<constant name="BLEND_MODE_INTERPOLATED" value="0" enum="BlendMode">
+ The interpolation between animations is linear.
</constant>
<constant name="BLEND_MODE_DISCRETE" value="1" enum="BlendMode">
- Useful for frame-by-frame 2D animations.
+ The blend space plays the animation of the node the blending position is closest to. Useful for frame-by-frame 2D animations.
</constant>
<constant name="BLEND_MODE_DISCRETE_CARRY" value="2" enum="BlendMode">
- Keep the current play position when switching between discrete animations.
+ Similar to [constant BLEND_MODE_DISCRETE], but starts the new animation at the last animation's playback position.
</constant>
</constants>
</class>
diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml
index 745d803a30..d44e3c54c9 100644
--- a/doc/classes/ArrayMesh.xml
+++ b/doc/classes/ArrayMesh.xml
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="ArrayMesh" inherits="Mesh" category="Core" version="3.2">
<brief_description>
+ [Mesh] type that provides utility for constructing a surface from arrays.
</brief_description>
<description>
The [ArrayMesh] is used to construct a [Mesh] by specifying the attributes as arrays. The most basic example is the creation of a single triangle
@@ -30,6 +31,7 @@
<argument index="0" name="name" type="String">
</argument>
<description>
+ Add name for a blend shape that will be added with [method add_surface_from_arrays]. Must be called before surface is added.
</description>
</method>
<method name="add_surface_from_arrays">
@@ -176,6 +178,7 @@
<argument index="2" name="data" type="PoolByteArray">
</argument>
<description>
+ Updates a specified region of mesh arrays on GPU. Warning: only use if you know what you are doing. You can easily cause crashes by calling this function with improper arguments.
</description>
</method>
</methods>
@@ -183,7 +186,7 @@
<member name="blend_shape_mode" type="int" setter="set_blend_shape_mode" getter="get_blend_shape_mode" enum="Mesh.BlendShapeMode">
</member>
<member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb">
- An overriding bounding box for this mesh.
+ Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unnexpected culling when using a shader to offset vertices.
</member>
</members>
<constants>
diff --git a/doc/classes/Bone2D.xml b/doc/classes/Bone2D.xml
index 59f7bec889..757c6c6a34 100644
--- a/doc/classes/Bone2D.xml
+++ b/doc/classes/Bone2D.xml
@@ -1,8 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="Bone2D" inherits="Node2D" category="Core" version="3.2">
<brief_description>
+ Joint used with [Skeleton2D] to control and animate other nodes.
</brief_description>
<description>
+ Use a hierarchy of [code]Bone2D[/code] bound to a [Skeleton2D] to control, and animate other [Node2D] nodes.
+ You can use [code]Bone2D[/code] and [code]Skeleton2D[/code] nodes to animate 2D meshes created with the Polygon 2D UV editor.
+ Each bone has a [member rest] transform that you can reset to with [method apply_rest]. These rest poses are relative to the bone's parent.
+ If in the editor, you can set the rest pose of an entire skeleton using a menu option, from the code, you need to iterate over the bones to set their individual rest poses.
</description>
<tutorials>
</tutorials>
@@ -11,25 +16,30 @@
<return type="void">
</return>
<description>
+ Stores the node's current transforms in [member rest].
</description>
</method>
<method name="get_index_in_skeleton" qualifiers="const">
<return type="int">
</return>
<description>
+ Returns the node's index as part of the entire skeleton. See [Skeleton2D].
</description>
</method>
<method name="get_skeleton_rest" qualifiers="const">
<return type="Transform2D">
</return>
<description>
+ Returns the node's [member rest] [code]Transform2D[/code] if it doesn't have a parent, or its rest pose relative to its parent.
</description>
</method>
</methods>
<members>
<member name="default_length" type="float" setter="set_default_length" getter="get_default_length">
+ Length of the bone's representation drawn in the editor's viewport in pixels.
</member>
<member name="rest" type="Transform2D" setter="set_rest" getter="get_rest">
+ Rest transform of the bone. You can reset the node's transforms to this value using [method apply_rest].
</member>
</members>
<constants>
diff --git a/doc/classes/CPUParticles.xml b/doc/classes/CPUParticles.xml
index 599c067328..c9c92102f3 100644
--- a/doc/classes/CPUParticles.xml
+++ b/doc/classes/CPUParticles.xml
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CPUParticles" inherits="GeometryInstance" category="Core" version="3.2">
<brief_description>
+ CPU-based 3D particle emitter.
</brief_description>
<description>
+ CPU-based 3D particle node used to create a variety of particle systems and effects.
+ See also [Particles], which provides the same functionality with hardware acceleration, but may not run on older devices.
</description>
<tutorials>
</tutorials>
@@ -13,56 +16,77 @@
<argument index="0" name="particles" type="Node">
</argument>
<description>
+ Sets this node's properties to match a given [Particles] node with an assigned [ParticlesMaterial].
</description>
</method>
<method name="restart">
<return type="void">
</return>
<description>
+ Restarts the particle emitter.
</description>
</method>
</methods>
<members>
<member name="amount" type="int" setter="set_amount" getter="get_amount">
+ Number of particles emitted in one emission cycle.
</member>
<member name="angle" type="float" setter="set_param" getter="get_param">
+ Initial rotation applied to each particle, in degrees.
</member>
<member name="angle_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's rotation will be animated along this [Curve].
</member>
<member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Rotation randomness ratio. Default value: [code]0[/code].
</member>
<member name="angular_velocity" type="float" setter="set_param" getter="get_param">
+ Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
</member>
<member name="angular_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's angular velocity will vary along this [Curve].
</member>
<member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Angular velocity randomness ratio. Default value: [code]0[/code].
</member>
<member name="anim_offset" type="float" setter="set_param" getter="get_param">
+ Particle animation offset.
</member>
<member name="anim_offset_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's animation offset will vary along this [Curve].
</member>
<member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Animation offset randomness ratio. Default value: [code]0[/code].
</member>
<member name="anim_speed" type="float" setter="set_param" getter="get_param">
+ Particle animation speed.
</member>
<member name="anim_speed_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's animation speed will vary along this [Curve].
</member>
<member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Animation speed randomness ratio. Default value: [code]0[/code].
</member>
<member name="color" type="Color" setter="set_color" getter="get_color">
+ Unused for 3D particles.
</member>
<member name="color_ramp" type="Gradient" setter="set_color_ramp" getter="get_color_ramp">
- Each particle's vertex color will vary along this [GradientTexture].
+ Unused for 3D particles.
</member>
<member name="damping" type="float" setter="set_param" getter="get_param">
+ The rate at which particles lose velocity.
</member>
<member name="damping_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Damping will vary along this [Curve].
</member>
<member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Damping randomness ratio. Default value: [code]0[/code].
</member>
<member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles.DrawOrder">
+ Particle draw order. Uses [enum DrawOrder] values. Default value: [constant DRAW_ORDER_INDEX].
</member>
<member name="emission_box_extents" type="Vector3" setter="set_emission_box_extents" getter="get_emission_box_extents">
+ The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_BOX].
</member>
<member name="emission_colors" type="PoolColorArray" setter="set_emission_colors" getter="get_emission_colors">
</member>
@@ -71,124 +95,199 @@
<member name="emission_points" type="PoolVector3Array" setter="set_emission_points" getter="get_emission_points">
</member>
<member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles.EmissionShape">
+ Particles will be emitted inside this region. Use [enum EmissionShape] for values. Default value: [constant EMISSION_SHAPE_POINT].
</member>
<member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius">
+ The sphere's radius if [enum EmissionShape] is set to [constant EMISSION_SHAPE_SPHERE].
</member>
<member name="emitting" type="bool" setter="set_emitting" getter="is_emitting">
+ If [code]true[/code], particles are being emitted. Default value: [code]true[/code].
</member>
<member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio">
+ How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. Default value: [code]0[/code].
</member>
<member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps">
+ The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
</member>
<member name="flag_align_y" type="bool" setter="set_particle_flag" getter="get_particle_flag">
+ Align y-axis of particle with the direction of its velocity.
</member>
<member name="flag_disable_z" type="bool" setter="set_particle_flag" getter="get_particle_flag">
+ If [code]true[/code], particles will not move on the z axis. Default value: [code]false[/code].
</member>
<member name="flag_rotate_y" type="bool" setter="set_particle_flag" getter="get_particle_flag">
+ If [code]true[/code], particles rotate around y-axis by [member angle].
</member>
<member name="flatness" type="float" setter="set_flatness" getter="get_flatness">
+ Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane. Default [code]0[/code].
</member>
<member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta">
+ If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Default value: [code]true[/code]
</member>
<member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity">
+ Gravity applied to every particle. Default value: [code](0, -9.8, 0)[/code].
</member>
<member name="hue_variation" type="float" setter="set_param" getter="get_param">
+ Initial hue variation applied to each particle.
</member>
<member name="hue_variation_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's hue will vary along this [Curve].
</member>
<member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Hue variation randomness ratio. Default value: [code]0[/code].
</member>
<member name="initial_velocity" type="float" setter="set_param" getter="get_param">
+ Initial velocity magnitude for each particle. Direction comes from [member spread] and the node's orientation.
</member>
<member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Initial velocity randomness ratio. Default value: [code]0[/code].
</member>
<member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime">
+ Amount of time each particle will exist. Default value: [code]1[/code].
</member>
<member name="linear_accel" type="float" setter="set_param" getter="get_param">
+ Linear acceleration applied to each particle in the direction of motion.
</member>
<member name="linear_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's linear acceleration will vary along this [Curve].
</member>
<member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Linear acceleration randomness ratio. Default value: [code]0[/code].
</member>
<member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates">
+ If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. Default value: [code]true[/code].
</member>
<member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
+ The [Mesh] used for each particle. If [code]null[/code], particles will be spheres.
</member>
<member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot">
+ If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end. Default value: [code]false[/code].
+ </member>
+ <member name="orbit_velocity" type="float" setter="set_param" getter="get_param">
+ Orbital velocity applied to each particle. Makes the particles circle around origin in the local XY plane. Specified in number of full rotations around origin per second.
+ This property is only available when [member flag_disable_z] is [code]true[/code].
+ </member>
+ <member name="orbit_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's orbital velocity will vary along this [Curve].
+ </member>
+ <member name="orbit_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Orbital velocity randomness ratio. Default value: [code]0[/code].
</member>
<member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time">
+ Particle system starts as if it had already run for this many seconds.
</member>
<member name="radial_accel" type="float" setter="set_param" getter="get_param">
+ Radial acceleration applied to each particle. Makes particle accelerate away from origin.
</member>
<member name="radial_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's radial acceleration will vary along this [Curve].
</member>
<member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Radial acceleration randomness ratio. Default value: [code]0[/code].
</member>
<member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio">
+ Emission lifetime randomness ratio. Default value: [code]0[/code].
</member>
<member name="scale_amount" type="float" setter="set_param" getter="get_param">
+ Initial scale applied to each particle.
</member>
<member name="scale_amount_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's scale will vary along this [Curve].
</member>
<member name="scale_amount_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Scale randomness ratio. Default value: [code]0[/code].
</member>
<member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale">
+ Particle system's running speed scaling ratio. Default value: [code]1[/code]. A value of [code]0[/code] can be used to pause the particles.
</member>
<member name="spread" type="float" setter="set_spread" getter="get_spread">
+ Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Default value: [code]45[/code].
</member>
<member name="tangential_accel" type="float" setter="set_param" getter="get_param">
+ Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
</member>
<member name="tangential_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's tangential acceleration will vary along this [Curve].
</member>
<member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Tangential acceleration randomness ratio. Default value: [code]0[/code].
</member>
</members>
<constants>
<constant name="DRAW_ORDER_INDEX" value="0" enum="DrawOrder">
+ Particles are drawn in the order emitted.
</constant>
<constant name="DRAW_ORDER_LIFETIME" value="1" enum="DrawOrder">
+ Particles are drawn in order of remaining lifetime.
</constant>
<constant name="DRAW_ORDER_VIEW_DEPTH" value="2" enum="DrawOrder">
+ Particles are drawn in order of depth.
</constant>
<constant name="PARAM_INITIAL_LINEAR_VELOCITY" value="0" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set initial velocity properties.
</constant>
<constant name="PARAM_ANGULAR_VELOCITY" value="1" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set angular velocity properties.
</constant>
- <constant name="PARAM_LINEAR_ACCEL" value="2" enum="Parameter">
+ <constant name="PARAM_ORBIT_VELOCITY" value="2" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set orbital velocity properties.
</constant>
- <constant name="PARAM_RADIAL_ACCEL" value="3" enum="Parameter">
+ <constant name="PARAM_LINEAR_ACCEL" value="3" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set linear acceleration properties.
</constant>
- <constant name="PARAM_TANGENTIAL_ACCEL" value="4" enum="Parameter">
+ <constant name="PARAM_RADIAL_ACCEL" value="4" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set radial acceleration properties.
</constant>
- <constant name="PARAM_DAMPING" value="5" enum="Parameter">
+ <constant name="PARAM_TANGENTIAL_ACCEL" value="5" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set tangential acceleration properties.
</constant>
- <constant name="PARAM_ANGLE" value="6" enum="Parameter">
+ <constant name="PARAM_DAMPING" value="6" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set damping properties.
</constant>
- <constant name="PARAM_SCALE" value="7" enum="Parameter">
+ <constant name="PARAM_ANGLE" value="7" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set angle properties.
</constant>
- <constant name="PARAM_HUE_VARIATION" value="8" enum="Parameter">
+ <constant name="PARAM_SCALE" value="8" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set scale properties.
</constant>
- <constant name="PARAM_ANIM_SPEED" value="9" enum="Parameter">
+ <constant name="PARAM_HUE_VARIATION" value="9" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set hue variation properties.
</constant>
- <constant name="PARAM_ANIM_OFFSET" value="10" enum="Parameter">
+ <constant name="PARAM_ANIM_SPEED" value="10" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set animation speed properties.
</constant>
- <constant name="PARAM_MAX" value="11" enum="Parameter">
+ <constant name="PARAM_ANIM_OFFSET" value="11" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set animation offset properties.
+ </constant>
+ <constant name="PARAM_MAX" value="12" enum="Parameter">
+ Represents the size of the [enum Parameter] enum.
</constant>
<constant name="FLAG_ALIGN_Y_TO_VELOCITY" value="0" enum="Flags">
+ Use with [method set_flag] to set [member flag_align_y].
</constant>
<constant name="FLAG_ROTATE_Y" value="1" enum="Flags">
+ Use with [method set_flag] to set [member flag_rotate_y].
+ </constant>
+ <constant name="FLAG_DISABLE_Z" value="2" enum="Flags">
+ Use with [method set_flag] to set [member flag_disable_z].
</constant>
<constant name="FLAG_MAX" value="3" enum="Flags">
+ Represents the size of the [enum Flags] enum.
</constant>
<constant name="EMISSION_SHAPE_POINT" value="0" enum="EmissionShape">
+ All particles will be emitted from a single point.
</constant>
<constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
+ Particles will be emitted in the volume of a sphere.
</constant>
<constant name="EMISSION_SHAPE_BOX" value="2" enum="EmissionShape">
+ Particles will be emitted in the volume of a box.
</constant>
<constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
+ Particles will be emitted at a position chosen randomly among [member emission_points]. Particle color will be modulated by [member emission_colors].
</constant>
<constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
+ Particles will be emitted at a position chosen randomly among [member emission_points]. Particle velocity and rotation will be set based on [member emission_normals]. Particle color will be modulated by [member emission_colors].
</constant>
</constants>
</class>
diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml
index e1f71e3600..e6df2d2f27 100644
--- a/doc/classes/CPUParticles2D.xml
+++ b/doc/classes/CPUParticles2D.xml
@@ -1,10 +1,14 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="CPUParticles2D" inherits="Node2D" category="Core" version="3.2">
<brief_description>
+ CPU-based 2D particle emitter.
</brief_description>
<description>
+ CPU-based 2D particle node used to create a variety of particle systems and effects.
+ See also [Particles2D], which provides the same functionality with hardware acceleration, but may not run on older devices.
</description>
<tutorials>
+ <link>https://docs.godotengine.org/en/latest/tutorials/2d/particle_systems_2d.html</link>
</tutorials>
<methods>
<method name="convert_from_particles">
@@ -13,53 +17,74 @@
<argument index="0" name="particles" type="Node">
</argument>
<description>
+ Sets this node's properties to match a given [Particles2D] node with an assigned [ParticlesMaterial].
</description>
</method>
<method name="restart">
<return type="void">
</return>
<description>
+ Restarts the particle emitter.
</description>
</method>
</methods>
<members>
<member name="amount" type="int" setter="set_amount" getter="get_amount">
+ Number of particles emitted in one emission cycle.
</member>
<member name="angle" type="float" setter="set_param" getter="get_param">
+ Initial rotation applied to each particle, in degrees.
</member>
<member name="angle_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's rotation will be animated along this [Curve].
</member>
<member name="angle_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Rotation randomness ratio. Default value: [code]0[/code].
</member>
<member name="angular_velocity" type="float" setter="set_param" getter="get_param">
+ Initial angular velocity applied to each particle. Sets the speed of rotation of the particle.
</member>
<member name="angular_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's angular velocity will vary along this [Curve].
</member>
<member name="angular_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Angular velocity randomness ratio. Default value: [code]0[/code].
</member>
<member name="anim_offset" type="float" setter="set_param" getter="get_param">
+ Particle animation offset.
</member>
<member name="anim_offset_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's animation offset will vary along this [Curve].
</member>
<member name="anim_offset_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Animation offset randomness ratio. Default value: [code]0[/code].
</member>
<member name="anim_speed" type="float" setter="set_param" getter="get_param">
+ Particle animation speed.
</member>
<member name="anim_speed_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's animation speed will vary along this [Curve].
</member>
<member name="anim_speed_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Animation speed randomness ratio. Default value: [code]0[/code].
</member>
<member name="color" type="Color" setter="set_color" getter="get_color">
+ Each particle's initial color. If [member texture] is defined, it will be multiplied by this color.
</member>
<member name="color_ramp" type="Gradient" setter="set_color_ramp" getter="get_color_ramp">
+ Each particle's color will vary along this [Gradient].
</member>
<member name="damping" type="float" setter="set_param" getter="get_param">
+ The rate at which particles lose velocity.
</member>
<member name="damping_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Damping will vary along this [Curve].
</member>
<member name="damping_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Damping randomness ratio. Default value: [code]0[/code].
</member>
<member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles2D.DrawOrder">
+ Particle draw order. Uses [enum DrawOrder] values. Default value: [constant DRAW_ORDER_INDEX].
</member>
<member name="emission_colors" type="PoolColorArray" setter="set_emission_colors" getter="get_emission_colors">
</member>
@@ -68,122 +93,194 @@
<member name="emission_points" type="PoolVector2Array" setter="set_emission_points" getter="get_emission_points">
</member>
<member name="emission_rect_extents" type="Vector2" setter="set_emission_rect_extents" getter="get_emission_rect_extents">
+ The rectangle's extents if [member emission_shape] is set to [constant EMISSION_SHAPE_RECTANGLE].
</member>
<member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles2D.EmissionShape">
+ Particles will be emitted inside this region. Use [enum EmissionShape] for values. Default value: [constant EMISSION_SHAPE_POINT].
</member>
<member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius">
+ The circle's radius if [member emission_shape] is set to [constant EMISSION_SHAPE_CIRCLE].
</member>
<member name="emitting" type="bool" setter="set_emitting" getter="is_emitting">
+ If [code]true[/code], particles are being emitted. Default value: [code]true[/code].
</member>
<member name="explosiveness" type="float" setter="set_explosiveness_ratio" getter="get_explosiveness_ratio">
+ How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. Default value: [code]0[/code].
</member>
<member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps">
+ The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
</member>
<member name="flag_align_y" type="bool" setter="set_particle_flag" getter="get_particle_flag">
+ Align y-axis of particle with the direction of its velocity.
</member>
<member name="flatness" type="float" setter="set_flatness" getter="get_flatness">
</member>
<member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta">
+ If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Default value: [code]true[/code]
</member>
<member name="gravity" type="Vector2" setter="set_gravity" getter="get_gravity">
+ Gravity applied to every particle. Default value: [code](0, 98)[/code].
</member>
<member name="hue_variation" type="float" setter="set_param" getter="get_param">
+ Initial hue variation applied to each particle.
</member>
<member name="hue_variation_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's hue will vary along this [Curve].
</member>
<member name="hue_variation_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Hue variation randomness ratio. Default value: [code]0[/code].
</member>
<member name="initial_velocity" type="float" setter="set_param" getter="get_param">
+ Initial velocity magnitude for each particle. Direction comes from [member spread] and the node's orientation.
</member>
<member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Initial velocity randomness ratio. Default value: [code]0[/code].
</member>
<member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime">
+ Amount of time each particle will exist. Default value: [code]1[/code].
</member>
<member name="linear_accel" type="float" setter="set_param" getter="get_param">
+ Linear acceleration applied to each particle in the direction of motion.
</member>
<member name="linear_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's linear acceleration will vary along this [Curve].
</member>
<member name="linear_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Linear acceleration randomness ratio. Default value: [code]0[/code].
</member>
<member name="local_coords" type="bool" setter="set_use_local_coordinates" getter="get_use_local_coordinates">
+ If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. Default value: [code]true[/code].
</member>
<member name="normalmap" type="Texture" setter="set_normalmap" getter="get_normalmap">
+ Normal map to be used for the [member texture] property.
</member>
<member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot">
+ If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end. Default value: [code]false[/code].
+ </member>
+ <member name="orbit_velocity" type="float" setter="set_param" getter="get_param">
+ Orbital velocity applied to each particle. Makes the particles circle around origin. Specified in number of full rotations around origin per second.
+ </member>
+ <member name="orbit_velocity_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's orbital velocity will vary along this [Curve].
+ </member>
+ <member name="orbit_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Orbital velocity randomness ratio. Default value: [code]0[/code].
</member>
<member name="preprocess" type="float" setter="set_pre_process_time" getter="get_pre_process_time">
+ Particle system starts as if it had already run for this many seconds.
</member>
<member name="radial_accel" type="float" setter="set_param" getter="get_param">
+ Radial acceleration applied to each particle. Makes particle accelerate away from origin.
</member>
<member name="radial_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's radial acceleration will vary along this [Curve].
</member>
<member name="radial_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Radial acceleration randomness ratio. Default value: [code]0[/code].
</member>
<member name="randomness" type="float" setter="set_randomness_ratio" getter="get_randomness_ratio">
+ Emission lifetime randomness ratio. Default value: [code]0[/code].
</member>
<member name="scale_amount" type="float" setter="set_param" getter="get_param">
+ Initial scale applied to each particle.
</member>
<member name="scale_amount_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's scale will vary along this [Curve].
</member>
<member name="scale_amount_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Scale randomness ratio. Default value: [code]0[/code].
</member>
<member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale">
+ Particle system's running speed scaling ratio. Default value: [code]1[/code]. A value of [code]0[/code] can be used to pause the particles.
</member>
<member name="spread" type="float" setter="set_spread" getter="get_spread">
+ Each particle's initial direction range from [code]+spread[/code] to [code]-spread[/code] degrees. Default value: [code]45[/code].
</member>
<member name="tangential_accel" type="float" setter="set_param" getter="get_param">
+ Tangential acceleration applied to each particle. Tangential acceleration is perpendicular to the particle's velocity giving the particles a swirling motion.
</member>
<member name="tangential_accel_curve" type="Curve" setter="set_param_curve" getter="get_param_curve">
+ Each particle's tangential acceleration will vary along this [Curve].
</member>
<member name="tangential_accel_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
+ Tangential acceleration randomness ratio. Default value: [code]0[/code].
</member>
<member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ Particle texture. If [code]null[/code] particles will be squares.
</member>
</members>
<constants>
<constant name="DRAW_ORDER_INDEX" value="0" enum="DrawOrder">
+ Particles are drawn in the order emitted.
</constant>
<constant name="DRAW_ORDER_LIFETIME" value="1" enum="DrawOrder">
+ Particles are drawn in order of remaining lifetime.
</constant>
<constant name="PARAM_INITIAL_LINEAR_VELOCITY" value="0" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set initial velocity properties.
</constant>
<constant name="PARAM_ANGULAR_VELOCITY" value="1" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set angular velocity properties.
</constant>
<constant name="PARAM_ORBIT_VELOCITY" value="2" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set orbital velocity properties.
</constant>
<constant name="PARAM_LINEAR_ACCEL" value="3" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set linear acceleration properties.
</constant>
<constant name="PARAM_RADIAL_ACCEL" value="4" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set radial acceleration properties.
</constant>
<constant name="PARAM_TANGENTIAL_ACCEL" value="5" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set tangential acceleration properties.
</constant>
<constant name="PARAM_DAMPING" value="6" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set damping properties.
</constant>
<constant name="PARAM_ANGLE" value="7" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set angle properties.
</constant>
<constant name="PARAM_SCALE" value="8" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set scale properties.
</constant>
<constant name="PARAM_HUE_VARIATION" value="9" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set hue variation properties.
</constant>
<constant name="PARAM_ANIM_SPEED" value="10" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set animation speed properties.
</constant>
<constant name="PARAM_ANIM_OFFSET" value="11" enum="Parameter">
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set animation offset properties.
</constant>
<constant name="PARAM_MAX" value="12" enum="Parameter">
+ Represents the size of the [enum Parameter] enum.
</constant>
<constant name="FLAG_ALIGN_Y_TO_VELOCITY" value="0" enum="Flags">
+ Use with [method set_flag] to set [member flag_align_y].
+ </constant>
+ <constant name="FLAG_ROTATE_Y" value="1" enum="Flags">
+ Present for consistency with 3D particle nodes, not used in 2D.
+ </constant>
+ <constant name="FLAG_DISABLE_Z" value="2" enum="Flags">
+ Present for consistency with 3D particle nodes, not used in 2D.
</constant>
- <constant name="FLAG_MAX" value="1" enum="Flags">
+ <constant name="FLAG_MAX" value="3" enum="Flags">
+ Represents the size of the [enum Flags] enum.
</constant>
<constant name="EMISSION_SHAPE_POINT" value="0" enum="EmissionShape">
+ All particles will be emitted from a single point.
</constant>
- <constant name="EMISSION_SHAPE_CIRCLE" value="1" enum="EmissionShape">
+ <constant name="EMISSION_SHAPE_SPHERE" value="1" enum="EmissionShape">
+ Particles will be emitted on the surface of a sphere flattened to two dimensions.
</constant>
<constant name="EMISSION_SHAPE_RECTANGLE" value="2" enum="EmissionShape">
+ Particles will be emitted in the area of a rectangle.
</constant>
<constant name="EMISSION_SHAPE_POINTS" value="3" enum="EmissionShape">
+ Particles will be emitted at a position chosen randomly among [member emission_points]. Particle color will be modulated by [member emission_colors].
</constant>
<constant name="EMISSION_SHAPE_DIRECTED_POINTS" value="4" enum="EmissionShape">
+ Particles will be emitted at a position chosen randomly among [member emission_points]. Particle velocity and rotation will be set based on [member emission_normals]. Particle color will be modulated by [member emission_colors].
</constant>
</constants>
</class>
diff --git a/doc/classes/CameraFeed.xml b/doc/classes/CameraFeed.xml
new file mode 100644
index 0000000000..7f353f7a05
--- /dev/null
+++ b/doc/classes/CameraFeed.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="CameraFeed" inherits="Reference" category="Core" version="3.2">
+ <brief_description>
+ A camera feed gives you access to a single physical camera attached to your device.
+ </brief_description>
+ <description>
+ A camera feed gives you access to a single physical camera attached to your device.
+ When enabled Godot will start capturing frames from the camera which can then be used. Do note that many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="get_id" qualifiers="const">
+ <return type="int">
+ </return>
+ <description>
+ Get unique id for this feed
+ </description>
+ </method>
+ <method name="get_name" qualifiers="const">
+ <return type="String">
+ </return>
+ <description>
+ Get name of the camera
+ </description>
+ </method>
+ <method name="get_position" qualifiers="const">
+ <return type="int" enum="CameraFeed.FeedPosition">
+ </return>
+ <description>
+ Position of camera on the device.
+ </description>
+ </method>
+ </methods>
+ <members>
+ <member name="feed_is_active" type="bool" setter="set_active" getter="is_active">
+ </member>
+ <member name="feed_transform" type="Transform2D" setter="set_transform" getter="get_transform">
+ </member>
+ </members>
+ <constants>
+ <constant name="FEED_NOIMAGE" value="0" enum="FeedDataType">
+ No image set for the feed.
+ </constant>
+ <constant name="FEED_RGB" value="1" enum="FeedDataType">
+ Feed supplies RGB images.
+ </constant>
+ <constant name="FEED_YCbCr" value="2" enum="FeedDataType">
+ Feed supplies YCbCr images that need to be converted to RGB.
+ </constant>
+ <constant name="FEED_YCbCr_Sep" value="3" enum="FeedDataType">
+ Feed supplies separate Y and CbCr images that need to be combined and converted to RGB.
+ </constant>
+ <constant name="FEED_UNSPECIFIED" value="0" enum="FeedPosition">
+ Unspecified position.
+ </constant>
+ <constant name="FEED_FRONT" value="1" enum="FeedPosition">
+ Camera is mounted at the front of the device.
+ </constant>
+ <constant name="FEED_BACK" value="2" enum="FeedPosition">
+ Camera is moutned at the back of the device.
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/CameraServer.xml b/doc/classes/CameraServer.xml
new file mode 100644
index 0000000000..f492bda74f
--- /dev/null
+++ b/doc/classes/CameraServer.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="CameraServer" inherits="Object" category="Core" version="3.2">
+ <brief_description>
+ Our camera server keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone.
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ <method name="add_feed">
+ <return type="void">
+ </return>
+ <argument index="0" name="feed" type="CameraFeed">
+ </argument>
+ <description>
+ Adds a camera feed to the camera server.
+ </description>
+ </method>
+ <method name="feeds">
+ <return type="Array">
+ </return>
+ <description>
+ Returns an array of [CameraFeed]s.
+ </description>
+ </method>
+ <method name="get_feed">
+ <return type="CameraFeed">
+ </return>
+ <argument index="0" name="index" type="int">
+ </argument>
+ <description>
+ Returns the [CameraFeed] with this id.
+ </description>
+ </method>
+ <method name="get_feed_count">
+ <return type="int">
+ </return>
+ <description>
+ Returns the number of [CameraFeed]s registered.
+ </description>
+ </method>
+ <method name="remove_feed">
+ <return type="void">
+ </return>
+ <argument index="0" name="feed" type="CameraFeed">
+ </argument>
+ <description>
+ Removes a [CameraFeed].
+ </description>
+ </method>
+ </methods>
+ <signals>
+ <signal name="camera_feed_added">
+ <argument index="0" name="id" type="int">
+ </argument>
+ <description>
+ Emitted when a [CameraFeed] is added (webcam is plugged in).
+ </description>
+ </signal>
+ <signal name="camera_feed_removed">
+ <argument index="0" name="id" type="int">
+ </argument>
+ <description>
+ Emitted when a [CameraFeed] is removed (webcam is removed).
+ </description>
+ </signal>
+ </signals>
+ <constants>
+ <constant name="FEED_RGBA_IMAGE" value="0" enum="FeedImage">
+ The RGBA camera image.
+ </constant>
+ <constant name="FEED_YCbCr_IMAGE" value="0" enum="FeedImage">
+ The YCbCr camera image.
+ </constant>
+ <constant name="FEED_Y_IMAGE" value="0" enum="FeedImage">
+ The Y component camera image.
+ </constant>
+ <constant name="FEED_CbCr_IMAGE" value="1" enum="FeedImage">
+ The CbCr component camera image.
+ </constant>
+ </constants>
+</class>
diff --git a/doc/classes/CameraTexture.xml b/doc/classes/CameraTexture.xml
new file mode 100644
index 0000000000..02f7f8bf58
--- /dev/null
+++ b/doc/classes/CameraTexture.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="CameraTexture" inherits="Texture" category="Core" version="3.2">
+ <brief_description>
+ This texture gives access to the camera texture provided by a [CameraFeed]. Note that many cameras supply YCbCr images which need to be converted in a shader.
+ </brief_description>
+ <description>
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ </methods>
+ <members>
+ <member name="camera_feed_id" type="int" setter="set_camera_feed_id" getter="get_camera_feed_id">
+ Id of the [CameraFeed] for which we want to display the image.
+ </member>
+ <member name="camera_is_active" type="bool" setter="set_camera_active" getter="get_camera_active">
+ Convenience property that gives access to the active property of the [CameraFeed].
+ </member>
+ <member name="which_feed" type="int" setter="set_which_feed" getter="get_which_feed" enum="CameraServer.FeedImage">
+ Which image within the [CameraFeed] we want access to, important if the camera image is split in a Y and CbCr component.
+ </member>
+ </members>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/ClippedCamera.xml b/doc/classes/ClippedCamera.xml
index b7f158dd65..c6dcd6cd96 100644
--- a/doc/classes/ClippedCamera.xml
+++ b/doc/classes/ClippedCamera.xml
@@ -29,6 +29,12 @@
<description>
</description>
</method>
+ <method name="get_clip_offset" qualifiers="const">
+ <return type="float">
+ </return>
+ <description>
+ </description>
+ </method>
<method name="get_collision_mask_bit" qualifiers="const">
<return type="bool">
</return>
diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml
index ab5d7a0a5d..30e80fa512 100644
--- a/doc/classes/Color.xml
+++ b/doc/classes/Color.xml
@@ -144,7 +144,7 @@
<return type="Color">
</return>
<description>
- Returns the inverted color [code](1 - r, 1 - g, 1 - b, 1 - a)[/code].
+ Returns the inverted color [code](1 - r, 1 - g, 1 - b, a)[/code].
[codeblock]
var c = Color(0.3, 0.4, 0.9)
var inverted_color = c.inverted() # a color of an RGBA(178, 153, 26, 255)
diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml
index 2a4ab4ce0d..eb94447529 100644
--- a/doc/classes/Environment.xml
+++ b/doc/classes/Environment.xml
@@ -57,6 +57,9 @@
<member name="auto_exposure_speed" type="float" setter="set_tonemap_auto_exposure_speed" getter="get_tonemap_auto_exposure_speed">
Speed of the auto exposure effect. Affects the time needed for the camera to perform auto exposure.
</member>
+ <member name="background_camera_feed_id" type="int" setter="set_camera_feed_id" getter="get_camera_feed_id">
+ The id of the camera feed to show in the background.
+ </member>
<member name="background_canvas_max_layer" type="int" setter="set_canvas_max_layer" getter="get_canvas_max_layer">
Maximum layer id (if using Layer background mode).
</member>
@@ -266,7 +269,10 @@
<constant name="BG_CANVAS" value="4" enum="BGMode">
Display a [CanvasLayer] in the background.
</constant>
- <constant name="BG_MAX" value="6" enum="BGMode">
+ <constant name="BG_CAMERA_FEED" value="6" enum="BGMode">
+ Display a camera feed in the background.
+ </constant>
+ <constant name="BG_MAX" value="7" enum="BGMode">
Helper constant keeping track of the enum's size, has no direct usage in API calls.
</constant>
<constant name="GLOW_BLEND_MODE_ADDITIVE" value="0" enum="GlowBlendMode">
diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml
index 953f364bdb..908c017ac9 100644
--- a/doc/classes/FileDialog.xml
+++ b/doc/classes/FileDialog.xml
@@ -138,5 +138,7 @@
</theme_item>
<theme_item name="reload" type="Texture">
</theme_item>
+ <theme_item name="toggle_hidden" type="Texture">
+ </theme_item>
</theme_items>
</class>
diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml
index 8dfabdd884..75434b031e 100644
--- a/doc/classes/Image.xml
+++ b/doc/classes/Image.xml
@@ -361,7 +361,7 @@
<return type="void">
</return>
<description>
- Locks the data for writing access.
+ Locks the data for reading and writing access. Sends an error to the console if the image is not locked when reading or writing a pixel.
</description>
</method>
<method name="normalmap_to_xy">
diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml
index 86a1362230..53b1f74bd4 100644
--- a/doc/classes/InputEventKey.xml
+++ b/doc/classes/InputEventKey.xml
@@ -29,7 +29,7 @@
Key scancode, one of the [enum KeyList] constants.
</member>
<member name="unicode" type="int" setter="set_unicode" getter="get_unicode">
- Key unicode identifier when relevant.
+ Key unicode identifier when relevant. Unicode identifiers for the composite characters and complex scripts may not be available unless IME input mode is active. See [method OS.set_ime_active] for more information.
</member>
</members>
<constants>
diff --git a/doc/classes/MeshInstance.xml b/doc/classes/MeshInstance.xml
index c5c15e0ddc..f5868f51cb 100644
--- a/doc/classes/MeshInstance.xml
+++ b/doc/classes/MeshInstance.xml
@@ -43,6 +43,7 @@
<return type="int">
</return>
<description>
+ Returns the number of surface materials.
</description>
</method>
<method name="set_surface_material">
diff --git a/doc/classes/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml
index d18ba96a95..4b38b9aa96 100644
--- a/doc/classes/MeshInstance2D.xml
+++ b/doc/classes/MeshInstance2D.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="MeshInstance2D" inherits="Node2D" category="Core" version="3.2">
<brief_description>
+ Node used for displaying a [Mesh] in 2D.
</brief_description>
<description>
+ Node used for displaying a [Mesh] in 2D. Can be constructed from an existing [Sprite] use tool in Toolbar. Select "Sprite" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D".
</description>
<tutorials>
<link>http://docs.godotengine.org/en/latest/tutorials/2d/2d_meshes.html</link>
@@ -11,12 +13,21 @@
</methods>
<members>
<member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh">
+ The [Mesh] that will be drawn by the [MeshInstance2D].
</member>
<member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
+ The normal map that will be used if using the default [CanvasItemMaterial].
</member>
<member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as [code]TEXTURE[/code] in CanvasItem shader.
</member>
</members>
+ <signals>
+ <signal name="texture_changed">
+ <description>
+ </description>
+ </signal>
+ </signals>
<constants>
</constants>
</class>
diff --git a/doc/classes/MultiMeshInstance2D.xml b/doc/classes/MultiMeshInstance2D.xml
new file mode 100644
index 0000000000..8509986c3c
--- /dev/null
+++ b/doc/classes/MultiMeshInstance2D.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<class name="MultiMeshInstance2D" inherits="Node2D" category="Core" version="3.2">
+ <brief_description>
+ Node that instances a [MultiMesh] in 2D.
+ </brief_description>
+ <description>
+ [MultiMeshInstance2D] is a specialized node to instance a [MultiMesh] resource in 2D.
+ Usage is the same as [MultiMeshInstance].
+ </description>
+ <tutorials>
+ </tutorials>
+ <methods>
+ </methods>
+ <members>
+ <member name="multimesh" type="MultiMesh" setter="set_multimesh" getter="get_multimesh">
+ The [MultiMesh] that will be drawn by the [MultiMeshInstance2D].
+ </member>
+ <member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
+ The normal map that will be used if using the default [CanvasItemMaterial].
+ </member>
+ <member name="texture" type="Texture" setter="set_texture" getter="get_texture">
+ The [Texture] that will be used if using the default [CanvasItemMaterial]. Can be accessed as [code]TEXTURE[/code] in CanvasItem shader.
+ </member>
+ </members>
+ <signals>
+ <signal name="texture_changed">
+ <description>
+ </description>
+ </signal>
+ </signals>
+ <constants>
+ </constants>
+</class>
diff --git a/doc/classes/Navigation.xml b/doc/classes/Navigation.xml
index 3690c1d682..f0ae3fef99 100644
--- a/doc/classes/Navigation.xml
+++ b/doc/classes/Navigation.xml
@@ -59,7 +59,7 @@
<argument index="2" name="optimize" type="bool" default="true">
</argument>
<description>
- Returns the path between two given points. Points are in local coordinate space. If [code]optimize[/code] is [code]true[/code] (the default), the agent properties associated with each [NavigationMesh] (raidus, height, etc.) are considered in the path calculation, otherwise they are ignored.
+ Returns the path between two given points. Points are in local coordinate space. If [code]optimize[/code] is [code]true[/code] (the default), the agent properties associated with each [NavigationMesh] (radius, height, etc.) are considered in the path calculation, otherwise they are ignored.
</description>
</method>
<method name="navmesh_add">
diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml
index dd0fcd63e7..2c680e828e 100644
--- a/doc/classes/OS.xml
+++ b/doc/classes/OS.xml
@@ -221,14 +221,16 @@
<return type="Vector2">
</return>
<description>
- Returns IME selection range.
+ Returns IME cursor position (currently edited portion of the string) relative to the characters in the composition string.
+ [code]NOTIFICATION_OS_IME_UPDATE[/code] is sent to the application to notify it of changes to the IME cursor position.
</description>
</method>
<method name="get_ime_text" qualifiers="const">
<return type="String">
</return>
<description>
- Returns IME intermediate text.
+ Returns IME intermediate composition string.
+ [code]NOTIFICATION_OS_IME_UPDATE[/code] is sent to the application to notify it of changes to the IME composition string.
</description>
</method>
<method name="get_latin_keyboard_variant" qualifiers="const">
@@ -506,7 +508,8 @@
<argument index="0" name="tag_name" type="String">
</argument>
<description>
- Returns [code]true[/code] if the feature for the given feature tag is supported in the currently running instance, depending on platform, build etc. Can be used to check whether you're currently running a debug build, on a certain platform or arch, etc. See feature tags documentation.
+ Returns [code]true[/code] if the feature for the given feature tag is supported in the currently running instance, depending on platform, build etc. Can be used to check whether you're currently running a debug build, on a certain platform or arch, etc. Refer to the [url=https://docs.godotengine.org/en/latest/getting_started/workflow/export/feature_tags.html]Feature Tags[/url] documentation for more details.
+ Note that tag names are case-sensitive.
</description>
</method>
<method name="has_touchscreen_ui_hint" qualifiers="const">
@@ -710,6 +713,9 @@
</argument>
<description>
Sets whether IME input mode should be enabled.
+ If active IME handles key events before the application and creates an composition string and suggestion list.
+ Application can retrieve the composition status by using [method get_ime_selection] and [method get_ime_text] functions.
+ Completed composition string is committed when input is finished.
</description>
</method>
<method name="set_ime_position">
@@ -805,6 +811,12 @@
<member name="low_processor_usage_mode" type="bool" setter="set_low_processor_usage_mode" getter="is_in_low_processor_usage_mode">
If [code]true[/code], the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile.
</member>
+ <member name="min_window_size" type="Vector2" setter="set_min_window_size" getter="get_min_window_size">
+ The minimum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to reset to the system default value.
+ </member>
+ <member name="max_window_size" type="Vector2" setter="set_max_window_size" getter="get_max_window_size">
+ The maximum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to reset to the system default value.
+ </member>
<member name="screen_orientation" type="int" setter="set_screen_orientation" getter="get_screen_orientation" enum="_OS.ScreenOrientation">
The current screen orientation.
</member>
@@ -813,6 +825,7 @@
</member>
<member name="window_borderless" type="bool" setter="set_borderless_window" getter="get_borderless_window">
If [code]true[/code], removes the window frame.
+ Note: Setting [code]window_borderless[/code] to [code]false[/code] disables per-pixel transparency.
</member>
<member name="window_fullscreen" type="bool" setter="set_window_fullscreen" getter="is_window_fullscreen">
If [code]true[/code], the window is fullscreen.
@@ -824,6 +837,9 @@
If [code]true[/code], the window is minimized.
</member>
<member name="window_per_pixel_transparency_enabled" type="bool" setter="set_window_per_pixel_transparency_enabled" getter="get_window_per_pixel_transparency_enabled">
+ If [code]true[/code], the window background is transparent and window frame is removed.
+ Use [code]get_tree().get_root().set_transparent_background(true)[/code] to disable main viewport background rendering.
+ Note: This property has no effect if "Project &gt; Project Settings &gt; Display &gt; Window &gt; Per-pixel transparency &gt; Allowed" setting is disabled.
</member>
<member name="window_position" type="Vector2" setter="set_window_position" getter="get_window_position">
The window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right.
diff --git a/doc/classes/Particles.xml b/doc/classes/Particles.xml
index 0023fce97d..a29b621406 100644
--- a/doc/classes/Particles.xml
+++ b/doc/classes/Particles.xml
@@ -15,13 +15,14 @@
<return type="AABB">
</return>
<description>
+ Returns the bounding box that contains all the particles that are active in the current frame.
</description>
</method>
<method name="restart">
<return type="void">
</return>
<description>
- Restarts the particle emmission, clearing existing particles.
+ Restarts the particle emission, clearing existing particles.
</description>
</method>
</methods>
@@ -54,8 +55,10 @@
Time ratio between each emission. If [code]0[/code] particles are emitted continuously. If [code]1[/code] all particles are emitted simultaneously. Default value: [code]0[/code].
</member>
<member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps">
+ The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
</member>
<member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta">
+ If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Default value: [code]true[/code].
</member>
<member name="lifetime" type="float" setter="set_lifetime" getter="get_lifetime">
Amount of time each particle will exist. Default value: [code]1[/code].
diff --git a/doc/classes/Particles2D.xml b/doc/classes/Particles2D.xml
index de4877b639..78114e985d 100644
--- a/doc/classes/Particles2D.xml
+++ b/doc/classes/Particles2D.xml
@@ -40,7 +40,7 @@
How rapidly particles in an emission cycle are emitted. If greater than [code]0[/code], there will be a gap in emissions before the next cycle begins. Default value: [code]0[/code].
</member>
<member name="fixed_fps" type="int" setter="set_fixed_fps" getter="get_fixed_fps">
- The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the particle system itself.
+ The particle system's frame rate is fixed to a value. For instance, changing the value to 2 will make the particles render at 2 frames per second. Note this does not slow down the simulation of the particle system itself.
</member>
<member name="fract_delta" type="bool" setter="set_fractional_delta" getter="get_fractional_delta">
If [code]true[/code], results in fractional delta calculation which has a smoother particles display effect. Default value: [code]true[/code]
@@ -52,7 +52,7 @@
If [code]true[/code], particles use the parent node's coordinate space. If [code]false[/code], they use global coordinates. Default value: [code]true[/code].
</member>
<member name="normal_map" type="Texture" setter="set_normal_map" getter="get_normal_map">
- Normal map to be used for the [code]texture[/code] property.
+ Normal map to be used for the [member texture] property.
</member>
<member name="one_shot" type="bool" setter="set_one_shot" getter="get_one_shot">
If [code]true[/code], only one emission cycle occurs. If set [code]true[/code] during a cycle, emission will stop at the cycle's end. Default value: [code]false[/code].
diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml
index dd7a7cd151..cb06593bc2 100644
--- a/doc/classes/ParticlesMaterial.xml
+++ b/doc/classes/ParticlesMaterial.xml
@@ -100,7 +100,7 @@
Amount of [member spread] in Y/Z plane. A value of [code]1[/code] restricts particles to X/Z plane. Default [code]0[/code].
</member>
<member name="gravity" type="Vector3" setter="set_gravity" getter="get_gravity">
- Gravity applied to every particle. Default value: [code](0, 98, 0)[/code].
+ Gravity applied to every particle. Default value: [code](0, -9.8, 0)[/code].
</member>
<member name="hue_variation" type="float" setter="set_param" getter="get_param">
Initial hue variation applied to each particle.
@@ -112,13 +112,13 @@
Hue variation randomness ratio. Default value: [code]0[/code].
</member>
<member name="initial_velocity" type="float" setter="set_param" getter="get_param">
- Initial velocity magnitude for each particle. Direction comes from [member spread].
+ Initial velocity magnitude for each particle. Direction comes from [member spread] and the node's orientation.
</member>
<member name="initial_velocity_random" type="float" setter="set_param_randomness" getter="get_param_randomness">
Initial velocity randomness ratio. Default value: [code]0[/code].
</member>
<member name="linear_accel" type="float" setter="set_param" getter="get_param">
- Linear acceleration applied to each particle. Acceleration increases velocity magnitude each frame without affecting direction.
+ Linear acceleration applied to each particle in the direction of motion.
</member>
<member name="linear_accel_curve" type="Texture" setter="set_param_texture" getter="get_param_texture">
Each particle's linear acceleration will vary along this [CurveTexture].
@@ -184,7 +184,7 @@
Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set angular velocity properties.
</constant>
<constant name="PARAM_ORBIT_VELOCITY" value="2" enum="Parameter">
- Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set orbital_velocity properties.
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set orbital velocity properties.
</constant>
<constant name="PARAM_LINEAR_ACCEL" value="3" enum="Parameter">
Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set linear acceleration properties.
@@ -205,7 +205,7 @@
Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set scale properties.
</constant>
<constant name="PARAM_HUE_VARIATION" value="9" enum="Parameter">
- Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set hue_variation properties.
+ Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set hue variation properties.
</constant>
<constant name="PARAM_ANIM_SPEED" value="10" enum="Parameter">
Use with [method set_param], [method set_param_randomness], and [method set_param_texture] to set animation speed properties.
diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml
index c9c3643edb..2214357308 100644
--- a/doc/classes/PrimitiveMesh.xml
+++ b/doc/classes/PrimitiveMesh.xml
@@ -4,7 +4,7 @@
Base class for all primitive meshes. Handles applying a [Material] to a primitive mesh.
</brief_description>
<description>
- Base class for all primitive meshes. Handles applying a [Material] to a primitive mesh.
+ Base class for all primitive meshes. Handles applying a [Material] to a primitive mesh. Examples include [CapsuleMesh], [CubeMesh], [CylinderMesh], [PlaneMesh], [PrismMesh], [QuadMesh], and [SphereMesh].
</description>
<tutorials>
</tutorials>
@@ -13,13 +13,16 @@
<return type="Array">
</return>
<description>
+ Returns mesh arrays used to constitute surface of [Mesh]. Mesh array can be used with [ArrayMesh] to create new surface.
</description>
</method>
</methods>
<members>
<member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb">
+ Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unnexpected culling when using a shader to offset vertices.
</member>
<member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces">
+ If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn. Result is the same as using *CULL_BACK* in [SpatialMaterial]. Default is false.
</member>
<member name="material" type="Material" setter="set_material" getter="get_material">
The current [Material] of the primitive mesh.
diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml
index 5bcd39a8d6..316f948778 100644
--- a/doc/classes/ProjectSettings.xml
+++ b/doc/classes/ProjectSettings.xml
@@ -173,6 +173,9 @@
<member name="application/boot_splash/image" type="String" setter="" getter="">
Path to an image used as the boot splash.
</member>
+ <member name="application/boot_splash/use_filter" type="bool" setter="" getter="">
+ If [code]true[/code], applies linear filtering when scaling the image (recommended for high resolution artwork). If [code]false[/code], uses nearest-neighbor interpolation (recommended for pixel art).
+ </member>
<member name="application/config/custom_user_dir_name" type="String" setter="" getter="">
This user directory is used for storing persistent data ([code]user://[/code] filesystem). If left empty, [code]user://[/code] resolves to a project-specific folder in Godot's own configuration folder (see [method OS.get_user_data_dir]). If a custom directory name is defined, this name will be used instead and appended to the system-specific user data directory (same parent folder as the Godot configuration folder documented in [method OS.get_user_data_dir]).
The [member application/config/use_custom_user_dir] setting must be enabled for this to take effect.
@@ -374,11 +377,10 @@
Default orientation on mobile devices.
</member>
<member name="display/window/per_pixel_transparency/allowed" type="bool" setter="" getter="">
- If [code]true[/code], allows per-pixel transparency in a desktop window. This affects performance if not needed, so leave it on [code]false[/code] unless you need it.
+ If [code]true[/code], allows per-pixel transparency in a desktop window. This affects performance, so leave it on [code]false[/code] unless you need it.
</member>
<member name="display/window/per_pixel_transparency/enabled" type="bool" setter="" getter="">
- </member>
- <member name="display/window/per_pixel_transparency/splash" type="bool" setter="" getter="">
+ Set the window background to transparent when it starts.
</member>
<member name="display/window/size/always_on_top" type="bool" setter="" getter="">
Force the window to be always on top.
@@ -723,7 +725,7 @@
Shaders have a time variable that constantly increases. At some point, it needs to be rolled back to zero to avoid precision errors on shader animations. This setting specifies when (in seconds).
</member>
<member name="rendering/quality/2d/gles2_use_nvidia_rect_flicker_workaround" type="bool" setter="" getter="">
- Some NVIDIA GPU drivers have a bug which produces flickering issues for the [code]draw_rect[/code] method, especially as used in [TileMap]. Refer to [url=https://github.com/godotengine/godot/issues/9913][/url] for details.
+ Some NVIDIA GPU drivers have a bug which produces flickering issues for the [code]draw_rect[/code] method, especially as used in [TileMap]. Refer to [url=https://github.com/godotengine/godot/issues/9913]GitHub issue 9913[/url] for details.
If [code]true[/code], this option enables a "safe" code path for such NVIDIA GPUs at the cost of performance. This option only impacts the GLES2 rendering backend (so the bug stays if you use GLES3), and only desktop platforms.
</member>
<member name="rendering/quality/2d/use_pixel_snap" type="bool" setter="" getter="">
diff --git a/doc/classes/QuadMesh.xml b/doc/classes/QuadMesh.xml
index 779ce11180..cf7e56f895 100644
--- a/doc/classes/QuadMesh.xml
+++ b/doc/classes/QuadMesh.xml
@@ -12,6 +12,7 @@
</methods>
<members>
<member name="size" type="Vector2" setter="set_size" getter="get_size">
+ Size in the X and Y axes. Default is [code]Vector2(1, 1)[/code].
</member>
</members>
<constants>
diff --git a/doc/classes/String.xml b/doc/classes/String.xml
index a5a8766ca0..af7e5a395a 100644
--- a/doc/classes/String.xml
+++ b/doc/classes/String.xml
@@ -662,16 +662,17 @@
<method name="rsplit">
<return type="PoolStringArray">
</return>
- <argument index="0" name="divisor" type="String">
+ <argument index="0" name="delimiter" type="String">
</argument>
<argument index="1" name="allow_empty" type="bool" default="True">
</argument>
<argument index="2" name="maxsplit" type="int" default="0">
</argument>
<description>
- Splits the string by a [code]divisor[/code] string and returns an array of the substrings, starting from right.
- [b]Example:[/b] [code]"One,Two,Three"[/code] will return [code]["One","Two","Three"][/code] if split by [code]","[/code].
- If [code]maxsplit[/code] is specified, then it is number of splits to do, default is 0 which splits all the items.
+ Splits the string by a [code]delimiter[/code] string and returns an array of the substrings, starting from right.
+ The splits in the returned array are sorted in the same order as the original string, from left to right.
+ If [code]maxsplit[/code] is specified, it defines the number of splits to do from the right up to [code]maxsplit[/code]. The default value of 0 means that all items are split, thus giving the same result as [method split].
+ [b]Example:[/b] [code]"One,Two,Three,Four"[/code] will return [code]["Three","Four"][/code] if split by [code]","[/code] with [code]maxsplit[/code] of 2.
</description>
</method>
<method name="rstrip">
@@ -709,27 +710,27 @@
<method name="split">
<return type="PoolStringArray">
</return>
- <argument index="0" name="divisor" type="String">
+ <argument index="0" name="delimiter" type="String">
</argument>
<argument index="1" name="allow_empty" type="bool" default="True">
</argument>
<argument index="2" name="maxsplit" type="int" default="0">
</argument>
<description>
- Splits the string by a divisor string and returns an array of the substrings.
- [b]Example:[/b] [code]"One,Two,Three"[/code] will return [code]["One","Two","Three"][/code] if split by [code]","[/code].
- If [code]maxsplit[/code] is given, at most maxsplit number of splits occur, and the remainder of the string is returned as the final element of the list (thus, the list will have at most maxsplit+1 elements)
+ Splits the string by a [code]delimiter[/code] string and returns an array of the substrings.
+ If [code]maxsplit[/code] is specified, it defines the number of splits to do from the left up to [code]maxsplit[/code]. The default value of 0 means that all items are split.
+ [b]Example:[/b] [code]"One,Two,Three"[/code] will return [code]["One","Two"][/code] if split by [code]","[/code] with [code]maxsplit[/code] of 2.
</description>
</method>
<method name="split_floats">
<return type="PoolRealArray">
</return>
- <argument index="0" name="divisor" type="String">
+ <argument index="0" name="delimiter" type="String">
</argument>
<argument index="1" name="allow_empty" type="bool" default="True">
</argument>
<description>
- Splits the string in floats by using a divisor string and returns an array of the substrings.
+ Splits the string in floats by using a delimiter string and returns an array of the substrings.
[b]Example:[/b] [code]"1,2.5,3"[/code] will return [code][1,2.5,3][/code] if split by [code]","[/code].
</description>
</method>
diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml
index 62e8a2c34f..3e4b70f8f8 100644
--- a/doc/classes/TextEdit.xml
+++ b/doc/classes/TextEdit.xml
@@ -32,7 +32,7 @@
<argument index="1" name="color" type="Color">
</argument>
<description>
- Add a keyword and its color.
+ Add a [code]keyword[/code] and its [Color].
</description>
</method>
<method name="can_fold" qualifiers="const">
@@ -48,21 +48,21 @@
<return type="void">
</return>
<description>
- Clear all the syntax coloring information.
+ Clears all the syntax coloring information.
</description>
</method>
<method name="clear_undo_history">
<return type="void">
</return>
<description>
- Clear the undo history.
+ Clears the undo history.
</description>
</method>
<method name="copy">
<return type="void">
</return>
<description>
- Copy the current selection.
+ Copy's the current text selection.
</description>
</method>
<method name="cursor_get_column" qualifiers="const">
@@ -87,6 +87,8 @@
<argument index="1" name="adjust_viewport" type="bool" default="true">
</argument>
<description>
+ Moves the cursor at the specified [code]column[/code] index.
+ If [code]adjust_viewport[/code] is set to true, the viewport will center at the cursor position after the move occurs. Default value is [code]true[/code].
</description>
</method>
<method name="cursor_set_line">
@@ -101,20 +103,23 @@
<argument index="3" name="wrap_index" type="int" default="0">
</argument>
<description>
+ Moves the cursor at the specified [code]line[/code] index.
+ If [code]adjust_viewport[/code] is set to true, the viewport will center at the cursor position after the move occurs. Default value is [code]true[/code].
+ If [code]can_be_hidden[/code] is set to true, the specified [code]line[/code] can be hidden using [member set_line_as_hidden]. Default value is [code]true[/code].
</description>
</method>
<method name="cut">
<return type="void">
</return>
<description>
- Cut the current selection.
+ Cut's the current selection.
</description>
</method>
<method name="deselect">
<return type="void">
</return>
<description>
- Clears the current selection.
+ Deselects the current selection.
</description>
</method>
<method name="fold_all_lines">
@@ -146,6 +151,7 @@
<argument index="0" name="keyword" type="String">
</argument>
<description>
+ Returns the [Color] of the specified [code]keyword[/code].
</description>
</method>
<method name="get_line" qualifiers="const">
@@ -210,6 +216,7 @@
<return type="String">
</return>
<description>
+ Returns a [String] text with the word under the mouse cursor location.
</description>
</method>
<method name="has_keyword_color" qualifiers="const">
@@ -218,6 +225,7 @@
<argument index="0" name="keyword" type="String">
</argument>
<description>
+ Returns whether the specified [code]keyword[/code] has a color set to it or not.
</description>
</method>
<method name="insert_text_at_cursor">
@@ -226,7 +234,7 @@
<argument index="0" name="text" type="String">
</argument>
<description>
- Insert a given text at the cursor position.
+ Insert the specified text at the cursor position.
</description>
</method>
<method name="is_folded" qualifiers="const">
@@ -235,7 +243,7 @@
<argument index="0" name="line" type="int">
</argument>
<description>
- Returns if the given line is folded.
+ Returns whether the line at the specified index is folded or not.
</description>
</method>
<method name="is_line_hidden" qualifiers="const">
@@ -244,6 +252,7 @@
<argument index="0" name="line" type="int">
</argument>
<description>
+ Returns whether the line at the specified index is hidden or not.
</description>
</method>
<method name="is_selection_active" qualifiers="const">
@@ -259,6 +268,7 @@
<argument index="0" name="option" type="int">
</argument>
<description>
+ Triggers a right click menu action by the specified index. See [enum MenuItems] for a list of available indexes.
</description>
</method>
<method name="paste">
@@ -327,6 +337,7 @@
<argument index="1" name="enable" type="bool">
</argument>
<description>
+ If [code]true[/code], hides the line of the specified index.
</description>
</method>
<method name="toggle_fold_line">
@@ -358,6 +369,7 @@
<return type="void">
</return>
<description>
+ Unhide all lines that were previously set to hidden by [member set_line_as_hidden].
</description>
</method>
</methods>
@@ -391,9 +403,11 @@
<member name="fold_gutter" type="bool" setter="set_draw_fold_gutter" getter="is_drawing_fold_gutter">
If [code]true[/code], the fold gutter is visible. This enables folding groups of indented lines.
</member>
- <member name="hiding_enabled" type="int" setter="set_hiding_enabled" getter="is_hiding_enabled">
+ <member name="hiding_enabled" type="bool" setter="set_hiding_enabled" getter="is_hiding_enabled">
+ If [code]true[/code], all lines that have been set to hidden by [member set_line_as_hidden], will not be visible.
</member>
<member name="highlight_all_occurrences" type="bool" setter="set_highlight_all_occurrences" getter="is_highlight_all_occurrences_enabled">
+ If [code]true[/code], all occurrences of the selected text will be highlighted.
</member>
<member name="highlight_current_line" type="bool" setter="set_highlight_current_line" getter="is_highlight_current_line_enabled">
If [code]true[/code], the line containing the cursor is highlighted.
@@ -407,8 +421,10 @@
If [code]true[/code], line numbers are displayed to the left of the text.
</member>
<member name="smooth_scrolling" type="bool" setter="set_smooth_scroll_enable" getter="is_smooth_scroll_enabled">
+ If [code]true[/code], sets the [code]step[/code] of the scrollbars to [code]0.25[/code] which results in smoother scrolling.
</member>
<member name="syntax_highlighting" type="bool" setter="set_syntax_coloring" getter="is_syntax_coloring_enabled">
+ If [code]true[/code], any custom color properties that have been set for this [TextEdit] will be visible.
</member>
<member name="text" type="String" setter="set_text" getter="get_text">
String value of the [TextEdit].
@@ -439,6 +455,7 @@
<argument index="1" name="info" type="String">
</argument>
<description>
+ Emitted when the info icon is clicked.
</description>
</signal>
<signal name="request_completion">
@@ -490,18 +507,23 @@
Undoes the previous action.
</constant>
<constant name="MENU_REDO" value="6" enum="MenuItems">
+ Redoes the previous action.
</constant>
<constant name="MENU_MAX" value="7" enum="MenuItems">
+ Represents the size of the [enum MenuItems] enum.
</constant>
</constants>
<theme_items>
<theme_item name="background_color" type="Color">
+ Sets the background [Color] of this [TextEdit]. [member syntax_highlighting] has to be enabled.
</theme_item>
<theme_item name="bookmark_color" type="Color">
+ Sets the [Color] of the bookmark marker. [member syntax_highlighting] has to be enabled.
</theme_item>
<theme_item name="brace_mismatch_color" type="Color">
</theme_item>
<theme_item name="breakpoint_color" type="Color">
+ Sets the [Color] of the breakpoints. [member breakpoint_gutter] has to be enabled.
</theme_item>
<theme_item name="caret_background_color" type="Color">
</theme_item>
@@ -528,6 +550,7 @@
<theme_item name="completion_selected_color" type="Color">
</theme_item>
<theme_item name="current_line_color" type="Color">
+ Sets the current line highlight [Color]. [member highlight_current_line] has to be enabled.
</theme_item>
<theme_item name="executing_line_color" type="Color">
</theme_item>
@@ -538,38 +561,48 @@
<theme_item name="folded" type="Texture">
</theme_item>
<theme_item name="font" type="Font">
+ Sets the default [Font].
</theme_item>
<theme_item name="font_color" type="Color">
+ Sets the font [Color].
</theme_item>
<theme_item name="font_color_selected" type="Color">
</theme_item>
<theme_item name="function_color" type="Color">
</theme_item>
<theme_item name="line_number_color" type="Color">
+ Sets the [Color] of the line numbers. [member show_line_numbers] has to be enabled.
</theme_item>
<theme_item name="line_spacing" type="int">
+ Sets the spacing between the lines.
</theme_item>
<theme_item name="mark_color" type="Color">
+ Sets the [Color] of marked text.
</theme_item>
<theme_item name="member_variable_color" type="Color">
</theme_item>
<theme_item name="normal" type="StyleBox">
+ Sets the [StyleBox] of this [TextEdit].
</theme_item>
<theme_item name="number_color" type="Color">
</theme_item>
<theme_item name="read_only" type="StyleBox">
+ Sets the [StyleBox] of this [TextEdit] when [member read_only] is enabled.
</theme_item>
<theme_item name="safe_line_number_color" type="Color">
</theme_item>
<theme_item name="selection_color" type="Color">
+ Sets the highlight [Color] of text selections.
</theme_item>
<theme_item name="space" type="Texture">
</theme_item>
<theme_item name="symbol_color" type="Color">
</theme_item>
<theme_item name="tab" type="Texture">
+ Sets a custom [Texture] for tab text characters.
</theme_item>
<theme_item name="word_highlighted_color" type="Color">
+ Sets the highlight [Color] of multiple occurrences. [member highlight_all_occurrences] has to be enabled.
</theme_item>
</theme_items>
</class>
diff --git a/doc/classes/TriangleMesh.xml b/doc/classes/TriangleMesh.xml
index 9600a1d196..2125aa5e17 100644
--- a/doc/classes/TriangleMesh.xml
+++ b/doc/classes/TriangleMesh.xml
@@ -1,8 +1,10 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="TriangleMesh" inherits="Reference" category="Core" version="3.2">
<brief_description>
+ Internal mesh type.
</brief_description>
<description>
+ Mesh type used internally for collision calculations.
</description>
<tutorials>
</tutorials>
diff --git a/doc/classes/VehicleWheel.xml b/doc/classes/VehicleWheel.xml
index c3b668c170..0bc0e351e4 100644
--- a/doc/classes/VehicleWheel.xml
+++ b/doc/classes/VehicleWheel.xml
@@ -19,7 +19,7 @@
<return type="float">
</return>
<description>
- Returns a value between 0.0 and 1.0 that indicates whether this wheel is skidding. 0.0 is not skidding, 1.0 means the wheel has lost grip.
+ Returns a value between 0.0 and 1.0 that indicates whether this wheel is skidding. 0.0 is skidding (the wheel has lost grip, e.g. icy terrain), 1.0 means not skidding (the wheel has full grip, e.g. dry asphalt road).
</description>
</method>
<method name="is_in_contact" qualifiers="const">
diff --git a/doc/classes/VisualServer.xml b/doc/classes/VisualServer.xml
index 3997798cca..f9b668b38a 100644
--- a/doc/classes/VisualServer.xml
+++ b/doc/classes/VisualServer.xml
@@ -3157,8 +3157,10 @@
</argument>
<argument index="2" name="scale" type="bool">
</argument>
+ <argument index="3" name="use_filter" type="bool" default="true">
+ </argument>
<description>
- Sets a boot image. The color defines the background color and if scale is [code]true[/code] the image will be scaled to fit the screen size.
+ Sets a boot image. The color defines the background color. If [code]scale[/code] is [code]true[/code], the image will be scaled to fit the screen size. If [code]use_filter[/code] is [code]true[/code], the image will be scaled with linear interpolation. If [code]use_filter[/code] is [code]false[/code], the image will be scaled with nearest-neighbor interpolation.
</description>
</method>
<method name="set_debug_generate_wireframes">
@@ -3359,6 +3361,17 @@
<description>
</description>
</method>
+ <method name="texture_bind">
+ <return type="void">
+ </return>
+ <argument index="0" name="texture" type="RID">
+ </argument>
+ <argument index="1" name="number" type="int">
+ </argument>
+ <description>
+ Binds the texture to a texture slot.
+ </description>
+ </method>
<method name="texture_create">
<return type="RID">
</return>
@@ -4427,7 +4440,7 @@
</constant>
<constant name="ENV_BG_KEEP" value="5" enum="EnvironmentBG">
</constant>
- <constant name="ENV_BG_MAX" value="6" enum="EnvironmentBG">
+ <constant name="ENV_BG_MAX" value="7" enum="EnvironmentBG">
</constant>
<constant name="ENV_DOF_BLUR_QUALITY_LOW" value="0" enum="EnvironmentDOFBlurQuality">
</constant>
diff --git a/doc/tools/makerst.py b/doc/tools/makerst.py
index c3e15b2f9a..454c71d3c7 100755
--- a/doc/tools/makerst.py
+++ b/doc/tools/makerst.py
@@ -478,24 +478,7 @@ def make_rst_class(class_def, state, dry_run, output_dir): # type: (ClassDef, S
f.write(make_heading('Tutorials', '-'))
for t in class_def.tutorials:
link = t.strip()
- match = GODOT_DOCS_PATTERN.search(link)
- if match:
- groups = match.groups()
- if match.lastindex == 2:
- # Doc reference with fragment identifier: emit direct link to section with reference to page, for example:
- # `#calling-javascript-from-script in Exporting For Web`
- f.write("- `" + groups[1] + " <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n\n")
- # Commented out alternative: Instead just emit:
- # `Subsection in Exporting For Web`
- # f.write("- `Subsection <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`\n\n")
- elif match.lastindex == 1:
- # Doc reference, for example:
- # `Math`
- f.write("- :doc:`../" + groups[0] + "`\n\n")
- else:
- # External link, for example:
- # `http://enet.bespin.org/usergroup0.html`
- f.write("- `" + link + " <" + link + ">`_\n\n")
+ f.write("- " + make_url(link) + "\n\n")
# Property descriptions
if len(class_def.properties) > 0:
@@ -802,15 +785,16 @@ def rstize_text(text, state): # type: (str, State) -> str
tag_text = "" # '![](' + cmd[6:] + ')'
elif cmd.find('url=') == 0:
url_link = cmd[4:]
- tag_text = ':ref:`'
+ tag_text = '`'
tag_depth += 1
- url_has_name = False
inside_url = True
+ url_has_name = False
elif cmd == '/url':
- tag_text = ('' if url_has_name else url_link) + '<' + url_link + ">`"
+ tag_text = ('' if url_has_name else url_link) + " <" + url_link + ">`_"
tag_depth -= 1
escape_post = True
inside_url = False
+ url_has_name = False
elif cmd == 'center':
tag_depth += 1
tag_text = ''
@@ -996,5 +980,26 @@ def make_heading(title, underline): # type: (str, str) -> str
return title + '\n' + (underline * len(title)) + "\n\n"
+def make_url(link): # type: (str) -> str
+ match = GODOT_DOCS_PATTERN.search(link)
+ if match:
+ groups = match.groups()
+ if match.lastindex == 2:
+ # Doc reference with fragment identifier: emit direct link to section with reference to page, for example:
+ # `#calling-javascript-from-script in Exporting For Web`
+ return "`" + groups[1] + " <../" + groups[0] + ".html" + groups[1] + ">`_ in :doc:`../" + groups[0] + "`"
+ # Commented out alternative: Instead just emit:
+ # `Subsection in Exporting For Web`
+ # return "`Subsection <../" + groups[0] + ".html" + groups[1] + ">`__ in :doc:`../" + groups[0] + "`"
+ elif match.lastindex == 1:
+ # Doc reference, for example:
+ # `Math`
+ return ":doc:`../" + groups[0] + "`"
+ else:
+ # External link, for example:
+ # `http://enet.bespin.org/usergroup0.html`
+ return "`" + link + " <" + link + ">`_"
+
+
if __name__ == '__main__':
main()