diff options
Diffstat (limited to 'doc/classes')
102 files changed, 1890 insertions, 461 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index 1228cd771c..f692a49ba1 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -2516,7 +2516,10 @@ <constant name="PROPERTY_HINT_LOCALE_ID" value="41" enum="PropertyHint"> Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country. </constant> - <constant name="PROPERTY_HINT_MAX" value="42" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LOCALIZABLE_STRING" value="42" enum="PropertyHint"> + Hints that a dictionary property is string translation map. Dictionary keys are locale codes and, values are translated strings. + </constant> + <constant name="PROPERTY_HINT_MAX" value="43" enum="PropertyHint"> </constant> <constant name="PROPERTY_USAGE_NONE" value="0" enum="PropertyUsageFlags"> </constant> diff --git a/doc/classes/AABB.xml b/doc/classes/AABB.xml index 6e4a4a2145..db880efaf2 100644 --- a/doc/classes/AABB.xml +++ b/doc/classes/AABB.xml @@ -228,11 +228,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="AABB" /> <description> Returns [code]true[/code] if the vectors are not equal. @@ -248,11 +243,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="AABB" /> <description> Returns [code]true[/code] if the AABBs are exactly equal. diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 6852fb5228..68cb615209 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -511,11 +511,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Array" /> <description> </description> @@ -540,11 +535,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Array" /> <description> </description> diff --git a/doc/classes/AudioEffect.xml b/doc/classes/AudioEffect.xml index 424669eab9..5bfa5be0ca 100644 --- a/doc/classes/AudioEffect.xml +++ b/doc/classes/AudioEffect.xml @@ -9,4 +9,11 @@ <tutorials> <link title="Audio Mic Record Demo">https://godotengine.org/asset-library/asset/527</link> </tutorials> + <methods> + <method name="_instantiate" qualifiers="virtual"> + <return type="AudioEffectInstance" /> + <description> + </description> + </method> + </methods> </class> diff --git a/doc/classes/AudioEffectInstance.xml b/doc/classes/AudioEffectInstance.xml index 369b4130d4..f50246d6ca 100644 --- a/doc/classes/AudioEffectInstance.xml +++ b/doc/classes/AudioEffectInstance.xml @@ -6,4 +6,19 @@ </description> <tutorials> </tutorials> + <methods> + <method name="_process" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="src_buffer" type="const void*" /> + <argument index="1" name="dst_buffer" type="AudioFrame*" /> + <argument index="2" name="frame_count" type="int" /> + <description> + </description> + </method> + <method name="_process_silence" qualifiers="virtual const"> + <return type="bool" /> + <description> + </description> + </method> + </methods> </class> diff --git a/doc/classes/AudioStreamPlaybackResampled.xml b/doc/classes/AudioStreamPlaybackResampled.xml index 228b8c19c0..eb41e4256e 100644 --- a/doc/classes/AudioStreamPlaybackResampled.xml +++ b/doc/classes/AudioStreamPlaybackResampled.xml @@ -6,4 +6,23 @@ </description> <tutorials> </tutorials> + <methods> + <method name="_get_stream_sampling_rate" qualifiers="virtual const"> + <return type="float" /> + <description> + </description> + </method> + <method name="_mix_resampled" qualifiers="virtual"> + <return type="int" /> + <argument index="0" name="dst_buffer" type="AudioFrame*" /> + <argument index="1" name="frame_count" type="int" /> + <description> + </description> + </method> + <method name="begin_resample"> + <return type="void" /> + <description> + </description> + </method> + </methods> </class> diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml index 8e73a0dd91..13fe75a3e3 100644 --- a/doc/classes/BaseButton.xml +++ b/doc/classes/BaseButton.xml @@ -44,25 +44,24 @@ </method> </methods> <members> - <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="BaseButton.ActionMode" default="1"> + <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" enum="BaseButton.ActionMode"> Determines when the button is considered clicked, one of the [enum ActionMode] constants. </member> <member name="button_group" type="ButtonGroup" setter="set_button_group" getter="get_button_group"> The [ButtonGroup] associated with the button. Not to be confused with node groups. </member> - <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" enum="MouseButton" default="1"> + <member name="button_mask" type="int" setter="set_button_mask" getter="get_button_mask" enum="MouseButton"> Binary mask to choose which mouse buttons this button will respond to. To allow both left-click and right-click, use [code]MOUSE_BUTTON_MASK_LEFT | MOUSE_BUTTON_MASK_RIGHT[/code]. </member> - <member name="button_pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false"> + <member name="button_pressed" type="bool" setter="set_pressed" getter="is_pressed"> If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active). Only works if [member toggle_mode] is [code]true[/code]. [b]Note:[/b] Setting [member button_pressed] will result in [signal toggled] to be emitted. If you want to change the pressed state without emitting that signal, use [method set_pressed_no_signal]. </member> - <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false"> + <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled"> If [code]true[/code], the button is in disabled state and can't be clicked or toggled. </member> - <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" /> - <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside" default="false"> + <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside"> If [code]true[/code], the button stays pressed when moving the cursor outside the button while pressing it. [b]Note:[/b] This property only affects the button's visual appearance. Signals will be emitted at the same moment regardless of this property's value. </member> @@ -72,10 +71,10 @@ <member name="shortcut_context" type="Node" setter="set_shortcut_context" getter="get_shortcut_context"> The [Node] which must be a parent of the focused GUI [Control] for the shortcut to be activated. If [code]null[/code], the shortcut can be activated when any control is focused (a global shortcut). This allows shortcuts to be accepted only when the user has a certain area of the GUI focused. </member> - <member name="shortcut_in_tooltip" type="bool" setter="set_shortcut_in_tooltip" getter="is_shortcut_in_tooltip_enabled" default="true"> + <member name="shortcut_in_tooltip" type="bool" setter="set_shortcut_in_tooltip" getter="is_shortcut_in_tooltip_enabled"> If [code]true[/code], the button will add information about its shortcut in the tooltip. </member> - <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode" default="false"> + <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode"> If [code]true[/code], the button is in toggle mode. Makes the button flip state between pressed and unpressed each time its area is clicked. </member> </members> diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml index f31e962632..3b703884a5 100644 --- a/doc/classes/Basis.xml +++ b/doc/classes/Basis.xml @@ -225,11 +225,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Basis" /> <description> Returns [code]true[/code] if the [Basis] matrices are not equal. @@ -266,11 +261,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Basis" /> <description> Returns [code]true[/code] if the [Basis] matrices are exactly equal. diff --git a/doc/classes/BoxShape3D.xml b/doc/classes/BoxShape3D.xml index 154af1221f..c198dd3405 100644 --- a/doc/classes/BoxShape3D.xml +++ b/doc/classes/BoxShape3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="BoxShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Box shape resource. + Box shape resource for 3D collisions. </brief_description> <description> - 3D box shape that can be a child of a [PhysicsBody3D] or [Area3D]. + 3D box shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. + [b]Performance:[/b] Being a primitive collision shape, [BoxShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]). </description> <tutorials> <link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link> diff --git a/doc/classes/Callable.xml b/doc/classes/Callable.xml index 7c7e37d0a5..efe3e3d091 100644 --- a/doc/classes/Callable.xml +++ b/doc/classes/Callable.xml @@ -150,11 +150,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Callable" /> <description> Returns [code]true[/code] if both [Callable]s invoke different targets. @@ -162,11 +157,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Callable" /> <description> Returns [code]true[/code] if both [Callable]s invoke the same custom target. diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml index 3350735ca2..b9373676e2 100644 --- a/doc/classes/Camera2D.xml +++ b/doc/classes/Camera2D.xml @@ -157,7 +157,7 @@ Speed in pixels per second of the camera's smoothing effect when [member smoothing_enabled] is [code]true[/code]. </member> <member name="zoom" type="Vector2" setter="set_zoom" getter="get_zoom" default="Vector2(1, 1)"> - The camera's zoom relative to the viewport. Values larger than [code]Vector2(1, 1)[/code] zoom out and smaller values zoom in. For an example, use [code]Vector2(0.5, 0.5)[/code] for a 2× zoom-in, and [code]Vector2(4, 4)[/code] for a 4× zoom-out. + The camera's zoom. A zoom of [code]Vector(2, 2)[/code] doubles the size seen in the viewport. A zoom of [code]Vector(0.5, 0.5)[/code] halves the size seen in the viewport. </member> </members> <constants> diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index d71762801c..c7451509f3 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -355,6 +355,13 @@ Returns the mouse's position in this [CanvasItem] using the local coordinate system of this [CanvasItem]. </description> </method> + <method name="get_screen_transform" qualifiers="const"> + <return type="Transform2D" /> + <description> + Returns the transform of this [CanvasItem] in global screen coordinates (i.e. taking window position into account). Mostly useful for editor plugins. + Equals to [method get_global_transform] if the window is embedded (see [member Viewport.gui_embed_subwindows]). + </description> + </method> <method name="get_transform" qualifiers="const"> <return type="Transform2D" /> <description> diff --git a/doc/classes/CapsuleShape2D.xml b/doc/classes/CapsuleShape2D.xml index ae8e1ca001..2236d8035f 100644 --- a/doc/classes/CapsuleShape2D.xml +++ b/doc/classes/CapsuleShape2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="CapsuleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Capsule shape for 2D collisions. + Capsule shape resource for 2D physics. </brief_description> <description> - Capsule shape for 2D collisions. + 2D capsule shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. In 2D, a capsule is a rectangle shape with half-circles at both ends. + [b]Performance:[/b] Being a primitive collision shape, [CapsuleShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]). </description> <tutorials> </tutorials> diff --git a/doc/classes/CapsuleShape3D.xml b/doc/classes/CapsuleShape3D.xml index 5f15aaafad..cdcfab76ce 100644 --- a/doc/classes/CapsuleShape3D.xml +++ b/doc/classes/CapsuleShape3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="CapsuleShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Capsule shape for collisions. + Capsule shape resource for 3D collisions. </brief_description> <description> - Capsule shape for collisions. + 3D capsule shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. In 3D, a capsule is a cylinder shape with hemispheres at both ends. + [b]Performance:[/b] Being a primitive collision shape, [CapsuleShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]). [CapsuleShape3D] is cheaper to check collisions against compared to [CylinderShape3D]. </description> <tutorials> <link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link> diff --git a/doc/classes/CircleShape2D.xml b/doc/classes/CircleShape2D.xml index b0336086dc..6f4989daa3 100644 --- a/doc/classes/CircleShape2D.xml +++ b/doc/classes/CircleShape2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="CircleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Circular shape for 2D collisions. + Circular shape resource for 2D physics. </brief_description> <description> - Circular shape for 2D collisions. This shape is useful for modeling balls or small characters and its collision detection with everything else is very fast. + 2D circular shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. This shape is useful for modeling balls or small characters and its collision detection with everything else is very fast. + [b]Performance:[/b] Being a primitive collision shape, [CircleShape2D] is the fastest collision shape to check collisions against, as it only requires a distance check with the shape's origin. </description> <tutorials> </tutorials> diff --git a/doc/classes/CollisionPolygon2D.xml b/doc/classes/CollisionPolygon2D.xml index 48fd7c19dc..a9d8a85226 100644 --- a/doc/classes/CollisionPolygon2D.xml +++ b/doc/classes/CollisionPolygon2D.xml @@ -4,7 +4,8 @@ Defines a 2D collision polygon. </brief_description> <description> - Provides a 2D collision polygon to a [CollisionObject2D] parent. Polygons can be drawn in the editor or specified by a list of vertices. + Provides a concave or convex 2D collision polygon to a [CollisionObject2D] parent. Polygons can be drawn in the editor or specified by a list of vertices. See also [ConvexPolygonShape2D]. + In the editor, a [CollisionPolygon2D] can be generated from a [Sprite2D]'s outline by selecting a [Sprite2D] node, going to the [b]Sprite2D[/b] menu at the top of the 2D editor viewport then choosing [b]Create CollisionPolygon2D Sibling[/b]. </description> <tutorials> </tutorials> diff --git a/doc/classes/CollisionPolygon3D.xml b/doc/classes/CollisionPolygon3D.xml index c8c3752254..7d718cff27 100644 --- a/doc/classes/CollisionPolygon3D.xml +++ b/doc/classes/CollisionPolygon3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="CollisionPolygon3D" inherits="Node3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Editor-only class for defining a collision polygon in 3D space. + Editor-only node for defining a collision polygon in 3D space. </brief_description> <description> - Allows editing a collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates a [Shape3D] for gameplay. Properties modified during gameplay will have no effect. + Allows editing a concave or convex collision polygon's vertices on a selected plane. Can also set a depth perpendicular to that plane. This class is only available in the editor. It will not appear in the scene tree at run-time. Creates several [ConvexPolygonShape3D]s at run-time to represent the original polygon using convex decomposition. + [b]Note:[/b] Since this is an editor-only helper, properties modified during gameplay will have no effect. </description> <tutorials> </tutorials> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index bc0baf42c9..7083157081 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -915,11 +915,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Color" /> <description> Returns [code]true[/code] if the colors are not equal. @@ -984,11 +979,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Color" /> <description> Returns [code]true[/code] if the colors are exactly equal. diff --git a/doc/classes/CompressedTexture2D.xml b/doc/classes/CompressedTexture2D.xml index c99fcf2280..5f73b55f69 100644 --- a/doc/classes/CompressedTexture2D.xml +++ b/doc/classes/CompressedTexture2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="CompressedTexture2D" inherits="Texture2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A [code].stex[/code] texture. + A [code].ctex[/code] texture. </brief_description> <description> - A texture that is loaded from a [code].stex[/code] file. + A texture that is loaded from a [code].ctex[/code] file. </description> <tutorials> </tutorials> @@ -19,7 +19,7 @@ </methods> <members> <member name="load_path" type="String" setter="load" getter="get_load_path" default=""""> - The CompressedTexture's file path to a [code].stex[/code] file. + The CompressedTexture's file path to a [code].ctex[/code] file. </member> </members> </class> diff --git a/doc/classes/ConcavePolygonShape2D.xml b/doc/classes/ConcavePolygonShape2D.xml index 924178f9bf..f3c245c229 100644 --- a/doc/classes/ConcavePolygonShape2D.xml +++ b/doc/classes/ConcavePolygonShape2D.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ConcavePolygonShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Concave polygon 2D shape resource for physics. + Concave polygon shape resource for 2D physics. </brief_description> <description> - Concave polygon 2D shape resource for physics. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidDynamicBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions. - The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection. + 2D concave polygon shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. It is made out of segments and is optimal for complex polygonal concave collisions. However, it is not advised to use for [RigidDynamicBody2D] nodes. A CollisionPolygon2D in convex decomposition mode (solids) or several convex objects are advised for that instead. Otherwise, a concave polygon 2D shape is better for static collisions. + The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex to speed up collision detection. + [b]Performance:[/b] Due to its complexity, [ConcavePolygonShape2D] is the slowest collision shape to check collisions against. Its use should generally be limited to level geometry. For convex geometry, using [ConvexPolygonShape2D] will perform better. For dynamic physics bodies that need concave collision, several [ConvexPolygonShape2D]s can be used to represent its collision by using convex decomposition; see [ConvexPolygonShape2D]'s documentation for instructions. However, consider using primitive collision shapes such as [CircleShape2D] or [RectangleShape2D] first. </description> <tutorials> </tutorials> diff --git a/doc/classes/ConcavePolygonShape3D.xml b/doc/classes/ConcavePolygonShape3D.xml index 4e67f91db8..60d7e32492 100644 --- a/doc/classes/ConcavePolygonShape3D.xml +++ b/doc/classes/ConcavePolygonShape3D.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ConcavePolygonShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Concave polygon shape. + Concave polygon shape resource (also called "trimesh") for 3D physics. </brief_description> <description> - Concave polygon shape resource, which can be set into a [PhysicsBody3D] or area. This shape is created by feeding a list of triangles. + 3D concave polygon shape resource (also called "trimesh") to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. This shape is created by feeding a list of triangles. Despite its name, [ConcavePolygonShape3D] can also store convex polygon shapes. However, unlike [ConvexPolygonShape3D], [ConcavePolygonShape3D] is [i]not[/i] limited to storing convex shapes exclusively. [b]Note:[/b] When used for collision, [ConcavePolygonShape3D] is intended to work with static [PhysicsBody3D] nodes like [StaticBody3D] and will not work with [CharacterBody3D] or [RigidDynamicBody3D] with a mode other than Static. + [b]Performance:[/b] Due to its complexity, [ConcavePolygonShape3D] is the slowest collision shape to check collisions against. Its use should generally be limited to level geometry. For convex geometry, using [ConvexPolygonShape3D] will perform better. For dynamic physics bodies that need concave collision, several [ConvexPolygonShape3D]s can be used to represent its collision by using convex decomposition; see [ConvexPolygonShape3D]'s documentation for instructions. However, consider using primitive collision shapes such as [SphereShape3D] or [BoxShape3D] first. </description> <tutorials> <link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 97fd584ed1..3163ac5610 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -417,6 +417,19 @@ Returns the position and size of the control relative to the top-left corner of the parent Control. See [member position] and [member size]. </description> </method> + <method name="get_screen_position" qualifiers="const"> + <return type="Vector2" /> + <description> + Returns the position of this [Control] in global screen coordinates (i.e. taking window position into account). Mostly useful for editor plugins. + Equals to [member global_position] if the window is embedded (see [member Viewport.gui_embed_subwindows]). + Example usage for showing a popup: + [codeblock] + popup_menu.position = get_screen_position() + get_local_mouse_position() + popup_menu.reset_size() + popup_menu.popup() + [/codeblock] + </description> + </method> <method name="get_theme_color" qualifiers="const"> <return type="Color" /> <argument index="0" name="name" type="StringName" /> diff --git a/doc/classes/ConvexPolygonShape2D.xml b/doc/classes/ConvexPolygonShape2D.xml index 449c3132c7..df96b50fc1 100644 --- a/doc/classes/ConvexPolygonShape2D.xml +++ b/doc/classes/ConvexPolygonShape2D.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ConvexPolygonShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Convex polygon shape for 2D physics. + Convex polygon shape resource for 2D physics. </brief_description> <description> - Convex polygon shape for 2D physics. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check). - The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex in order to speed up collision detection. + 2D convex polygon shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. A convex polygon, whatever its shape, is internally decomposed into as many convex polygons as needed to ensure all collision checks against it are always done on convex polygons (which are faster to check). See also [CollisionPolygon2D]. + The main difference between a [ConvexPolygonShape2D] and a [ConcavePolygonShape2D] is that a concave polygon assumes it is concave and uses a more complex method of collision detection, and a convex one forces itself to be convex to speed up collision detection. + [b]Performance:[/b] [ConvexPolygonShape2D] is faster to check collisions against compared to [ConcavePolygonShape2D], but it is slower than primitive collision shapes such as [CircleShape2D] or [RectangleShape2D]. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by a primitive shape. </description> <tutorials> </tutorials> diff --git a/doc/classes/ConvexPolygonShape3D.xml b/doc/classes/ConvexPolygonShape3D.xml index d2f110d187..32dc8f673b 100644 --- a/doc/classes/ConvexPolygonShape3D.xml +++ b/doc/classes/ConvexPolygonShape3D.xml @@ -1,10 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ConvexPolygonShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Convex polygon shape for 3D physics. + Convex polygon shape resource for 3D physics. </brief_description> <description> - Convex polygon shape resource, which can be added to a [PhysicsBody3D] or area. + 3D convex polygon shape resource to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. Unlike [ConcavePolygonShape3D], [ConvexPolygonShape3D] cannot store concave polygon shapes. [ConvexPolygonShape2D]s can be manually drawn in the editor using the [CollisionPolygon3D] node. + [b]Convex decomposition:[/b] Concave objects' collisions can be represented accurately using [i]several[/i] [ConvexPolygonShape3D]s. This allows dynamic physics bodies to have complex concave collisions (at a performance cost). This is available in the editor by selecting the [MeshInstance3D], going to the [b]Mesh[/b] menu and choosing [b]Create Multiple Convex Collision Siblings[/b]. Alternatively, [method MeshInstance3D.create_multiple_convex_collisions] can be called in a script to perform this decomposition at run-time. + [b]Performance:[/b] [ConvexPolygonShape3D] is faster to check collisions against compared to [ConcavePolygonShape3D], but it is slower than primitive collision shapes such as [SphereShape3D] or [BoxShape3D]. Its use should generally be limited to medium-sized objects that cannot have their collision accurately represented by a primitive shape. </description> <tutorials> <link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link> diff --git a/doc/classes/Curve2D.xml b/doc/classes/Curve2D.xml index f040d292e9..94e52912a1 100644 --- a/doc/classes/Curve2D.xml +++ b/doc/classes/Curve2D.xml @@ -17,7 +17,7 @@ <argument index="2" name="out" type="Vector2" default="Vector2(0, 0)" /> <argument index="3" name="at_position" type="int" default="-1" /> <description> - Adds a point to a curve at [code]position[/code], with control points [code]in[/code] and [code]out[/code]. + Adds a point to a curve at [code]position[/code] relative to the [Curve2D]'s position, with control points [code]in[/code] and [code]out[/code]. If [code]at_position[/code] is given, the point is inserted before the point number [code]at_position[/code], moving that point (and every point after) after the inserted point. If [code]at_position[/code] is not given, or is an illegal value ([code]at_position <0[/code] or [code]at_position >= [method get_point_count][/code]), the point will be appended at the end of the point list. </description> </method> diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml index 27856f2564..ed642e0ddc 100644 --- a/doc/classes/Curve3D.xml +++ b/doc/classes/Curve3D.xml @@ -17,7 +17,7 @@ <argument index="2" name="out" type="Vector3" default="Vector3(0, 0, 0)" /> <argument index="3" name="at_position" type="int" default="-1" /> <description> - Adds a point to a curve at [code]position[/code], with control points [code]in[/code] and [code]out[/code]. + Adds a point to a curve at [code]position[/code] relative to the [Curve3D]'s position, with control points [code]in[/code] and [code]out[/code]. If [code]at_position[/code] is given, the point is inserted before the point number [code]at_position[/code], moving that point (and every point after) after the inserted point. If [code]at_position[/code] is not given, or is an illegal value ([code]at_position <0[/code] or [code]at_position >= [method get_point_count][/code]), the point will be appended at the end of the point list. </description> </method> diff --git a/doc/classes/CylinderShape3D.xml b/doc/classes/CylinderShape3D.xml index 06ad590bb3..6ff142da59 100644 --- a/doc/classes/CylinderShape3D.xml +++ b/doc/classes/CylinderShape3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="CylinderShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Cylinder shape for collisions. + Cylinder shape for 3D collisions. </brief_description> <description> - Cylinder shape for collisions. + Cylinder shape for collisions. Like [CapsuleShape3D], but without hemispheres at the cylinder's ends. + [b]Performance:[/b] Being a primitive collision shape, [CylinderShape3D] is fast to check collisions against (though not as fast as [SphereShape3D]). [CylinderShape3D] is also more demanding compared to [CapsuleShape3D]. </description> <tutorials> <link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index ab04366eb7..8ee09ba8f8 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -307,22 +307,12 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Dictionary" /> <description> </description> </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Dictionary" /> <description> </description> diff --git a/doc/classes/EditorExportPlugin.xml b/doc/classes/EditorExportPlugin.xml index 698d3bfcce..8aa2db2cf8 100644 --- a/doc/classes/EditorExportPlugin.xml +++ b/doc/classes/EditorExportPlugin.xml @@ -108,6 +108,7 @@ <return type="void" /> <argument index="0" name="path" type="String" /> <argument index="1" name="tags" type="PackedStringArray" /> + <argument index="2" name="target" type="String" /> <description> Adds a shared object or a directory containing only shared objects with the given [code]tags[/code] and destination [code]path[/code]. [b]Note:[/b] In case of macOS exports, those shared objects will be added to [code]Frameworks[/code] directory of app bundle. diff --git a/doc/classes/EditorFileDialog.xml b/doc/classes/EditorFileDialog.xml index 0474cbd387..b1fd7b4e76 100644 --- a/doc/classes/EditorFileDialog.xml +++ b/doc/classes/EditorFileDialog.xml @@ -40,13 +40,13 @@ <member name="access" type="int" setter="set_access" getter="get_access" enum="EditorFileDialog.Access" default="0"> The location from which the user may select a file, including [code]res://[/code], [code]user://[/code], and the local file system. </member> - <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir" default=""res://""> + <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir"> The currently occupied directory. </member> - <member name="current_file" type="String" setter="set_current_file" getter="get_current_file" default=""""> + <member name="current_file" type="String" setter="set_current_file" getter="get_current_file"> The currently selected file. </member> - <member name="current_path" type="String" setter="set_current_path" getter="get_current_path" default=""res://""> + <member name="current_path" type="String" setter="set_current_path" getter="get_current_path"> The file system path in the address bar. </member> <member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" overrides="AcceptDialog" default="false" /> diff --git a/doc/classes/EditorSpinSlider.xml b/doc/classes/EditorSpinSlider.xml index a45882b063..96dea1edce 100644 --- a/doc/classes/EditorSpinSlider.xml +++ b/doc/classes/EditorSpinSlider.xml @@ -11,7 +11,6 @@ <members> <member name="flat" type="bool" setter="set_flat" getter="is_flat" default="false"> </member> - <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" /> <member name="label" type="String" setter="set_label" getter="get_label" default=""""> </member> <member name="read_only" type="bool" setter="set_read_only" getter="is_read_only" default="false"> diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index 05d90390f8..db536a738a 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -56,13 +56,13 @@ The file system access scope. See enum [code]Access[/code] constants. [b]Warning:[/b] Currently, in sandboxed environments such as HTML5 builds or sandboxed macOS apps, FileDialog cannot access the host file system. See [url=https://github.com/godotengine/godot-proposals/issues/1123]godot-proposals#1123[/url]. </member> - <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir" default=""res://""> + <member name="current_dir" type="String" setter="set_current_dir" getter="get_current_dir"> The current working directory of the file dialog. </member> - <member name="current_file" type="String" setter="set_current_file" getter="get_current_file" default=""""> + <member name="current_file" type="String" setter="set_current_file" getter="get_current_file"> The currently selected file of the file dialog. </member> - <member name="current_path" type="String" setter="set_current_path" getter="get_current_path" default=""res://""> + <member name="current_path" type="String" setter="set_current_path" getter="get_current_path"> The currently selected file path of the file dialog. </member> <member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" overrides="AcceptDialog" default="false" /> diff --git a/doc/classes/FontData.xml b/doc/classes/FontData.xml index ccaefc60ee..9344a1fe80 100644 --- a/doc/classes/FontData.xml +++ b/doc/classes/FontData.xml @@ -567,6 +567,9 @@ <member name="data" type="PackedByteArray" setter="set_data" getter="get_data" default="PackedByteArray()"> Contents of the dynamic font source file. </member> + <member name="embolden" type="float" setter="set_embolden" getter="get_embolden" default="0.0"> + If is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness. + </member> <member name="fixed_size" type="int" setter="set_fixed_size" getter="get_fixed_size" default="0"> Font size, used only for the bitmap fonts. </member> @@ -603,5 +606,9 @@ <member name="subpixel_positioning" type="int" setter="set_subpixel_positioning" getter="get_subpixel_positioning" enum="TextServer.SubpixelPositioning" default="1"> Font glyph sub-pixel positioning mode. Subpixel positioning provides shaper text and better kerning for smaller font sizes, at the cost of memory usage and font rasterization speed. Use [constant TextServer.SUBPIXEL_POSITIONING_AUTO] to automatically enable it based on the font size. </member> + <member name="transform" type="Transform2D" setter="set_transform" getter="get_transform" default="Transform2D(1, 0, 0, 1, 0, 0)"> + 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs. + For example, to simulate italic typeface by slanting, apply the following transform [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code]. + </member> </members> </class> diff --git a/doc/classes/GeometryInstance3D.xml b/doc/classes/GeometryInstance3D.xml index 77afb98225..c803f43fb0 100644 --- a/doc/classes/GeometryInstance3D.xml +++ b/doc/classes/GeometryInstance3D.xml @@ -31,22 +31,22 @@ </method> </methods> <members> - <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance3D.ShadowCastingSetting" default="1"> + <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance3D.ShadowCastingSetting"> The selected shadow casting flag. See [enum ShadowCastingSetting] for possible values. </member> - <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin" default="0.0"> + <member name="extra_cull_margin" type="float" setter="set_extra_cull_margin" getter="get_extra_cull_margin"> The extra distance added to the GeometryInstance3D's bounding box ([AABB]) to increase its cull box. </member> - <member name="gi_lightmap_scale" type="int" setter="set_lightmap_scale" getter="get_lightmap_scale" enum="GeometryInstance3D.LightmapScale" default="0"> + <member name="gi_lightmap_scale" type="int" setter="set_lightmap_scale" getter="get_lightmap_scale" enum="GeometryInstance3D.LightmapScale"> The texel density to use for lightmapping in [LightmapGI]. Greater scale values provide higher resolution in the lightmap, which can result in sharper shadows for lights that have both direct and indirect light baked. However, greater scale values will also increase the space taken by the mesh in the lightmap texture, which increases the memory, storage, and bake time requirements. When using a single mesh at different scales, consider adjusting this value to keep the lightmap texel density consistent across meshes. </member> - <member name="gi_mode" type="int" setter="set_gi_mode" getter="get_gi_mode" enum="GeometryInstance3D.GIMode" default="0"> + <member name="gi_mode" type="int" setter="set_gi_mode" getter="get_gi_mode" enum="GeometryInstance3D.GIMode"> The global illumination mode to use for the whole geometry. To avoid inconsistent results, use a mode that matches the purpose of the mesh during gameplay (static/dynamic). [b]Note:[/b] Lights' bake mode will also affect the global illumination rendering. See [member Light3D.light_bake_mode]. </member> - <member name="ignore_occlusion_culling" type="bool" setter="set_ignore_occlusion_culling" getter="is_ignoring_occlusion_culling" default="false"> + <member name="ignore_occlusion_culling" type="bool" setter="set_ignore_occlusion_culling" getter="is_ignoring_occlusion_culling"> </member> - <member name="lod_bias" type="float" setter="set_lod_bias" getter="get_lod_bias" default="1.0"> + <member name="lod_bias" type="float" setter="set_lod_bias" getter="get_lod_bias"> </member> <member name="material_overlay" type="Material" setter="set_material_overlay" getter="get_material_overlay"> The material overlay for the whole geometry. @@ -56,26 +56,26 @@ The material override for the whole geometry. If a material is assigned to this property, it will be used instead of any material set in any material slot of the mesh. </member> - <member name="transparency" type="float" setter="set_transparency" getter="get_transparency" default="0.0"> + <member name="transparency" type="float" setter="set_transparency" getter="get_transparency"> The transparency applied to the whole geometry (as a multiplier of the materials' existing transparency). [code]0.0[/code] is fully opaque, while [code]1.0[/code] is fully transparent. Values greater than [code]0.0[/code] (exclusive) will force the geometry's materials to go through the transparent pipeline, which is slower to render and can exhibit rendering issues due to incorrect transparency sorting. However, unlike using a transparent material, setting [member transparency] to a value greater than [code]0.0[/code] (exclusive) will [i]not[/i] disable shadow rendering. In spatial shaders, [code]1.0 - transparency[/code] is set as the default value of the [code]ALPHA[/code] built-in. [b]Note:[/b] [member transparency] is clamped between [code]0.0[/code] and [code]1.0[/code], so this property cannot be used to make transparent materials more opaque than they originally are. </member> - <member name="visibility_range_begin" type="float" setter="set_visibility_range_begin" getter="get_visibility_range_begin" default="0.0"> + <member name="visibility_range_begin" type="float" setter="set_visibility_range_begin" getter="get_visibility_range_begin"> Starting distance from which the GeometryInstance3D will be visible, taking [member visibility_range_begin_margin] into account as well. The default value of 0 is used to disable the range check. </member> - <member name="visibility_range_begin_margin" type="float" setter="set_visibility_range_begin_margin" getter="get_visibility_range_begin_margin" default="0.0"> + <member name="visibility_range_begin_margin" type="float" setter="set_visibility_range_begin_margin" getter="get_visibility_range_begin_margin"> Margin for the [member visibility_range_begin] threshold. The GeometryInstance3D will only change its visibility state when it goes over or under the [member visibility_range_begin] threshold by this amount. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade transition distance and must be set to a value greater than [code]0.0[/code] for the effect to be noticeable. </member> - <member name="visibility_range_end" type="float" setter="set_visibility_range_end" getter="get_visibility_range_end" default="0.0"> + <member name="visibility_range_end" type="float" setter="set_visibility_range_end" getter="get_visibility_range_end"> Distance from which the GeometryInstance3D will be hidden, taking [member visibility_range_end_margin] into account as well. The default value of 0 is used to disable the range check. </member> - <member name="visibility_range_end_margin" type="float" setter="set_visibility_range_end_margin" getter="get_visibility_range_end_margin" default="0.0"> + <member name="visibility_range_end_margin" type="float" setter="set_visibility_range_end_margin" getter="get_visibility_range_end_margin"> Margin for the [member visibility_range_end] threshold. The GeometryInstance3D will only change its visibility state when it goes over or under the [member visibility_range_end] threshold by this amount. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_DISABLED], this acts as an hysteresis distance. If [member visibility_range_fade_mode] is [constant VISIBILITY_RANGE_FADE_SELF] or [constant VISIBILITY_RANGE_FADE_DEPENDENCIES], this acts as a fade transition distance and must be set to a value greater than [code]0.0[/code] for the effect to be noticeable. </member> - <member name="visibility_range_fade_mode" type="int" setter="set_visibility_range_fade_mode" getter="get_visibility_range_fade_mode" enum="GeometryInstance3D.VisibilityRangeFadeMode" default="0"> + <member name="visibility_range_fade_mode" type="int" setter="set_visibility_range_fade_mode" getter="get_visibility_range_fade_mode" enum="GeometryInstance3D.VisibilityRangeFadeMode"> Controls which instances will be faded when approaching the limits of the visibility range. See [enum VisibilityRangeFadeMode] for possible values. </member> </members> diff --git a/doc/classes/HeightMapShape3D.xml b/doc/classes/HeightMapShape3D.xml index b8fe094490..206981e547 100644 --- a/doc/classes/HeightMapShape3D.xml +++ b/doc/classes/HeightMapShape3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="HeightMapShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Height map shape for 3D physics. + Height map shape resource for 3D physics. </brief_description> <description> - Height map shape resource, which can be added to a [PhysicsBody3D] or [Area3D]. + Height map shape resource, which can be added to a [PhysicsBody3D] or [Area3D]. Heightmap collision is typically used for colliding with terrains. However, since heightmaps cannot store overhangs, collisions with other structures (such as buildings) must be done with other collision shapes such as [ConcavePolygonShape3D]. If needed, "holes" can be created in an [HeightMapShape3D] by assigning very low points (like [code]-100000[/code]) in the desired area. + [b]Performance:[/b] [HeightMapShape3D] is faster to check collisions against compared to [ConcavePolygonShape3D], but it is slower than primitive collision shapes such as [SphereShape3D] or [BoxShape3D]. </description> <tutorials> </tutorials> diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml index 48fa009300..06bd64577b 100644 --- a/doc/classes/ItemList.xml +++ b/doc/classes/ItemList.xml @@ -7,6 +7,7 @@ This control provides a selectable list of items that may be in a single (or multiple columns) with option of text, icons, or both text and icon. Tooltips are supported and may be different for every item in the list. Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing [kbd]Enter[/kbd]. Item text only supports single-line strings, newline characters (e.g. [code]\n[/code]) in the string won't produce a newline. Text wrapping is enabled in [constant ICON_MODE_TOP] mode, but column's width is adjusted to fully fit its content by default. You need to set [member fixed_column_width] greater than zero to wrap the text. + All [code]set_*[/code] methods allow negative item index, which makes the item accessed from the last one. </description> <tutorials> </tutorials> diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml index ad5a5a5518..3b03d86644 100644 --- a/doc/classes/LinkButton.xml +++ b/doc/classes/LinkButton.xml @@ -33,11 +33,9 @@ </method> </methods> <members> - <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="0" /> <member name="language" type="String" setter="set_language" getter="get_language" default=""""> Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead. </member> - <member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" overrides="Control" enum="Control.CursorShape" default="2" /> <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0"> Set BiDi algorithm override for the structured text. </member> diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml index 78dbf8729b..c5d567c1fe 100644 --- a/doc/classes/Material.xml +++ b/doc/classes/Material.xml @@ -11,6 +11,26 @@ <link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link> </tutorials> <methods> + <method name="_can_do_next_pass" qualifiers="virtual const"> + <return type="bool" /> + <description> + </description> + </method> + <method name="_can_use_render_priority" qualifiers="virtual const"> + <return type="bool" /> + <description> + </description> + </method> + <method name="_get_shader_mode" qualifiers="virtual const"> + <return type="int" enum="Shader.Mode" /> + <description> + </description> + </method> + <method name="_get_shader_rid" qualifiers="virtual const"> + <return type="RID" /> + <description> + </description> + </method> <method name="inspect_native_shader_code"> <return type="void" /> <description> @@ -22,7 +42,7 @@ Sets the [Material] to be used for the next pass. This renders the object again using a different material. [b]Note:[/b] This only applies to [StandardMaterial3D]s and [ShaderMaterial]s with type "Spatial". </member> - <member name="render_priority" type="int" setter="set_render_priority" getter="get_render_priority" default="0"> + <member name="render_priority" type="int" setter="set_render_priority" getter="get_render_priority"> Sets the render priority for transparent objects in 3D scenes. Higher priority objects will be sorted in front of lower priority objects. [b]Note:[/b] This only applies to [StandardMaterial3D]s and [ShaderMaterial]s with type "Spatial". [b]Note:[/b] This only applies to sorting of transparent objects. This will not impact how transparent objects are sorted relative to opaque objects. This is because opaque objects are not sorted, while transparent objects are sorted from back to front (subject to priority). diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml index c5bfdcecd2..2b24901fe2 100644 --- a/doc/classes/Mesh.xml +++ b/doc/classes/Mesh.xml @@ -13,6 +13,89 @@ <link title="Third Person Shooter Demo">https://godotengine.org/asset-library/asset/678</link> </tutorials> <methods> + <method name="_get_aabb" qualifiers="virtual const"> + <return type="AABB" /> + <description> + </description> + </method> + <method name="_get_blend_shape_count" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_get_blend_shape_name" qualifiers="virtual const"> + <return type="StringName" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_get_surface_count" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_set_blend_shape_name" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="index" type="int" /> + <argument index="1" name="name" type="StringName" /> + <description> + </description> + </method> + <method name="_surface_get_array_index_len" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_surface_get_array_len" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_surface_get_arrays" qualifiers="virtual const"> + <return type="Array" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_surface_get_blend_shape_arrays" qualifiers="virtual const"> + <return type="Array" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_surface_get_format" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_surface_get_lods" qualifiers="virtual const"> + <return type="Dictionary" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_surface_get_material" qualifiers="virtual const"> + <return type="Material" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_surface_get_primitive_type" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="index" type="int" /> + <description> + </description> + </method> + <method name="_surface_set_material" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="index" type="int" /> + <argument index="1" name="material" type="Material" /> + <description> + </description> + </method> <method name="create_convex_shape" qualifiers="const"> <return type="Shape3D" /> <argument index="0" name="clean" type="bool" default="true" /> @@ -93,7 +176,7 @@ </method> </methods> <members> - <member name="lightmap_size_hint" type="Vector2i" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint" default="Vector2i(0, 0)"> + <member name="lightmap_size_hint" type="Vector2i" setter="set_lightmap_size_hint" getter="get_lightmap_size_hint"> Sets a hint to be used for lightmap resolution. </member> </members> diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml index 3d3e139781..3319e5d822 100644 --- a/doc/classes/NodePath.xml +++ b/doc/classes/NodePath.xml @@ -5,21 +5,22 @@ </brief_description> <description> A pre-parsed relative or absolute path in a scene tree, for use with [method Node.get_node] and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, [code]"Path2D/PathFollow2D/Sprite2D:texture:size"[/code] would refer to the [code]size[/code] property of the [code]texture[/code] resource on the node named [code]"Sprite2D"[/code] which is a child of the other named nodes in the path. - You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]@"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful. + You will usually just pass a string to [method Node.get_node] and it will be automatically converted, but you may occasionally want to parse a path ahead of time with [NodePath] or the literal syntax [code]^"path"[/code]. Exporting a [NodePath] variable will give you a node selection widget in the properties panel of the editor, which can often be useful. A [NodePath] is composed of a list of slash-separated node names (like a filesystem path) and an optional colon-separated list of "subnames" which can be resources or properties. Some examples of NodePaths include the following: [codeblock] # No leading slash means it is relative to the current node. - @"A" # Immediate child A - @"A/B" # A's child B - @"." # The current node. - @".." # The parent node. - @"../C" # A sibling node C. + ^"A" # Immediate child A + ^"A/B" # A's child B + ^"." # The current node. + ^".." # The parent node. + ^"../C" # A sibling node C. # A leading slash means it is absolute from the SceneTree. - @"/root" # Equivalent to get_tree().get_root(). - @"/root/Main" # If your main scene's root node were named "Main". - @"/root/MyAutoload" # If you have an autoloaded node or scene. + ^"/root" # Equivalent to get_tree().get_root(). + ^"/root/Main" # If your main scene's root node were named "Main". + ^"/root/MyAutoload" # If you have an autoloaded node or scene. [/codeblock] + See also [StringName], which is a similar concept for general-purpose string interning. [b]Note:[/b] In the editor, [NodePath] properties are automatically updated when moving, renaming or deleting a node in the scene tree, but they are never updated at runtime. </description> <tutorials> @@ -36,7 +37,7 @@ <return type="NodePath" /> <argument index="0" name="from" type="NodePath" /> <description> - Constructs a [NodePath] as a copy of the given [NodePath]. + Constructs a [NodePath] as a copy of the given [NodePath]. [code]NodePath("example")[/code] is equivalent to [code]^"example"[/code]. </description> </constructor> <constructor name="NodePath"> @@ -172,22 +173,12 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="NodePath" /> <description> </description> </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="NodePath" /> <description> </description> diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index f65925f0f6..69e6d4b74c 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -74,6 +74,13 @@ Returns the text of the item at index [code]idx[/code]. </description> </method> + <method name="get_item_tooltip" qualifiers="const"> + <return type="String" /> + <argument index="0" name="idx" type="int" /> + <description> + Returns the tooltip of the item at index [code]idx[/code]. + </description> + </method> <method name="get_popup" qualifiers="const"> <return type="PopupMenu" /> <description> @@ -156,6 +163,14 @@ Sets the text of the item at index [code]idx[/code]. </description> </method> + <method name="set_item_tooltip"> + <return type="void" /> + <argument index="0" name="idx" type="int" /> + <argument index="1" name="tooltip" type="String" /> + <description> + Sets the tooltip of the item at index [code]idx[/code]. + </description> + </method> </methods> <members> <member name="action_mode" type="int" setter="set_action_mode" getter="get_action_mode" overrides="BaseButton" enum="BaseButton.ActionMode" default="0" /> diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml index be51b1dcf8..a0e67bfa63 100644 --- a/doc/classes/PackedByteArray.xml +++ b/doc/classes/PackedByteArray.xml @@ -418,11 +418,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedByteArray" /> <description> </description> @@ -435,11 +430,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedByteArray" /> <description> </description> diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml index f98c5c37e4..d1a00b32b1 100644 --- a/doc/classes/PackedColorArray.xml +++ b/doc/classes/PackedColorArray.xml @@ -154,11 +154,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedColorArray" /> <description> </description> @@ -171,11 +166,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedColorArray" /> <description> </description> diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml index 393af5f6c4..b351058346 100644 --- a/doc/classes/PackedFloat32Array.xml +++ b/doc/classes/PackedFloat32Array.xml @@ -157,11 +157,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedFloat32Array" /> <description> </description> @@ -174,11 +169,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedFloat32Array" /> <description> </description> diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml index 5a80d7b2e9..b4ffa295bd 100644 --- a/doc/classes/PackedFloat64Array.xml +++ b/doc/classes/PackedFloat64Array.xml @@ -157,11 +157,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedFloat64Array" /> <description> </description> @@ -174,11 +169,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedFloat64Array" /> <description> </description> diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml index 17085a9626..b34deb518a 100644 --- a/doc/classes/PackedInt32Array.xml +++ b/doc/classes/PackedInt32Array.xml @@ -157,11 +157,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedInt32Array" /> <description> </description> @@ -174,11 +169,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedInt32Array" /> <description> </description> diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml index 066bc05f54..6a99db778c 100644 --- a/doc/classes/PackedInt64Array.xml +++ b/doc/classes/PackedInt64Array.xml @@ -157,11 +157,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedInt64Array" /> <description> </description> @@ -174,11 +169,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedInt64Array" /> <description> </description> diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml index 3cf43ecb28..29c72f62de 100644 --- a/doc/classes/PackedStringArray.xml +++ b/doc/classes/PackedStringArray.xml @@ -155,11 +155,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedStringArray" /> <description> </description> @@ -172,11 +167,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedStringArray" /> <description> </description> diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml index 9abc366702..cd78f29595 100644 --- a/doc/classes/PackedVector2Array.xml +++ b/doc/classes/PackedVector2Array.xml @@ -155,11 +155,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedVector2Array" /> <description> </description> @@ -178,11 +173,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedVector2Array" /> <description> </description> diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml index ff9fc6a757..9ae4073fdf 100644 --- a/doc/classes/PackedVector3Array.xml +++ b/doc/classes/PackedVector3Array.xml @@ -154,11 +154,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="PackedVector3Array" /> <description> </description> @@ -177,11 +172,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="PackedVector3Array" /> <description> </description> diff --git a/doc/classes/PhysicsDirectBodyState3DExtension.xml b/doc/classes/PhysicsDirectBodyState3DExtension.xml new file mode 100644 index 0000000000..f0659f8f1b --- /dev/null +++ b/doc/classes/PhysicsDirectBodyState3DExtension.xml @@ -0,0 +1,260 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicsDirectBodyState3DExtension" inherits="PhysicsDirectBodyState3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="_add_constant_central_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="force" type="Vector3" /> + <description> + </description> + </method> + <method name="_add_constant_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="force" type="Vector3" /> + <argument index="1" name="position" type="Vector3" /> + <description> + </description> + </method> + <method name="_add_constant_torque" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="torque" type="Vector3" /> + <description> + </description> + </method> + <method name="_apply_central_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="force" type="Vector3" /> + <description> + </description> + </method> + <method name="_apply_central_impulse" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="impulse" type="Vector3" /> + <description> + </description> + </method> + <method name="_apply_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="force" type="Vector3" /> + <argument index="1" name="position" type="Vector3" /> + <description> + </description> + </method> + <method name="_apply_impulse" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="impulse" type="Vector3" /> + <argument index="1" name="position" type="Vector3" /> + <description> + </description> + </method> + <method name="_apply_torque" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="torque" type="Vector3" /> + <description> + </description> + </method> + <method name="_apply_torque_impulse" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="impulse" type="Vector3" /> + <description> + </description> + </method> + <method name="_get_angular_velocity" qualifiers="virtual const"> + <return type="Vector3" /> + <description> + </description> + </method> + <method name="_get_center_of_mass" qualifiers="virtual const"> + <return type="Vector3" /> + <description> + </description> + </method> + <method name="_get_center_of_mass_local" qualifiers="virtual const"> + <return type="Vector3" /> + <description> + </description> + </method> + <method name="_get_constant_force" qualifiers="virtual const"> + <return type="Vector3" /> + <description> + </description> + </method> + <method name="_get_constant_torque" qualifiers="virtual const"> + <return type="Vector3" /> + <description> + </description> + </method> + <method name="_get_contact_collider" qualifiers="virtual const"> + <return type="RID" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_collider_id" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_collider_object" qualifiers="virtual const"> + <return type="Object" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_collider_position" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_collider_shape" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_collider_velocity_at_position" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_count" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_get_contact_impulse" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_local_normal" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_local_position" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_contact_local_shape" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="contact_idx" type="int" /> + <description> + </description> + </method> + <method name="_get_inverse_inertia" qualifiers="virtual const"> + <return type="Vector3" /> + <description> + </description> + </method> + <method name="_get_inverse_mass" qualifiers="virtual const"> + <return type="float" /> + <description> + </description> + </method> + <method name="_get_linear_velocity" qualifiers="virtual const"> + <return type="Vector3" /> + <description> + </description> + </method> + <method name="_get_principal_inertia_axes" qualifiers="virtual const"> + <return type="Basis" /> + <description> + </description> + </method> + <method name="_get_space_state" qualifiers="virtual"> + <return type="PhysicsDirectSpaceState3D" /> + <description> + </description> + </method> + <method name="_get_step" qualifiers="virtual const"> + <return type="float" /> + <description> + </description> + </method> + <method name="_get_total_angular_damp" qualifiers="virtual const"> + <return type="float" /> + <description> + </description> + </method> + <method name="_get_total_gravity" qualifiers="virtual const"> + <return type="Vector3" /> + <description> + </description> + </method> + <method name="_get_total_linear_damp" qualifiers="virtual const"> + <return type="float" /> + <description> + </description> + </method> + <method name="_get_transform" qualifiers="virtual const"> + <return type="Transform3D" /> + <description> + </description> + </method> + <method name="_get_velocity_at_local_position" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="local_position" type="Vector3" /> + <description> + </description> + </method> + <method name="_integrate_forces" qualifiers="virtual"> + <return type="void" /> + <description> + </description> + </method> + <method name="_is_sleeping" qualifiers="virtual const"> + <return type="bool" /> + <description> + </description> + </method> + <method name="_set_angular_velocity" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="velocity" type="Vector3" /> + <description> + </description> + </method> + <method name="_set_constant_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="force" type="Vector3" /> + <description> + </description> + </method> + <method name="_set_constant_torque" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="torque" type="Vector3" /> + <description> + </description> + </method> + <method name="_set_linear_velocity" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="velocity" type="Vector3" /> + <description> + </description> + </method> + <method name="_set_sleep_state" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="enabled" type="bool" /> + <description> + </description> + </method> + <method name="_set_transform" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="transform" type="Transform3D" /> + <description> + </description> + </method> + </methods> +</class> diff --git a/doc/classes/PhysicsDirectSpaceState3DExtension.xml b/doc/classes/PhysicsDirectSpaceState3DExtension.xml new file mode 100644 index 0000000000..f150907963 --- /dev/null +++ b/doc/classes/PhysicsDirectSpaceState3DExtension.xml @@ -0,0 +1,99 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicsDirectSpaceState3DExtension" inherits="PhysicsDirectSpaceState3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="_cast_motion" qualifiers="virtual"> + <return type="bool" /> + <argument index="0" name="shape_rid" type="RID" /> + <argument index="1" name="transform" type="Transform3D" /> + <argument index="2" name="motion" type="Vector3" /> + <argument index="3" name="margin" type="float" /> + <argument index="4" name="collision_mask" type="int" /> + <argument index="5" name="collide_with_bodies" type="bool" /> + <argument index="6" name="collide_with_areas" type="bool" /> + <argument index="7" name="closest_safe" type="float*" /> + <argument index="8" name="closest_unsafe" type="float*" /> + <argument index="9" name="info" type="PhysicsServer3DExtensionShapeRestInfo*" /> + <description> + </description> + </method> + <method name="_collide_shape" qualifiers="virtual"> + <return type="bool" /> + <argument index="0" name="shape_rid" type="RID" /> + <argument index="1" name="transform" type="Transform3D" /> + <argument index="2" name="motion" type="Vector3" /> + <argument index="3" name="margin" type="float" /> + <argument index="4" name="collision_mask" type="int" /> + <argument index="5" name="collide_with_bodies" type="bool" /> + <argument index="6" name="collide_with_areas" type="bool" /> + <argument index="7" name="results" type="void*" /> + <argument index="8" name="max_results" type="int" /> + <argument index="9" name="result_count" type="int32_t*" /> + <description> + </description> + </method> + <method name="_get_closest_point_to_object_volume" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="object" type="RID" /> + <argument index="1" name="point" type="Vector3" /> + <description> + </description> + </method> + <method name="_intersect_point" qualifiers="virtual"> + <return type="int" /> + <argument index="0" name="position" type="Vector3" /> + <argument index="1" name="collision_mask" type="int" /> + <argument index="2" name="collide_with_bodies" type="bool" /> + <argument index="3" name="collide_with_areas" type="bool" /> + <argument index="4" name="results" type="PhysicsServer3DExtensionShapeResult*" /> + <argument index="5" name="max_results" type="int" /> + <description> + </description> + </method> + <method name="_intersect_ray" qualifiers="virtual"> + <return type="bool" /> + <argument index="0" name="from" type="Vector3" /> + <argument index="1" name="to" type="Vector3" /> + <argument index="2" name="collision_mask" type="int" /> + <argument index="3" name="collide_with_bodies" type="bool" /> + <argument index="4" name="collide_with_areas" type="bool" /> + <argument index="5" name="hit_from_inside" type="bool" /> + <argument index="6" name="hit_back_faces" type="bool" /> + <argument index="7" name="result" type="PhysicsServer3DExtensionRayResult*" /> + <description> + </description> + </method> + <method name="_intersect_shape" qualifiers="virtual"> + <return type="int" /> + <argument index="0" name="shape_rid" type="RID" /> + <argument index="1" name="transform" type="Transform3D" /> + <argument index="2" name="motion" type="Vector3" /> + <argument index="3" name="margin" type="float" /> + <argument index="4" name="collision_mask" type="int" /> + <argument index="5" name="collide_with_bodies" type="bool" /> + <argument index="6" name="collide_with_areas" type="bool" /> + <argument index="7" name="result_count" type="PhysicsServer3DExtensionShapeResult*" /> + <argument index="8" name="max_results" type="int" /> + <description> + </description> + </method> + <method name="_rest_info" qualifiers="virtual"> + <return type="bool" /> + <argument index="0" name="shape_rid" type="RID" /> + <argument index="1" name="transform" type="Transform3D" /> + <argument index="2" name="motion" type="Vector3" /> + <argument index="3" name="margin" type="float" /> + <argument index="4" name="collision_mask" type="int" /> + <argument index="5" name="collide_with_bodies" type="bool" /> + <argument index="6" name="collide_with_areas" type="bool" /> + <argument index="7" name="rest_info" type="PhysicsServer3DExtensionShapeRestInfo*" /> + <description> + </description> + </method> + </methods> +</class> diff --git a/doc/classes/PhysicsServer3DExtension.xml b/doc/classes/PhysicsServer3DExtension.xml new file mode 100644 index 0000000000..795f5b86dd --- /dev/null +++ b/doc/classes/PhysicsServer3DExtension.xml @@ -0,0 +1,897 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicsServer3DExtension" inherits="PhysicsServer3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="_area_add_shape" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="shape" type="RID" /> + <argument index="2" name="transform" type="Transform3D" /> + <argument index="3" name="disabled" type="bool" /> + <description> + </description> + </method> + <method name="_area_attach_object_instance_id" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="id" type="int" /> + <description> + </description> + </method> + <method name="_area_clear_shapes" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <description> + </description> + </method> + <method name="_area_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_area_get_object_instance_id" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="area" type="RID" /> + <description> + </description> + </method> + <method name="_area_get_param" qualifiers="virtual const"> + <return type="Variant" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.AreaParameter" /> + <description> + </description> + </method> + <method name="_area_get_shape" qualifiers="virtual const"> + <return type="RID" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <description> + </description> + </method> + <method name="_area_get_shape_count" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="area" type="RID" /> + <description> + </description> + </method> + <method name="_area_get_shape_transform" qualifiers="virtual const"> + <return type="Transform3D" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <description> + </description> + </method> + <method name="_area_get_space" qualifiers="virtual const"> + <return type="RID" /> + <argument index="0" name="area" type="RID" /> + <description> + </description> + </method> + <method name="_area_get_transform" qualifiers="virtual const"> + <return type="Transform3D" /> + <argument index="0" name="area" type="RID" /> + <description> + </description> + </method> + <method name="_area_remove_shape" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <description> + </description> + </method> + <method name="_area_set_area_monitor_callback" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="callback" type="Callable" /> + <description> + </description> + </method> + <method name="_area_set_collision_layer" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="layer" type="int" /> + <description> + </description> + </method> + <method name="_area_set_collision_mask" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="mask" type="int" /> + <description> + </description> + </method> + <method name="_area_set_monitor_callback" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="callback" type="Callable" /> + <description> + </description> + </method> + <method name="_area_set_monitorable" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="monitorable" type="bool" /> + <description> + </description> + </method> + <method name="_area_set_param" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.AreaParameter" /> + <argument index="2" name="value" type="Variant" /> + <description> + </description> + </method> + <method name="_area_set_ray_pickable" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="enable" type="bool" /> + <description> + </description> + </method> + <method name="_area_set_shape" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <argument index="2" name="shape" type="RID" /> + <description> + </description> + </method> + <method name="_area_set_shape_disabled" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <argument index="2" name="disabled" type="bool" /> + <description> + </description> + </method> + <method name="_area_set_shape_transform" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <argument index="2" name="transform" type="Transform3D" /> + <description> + </description> + </method> + <method name="_area_set_space" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="space" type="RID" /> + <description> + </description> + </method> + <method name="_area_set_transform" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="area" type="RID" /> + <argument index="1" name="transform" type="Transform3D" /> + <description> + </description> + </method> + <method name="_body_add_collision_exception" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="excepted_body" type="RID" /> + <description> + </description> + </method> + <method name="_body_add_constant_central_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="force" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_add_constant_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="force" type="Vector3" /> + <argument index="2" name="position" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_add_constant_torque" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="torque" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_add_shape" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="shape" type="RID" /> + <argument index="2" name="transform" type="Transform3D" /> + <argument index="3" name="disabled" type="bool" /> + <description> + </description> + </method> + <method name="_body_apply_central_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="force" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_apply_central_impulse" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="impulse" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_apply_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="force" type="Vector3" /> + <argument index="2" name="position" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_apply_impulse" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="impulse" type="Vector3" /> + <argument index="2" name="position" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_apply_torque" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="torque" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_apply_torque_impulse" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="impulse" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_attach_object_instance_id" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="id" type="int" /> + <description> + </description> + </method> + <method name="_body_clear_shapes" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_body_get_collision_layer" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_collision_mask" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_constant_force" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_constant_torque" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_direct_state" qualifiers="virtual"> + <return type="PhysicsDirectBodyState3D" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_max_contacts_reported" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_mode" qualifiers="virtual const"> + <return type="int" enum="PhysicsServer3D.BodyMode" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_object_instance_id" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_param" qualifiers="virtual const"> + <return type="Variant" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.BodyParameter" /> + <description> + </description> + </method> + <method name="_body_get_shape" qualifiers="virtual const"> + <return type="RID" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <description> + </description> + </method> + <method name="_body_get_shape_count" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_shape_transform" qualifiers="virtual const"> + <return type="Transform3D" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <description> + </description> + </method> + <method name="_body_get_space" qualifiers="virtual const"> + <return type="RID" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_get_state" qualifiers="virtual const"> + <return type="Variant" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="state" type="int" enum="PhysicsServer3D.BodyState" /> + <description> + </description> + </method> + <method name="_body_is_axis_locked" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="axis" type="int" enum="PhysicsServer3D.BodyAxis" /> + <description> + </description> + </method> + <method name="_body_is_continuous_collision_detection_enabled" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_is_omitting_force_integration" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_remove_collision_exception" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="excepted_body" type="RID" /> + <description> + </description> + </method> + <method name="_body_remove_shape" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <description> + </description> + </method> + <method name="_body_reset_mass_properties" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_body_set_axis_lock" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="axis" type="int" enum="PhysicsServer3D.BodyAxis" /> + <argument index="2" name="lock" type="bool" /> + <description> + </description> + </method> + <method name="_body_set_axis_velocity" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="axis_velocity" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_set_collision_layer" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="layer" type="int" /> + <description> + </description> + </method> + <method name="_body_set_collision_mask" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="mask" type="int" /> + <description> + </description> + </method> + <method name="_body_set_constant_force" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="force" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_set_constant_torque" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="torque" type="Vector3" /> + <description> + </description> + </method> + <method name="_body_set_enable_continuous_collision_detection" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="enable" type="bool" /> + <description> + </description> + </method> + <method name="_body_set_force_integration_callback" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="callable" type="Callable" /> + <argument index="2" name="userdata" type="Variant" /> + <description> + </description> + </method> + <method name="_body_set_max_contacts_reported" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="amount" type="int" /> + <description> + </description> + </method> + <method name="_body_set_mode" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="mode" type="int" enum="PhysicsServer3D.BodyMode" /> + <description> + </description> + </method> + <method name="_body_set_omit_force_integration" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="enable" type="bool" /> + <description> + </description> + </method> + <method name="_body_set_param" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.BodyParameter" /> + <argument index="2" name="value" type="Variant" /> + <description> + </description> + </method> + <method name="_body_set_ray_pickable" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="enable" type="bool" /> + <description> + </description> + </method> + <method name="_body_set_shape" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <argument index="2" name="shape" type="RID" /> + <description> + </description> + </method> + <method name="_body_set_shape_disabled" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <argument index="2" name="disabled" type="bool" /> + <description> + </description> + </method> + <method name="_body_set_shape_transform" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="shape_idx" type="int" /> + <argument index="2" name="transform" type="Transform3D" /> + <description> + </description> + </method> + <method name="_body_set_space" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="space" type="RID" /> + <description> + </description> + </method> + <method name="_body_set_state" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="state" type="int" enum="PhysicsServer3D.BodyState" /> + <argument index="2" name="value" type="Variant" /> + <description> + </description> + </method> + <method name="_body_test_motion" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="body" type="RID" /> + <argument index="1" name="from" type="Transform3D" /> + <argument index="2" name="motion" type="Vector3" /> + <argument index="3" name="margin" type="float" /> + <argument index="4" name="max_collisions" type="int" /> + <argument index="5" name="collide_separation_ray" type="bool" /> + <argument index="6" name="result" type="PhysicsServer3DExtensionMotionResult*" /> + <description> + </description> + </method> + <method name="_box_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_capsule_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_concave_polygon_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_cone_twist_joint_get_param" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.ConeTwistJointParam" /> + <description> + </description> + </method> + <method name="_cone_twist_joint_set_param" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.ConeTwistJointParam" /> + <argument index="2" name="value" type="float" /> + <description> + </description> + </method> + <method name="_convex_polygon_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_custom_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_cylinder_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_free_rid" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="rid" type="RID" /> + <description> + </description> + </method> + <method name="_generic_6dof_joint_get_flag" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="axis" type="int" enum="Vector3.Axis" /> + <argument index="2" name="flag" type="int" enum="PhysicsServer3D.G6DOFJointAxisFlag" /> + <description> + </description> + </method> + <method name="_generic_6dof_joint_get_param" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="axis" type="int" enum="Vector3.Axis" /> + <argument index="2" name="param" type="int" enum="PhysicsServer3D.G6DOFJointAxisParam" /> + <description> + </description> + </method> + <method name="_generic_6dof_joint_set_flag" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="axis" type="int" enum="Vector3.Axis" /> + <argument index="2" name="flag" type="int" enum="PhysicsServer3D.G6DOFJointAxisFlag" /> + <argument index="3" name="enable" type="bool" /> + <description> + </description> + </method> + <method name="_generic_6dof_joint_set_param" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="axis" type="int" enum="Vector3.Axis" /> + <argument index="2" name="param" type="int" enum="PhysicsServer3D.G6DOFJointAxisParam" /> + <argument index="3" name="value" type="float" /> + <description> + </description> + </method> + <method name="_get_process_info" qualifiers="virtual"> + <return type="int" /> + <argument index="0" name="process_info" type="int" enum="PhysicsServer3D.ProcessInfo" /> + <description> + </description> + </method> + <method name="_heightmap_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_hinge_joint_get_flag" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="flag" type="int" enum="PhysicsServer3D.HingeJointFlag" /> + <description> + </description> + </method> + <method name="_hinge_joint_get_param" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.HingeJointParam" /> + <description> + </description> + </method> + <method name="_hinge_joint_set_flag" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="flag" type="int" enum="PhysicsServer3D.HingeJointFlag" /> + <argument index="2" name="enabled" type="bool" /> + <description> + </description> + </method> + <method name="_hinge_joint_set_param" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.HingeJointParam" /> + <argument index="2" name="value" type="float" /> + <description> + </description> + </method> + <method name="_joint_clear" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <description> + </description> + </method> + <method name="_joint_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_joint_get_solver_priority" qualifiers="virtual const"> + <return type="int" /> + <argument index="0" name="joint" type="RID" /> + <description> + </description> + </method> + <method name="_joint_get_type" qualifiers="virtual const"> + <return type="int" enum="PhysicsServer3D.JointType" /> + <argument index="0" name="joint" type="RID" /> + <description> + </description> + </method> + <method name="_joint_make_cone_twist" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="body_A" type="RID" /> + <argument index="2" name="local_ref_A" type="Transform3D" /> + <argument index="3" name="body_B" type="RID" /> + <argument index="4" name="local_ref_B" type="Transform3D" /> + <description> + </description> + </method> + <method name="_joint_make_generic_6dof" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="body_A" type="RID" /> + <argument index="2" name="local_ref_A" type="Transform3D" /> + <argument index="3" name="body_B" type="RID" /> + <argument index="4" name="local_ref_B" type="Transform3D" /> + <description> + </description> + </method> + <method name="_joint_make_hinge" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="body_A" type="RID" /> + <argument index="2" name="hinge_A" type="Transform3D" /> + <argument index="3" name="body_B" type="RID" /> + <argument index="4" name="hinge_B" type="Transform3D" /> + <description> + </description> + </method> + <method name="_joint_make_pin" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="body_A" type="RID" /> + <argument index="2" name="local_A" type="Vector3" /> + <argument index="3" name="body_B" type="RID" /> + <argument index="4" name="local_B" type="Vector3" /> + <description> + </description> + </method> + <method name="_joint_make_slider" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="body_A" type="RID" /> + <argument index="2" name="local_ref_A" type="Transform3D" /> + <argument index="3" name="body_B" type="RID" /> + <argument index="4" name="local_ref_B" type="Transform3D" /> + <description> + </description> + </method> + <method name="_joint_set_solver_priority" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="priority" type="int" /> + <description> + </description> + </method> + <method name="_pin_joint_get_local_a" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="joint" type="RID" /> + <description> + </description> + </method> + <method name="_pin_joint_get_local_b" qualifiers="virtual const"> + <return type="Vector3" /> + <argument index="0" name="joint" type="RID" /> + <description> + </description> + </method> + <method name="_pin_joint_get_param" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.PinJointParam" /> + <description> + </description> + </method> + <method name="_pin_joint_set_local_a" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="local_A" type="Vector3" /> + <description> + </description> + </method> + <method name="_pin_joint_set_local_b" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="local_B" type="Vector3" /> + <description> + </description> + </method> + <method name="_pin_joint_set_param" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.PinJointParam" /> + <argument index="2" name="value" type="float" /> + <description> + </description> + </method> + <method name="_separation_ray_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_set_active" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="active" type="bool" /> + <description> + </description> + </method> + <method name="_shape_get_data" qualifiers="virtual const"> + <return type="Variant" /> + <argument index="0" name="shape" type="RID" /> + <description> + </description> + </method> + <method name="_shape_get_type" qualifiers="virtual const"> + <return type="int" enum="PhysicsServer3D.ShapeType" /> + <argument index="0" name="shape" type="RID" /> + <description> + </description> + </method> + <method name="_shape_set_data" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="shape" type="RID" /> + <argument index="1" name="data" type="Variant" /> + <description> + </description> + </method> + <method name="_slider_joint_get_param" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.SliderJointParam" /> + <description> + </description> + </method> + <method name="_slider_joint_set_param" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="joint" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.SliderJointParam" /> + <argument index="2" name="value" type="float" /> + <description> + </description> + </method> + <method name="_soft_body_get_bounds" qualifiers="virtual const"> + <return type="AABB" /> + <argument index="0" name="body" type="RID" /> + <description> + </description> + </method> + <method name="_space_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_space_get_direct_state" qualifiers="virtual"> + <return type="PhysicsDirectSpaceState3D" /> + <argument index="0" name="space" type="RID" /> + <description> + </description> + </method> + <method name="_space_get_param" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="space" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.SpaceParameter" /> + <description> + </description> + </method> + <method name="_space_is_active" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="space" type="RID" /> + <description> + </description> + </method> + <method name="_space_set_active" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="space" type="RID" /> + <argument index="1" name="active" type="bool" /> + <description> + </description> + </method> + <method name="_space_set_param" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="space" type="RID" /> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.SpaceParameter" /> + <argument index="2" name="value" type="float" /> + <description> + </description> + </method> + <method name="_sphere_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + <method name="_world_boundary_shape_create" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> + </methods> +</class> diff --git a/doc/classes/PhysicsServer3DRenderingServerHandler.xml b/doc/classes/PhysicsServer3DRenderingServerHandler.xml new file mode 100644 index 0000000000..a40a2dd1c6 --- /dev/null +++ b/doc/classes/PhysicsServer3DRenderingServerHandler.xml @@ -0,0 +1,31 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicsServer3DRenderingServerHandler" inherits="Object" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="_set_aabb" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="aabb" type="AABB" /> + <description> + </description> + </method> + <method name="_set_normal" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="vertex_id" type="int" /> + <argument index="1" name="normals" type="const void*" /> + <description> + </description> + </method> + <method name="_set_vertex" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="vertex_id" type="int" /> + <argument index="1" name="vertices" type="const void*" /> + <description> + </description> + </method> + </methods> +</class> diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml index f037b0bf1e..a42ceba777 100644 --- a/doc/classes/Plane.xml +++ b/doc/classes/Plane.xml @@ -173,11 +173,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Plane" /> <description> Returns [code]true[/code] if the planes are not equal. @@ -186,11 +181,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Plane" /> <description> Returns [code]true[/code] if the planes are exactly equal. diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml index b64c392357..4bcfc3c726 100644 --- a/doc/classes/PopupMenu.xml +++ b/doc/classes/PopupMenu.xml @@ -7,6 +7,7 @@ [PopupMenu] is a modal window used to display a list of options. They are popular in toolbars or context menus. The size of a [PopupMenu] can be limited by using [member Window.max_size]. If the height of the list of items is larger than the maximum height of the [PopupMenu], a [ScrollContainer] within the popup will allow the user to scroll the contents. If no maximum size is set, or if it is set to 0, the [PopupMenu] height will be limited by its parent rect. + All [code]set_*[/code] methods allow negative item index, which makes the item accessed from the last one. </description> <tutorials> </tutorials> diff --git a/doc/classes/PrimitiveMesh.xml b/doc/classes/PrimitiveMesh.xml index d0136e389a..7046a21f68 100644 --- a/doc/classes/PrimitiveMesh.xml +++ b/doc/classes/PrimitiveMesh.xml @@ -9,6 +9,11 @@ <tutorials> </tutorials> <methods> + <method name="_create_mesh_array" qualifiers="virtual const"> + <return type="Array" /> + <description> + </description> + </method> <method name="get_mesh_arrays" qualifiers="const"> <return type="Array" /> <description> @@ -29,10 +34,10 @@ </method> </methods> <members> - <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb" default="AABB(0, 0, 0, 0, 0, 0)"> + <member name="custom_aabb" type="AABB" setter="set_custom_aabb" getter="get_custom_aabb"> Overrides the [AABB] with one defined by user for use with frustum culling. Especially useful to avoid unexpected culling when using a shader to offset vertices. </member> - <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces" default="false"> + <member name="flip_faces" type="bool" setter="set_flip_faces" getter="get_flip_faces"> If set, the order of the vertices in each triangle are reversed resulting in the backside of the mesh being drawn. This gives the same result as using [constant BaseMaterial3D.CULL_FRONT] in [member BaseMaterial3D.cull_mode]. </member> diff --git a/doc/classes/ProceduralSkyMaterial.xml b/doc/classes/ProceduralSkyMaterial.xml index 2b15508119..bf33232406 100644 --- a/doc/classes/ProceduralSkyMaterial.xml +++ b/doc/classes/ProceduralSkyMaterial.xml @@ -23,6 +23,12 @@ <member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color" default="Color(0.6463, 0.6558, 0.6708, 1)"> Color of the ground at the horizon. Blends with [member ground_bottom_color]. </member> + <member name="sky_cover" type="Texture2D" setter="set_sky_cover" getter="get_sky_cover"> + The sky cover texture to use. This texture must use an equirectangular projection (similar to [PanoramaSkyMaterial]). The texture's colors will be [i]added[/i] to the existing sky color, and will be multiplied by [member sky_energy] and [member sky_cover_modulate]. This is mainly suited to displaying stars at night, but it can also be used to display clouds at day or night (with a non-physically-accurate look). + </member> + <member name="sky_cover_modulate" type="Color" setter="set_sky_cover_modulate" getter="get_sky_cover_modulate" default="Color(1, 1, 1, 1)"> + The tint to apply to the [member sky_cover] texture. This can be used to change the sky cover's colors or opacity independently of the sky energy, which is useful for day/night or weather transitions. Only effective if a texture is defined in [member sky_cover]. + </member> <member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve" default="0.15"> How quickly the [member sky_horizon_color] fades into the [member sky_top_color]. </member> diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml index 60b66a2493..1e9ab7c375 100644 --- a/doc/classes/ProgressBar.xml +++ b/doc/classes/ProgressBar.xml @@ -12,8 +12,6 @@ <member name="percent_visible" type="bool" setter="set_percent_visible" getter="is_percent_visible" default="true"> If [code]true[/code], the fill percentage is displayed on the bar. </member> - <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" /> - <member name="step" type="float" setter="set_step" getter="get_step" overrides="Range" default="0.01" /> </members> <theme_items> <theme_item name="font_color" data_type="color" type="Color" default="Color(0.95, 0.95, 0.95, 1)"> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index be2c1ad372..068b2c7757 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -226,6 +226,9 @@ The project's name. It is used both by the Project Manager and by exporters. The project name can be translated by translating its value in localization files. The window title will be set to match the project name automatically on startup. [b]Note:[/b] Changing this value will also change the user data folder's path if [member application/config/use_custom_user_dir] is [code]false[/code]. After renaming the project, you will no longer be able to access existing data in [code]user://[/code] unless you rename the old folder to match the new project name. See [url=$DOCS_URL/tutorials/io/data_paths.html]Data paths[/url] in the documentation for more information. </member> + <member name="application/config/name_localized" type="Dictionary" setter="" getter="" default="{}"> + Translations of the project's name. This setting is used by OS tools to translate application name on Android, iOS and macOS. + </member> <member name="application/config/project_settings_override" type="String" setter="" getter="" default=""""> Specifies a file to override project settings. For example: [code]user://custom_settings.cfg[/code]. See "Overriding" in the [ProjectSettings] class description at the top for more information. [b]Note:[/b] Regardless of this setting's value, [code]res://override.cfg[/code] will still be read to override the project settings. @@ -1493,7 +1496,7 @@ </member> <member name="physics/3d/physics_engine" type="String" setter="" getter="" default=""DEFAULT""> Sets which physics engine to use for 3D physics. - "DEFAULT" is currently the [url=https://bulletphysics.org]Bullet[/url] physics engine. The "GodotPhysics3D" engine is still supported as an alternative. + "DEFAULT" and "GodotPhysics3D" are the same, as there is currently no alternative 3D physics server implemented. </member> <member name="physics/3d/run_on_separate_thread" type="bool" setter="" getter="" default="false"> If [code]true[/code], the 3D physics server runs on a separate thread, making better use of multi-core CPUs. If [code]false[/code], the 3D physics server runs on the main thread. Running the physics server on a separate thread can increase performance, but restricts API access to only physics process. @@ -1504,10 +1507,6 @@ <member name="physics/3d/sleep_threshold_linear" type="float" setter="" getter="" default="0.1"> Threshold linear velocity under which a 3D physics body will be considered inactive. See [constant PhysicsServer3D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]. </member> - <member name="physics/3d/smooth_trimesh_collision" type="bool" setter="" getter="" default="false"> - If [code]true[/code], smooths out collision with trimesh shapes ([ConcavePolygonShape3D]) by telling the Bullet physics engine to generate internal edge information for every trimesh shape created. - [b]Note:[/b] Only effective if [member physics/3d/physics_engine] is set to [code]Bullet[/code], [i]not[/i] [code]DEFAULT[/code] or [code]GodotPhysics[/code]. - </member> <member name="physics/3d/solver/contact_max_allowed_penetration" type="float" setter="" getter="" default="0.01"> Maximum distance a shape can penetrate another shape before it is considered a collision. See [constant PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION]. </member> diff --git a/doc/classes/Quaternion.xml b/doc/classes/Quaternion.xml index c94b649b58..48e6317b11 100644 --- a/doc/classes/Quaternion.xml +++ b/doc/classes/Quaternion.xml @@ -91,6 +91,11 @@ Returns the dot product of two quaternions. </description> </method> + <method name="exp" qualifiers="const"> + <return type="Quaternion" /> + <description> + </description> + </method> <method name="get_angle" qualifiers="const"> <return type="float" /> <description> @@ -138,6 +143,11 @@ Returns the length of the quaternion, squared. </description> </method> + <method name="log" qualifiers="const"> + <return type="Quaternion" /> + <description> + </description> + </method> <method name="normalized" qualifiers="const"> <return type="Quaternion" /> <description> @@ -188,11 +198,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Quaternion" /> <description> Returns [code]true[/code] if the quaternions are not equal. @@ -257,11 +262,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Quaternion" /> <description> Returns [code]true[/code] if the quaternions are exactly equal. diff --git a/doc/classes/RID.xml b/doc/classes/RID.xml index 6888c1f56c..39be605e1b 100644 --- a/doc/classes/RID.xml +++ b/doc/classes/RID.xml @@ -40,11 +40,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="RID" /> <description> </description> @@ -63,11 +58,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="RID" /> <description> </description> diff --git a/doc/classes/Range.xml b/doc/classes/Range.xml index 70a9912b76..9743d969ca 100644 --- a/doc/classes/Range.xml +++ b/doc/classes/Range.xml @@ -9,49 +9,56 @@ <tutorials> </tutorials> <methods> + <method name="_value_changed" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="" type="float" /> + <description> + Called when the [Range]'s value is changed (following the same conditions as [signal value_changed]). + </description> + </method> <method name="share"> <return type="void" /> <argument index="0" name="with" type="Node" /> <description> - Binds two ranges together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group. + Binds two [Range]s together along with any ranges previously grouped with either of them. When any of range's member variables change, it will share the new value with all other ranges in its group. </description> </method> <method name="unshare"> <return type="void" /> <description> - Stops range from sharing its member variables with any other. + Stops the [Range] from sharing its member variables with any other. </description> </method> </methods> <members> - <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed" default="false"> + <member name="allow_greater" type="bool" setter="set_allow_greater" getter="is_greater_allowed"> If [code]true[/code], [member value] may be greater than [member max_value]. </member> - <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed" default="false"> + <member name="allow_lesser" type="bool" setter="set_allow_lesser" getter="is_lesser_allowed"> If [code]true[/code], [member value] may be less than [member min_value]. </member> - <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp" default="false"> + <member name="exp_edit" type="bool" setter="set_exp_ratio" getter="is_ratio_exp"> If [code]true[/code], and [code]min_value[/code] is greater than 0, [code]value[/code] will be represented exponentially rather than linearly. </member> - <member name="max_value" type="float" setter="set_max" getter="get_max" default="100.0"> + <member name="max_value" type="float" setter="set_max" getter="get_max"> Maximum value. Range is clamped if [code]value[/code] is greater than [code]max_value[/code]. </member> - <member name="min_value" type="float" setter="set_min" getter="get_min" default="0.0"> + <member name="min_value" type="float" setter="set_min" getter="get_min"> Minimum value. Range is clamped if [code]value[/code] is less than [code]min_value[/code]. </member> - <member name="page" type="float" setter="set_page" getter="get_page" default="0.0"> + <member name="page" type="float" setter="set_page" getter="get_page"> Page size. Used mainly for [ScrollBar]. ScrollBar's length is its size multiplied by [code]page[/code] over the difference between [code]min_value[/code] and [code]max_value[/code]. </member> <member name="ratio" type="float" setter="set_as_ratio" getter="get_as_ratio"> The value mapped between 0 and 1. </member> - <member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values" default="false"> + <member name="rounded" type="bool" setter="set_use_rounded_values" getter="is_using_rounded_values"> If [code]true[/code], [code]value[/code] will always be rounded to the nearest integer. </member> - <member name="step" type="float" setter="set_step" getter="get_step" default="1.0"> + <member name="step" type="float" setter="set_step" getter="get_step"> If greater than 0, [code]value[/code] will always be rounded to a multiple of [code]step[/code]. If [code]rounded[/code] is also [code]true[/code], [code]value[/code] will first be rounded to a multiple of [code]step[/code] then rounded to the nearest integer. </member> - <member name="value" type="float" setter="set_value" getter="get_value" default="0.0"> + <member name="value" type="float" setter="set_value" getter="get_value"> Range's current value. </member> </members> @@ -64,7 +71,8 @@ <signal name="value_changed"> <argument index="0" name="value" type="float" /> <description> - Emitted when [member value] changes. + Emitted when [member value] changes. When used on a [Slider], this is called continuously while dragging (potentially every frame). If you are performing an expensive operation in a function connected to [signal value_changed], consider using a [i]debouncing[/i] [Timer] to call the function less often. + [b]Note:[/b] Unlike signals such as [signal LineEdit.text_changed], [signal value_changed] is also emitted when [code]value[/code] is set directly via code. </description> </signal> </signals> diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml index a975382bfa..e4b66a9d53 100644 --- a/doc/classes/Rect2.xml +++ b/doc/classes/Rect2.xml @@ -189,11 +189,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Rect2" /> <description> Returns [code]true[/code] if the rectangles are not equal. @@ -209,11 +204,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Rect2" /> <description> Returns [code]true[/code] if the rectangles are exactly equal. diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml index 49fdd8e7e8..c9ae685a15 100644 --- a/doc/classes/Rect2i.xml +++ b/doc/classes/Rect2i.xml @@ -178,11 +178,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Rect2i" /> <description> Returns [code]true[/code] if the rectangles are not equal. @@ -190,11 +185,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Rect2i" /> <description> Returns [code]true[/code] if the rectangles are equal. diff --git a/doc/classes/RectangleShape2D.xml b/doc/classes/RectangleShape2D.xml index cc3da8a789..124d752ae0 100644 --- a/doc/classes/RectangleShape2D.xml +++ b/doc/classes/RectangleShape2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="RectangleShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Rectangle shape for 2D collisions. + Rectangle shape resource for 2D physics. </brief_description> <description> - Rectangle shape for 2D collisions. This shape is useful for modeling box-like 2D objects. + 2D rectangle shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. This shape is useful for modeling box-like 2D objects. + [b]Performance:[/b] Being a primitive collision shape, [RectangleShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]). </description> <tutorials> <link title="2D Pong Demo">https://godotengine.org/asset-library/asset/121</link> diff --git a/doc/classes/RenderingServer.xml b/doc/classes/RenderingServer.xml index 50990b5320..213dafa074 100644 --- a/doc/classes/RenderingServer.xml +++ b/doc/classes/RenderingServer.xml @@ -149,6 +149,17 @@ Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. </description> </method> + <method name="canvas_item_add_animation_slice"> + <return type="void" /> + <argument index="0" name="item" type="RID" /> + <argument index="1" name="animation_length" type="float" /> + <argument index="2" name="slice_begin" type="float" /> + <argument index="3" name="slice_end" type="float" /> + <argument index="4" name="offset" type="float" default="0.0" /> + <description> + Subsequent drawing commands will be ignored unless they fall within the specified animation slice. This is a faster way to implement animations that loop on background rather than redrawing constantly. + </description> + </method> <method name="canvas_item_add_circle"> <return type="void" /> <argument index="0" name="item" type="RID" /> diff --git a/doc/classes/Resource.xml b/doc/classes/Resource.xml index 0850d39015..b08b1540ab 100644 --- a/doc/classes/Resource.xml +++ b/doc/classes/Resource.xml @@ -12,6 +12,11 @@ <link title="When and how to avoid using nodes for everything">$DOCS_URL/tutorials/best_practices/node_alternatives.html</link> </tutorials> <methods> + <method name="_get_rid" qualifiers="virtual"> + <return type="RID" /> + <description> + </description> + </method> <method name="duplicate" qualifiers="const"> <return type="Resource" /> <argument index="0" name="subresources" type="bool" default="false" /> diff --git a/doc/classes/ResourceFormatLoader.xml b/doc/classes/ResourceFormatLoader.xml index 983a05800f..36b64f5a86 100644 --- a/doc/classes/ResourceFormatLoader.xml +++ b/doc/classes/ResourceFormatLoader.xml @@ -6,7 +6,7 @@ <description> Godot loads resources in the editor or in exported games using ResourceFormatLoaders. They are queried automatically via the [ResourceLoader] singleton, or when a resource with internal dependencies is loaded. Each file type may load as a different resource type, so multiple ResourceFormatLoaders are registered in the engine. Extending this class allows you to define your own loader. Be sure to respect the documented return types and values. You should give it a global class name with [code]class_name[/code] for it to be registered. Like built-in ResourceFormatLoaders, it will be called automatically when loading resources of its handled type(s). You may also implement a [ResourceFormatSaver]. - [b]Note:[/b] You can also extend [EditorImportPlugin] if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends on if the format is suitable or not for the final exported game. For example, it's better to import [code].png[/code] textures as [code].stex[/code] ([CompressedTexture2D]) first, so they can be loaded with better efficiency on the graphics card. + [b]Note:[/b] You can also extend [EditorImportPlugin] if the resource type you need exists but Godot is unable to load its format. Choosing one way over another depends on if the format is suitable or not for the final exported game. For example, it's better to import [code].png[/code] textures as [code].ctex[/code] ([CompressedTexture2D]) first, so they can be loaded with better efficiency on the graphics card. </description> <tutorials> </tutorials> diff --git a/doc/classes/RigidDynamicBody3D.xml b/doc/classes/RigidDynamicBody3D.xml index 85cdcc7f8f..285176b8b0 100644 --- a/doc/classes/RigidDynamicBody3D.xml +++ b/doc/classes/RigidDynamicBody3D.xml @@ -227,7 +227,6 @@ [code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody3D] or [GridMap]. [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code]. [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code]. - [b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape3D]. Don't use multiple [CollisionShape3D]s when using a [ConcavePolygonShape3D] with Bullet physics if you need shape indices. </description> </signal> <signal name="body_shape_exited"> @@ -241,7 +240,6 @@ [code]body[/code] the [Node], if it exists in the tree, of the other [PhysicsBody3D] or [GridMap]. [code]body_shape_index[/code] the index of the [Shape3D] of the other [PhysicsBody3D] or [GridMap] used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]body.shape_owner_get_owner(body.shape_find_owner(body_shape_index))[/code]. [code]local_shape_index[/code] the index of the [Shape3D] of this RigidDynamicBody3D used by the [PhysicsServer3D]. Get the [CollisionShape3D] node with [code]self.shape_owner_get_owner(self.shape_find_owner(local_shape_index))[/code]. - [b]Note:[/b] Bullet physics cannot identify the shape index when using a [ConcavePolygonShape3D]. Don't use multiple [CollisionShape3D]s when using a [ConcavePolygonShape3D] with Bullet physics if you need shape indices. </description> </signal> <signal name="sleeping_state_changed"> diff --git a/doc/classes/ScrollBar.xml b/doc/classes/ScrollBar.xml index 266787c9c8..d0dd69408e 100644 --- a/doc/classes/ScrollBar.xml +++ b/doc/classes/ScrollBar.xml @@ -12,8 +12,6 @@ <member name="custom_step" type="float" setter="set_custom_step" getter="get_custom_step" default="-1.0"> Overrides the step used when clicking increment and decrement buttons or when using arrow keys when the [ScrollBar] is focused. </member> - <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" /> - <member name="step" type="float" setter="set_step" getter="get_step" overrides="Range" default="0.0" /> </members> <signals> <signal name="scrolling"> diff --git a/doc/classes/SegmentShape2D.xml b/doc/classes/SegmentShape2D.xml index 8109886262..a1809301e5 100644 --- a/doc/classes/SegmentShape2D.xml +++ b/doc/classes/SegmentShape2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="SegmentShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Segment shape for 2D collisions. + Segment shape resource for 2D physics. </brief_description> <description> - Segment shape for 2D collisions. Consists of two points, [code]a[/code] and [code]b[/code]. + 2D segment shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. Consists of two points, [code]a[/code] and [code]b[/code]. + [b]Performance:[/b] Being a primitive collision shape, [SegmentShape2D] is fast to check collisions against (though not as fast as [CircleShape2D]). </description> <tutorials> </tutorials> diff --git a/doc/classes/SeparationRayShape2D.xml b/doc/classes/SeparationRayShape2D.xml index 3e7a2857bf..d67c7b4cd9 100644 --- a/doc/classes/SeparationRayShape2D.xml +++ b/doc/classes/SeparationRayShape2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="SeparationRayShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Separation ray shape for 2D collisions. + Separation ray shape resource for 2D physics. </brief_description> <description> - Separation ray shape for 2D collisions. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters. + 2D separation ray shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters. + [b]Performance:[/b] Being a primitive collision shape, [SeparationRayShape2D] is fast to check collisions against. </description> <tutorials> </tutorials> diff --git a/doc/classes/SeparationRayShape3D.xml b/doc/classes/SeparationRayShape3D.xml index 028c3ba511..0fb4a07457 100644 --- a/doc/classes/SeparationRayShape3D.xml +++ b/doc/classes/SeparationRayShape3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="SeparationRayShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Separation ray shape for 3D collisions. + Separation ray shape resource for 3D physics. </brief_description> <description> - Separation ray shape for 3D collisions, which can be set into a [PhysicsBody3D] or [Area3D]. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters. + 3D separation ray shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. A ray is not really a collision body; instead, it tries to separate itself from whatever is touching its far endpoint. It's often useful for characters. + [b]Performance:[/b] Being a primitive collision shape, [SeparationRayShape3D] is fast to check collisions against. </description> <tutorials> </tutorials> diff --git a/doc/classes/Signal.xml b/doc/classes/Signal.xml index 1b67900607..c5855e30a4 100644 --- a/doc/classes/Signal.xml +++ b/doc/classes/Signal.xml @@ -99,22 +99,12 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Signal" /> <description> </description> </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Signal" /> <description> </description> diff --git a/doc/classes/Slider.xml b/doc/classes/Slider.xml index 03f20b0aab..4139530db1 100644 --- a/doc/classes/Slider.xml +++ b/doc/classes/Slider.xml @@ -13,11 +13,9 @@ <member name="editable" type="bool" setter="set_editable" getter="is_editable" default="true"> If [code]true[/code], the slider can be interacted with. If [code]false[/code], the value can be changed only by code. </member> - <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" overrides="Control" enum="Control.FocusMode" default="2" /> <member name="scrollable" type="bool" setter="set_scrollable" getter="is_scrollable" default="true"> If [code]true[/code], the value can be changed using the mouse wheel. </member> - <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="0" /> <member name="tick_count" type="int" setter="set_ticks" getter="get_ticks" default="0"> Number of ticks displayed on the slider, including border ticks. Ticks are uniformly-distributed value markers. </member> diff --git a/doc/classes/SphereShape3D.xml b/doc/classes/SphereShape3D.xml index b5e9c9069b..63084f024e 100644 --- a/doc/classes/SphereShape3D.xml +++ b/doc/classes/SphereShape3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="SphereShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Sphere shape for 3D collisions. + Sphere shape resource for 3D collisions. </brief_description> <description> - Sphere shape for 3D collisions, which can be set into a [PhysicsBody3D] or [Area3D]. This shape is useful for modeling sphere-like 3D objects. + 3D sphere shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. This shape is useful for modeling sphere-like 3D objects. + [b]Performance:[/b] Being a primitive collision shape, [SphereShape3D] is the fastest collision shape to check collisions against, as it only requires a distance check with the shape's origin. </description> <tutorials> <link title="3D Physics Tests Demo">https://godotengine.org/asset-library/asset/675</link> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index d85e521f08..ea0bd2adb1 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -865,11 +865,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="String" /> <description> </description> @@ -906,11 +901,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="String" /> <description> </description> diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml index c19fce9944..ffa1227500 100644 --- a/doc/classes/StringName.xml +++ b/doc/classes/StringName.xml @@ -4,7 +4,9 @@ An optimized string type for unique names. </brief_description> <description> - [StringName]s are immutable strings designed for general-purpose representation of unique names. [StringName] ensures that only one instance of a given name exists (so two [StringName]s with the same value are the same object). Comparing them is much faster than with regular [String]s, because only the pointers are compared, not the whole strings. + [StringName]s are immutable strings designed for general-purpose representation of unique names (also called "string interning"). [StringName] ensures that only one instance of a given name exists (so two [StringName]s with the same value are the same object). Comparing them is much faster than with regular [String]s, because only the pointers are compared, not the whole strings. + You will usually just pass a [String] to methods expecting a [StringName] and it will be automatically converted, but you may occasionally want to construct a [StringName] ahead of time with [StringName] or the literal syntax [code]&"example"[/code]. + See also [NodePath], which is a similar concept specifically designed to store pre-parsed node paths. </description> <tutorials> </tutorials> @@ -26,18 +28,13 @@ <return type="StringName" /> <argument index="0" name="from" type="String" /> <description> - Creates a new [StringName] from the given [String]. + Creates a new [StringName] from the given [String]. [code]StringName("example")[/code] is equivalent to [code]&"example"[/code]. </description> </constructor> </constructors> <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="String" /> <description> </description> @@ -62,11 +59,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="String" /> <description> </description> diff --git a/doc/classes/StyleBox.xml b/doc/classes/StyleBox.xml index f805692f4d..74d02a84fd 100644 --- a/doc/classes/StyleBox.xml +++ b/doc/classes/StyleBox.xml @@ -10,6 +10,37 @@ <tutorials> </tutorials> <methods> + <method name="_draw" qualifiers="virtual const"> + <return type="void" /> + <argument index="0" name="to_canvas_item" type="RID" /> + <argument index="1" name="rect" type="Rect2" /> + <description> + </description> + </method> + <method name="_get_center_size" qualifiers="virtual const"> + <return type="Vector2" /> + <description> + </description> + </method> + <method name="_get_draw_rect" qualifiers="virtual const"> + <return type="Rect2" /> + <argument index="0" name="rect" type="Rect2" /> + <description> + </description> + </method> + <method name="_get_style_margin" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="side" type="int" enum="Side" /> + <description> + </description> + </method> + <method name="_test_mask" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="point" type="Vector2" /> + <argument index="1" name="rect" type="Rect2" /> + <description> + </description> + </method> <method name="draw" qualifiers="const"> <return type="void" /> <argument index="0" name="canvas_item" type="RID" /> @@ -76,21 +107,21 @@ </method> </methods> <members> - <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0"> + <member name="content_margin_bottom" type="float" setter="set_default_margin" getter="get_default_margin"> The bottom margin for the contents of this style box. Increasing this value reduces the space available to the contents from the bottom. If this value is negative, it is ignored and a child-specific margin is used instead. For example for [StyleBoxFlat] the border thickness (if any) is used instead. It is up to the code using this style box to decide what these contents are: for example, a [Button] respects this content margin for the textual contents of the button. [method get_margin] should be used to fetch this value as consumer instead of reading these properties directly. This is because it correctly respects negative values and the fallback mentioned above. </member> - <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0"> + <member name="content_margin_left" type="float" setter="set_default_margin" getter="get_default_margin"> The left margin for the contents of this style box. Increasing this value reduces the space available to the contents from the left. Refer to [member content_margin_bottom] for extra considerations. </member> - <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0"> + <member name="content_margin_right" type="float" setter="set_default_margin" getter="get_default_margin"> The right margin for the contents of this style box. Increasing this value reduces the space available to the contents from the right. Refer to [member content_margin_bottom] for extra considerations. </member> - <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin" default="-1.0"> + <member name="content_margin_top" type="float" setter="set_default_margin" getter="get_default_margin"> The top margin for the contents of this style box. Increasing this value reduces the space available to the contents from the top. Refer to [member content_margin_bottom] for extra considerations. </member> diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml index 3157eea436..020c30b9cd 100644 --- a/doc/classes/TextServer.xml +++ b/doc/classes/TextServer.xml @@ -112,6 +112,13 @@ Returns the font descent (number of pixels below the baseline). </description> </method> + <method name="font_get_embolden" qualifiers="const"> + <return type="float" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Returns font embolden strength. + </description> + </method> <method name="font_get_fixed_size" qualifiers="const"> <return type="int" /> <argument index="0" name="font_rid" type="RID" /> @@ -368,6 +375,13 @@ Returns array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty. </description> </method> + <method name="font_get_transform" qualifiers="const"> + <return type="Transform2D" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Returns 2D transform applied to the font outlines. + </description> + </method> <method name="font_get_underline_position" qualifiers="const"> <return type="float" /> <argument index="0" name="font_rid" type="RID" /> @@ -542,6 +556,14 @@ Sets the font descent (number of pixels below the baseline). </description> </method> + <method name="font_set_embolden"> + <return type="void" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="strength" type="float" /> + <description> + Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness. + </description> + </method> <method name="font_set_fixed_size"> <return type="void" /> <argument index="0" name="font_rid" type="RID" /> @@ -765,6 +787,15 @@ Sets array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty. </description> </method> + <method name="font_set_transform"> + <return type="void" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="transform" type="Transform2D" /> + <description> + Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs. + For example, to simulate italic typeface by slanting, apply the following transform [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code]. + </description> + </method> <method name="font_set_underline_position"> <return type="void" /> <argument index="0" name="font_rid" type="RID" /> diff --git a/doc/classes/TextServerExtension.xml b/doc/classes/TextServerExtension.xml index f730f28e79..5ffd80bf63 100644 --- a/doc/classes/TextServerExtension.xml +++ b/doc/classes/TextServerExtension.xml @@ -112,6 +112,13 @@ Returns the font descent (number of pixels below the baseline). </description> </method> + <method name="_font_get_embolden" qualifiers="virtual const"> + <return type="float" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Returns font embolden strength. + </description> + </method> <method name="_font_get_fixed_size" qualifiers="virtual const"> <return type="int" /> <argument index="0" name="font_rid" type="RID" /> @@ -368,6 +375,13 @@ Returns array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty. </description> </method> + <method name="_font_get_transform" qualifiers="virtual const"> + <return type="Transform2D" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Retruns 2D transform applied to the font outlines. + </description> + </method> <method name="_font_get_underline_position" qualifiers="virtual const"> <return type="float" /> <argument index="0" name="font_rid" type="RID" /> @@ -551,6 +565,14 @@ Sets bitmap font fixed size. If set to value greater than zero, same cache entry will be used for all font sizes. </description> </method> + <method name="_font_set_embolden" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="strength" type="float" /> + <description> + Sets font embolden strength. If [code]strength[/code] is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness. + </description> + </method> <method name="_font_set_fixed_size" qualifiers="virtual"> <return type="void" /> <argument index="0" name="font_rid" type="RID" /> @@ -773,6 +795,15 @@ Sets array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty. </description> </method> + <method name="_font_set_transform" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="transform" type="Transform2D" /> + <description> + Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs. + For example, to simulate italic typeface by slanting, apply the following transform [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code]. + </description> + </method> <method name="_font_set_underline_position" qualifiers="virtual"> <return type="void" /> <argument index="0" name="font_rid" type="RID" /> diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml index de9bbb4b3d..1bbebe085e 100644 --- a/doc/classes/Texture2D.xml +++ b/doc/classes/Texture2D.xml @@ -12,6 +12,58 @@ <tutorials> </tutorials> <methods> + <method name="_draw" qualifiers="virtual const"> + <return type="void" /> + <argument index="0" name="to_canvas_item" type="RID" /> + <argument index="1" name="pos" type="Vector2" /> + <argument index="2" name="modulate" type="Color" /> + <argument index="3" name="transpose" type="bool" /> + <description> + </description> + </method> + <method name="_draw_rect" qualifiers="virtual const"> + <return type="void" /> + <argument index="0" name="to_canvas_item" type="RID" /> + <argument index="1" name="rect" type="Rect2" /> + <argument index="2" name="tile" type="bool" /> + <argument index="3" name="modulate" type="Color" /> + <argument index="4" name="transpose" type="bool" /> + <description> + </description> + </method> + <method name="_draw_rect_region" qualifiers="virtual const"> + <return type="void" /> + <argument index="0" name="tp_canvas_item" type="RID" /> + <argument index="1" name="rect" type="Rect2" /> + <argument index="2" name="src_rect" type="Rect2" /> + <argument index="3" name="modulate" type="Color" /> + <argument index="4" name="transpose" type="bool" /> + <argument index="5" name="clip_uv" type="bool" /> + <description> + </description> + </method> + <method name="_get_height" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_get_width" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_has_alpha" qualifiers="virtual const"> + <return type="bool" /> + <description> + </description> + </method> + <method name="_is_pixel_opaque" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="x" type="int" /> + <argument index="1" name="y" type="int" /> + <description> + </description> + </method> <method name="draw" qualifiers="const"> <return type="void" /> <argument index="0" name="canvas_item" type="RID" /> diff --git a/doc/classes/Texture3D.xml b/doc/classes/Texture3D.xml index bdfa428328..4968f46fe8 100644 --- a/doc/classes/Texture3D.xml +++ b/doc/classes/Texture3D.xml @@ -7,6 +7,36 @@ <tutorials> </tutorials> <methods> + <method name="_get_data" qualifiers="virtual const"> + <return type="Image[]" /> + <description> + </description> + </method> + <method name="_get_depth" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_get_format" qualifiers="virtual const"> + <return type="int" enum="Image.Format" /> + <description> + </description> + </method> + <method name="_get_height" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_get_width" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_has_mipmaps" qualifiers="virtual const"> + <return type="bool" /> + <description> + </description> + </method> <method name="get_data" qualifiers="const"> <return type="Image[]" /> <description> diff --git a/doc/classes/TextureLayered.xml b/doc/classes/TextureLayered.xml index 13679908d7..3445329f32 100644 --- a/doc/classes/TextureLayered.xml +++ b/doc/classes/TextureLayered.xml @@ -9,6 +9,42 @@ <tutorials> </tutorials> <methods> + <method name="_get_format" qualifiers="virtual const"> + <return type="int" enum="Image.Format" /> + <description> + </description> + </method> + <method name="_get_height" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_get_layer_data" qualifiers="virtual const"> + <return type="Image" /> + <argument index="0" name="layer_index" type="int" /> + <description> + </description> + </method> + <method name="_get_layered_type" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_get_layers" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_get_width" qualifiers="virtual const"> + <return type="int" /> + <description> + </description> + </method> + <method name="_has_mipmaps" qualifiers="virtual const"> + <return type="bool" /> + <description> + </description> + </method> <method name="get_format" qualifiers="const"> <return type="int" enum="Image.Format" /> <description> diff --git a/doc/classes/TextureProgressBar.xml b/doc/classes/TextureProgressBar.xml index a97e3a0cdc..4ea072a25f 100644 --- a/doc/classes/TextureProgressBar.xml +++ b/doc/classes/TextureProgressBar.xml @@ -27,7 +27,6 @@ <member name="fill_mode" type="int" setter="set_fill_mode" getter="get_fill_mode" default="0"> The fill direction. See [enum FillMode] for possible values. </member> - <member name="mouse_filter" type="int" setter="set_mouse_filter" getter="get_mouse_filter" overrides="Control" enum="Control.MouseFilter" default="1" /> <member name="nine_patch_stretch" type="bool" setter="set_nine_patch_stretch" getter="get_nine_patch_stretch" default="false"> If [code]true[/code], Godot treats the bar's textures like in [NinePatchRect]. Use the [code]stretch_margin_*[/code] properties like [member stretch_margin_bottom] to set up the nine patch's 3×3 grid. When using a radial [member fill_mode], this setting will enable stretching. </member> diff --git a/doc/classes/Time.xml b/doc/classes/Time.xml index bb59881db9..dd83fa54ff 100644 --- a/doc/classes/Time.xml +++ b/doc/classes/Time.xml @@ -97,6 +97,13 @@ If [code]use_space[/code] is true, use a space instead of the letter T in the middle. </description> </method> + <method name="get_offset_string_from_offset_minutes" qualifiers="const"> + <return type="String" /> + <argument index="0" name="offset_minutes" type="int" /> + <description> + Converts the given timezone offset in minutes to a timezone offset string. For example, -480 returns "-08:00", 345 returns "+05:45", and 0 returns "+00:00". + </description> + </method> <method name="get_ticks_msec" qualifiers="const"> <return type="int" /> <description> diff --git a/doc/classes/Transform2D.xml b/doc/classes/Transform2D.xml index 6c0c3032ec..3ad21ee809 100644 --- a/doc/classes/Transform2D.xml +++ b/doc/classes/Transform2D.xml @@ -206,11 +206,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Transform2D" /> <description> Returns [code]true[/code] if the transforms are not equal. @@ -261,11 +256,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Transform2D" /> <description> Returns [code]true[/code] if the transforms are exactly equal. diff --git a/doc/classes/Transform3D.xml b/doc/classes/Transform3D.xml index 67e70f30e4..5a72dc223c 100644 --- a/doc/classes/Transform3D.xml +++ b/doc/classes/Transform3D.xml @@ -148,11 +148,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Transform3D" /> <description> Returns [code]true[/code] if the transforms are not equal. @@ -203,11 +198,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Transform3D" /> <description> Returns [code]true[/code] if the transforms are exactly equal. diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index a39ddb8187..f9ef126658 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -359,11 +359,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Vector2" /> <description> Returns [code]true[/code] if the vectors are not equal. @@ -461,11 +456,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Vector2" /> <description> Returns [code]true[/code] if the vectors are exactly equal. diff --git a/doc/classes/Vector2i.xml b/doc/classes/Vector2i.xml index 9b41e01c25..28d68b6e44 100644 --- a/doc/classes/Vector2i.xml +++ b/doc/classes/Vector2i.xml @@ -133,11 +133,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Vector2i" /> <description> Returns [code]true[/code] if the vectors are not equal. @@ -253,11 +248,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Vector2i" /> <description> Returns [code]true[/code] if the vectors are equal. diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index ec695f41c1..1653b66003 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -360,11 +360,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Vector3" /> <description> Returns [code]true[/code] if the vectors are not equal. @@ -476,11 +471,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Vector3" /> <description> Returns [code]true[/code] if the vectors are exactly equal. diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml index e486d7cfec..4c7f3badc5 100644 --- a/doc/classes/Vector3i.xml +++ b/doc/classes/Vector3i.xml @@ -140,11 +140,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="Vector3i" /> <description> Returns [code]true[/code] if the vectors are not equal. @@ -260,11 +255,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="Vector3i" /> <description> Returns [code]true[/code] if the vectors are equal. diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index ce61f51b9a..a72e7f1eb0 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -130,11 +130,6 @@ Removes the focus from the currently focused [Control] within this viewport. If no [Control] has the focus, does nothing. </description> </method> - <method name="is_embedding_subwindows" qualifiers="const"> - <return type="bool" /> - <description> - </description> - </method> <method name="is_input_handled" qualifiers="const"> <return type="bool" /> <description> @@ -219,7 +214,8 @@ <member name="gui_disable_input" type="bool" setter="set_disable_input" getter="is_input_disabled" default="false"> If [code]true[/code], the viewport will not receive input events. </member> - <member name="gui_embed_subwindows" type="bool" setter="set_embed_subwindows_hint" getter="get_embed_subwindows_hint" default="false"> + <member name="gui_embed_subwindows" type="bool" setter="set_embedding_subwindows" getter="is_embedding_subwindows" default="false"> + If [code]true[/code], sub-windows (popups and dialogs) will be embedded inside application window as control-like nodes. If [code]false[/code], they will appear as separate windows handled by the operating system. </member> <member name="gui_snap_controls_to_pixels" type="bool" setter="set_snap_controls_to_pixels" getter="is_snap_controls_to_pixels_enabled" default="true"> If [code]true[/code], the GUI controls on the viewport will lay pixel perfectly. diff --git a/doc/classes/ViewportTexture.xml b/doc/classes/ViewportTexture.xml index e5b7a68a51..87de664aad 100644 --- a/doc/classes/ViewportTexture.xml +++ b/doc/classes/ViewportTexture.xml @@ -14,7 +14,6 @@ <link title="3D Viewport Scaling Demo">https://godotengine.org/asset-library/asset/586</link> </tutorials> <members> - <member name="resource_local_to_scene" type="bool" setter="set_local_to_scene" getter="is_local_to_scene" overrides="Resource" default="true" /> <member name="viewport_path" type="NodePath" setter="set_viewport_path_in_scene" getter="get_viewport_path_in_scene" default="NodePath("")"> The path to the [Viewport] node to display. This is relative to the scene root, not to the node which uses the texture. </member> diff --git a/doc/classes/VisualInstance3D.xml b/doc/classes/VisualInstance3D.xml index 1aae85c7e1..78a681d92a 100644 --- a/doc/classes/VisualInstance3D.xml +++ b/doc/classes/VisualInstance3D.xml @@ -9,6 +9,11 @@ <tutorials> </tutorials> <methods> + <method name="_get_aabb" qualifiers="virtual const"> + <return type="AABB" /> + <description> + </description> + </method> <method name="get_aabb" qualifiers="const"> <return type="AABB" /> <description> @@ -58,7 +63,7 @@ </method> </methods> <members> - <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask" default="1"> + <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask"> The render layer(s) this [VisualInstance3D] is drawn on. This object will only be visible for [Camera3D]s whose cull mask includes the render object this [VisualInstance3D] is set to. </member> diff --git a/doc/classes/WorldBoundaryShape2D.xml b/doc/classes/WorldBoundaryShape2D.xml index cfcaede4a6..5a655520c3 100644 --- a/doc/classes/WorldBoundaryShape2D.xml +++ b/doc/classes/WorldBoundaryShape2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="WorldBoundaryShape2D" inherits="Shape2D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - World boundary shape for 2D collisions. + World boundary (infinite plane) shape resource for 2D physics. </brief_description> <description> - World boundary shape for 2D collisions. It works like a 2D plane and will not allow any physics body to go to the negative side. Not recommended for rigid bodies, and usually not recommended for static bodies either because it forces checks against it on every frame. + 2D world boundary shape to be added as a [i]direct[/i] child of a [PhysicsBody2D] or [Area2D] using a [CollisionShape2D] node. [WorldBoundaryShape2D] works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [member normal] matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape2D] is used in a [PhysicsBody2D], it will cause colliding objects placed "below" it to teleport "above" the plane. + [b]Performance:[/b] Being a primitive collision shape, [WorldBoundaryShape2D] is fast to check collisions against. </description> <tutorials> </tutorials> diff --git a/doc/classes/WorldBoundaryShape3D.xml b/doc/classes/WorldBoundaryShape3D.xml index a05c404125..4f6b987a8e 100644 --- a/doc/classes/WorldBoundaryShape3D.xml +++ b/doc/classes/WorldBoundaryShape3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="WorldBoundaryShape3D" inherits="Shape3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - World boundary shape for 3D collisions. + World boundary (infinite plane) shape resource for 3D physics. </brief_description> <description> - World boundary shape for 3D collisions. It works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape3D] is used in a [PhysicsBody3D], it will cause colliding objects placed "below" it to teleport "above" the plane. + 3D world boundary shape to be added as a [i]direct[/i] child of a [PhysicsBody3D] or [Area3D] using a [CollisionShape3D] node. [WorldBoundaryShape3D] works like an infinite plane and will not allow any physics body to go to the negative side. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [WorldBoundaryShape3D] is used in a [PhysicsBody3D], it will cause colliding objects placed "below" it to teleport "above" the plane. + [b]Performance:[/b] Being a primitive collision shape, [WorldBoundaryShape3D] is fast to check collisions against. </description> <tutorials> </tutorials> diff --git a/doc/classes/XRPositionalTracker.xml b/doc/classes/XRPositionalTracker.xml index da378759d8..d15558c9e8 100644 --- a/doc/classes/XRPositionalTracker.xml +++ b/doc/classes/XRPositionalTracker.xml @@ -72,6 +72,9 @@ - [code]left_hand[/code] identifies the controller held in the players left hand - [code]right_hand[/code] identifies the controller held in the players right hand </member> + <member name="profile" type="String" setter="set_tracker_profile" getter="get_tracker_profile" default=""""> + The profile associated with this tracker, interface dependent but will indicate the type of controller being tracked. + </member> <member name="type" type="int" setter="set_tracker_type" getter="get_tracker_type" enum="XRServer.TrackerType" default="128"> The type of tracker. </member> @@ -109,6 +112,12 @@ Emitted when the state of a pose tracked by this tracker changes. </description> </signal> + <signal name="profile_changed"> + <argument index="0" name="role" type="String" /> + <description> + Emitted when the profile of our tracker changes. + </description> + </signal> </signals> <constants> <constant name="TRACKER_HAND_UNKNOWN" value="0" enum="TrackerHand"> diff --git a/doc/classes/bool.xml b/doc/classes/bool.xml index 6b1243b8c0..374b703636 100644 --- a/doc/classes/bool.xml +++ b/doc/classes/bool.xml @@ -123,11 +123,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="bool" /> <description> Returns [code]true[/code] if two bools are different, i.e. one is [code]true[/code] and the other is [code]false[/code]. @@ -142,12 +137,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - Returns [code]true[/code] if two bools are equal, i.e. both are [code]true[/code] or both are [code]false[/code]. - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="bool" /> <description> Returns [code]true[/code] if two bools are equal, i.e. both are [code]true[/code] or both are [code]false[/code]. diff --git a/doc/classes/float.xml b/doc/classes/float.xml index 1fe234c567..50961f9c7f 100644 --- a/doc/classes/float.xml +++ b/doc/classes/float.xml @@ -44,11 +44,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="float" /> <description> Returns [code]true[/code] if two floats are different from each other. @@ -201,11 +196,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="float" /> <description> Returns [code]true[/code] if both floats are exactly equal. diff --git a/doc/classes/int.xml b/doc/classes/int.xml index eac7ee8dfd..609291b69c 100644 --- a/doc/classes/int.xml +++ b/doc/classes/int.xml @@ -70,11 +70,6 @@ <operators> <operator name="operator !="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator !="> - <return type="bool" /> <argument index="0" name="right" type="float" /> <description> Returns [code]true[/code] if operands are different from each other. @@ -273,11 +268,6 @@ </operator> <operator name="operator =="> <return type="bool" /> - <description> - </description> - </operator> - <operator name="operator =="> - <return type="bool" /> <argument index="0" name="right" type="float" /> <description> Returns [code]true[/code] if the integer is equal to the given [float]. |