diff options
Diffstat (limited to 'doc/classes')
351 files changed, 8311 insertions, 3319 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index 5899829e95..47b9c80f3f 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -4,7 +4,7 @@ Global scope constants and variables. </brief_description> <description> - Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, scancodes, property hints, etc. + Global scope constants and variables. This is all that resides in the globals, constants regarding error codes, keycodes, property hints, etc. Singletons are also documented here, since they can be accessed from anywhere. </description> <tutorials> @@ -12,9 +12,6 @@ <methods> </methods> <members> - <member name="ARVRServer" type="ARVRServer" setter="" getter=""> - The [ARVRServer] singleton. - </member> <member name="AudioServer" type="AudioServer" setter="" getter=""> The [AudioServer] singleton. </member> @@ -24,15 +21,15 @@ <member name="ClassDB" type="ClassDB" setter="" getter=""> The [ClassDB] singleton. </member> + <member name="DisplayServer" type="DisplayServer" setter="" getter=""> + The [DisplayServer] singleton. + </member> <member name="Engine" type="Engine" setter="" getter=""> The [Engine] singleton. </member> <member name="Geometry" type="Geometry" setter="" getter=""> The [Geometry] singleton. </member> - <member name="GodotSharp" type="GodotSharp" setter="" getter=""> - The [GodotSharp] singleton. Only available when using Godot's Mono build. - </member> <member name="IP" type="IP" setter="" getter=""> The [IP] singleton. </member> @@ -53,17 +50,17 @@ The [JavaScript] singleton. [b]Note:[/b] Only implemented on HTML5. </member> - <member name="Marshalls" type="Reference" setter="" getter=""> + <member name="Marshalls" type="Marshalls" setter="" getter=""> The [Marshalls] singleton. </member> - <member name="Navigation2DServer" type="Navigation2DServer" setter="" getter=""> - The [Navigation2DServer] singleton. - </member> <member name="NavigationMeshGenerator" type="NavigationMeshGenerator" setter="" getter=""> The [NavigationMeshGenerator] singleton. </member> - <member name="NavigationServer" type="NavigationServer" setter="" getter=""> - The [NavigationServer] singleton. + <member name="NavigationServer2D" type="NavigationServer2D" setter="" getter=""> + The [NavigationServer2D] singleton. + </member> + <member name="NavigationServer3D" type="NavigationServer3D" setter="" getter=""> + The [NavigationServer2D] singleton. </member> <member name="OS" type="OS" setter="" getter=""> The [OS] singleton. @@ -71,15 +68,18 @@ <member name="Performance" type="Performance" setter="" getter=""> The [Performance] singleton. </member> - <member name="Physics2DServer" type="Physics2DServer" setter="" getter=""> - The [Physics2DServer] singleton. + <member name="PhysicsServer2D" type="PhysicsServer2D" setter="" getter=""> + The [PhysicsServer2D] singleton. </member> - <member name="PhysicsServer" type="PhysicsServer" setter="" getter=""> - The [PhysicsServer] singleton. + <member name="PhysicsServer3D" type="PhysicsServer3D" setter="" getter=""> + The [PhysicsServer3D] singleton. </member> <member name="ProjectSettings" type="ProjectSettings" setter="" getter=""> The [ProjectSettings] singleton. </member> + <member name="RenderingServer" type="RenderingServer" setter="" getter=""> + The [RenderingServer] singleton. + </member> <member name="ResourceLoader" type="ResourceLoader" setter="" getter=""> The [ResourceLoader] singleton. </member> @@ -92,8 +92,8 @@ <member name="VisualScriptEditor" type="VisualScriptEditor" setter="" getter=""> The [VisualScriptEditor] singleton. </member> - <member name="VisualServer" type="VisualServer" setter="" getter=""> - The [VisualServer] singleton. + <member name="XRServer" type="XRServer" setter="" getter=""> + The [XRServer] singleton. </member> </members> <constants> @@ -146,7 +146,7 @@ Vertical bottom alignment, usually for text-derived classes. </constant> <constant name="SPKEY" value="16777216"> - Scancodes with this bit applied are non-printable. + Keycodes with this bit applied are non-printable. </constant> <constant name="KEY_ESCAPE" value="16777217" enum="KeyList"> Escape key. @@ -1345,52 +1345,52 @@ <constant name="PROPERTY_HINT_LENGTH" value="5" enum="PropertyHint"> Deprecated hint, unused. </constant> - <constant name="PROPERTY_HINT_KEY_ACCEL" value="7" enum="PropertyHint"> + <constant name="PROPERTY_HINT_KEY_ACCEL" value="6" enum="PropertyHint"> Deprecated hint, unused. </constant> - <constant name="PROPERTY_HINT_FLAGS" value="8" enum="PropertyHint"> + <constant name="PROPERTY_HINT_FLAGS" value="7" enum="PropertyHint"> Hints that an integer property is a bitmask with named bit flags. For example, to allow toggling bits 0, 1, 2 and 4, the hint could be something like [code]"Bit0,Bit1,Bit2,,Bit4"[/code]. </constant> - <constant name="PROPERTY_HINT_LAYERS_2D_RENDER" value="9" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_2D_RENDER" value="8" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 2D render layers. </constant> - <constant name="PROPERTY_HINT_LAYERS_2D_PHYSICS" value="10" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_2D_PHYSICS" value="9" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 2D physics layers. </constant> - <constant name="PROPERTY_HINT_LAYERS_3D_RENDER" value="11" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_3D_RENDER" value="10" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 3D render layers. </constant> - <constant name="PROPERTY_HINT_LAYERS_3D_PHYSICS" value="12" enum="PropertyHint"> + <constant name="PROPERTY_HINT_LAYERS_3D_PHYSICS" value="11" enum="PropertyHint"> Hints that an integer property is a bitmask using the optionally named 3D physics layers. </constant> - <constant name="PROPERTY_HINT_FILE" value="13" enum="PropertyHint"> + <constant name="PROPERTY_HINT_FILE" value="12" enum="PropertyHint"> Hints that a string property is a path to a file. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code]. </constant> - <constant name="PROPERTY_HINT_DIR" value="14" enum="PropertyHint"> + <constant name="PROPERTY_HINT_DIR" value="13" enum="PropertyHint"> Hints that a string property is a path to a directory. Editing it will show a file dialog for picking the path. </constant> - <constant name="PROPERTY_HINT_GLOBAL_FILE" value="15" enum="PropertyHint"> + <constant name="PROPERTY_HINT_GLOBAL_FILE" value="14" enum="PropertyHint"> Hints that a string property is an absolute path to a file outside the project folder. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like [code]"*.png,*.jpg"[/code]. </constant> - <constant name="PROPERTY_HINT_GLOBAL_DIR" value="16" enum="PropertyHint"> + <constant name="PROPERTY_HINT_GLOBAL_DIR" value="15" enum="PropertyHint"> Hints that a string property is an absolute path to a directory outside the project folder. Editing it will show a file dialog for picking the path. </constant> - <constant name="PROPERTY_HINT_RESOURCE_TYPE" value="17" enum="PropertyHint"> + <constant name="PROPERTY_HINT_RESOURCE_TYPE" value="16" enum="PropertyHint"> Hints that a property is an instance of a [Resource]-derived type, optionally specified via the hint string (e.g. [code]"Texture2D"[/code]). Editing it will show a popup menu of valid resource types to instantiate. </constant> - <constant name="PROPERTY_HINT_MULTILINE_TEXT" value="18" enum="PropertyHint"> + <constant name="PROPERTY_HINT_MULTILINE_TEXT" value="17" enum="PropertyHint"> Hints that a string property is text with line breaks. Editing it will show a text input field where line breaks can be typed. </constant> - <constant name="PROPERTY_HINT_PLACEHOLDER_TEXT" value="19" enum="PropertyHint"> + <constant name="PROPERTY_HINT_PLACEHOLDER_TEXT" value="18" enum="PropertyHint"> Hints that a string property should have a placeholder text visible on its input field, whenever the property is empty. The hint string is the placeholder text to use. </constant> - <constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="20" enum="PropertyHint"> + <constant name="PROPERTY_HINT_COLOR_NO_ALPHA" value="19" enum="PropertyHint"> Hints that a color property should be edited without changing its alpha component, i.e. only R, G and B channels are edited. </constant> - <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="21" enum="PropertyHint"> + <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSY" value="20" enum="PropertyHint"> Hints that an image is compressed using lossy compression. </constant> - <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="22" enum="PropertyHint"> + <constant name="PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS" value="21" enum="PropertyHint"> Hints that an image is compressed using lossless compression. </constant> <constant name="PROPERTY_USAGE_STORAGE" value="1" enum="PropertyUsageFlags"> @@ -1420,6 +1420,9 @@ <constant name="PROPERTY_USAGE_CATEGORY" value="256" enum="PropertyUsageFlags"> Used to categorize properties together in the editor. </constant> + <constant name="PROPERTY_USAGE_SUBGROUP" value="512" enum="PropertyUsageFlags"> + Used to group properties together in the editor in a subgroup (under a group). + </constant> <constant name="PROPERTY_USAGE_NO_INSTANCE_STATE" value="2048" enum="PropertyUsageFlags"> The property does not save its state in [PackedScene]. </constant> @@ -1480,70 +1483,94 @@ <constant name="TYPE_VECTOR2" value="5" enum="Variant.Type"> Variable is of type [Vector2]. </constant> - <constant name="TYPE_RECT2" value="6" enum="Variant.Type"> + <constant name="TYPE_VECTOR2I" value="6" enum="Variant.Type"> + Variable is of type [Vector2i]. + </constant> + <constant name="TYPE_RECT2" value="7" enum="Variant.Type"> Variable is of type [Rect2]. </constant> - <constant name="TYPE_VECTOR3" value="7" enum="Variant.Type"> + <constant name="TYPE_RECT2I" value="8" enum="Variant.Type"> + Variable is of type [Rect2i]. + </constant> + <constant name="TYPE_VECTOR3" value="9" enum="Variant.Type"> Variable is of type [Vector3]. </constant> - <constant name="TYPE_TRANSFORM2D" value="8" enum="Variant.Type"> + <constant name="TYPE_VECTOR3I" value="10" enum="Variant.Type"> + Variable is of type [Vector3i]. + </constant> + <constant name="TYPE_TRANSFORM2D" value="11" enum="Variant.Type"> Variable is of type [Transform2D]. </constant> - <constant name="TYPE_PLANE" value="9" enum="Variant.Type"> + <constant name="TYPE_PLANE" value="12" enum="Variant.Type"> Variable is of type [Plane]. </constant> - <constant name="TYPE_QUAT" value="10" enum="Variant.Type"> + <constant name="TYPE_QUAT" value="13" enum="Variant.Type"> Variable is of type [Quat]. </constant> - <constant name="TYPE_AABB" value="11" enum="Variant.Type"> + <constant name="TYPE_AABB" value="14" enum="Variant.Type"> Variable is of type [AABB]. </constant> - <constant name="TYPE_BASIS" value="12" enum="Variant.Type"> + <constant name="TYPE_BASIS" value="15" enum="Variant.Type"> Variable is of type [Basis]. </constant> - <constant name="TYPE_TRANSFORM" value="13" enum="Variant.Type"> + <constant name="TYPE_TRANSFORM" value="16" enum="Variant.Type"> Variable is of type [Transform]. </constant> - <constant name="TYPE_COLOR" value="14" enum="Variant.Type"> + <constant name="TYPE_COLOR" value="17" enum="Variant.Type"> Variable is of type [Color]. </constant> - <constant name="TYPE_NODE_PATH" value="15" enum="Variant.Type"> + <constant name="TYPE_STRING_NAME" value="18" enum="Variant.Type"> + Variable is of type [StringName]. + </constant> + <constant name="TYPE_NODE_PATH" value="19" enum="Variant.Type"> Variable is of type [NodePath]. </constant> - <constant name="TYPE_RID" value="16" enum="Variant.Type"> + <constant name="TYPE_RID" value="20" enum="Variant.Type"> Variable is of type [RID]. </constant> - <constant name="TYPE_OBJECT" value="17" enum="Variant.Type"> + <constant name="TYPE_OBJECT" value="21" enum="Variant.Type"> Variable is of type [Object]. </constant> - <constant name="TYPE_DICTIONARY" value="18" enum="Variant.Type"> + <constant name="TYPE_CALLABLE" value="22" enum="Variant.Type"> + Variable is of type [Callable]. + </constant> + <constant name="TYPE_SIGNAL" value="23" enum="Variant.Type"> + Variable is of type [Signal]. + </constant> + <constant name="TYPE_DICTIONARY" value="24" enum="Variant.Type"> Variable is of type [Dictionary]. </constant> - <constant name="TYPE_ARRAY" value="19" enum="Variant.Type"> + <constant name="TYPE_ARRAY" value="25" enum="Variant.Type"> Variable is of type [Array]. </constant> - <constant name="TYPE_RAW_ARRAY" value="20" enum="Variant.Type"> + <constant name="TYPE_RAW_ARRAY" value="26" enum="Variant.Type"> Variable is of type [PackedByteArray]. </constant> - <constant name="TYPE_INT_ARRAY" value="21" enum="Variant.Type"> - Variable is of type [PackedIntArray]. + <constant name="TYPE_INT32_ARRAY" value="27" enum="Variant.Type"> + Variable is of type [PackedInt32Array]. + </constant> + <constant name="TYPE_INT64_ARRAY" value="28" enum="Variant.Type"> + Variable is of type [PackedInt64Array]. + </constant> + <constant name="TYPE_FLOAT32_ARRAY" value="29" enum="Variant.Type"> + Variable is of type [PackedFloat32Array]. </constant> - <constant name="TYPE_REAL_ARRAY" value="22" enum="Variant.Type"> - Variable is of type [PackedRealArray]. + <constant name="TYPE_FLOAT64_ARRAY" value="30" enum="Variant.Type"> + Variable is of type [PackedFloat64Array]. </constant> - <constant name="TYPE_STRING_ARRAY" value="23" enum="Variant.Type"> + <constant name="TYPE_STRING_ARRAY" value="31" enum="Variant.Type"> Variable is of type [PackedStringArray]. </constant> - <constant name="TYPE_VECTOR2_ARRAY" value="24" enum="Variant.Type"> + <constant name="TYPE_VECTOR2_ARRAY" value="32" enum="Variant.Type"> Variable is of type [PackedVector2Array]. </constant> - <constant name="TYPE_VECTOR3_ARRAY" value="25" enum="Variant.Type"> + <constant name="TYPE_VECTOR3_ARRAY" value="33" enum="Variant.Type"> Variable is of type [PackedVector3Array]. </constant> - <constant name="TYPE_COLOR_ARRAY" value="26" enum="Variant.Type"> + <constant name="TYPE_COLOR_ARRAY" value="34" enum="Variant.Type"> Variable is of type [PackedColorArray]. </constant> - <constant name="TYPE_MAX" value="27" enum="Variant.Type"> + <constant name="TYPE_MAX" value="35" enum="Variant.Type"> Represents the size of the [enum Variant.Type] enum. </constant> <constant name="OP_EQUAL" value="0" enum="Variant.Operator"> diff --git a/doc/classes/AStar.xml b/doc/classes/AStar.xml index d175aa6f45..e930abba87 100644 --- a/doc/classes/AStar.xml +++ b/doc/classes/AStar.xml @@ -152,7 +152,7 @@ </description> </method> <method name="get_id_path"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="from_id" type="int"> </argument> @@ -185,7 +185,7 @@ </description> </method> <method name="get_point_connections"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="id" type="int"> </argument> diff --git a/doc/classes/AStar2D.xml b/doc/classes/AStar2D.xml index af1fb3e273..16fa05041e 100644 --- a/doc/classes/AStar2D.xml +++ b/doc/classes/AStar2D.xml @@ -9,6 +9,30 @@ <tutorials> </tutorials> <methods> + <method name="_compute_cost" qualifiers="virtual"> + <return type="float"> + </return> + <argument index="0" name="from_id" type="int"> + </argument> + <argument index="1" name="to_id" type="int"> + </argument> + <description> + Called when computing the cost between two connected points. + Note that this function is hidden in the default [code]AStar2D[/code] class. + </description> + </method> + <method name="_estimate_cost" qualifiers="virtual"> + <return type="float"> + </return> + <argument index="0" name="from_id" type="int"> + </argument> + <argument index="1" name="to_id" type="int"> + </argument> + <description> + Called when estimating the cost between a point and the path's ending point. + Note that this function is hidden in the default [code]AStar2D[/code] class. + </description> + </method> <method name="add_point"> <return type="void"> </return> @@ -111,7 +135,7 @@ </description> </method> <method name="get_id_path"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="from_id" type="int"> </argument> @@ -144,7 +168,7 @@ </description> </method> <method name="get_point_connections"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="id" type="int"> </argument> diff --git a/doc/classes/AcceptDialog.xml b/doc/classes/AcceptDialog.xml index b0b9c155bb..99b566e74f 100644 --- a/doc/classes/AcceptDialog.xml +++ b/doc/classes/AcceptDialog.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AcceptDialog" inherits="WindowDialog" version="4.0"> +<class name="AcceptDialog" inherits="Window" version="4.0"> <brief_description> Base dialog for user notification. </brief_description> @@ -67,16 +67,23 @@ <member name="dialog_text" type="String" setter="set_text" getter="get_text" default=""""> The text displayed by the dialog. </member> - <member name="window_title" type="String" setter="set_title" getter="get_title" override="true" default=""Alert!"" /> + <member name="title" type="String" setter="set_title" getter="get_title" override="true" default=""Alert!"" /> + <member name="transient" type="bool" setter="set_transient" getter="is_transient" override="true" default="true" /> + <member name="visible" type="bool" setter="set_visible" getter="is_visible" override="true" default="false" /> + <member name="wrap_controls" type="bool" setter="set_wrap_controls" getter="is_wrapping_controls" override="true" default="true" /> </members> <signals> + <signal name="cancelled"> + <description> + </description> + </signal> <signal name="confirmed"> <description> Emitted when the dialog is accepted, i.e. the OK button is pressed. </description> </signal> <signal name="custom_action"> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Emitted when a custom button is pressed. See [method add_button]. diff --git a/doc/classes/AnimatedSprite.xml b/doc/classes/AnimatedSprite2D.xml index 3caad10f6d..8d0534ccd2 100644 --- a/doc/classes/AnimatedSprite.xml +++ b/doc/classes/AnimatedSprite2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AnimatedSprite" inherits="Node2D" version="4.0"> +<class name="AnimatedSprite2D" inherits="Node2D" version="4.0"> <brief_description> Sprite node that can use multiple textures for animation. </brief_description> @@ -19,7 +19,7 @@ <method name="play"> <return type="void"> </return> - <argument index="0" name="anim" type="String" default=""""> + <argument index="0" name="anim" type="StringName" default="@"""> </argument> <argument index="1" name="backwards" type="bool" default="false"> </argument> @@ -36,7 +36,7 @@ </method> </methods> <members> - <member name="animation" type="String" setter="set_animation" getter="get_animation" default=""default""> + <member name="animation" type="StringName" setter="set_animation" getter="get_animation" default="@"default""> The current animation from the [code]frames[/code] resource. If this value changes, the [code]frame[/code] counter is reset. </member> <member name="centered" type="bool" setter="set_centered" getter="is_centered" default="true"> @@ -61,8 +61,10 @@ If [code]true[/code], the [member animation] is currently playing. </member> <member name="shininess" type="float" setter="set_shininess" getter="get_shininess" default="1.0"> + Strength of the specular light effect of this [AnimatedSprite2D]. </member> <member name="specular_color" type="Color" setter="set_specular_color" getter="get_specular_color" default="Color( 1, 1, 1, 1 )"> + The color of the specular light effect. </member> <member name="speed_scale" type="float" setter="set_speed_scale" getter="get_speed_scale" default="1.0"> The animation speed is multiplied by this value. diff --git a/doc/classes/AnimatedSprite3D.xml b/doc/classes/AnimatedSprite3D.xml index e24119c6c7..ad9706a52a 100644 --- a/doc/classes/AnimatedSprite3D.xml +++ b/doc/classes/AnimatedSprite3D.xml @@ -19,7 +19,7 @@ <method name="play"> <return type="void"> </return> - <argument index="0" name="anim" type="String" default=""""> + <argument index="0" name="anim" type="StringName" default="@"""> </argument> <description> Plays the animation named [code]anim[/code]. If no [code]anim[/code] is provided, the current animation is played. @@ -34,7 +34,7 @@ </method> </methods> <members> - <member name="animation" type="String" setter="set_animation" getter="get_animation" default=""default""> + <member name="animation" type="StringName" setter="set_animation" getter="get_animation" default="@"default""> The current animation from the [code]frames[/code] resource. If this value changes, the [code]frame[/code] counter is reset. </member> <member name="frame" type="int" setter="set_frame" getter="get_frame" default="0"> diff --git a/doc/classes/AnimatedTexture.xml b/doc/classes/AnimatedTexture.xml index b851c76e59..80b910aaa7 100644 --- a/doc/classes/AnimatedTexture.xml +++ b/doc/classes/AnimatedTexture.xml @@ -4,7 +4,7 @@ Proxy texture for simple frame-based animations. </brief_description> <description> - [AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike [AnimationPlayer] or [AnimatedSprite], it isn't a [Node], but has the advantage of being usable anywhere a [Texture2D] resource can be used, e.g. in a [TileSet]. + [AnimatedTexture] is a resource format for frame-based animations, where multiple textures can be chained automatically with a predefined delay for each frame. Unlike [AnimationPlayer] or [AnimatedSprite2D], it isn't a [Node], but has the advantage of being usable anywhere a [Texture2D] resource can be used, e.g. in a [TileSet]. The playback of the animation is controlled by the [member fps] property as well as each frame's optional delay (see [method set_frame_delay]). The animation loops, i.e. it will restart at frame 0 automatically after playing the last frame. [AnimatedTexture] currently requires all frame textures to have the same size, otherwise the bigger ones will be cropped to match the smallest one. Also, it doesn't support [AtlasTexture]. Each frame needs to be separate image. </description> @@ -71,7 +71,7 @@ </members> <constants> <constant name="MAX_FRAMES" value="256"> - The maximum number of frames supported by [AnimatedTexture]. If you need more frames in your animation, use [AnimationPlayer] or [AnimatedSprite]. + The maximum number of frames supported by [AnimatedTexture]. If you need more frames in your animation, use [AnimationPlayer] or [AnimatedSprite2D]. </constant> </constants> </class> diff --git a/doc/classes/Animation.xml b/doc/classes/Animation.xml index 46b0b952b6..09811d5617 100644 --- a/doc/classes/Animation.xml +++ b/doc/classes/Animation.xml @@ -14,7 +14,7 @@ animation.track_insert_key(track_index, 0.0, 0) animation.track_insert_key(track_index, 0.5, 100) [/codeblock] - Animations are just data containers, and must be added to nodes such as an [AnimationPlayer] to be played back. + Animations are just data containers, and must be added to nodes such as an [AnimationPlayer] to be played back. Animation tracks have different types, each with its own set of dedicated methods. Check [enum TrackType] to see available types. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/animation/index.html</link> @@ -32,13 +32,14 @@ </description> </method> <method name="animation_track_get_key_animation" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="track_idx" type="int"> </argument> <argument index="1" name="key_idx" type="int"> </argument> <description> + Returns the animation name at the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Animation Track. </description> </method> <method name="animation_track_insert_key"> @@ -48,9 +49,10 @@ </argument> <argument index="1" name="time" type="float"> </argument> - <argument index="2" name="animation" type="String"> + <argument index="2" name="animation" type="StringName"> </argument> <description> + Inserts a key with value [code]animation[/code] at the given [code]time[/code] (in seconds). The [code]track_idx[/code] must be the index of an Animation Track. </description> </method> <method name="animation_track_set_key_animation"> @@ -60,9 +62,10 @@ </argument> <argument index="1" name="key_idx" type="int"> </argument> - <argument index="2" name="animation" type="String"> + <argument index="2" name="animation" type="StringName"> </argument> <description> + Sets the key identified by [code]key_idx[/code] to value [code]animation[/code]. The [code]track_idx[/code] must be the index of an Animation Track. </description> </method> <method name="audio_track_get_key_end_offset" qualifiers="const"> @@ -73,6 +76,8 @@ <argument index="1" name="key_idx" type="int"> </argument> <description> + Returns the end offset of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track. + End offset is the number of seconds cut off at the ending of the audio stream. </description> </method> <method name="audio_track_get_key_start_offset" qualifiers="const"> @@ -83,6 +88,8 @@ <argument index="1" name="key_idx" type="int"> </argument> <description> + Returns the start offset of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track. + Start offset is the number of seconds cut off at the beginning of the audio stream. </description> </method> <method name="audio_track_get_key_stream" qualifiers="const"> @@ -93,6 +100,7 @@ <argument index="1" name="key_idx" type="int"> </argument> <description> + Returns the audio stream of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of an Audio Track. </description> </method> <method name="audio_track_insert_key"> @@ -109,6 +117,8 @@ <argument index="4" name="end_offset" type="float" default="0"> </argument> <description> + Inserts an Audio Track key at the given [code]time[/code] in seconds. The [code]track_idx[/code] must be the index of an Audio Track. + [code]stream[/code] is the [AudioStream] resource to play. [code]start_offset[/code] is the number of seconds cut off at the beginning of the audio stream, while [code]end_offset[/code] is at the ending. </description> </method> <method name="audio_track_set_key_end_offset"> @@ -121,6 +131,7 @@ <argument index="2" name="offset" type="float"> </argument> <description> + Sets the end offset of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track. </description> </method> <method name="audio_track_set_key_start_offset"> @@ -133,6 +144,7 @@ <argument index="2" name="offset" type="float"> </argument> <description> + Sets the start offset of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track. </description> </method> <method name="audio_track_set_key_stream"> @@ -145,6 +157,7 @@ <argument index="2" name="stream" type="Resource"> </argument> <description> + Sets the stream of the key identified by [code]key_idx[/code] to value [code]offset[/code]. The [code]track_idx[/code] must be the index of an Audio Track. </description> </method> <method name="bezier_track_get_key_in_handle" qualifiers="const"> @@ -155,6 +168,7 @@ <argument index="1" name="key_idx" type="int"> </argument> <description> + Returns the in handle of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. </description> </method> <method name="bezier_track_get_key_out_handle" qualifiers="const"> @@ -165,6 +179,7 @@ <argument index="1" name="key_idx" type="int"> </argument> <description> + Returns the out handle of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. </description> </method> <method name="bezier_track_get_key_value" qualifiers="const"> @@ -175,6 +190,7 @@ <argument index="1" name="key_idx" type="int"> </argument> <description> + Returns the value of the key identified by [code]key_idx[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. </description> </method> <method name="bezier_track_insert_key"> @@ -191,6 +207,8 @@ <argument index="4" name="out_handle" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> + Inserts a Bezier Track key at the given [code]time[/code] in seconds. The [code]track_idx[/code] must be the index of a Bezier Track. + [code]in_handle[/code] is the left-side weight of the added Bezier curve point, [code]out_handle[/code] is the right-side one, while [code]value[/code] is the actual value at this point. </description> </method> <method name="bezier_track_interpolate" qualifiers="const"> @@ -201,6 +219,7 @@ <argument index="1" name="time" type="float"> </argument> <description> + Returns the interpolated value at the given [code]time[/code] (in seconds). The [code]track_idx[/code] must be the index of a Bezier Track. </description> </method> <method name="bezier_track_set_key_in_handle"> @@ -213,6 +232,7 @@ <argument index="2" name="in_handle" type="Vector2"> </argument> <description> + Sets the in handle of the key identified by [code]key_idx[/code] to value [code]in_handle[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. </description> </method> <method name="bezier_track_set_key_out_handle"> @@ -225,6 +245,7 @@ <argument index="2" name="out_handle" type="Vector2"> </argument> <description> + Sets the out handle of the key identified by [code]key_idx[/code] to value [code]out_handle[/code]. The [code]track_idx[/code] must be the index of a Bezier Track. </description> </method> <method name="bezier_track_set_key_value"> @@ -237,6 +258,7 @@ <argument index="2" name="value" type="float"> </argument> <description> + Sets the value of the key identified by [code]key_idx[/code] to the given value. The [code]track_idx[/code] must be the index of a Bezier Track. </description> </method> <method name="clear"> @@ -274,7 +296,7 @@ </description> </method> <method name="method_track_get_key_indices" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="track_idx" type="int"> </argument> @@ -287,7 +309,7 @@ </description> </method> <method name="method_track_get_name" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="track_idx" type="int"> </argument> @@ -627,7 +649,7 @@ </description> </method> <method name="value_track_get_key_indices" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="track_idx" type="int"> </argument> @@ -675,6 +697,7 @@ <signals> <signal name="tracks_changed"> <description> + Emitted when there's a change in the list of tracks, e.g. tracks are added, moved or have changed paths. </description> </signal> </signals> @@ -689,10 +712,13 @@ Method tracks call functions with given arguments per key. </constant> <constant name="TYPE_BEZIER" value="3" enum="TrackType"> + Bezier tracks are used to interpolate a value using custom curves. They can also be used to animate sub-properties of vectors and colors (e.g. alpha value of a [Color]). </constant> <constant name="TYPE_AUDIO" value="4" enum="TrackType"> + Audio tracks are used to play an audio stream with either type of [AudioStreamPlayer]. The stream can be trimmed and previewed in the animation. </constant> <constant name="TYPE_ANIMATION" value="5" enum="TrackType"> + Animation tracks play animations in other [AnimationPlayer] nodes. </constant> <constant name="INTERPOLATION_NEAREST" value="0" enum="InterpolationType"> No interpolation (nearest value). @@ -713,6 +739,7 @@ Update at the keyframes. </constant> <constant name="UPDATE_CAPTURE" value="3" enum="UpdateMode"> + Same as linear interpolation, but also interpolates from the current value (i.e. dynamically at runtime) if the first key isn't at 0 seconds. </constant> </constants> </class> diff --git a/doc/classes/AnimationNode.xml b/doc/classes/AnimationNode.xml index 331a30bd9e..3d6ebd5934 100644 --- a/doc/classes/AnimationNode.xml +++ b/doc/classes/AnimationNode.xml @@ -23,7 +23,7 @@ <method name="blend_animation"> <return type="void"> </return> - <argument index="0" name="animation" type="String"> + <argument index="0" name="animation" type="StringName"> </argument> <argument index="1" name="time" type="float"> </argument> @@ -59,7 +59,7 @@ <method name="blend_node"> <return type="float"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="node" type="AnimationNode"> </argument> @@ -119,7 +119,7 @@ <method name="get_parameter" qualifiers="const"> <return type="Variant"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Gets the value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. @@ -128,7 +128,7 @@ <method name="get_parameter_default_value" qualifiers="virtual"> <return type="Variant"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Gets the default value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. @@ -142,7 +142,7 @@ </description> </method> <method name="has_filter" qualifiers="virtual"> - <return type="String"> + <return type="bool"> </return> <description> Returns [code]true[/code] whether you want the blend tree editor to display filter editing on this node. @@ -193,7 +193,7 @@ <method name="set_parameter"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> diff --git a/doc/classes/AnimationNodeAnimation.xml b/doc/classes/AnimationNodeAnimation.xml index 369969a2d4..ab44148c15 100644 --- a/doc/classes/AnimationNodeAnimation.xml +++ b/doc/classes/AnimationNodeAnimation.xml @@ -12,7 +12,7 @@ <methods> </methods> <members> - <member name="animation" type="String" setter="set_animation" getter="get_animation" default=""""> + <member name="animation" type="StringName" setter="set_animation" getter="get_animation" default="@"""> Animation to use as an output. It is one of the animations provided by [member AnimationTree.anim_player]. </member> </members> diff --git a/doc/classes/AnimationNodeBlendTree.xml b/doc/classes/AnimationNodeBlendTree.xml index 5a86af6865..4a34d75ff9 100644 --- a/doc/classes/AnimationNodeBlendTree.xml +++ b/doc/classes/AnimationNodeBlendTree.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationNodeBlendTree" inherits="AnimationRootNode" version="4.0"> <brief_description> + [AnimationTree] node resource that contains many blend type nodes. </brief_description> <description> + This node may contain a sub-tree of any other blend type nodes, such as mix, blend2, blend3, one shot, etc. This is one of the most commonly used roots. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link> @@ -11,106 +13,122 @@ <method name="add_node"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="node" type="AnimationNode"> </argument> <argument index="2" name="position" type="Vector2" default="Vector2( 0, 0 )"> </argument> <description> + Adds an [AnimationNode] at the given [code]position[/code]. The [code]name[/code] is used to identify the created sub-node later. </description> </method> <method name="connect_node"> <return type="void"> </return> - <argument index="0" name="input_node" type="String"> + <argument index="0" name="input_node" type="StringName"> </argument> <argument index="1" name="input_index" type="int"> </argument> - <argument index="2" name="output_node" type="String"> + <argument index="2" name="output_node" type="StringName"> </argument> <description> + Connects the output of an [AnimationNode] as input for another [AnimationNode], at the input port specified by [code]input_index[/code]. </description> </method> <method name="disconnect_node"> <return type="void"> </return> - <argument index="0" name="input_node" type="String"> + <argument index="0" name="input_node" type="StringName"> </argument> <argument index="1" name="input_index" type="int"> </argument> <description> + Disconnects the node connected to the specified input. </description> </method> <method name="get_node" qualifiers="const"> <return type="AnimationNode"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> + Returns the sub-node with the specified [code]name[/code]. </description> </method> <method name="get_node_position" qualifiers="const"> <return type="Vector2"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> + Returns the position of the sub-node with the specified [code]name[/code]. </description> </method> <method name="has_node" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> + Returns [code]true[/code] if a sub-node with specified [code]name[/code] exists. </description> </method> <method name="remove_node"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> + Removes a sub-node. </description> </method> <method name="rename_node"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="new_name" type="String"> + <argument index="1" name="new_name" type="StringName"> </argument> <description> + Changes the name of a sub-node. </description> </method> <method name="set_node_position"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="position" type="Vector2"> </argument> <description> + Modifies the position of a sub-node. </description> </method> </methods> <members> <member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset" default="Vector2( 0, 0 )"> + The global offset of all sub-nodes. </member> </members> <constants> <constant name="CONNECTION_OK" value="0"> + The connection was successful. </constant> <constant name="CONNECTION_ERROR_NO_INPUT" value="1"> + The input node is [code]null[/code]. </constant> <constant name="CONNECTION_ERROR_NO_INPUT_INDEX" value="2"> + The specified input port is out of range. </constant> <constant name="CONNECTION_ERROR_NO_OUTPUT" value="3"> + The output node is [code]null[/code]. </constant> <constant name="CONNECTION_ERROR_SAME_NODE" value="4"> + Input and output nodes are the same. </constant> <constant name="CONNECTION_ERROR_CONNECTION_EXISTS" value="5"> + The specified connection already exists. </constant> </constants> </class> diff --git a/doc/classes/AnimationNodeOneShot.xml b/doc/classes/AnimationNodeOneShot.xml index b6e4ed9c98..4ba0b82df6 100644 --- a/doc/classes/AnimationNodeOneShot.xml +++ b/doc/classes/AnimationNodeOneShot.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationNodeOneShot" inherits="AnimationNode" version="4.0"> <brief_description> + Plays an animation once in [AnimationNodeBlendTree]. </brief_description> <description> + A resource to add to an [AnimationNodeBlendTree]. This node will execute a sub-animation and return once it finishes. Blend times for fading in and out can be customized, as well as filters. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link> @@ -25,10 +27,13 @@ </methods> <members> <member name="autorestart" type="bool" setter="set_autorestart" getter="has_autorestart" default="false"> + If [code]true[/code], the sub-animation will restart automatically after finishing. </member> <member name="autorestart_delay" type="float" setter="set_autorestart_delay" getter="get_autorestart_delay" default="1.0"> + The delay after which the automatic restart is triggered, in seconds. </member> <member name="autorestart_random_delay" type="float" setter="set_autorestart_random_delay" getter="get_autorestart_random_delay" default="0.0"> + If [member autorestart] is [code]true[/code], a random additional delay (in seconds) between 0 and this value will be added to [member autorestart_delay]. </member> <member name="fadein_time" type="float" setter="set_fadein_time" getter="get_fadein_time" default="0.1"> </member> diff --git a/doc/classes/AnimationNodeOutput.xml b/doc/classes/AnimationNodeOutput.xml index f4bded2cd1..38b05eb650 100644 --- a/doc/classes/AnimationNodeOutput.xml +++ b/doc/classes/AnimationNodeOutput.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationNodeOutput" inherits="AnimationNode" version="4.0"> <brief_description> + Generic output node to be added to [AnimationNodeBlendTree]. </brief_description> <description> </description> diff --git a/doc/classes/AnimationNodeStateMachine.xml b/doc/classes/AnimationNodeStateMachine.xml index 39a9af5ead..3b351a3345 100644 --- a/doc/classes/AnimationNodeStateMachine.xml +++ b/doc/classes/AnimationNodeStateMachine.xml @@ -18,7 +18,7 @@ <method name="add_node"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="node" type="AnimationNode"> </argument> @@ -31,9 +31,9 @@ <method name="add_transition"> <return type="void"> </return> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> - <argument index="1" name="to" type="String"> + <argument index="1" name="to" type="StringName"> </argument> <argument index="2" name="transition" type="AnimationNodeStateMachineTransition"> </argument> @@ -58,14 +58,14 @@ <method name="get_node" qualifiers="const"> <return type="AnimationNode"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns the animation node with the given name. </description> </method> <method name="get_node_name" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="node" type="AnimationNode"> </argument> @@ -76,7 +76,7 @@ <method name="get_node_position" qualifiers="const"> <return type="Vector2"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns the given node's coordinates. Used for display in the editor. @@ -106,7 +106,7 @@ </description> </method> <method name="get_transition_from" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -115,7 +115,7 @@ </description> </method> <method name="get_transition_to" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -126,7 +126,7 @@ <method name="has_node" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if the graph contains the given node. @@ -135,9 +135,9 @@ <method name="has_transition" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> - <argument index="1" name="to" type="String"> + <argument index="1" name="to" type="StringName"> </argument> <description> Returns [code]true[/code] if there is a transition between the given nodes. @@ -146,7 +146,7 @@ <method name="remove_node"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Deletes the given node from the graph. @@ -155,9 +155,9 @@ <method name="remove_transition"> <return type="void"> </return> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> - <argument index="1" name="to" type="String"> + <argument index="1" name="to" type="StringName"> </argument> <description> Deletes the transition between the two specified nodes. @@ -175,18 +175,28 @@ <method name="rename_node"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="new_name" type="String"> + <argument index="1" name="new_name" type="StringName"> </argument> <description> Renames the given node. </description> </method> + <method name="replace_node"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="node" type="AnimationNode"> + </argument> + <description> + </description> + </method> <method name="set_end_node"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Sets the given node as the graph end point. @@ -204,7 +214,7 @@ <method name="set_node_position"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="position" type="Vector2"> </argument> @@ -215,7 +225,7 @@ <method name="set_start_node"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Sets the given node as the graph start point. diff --git a/doc/classes/AnimationNodeStateMachinePlayback.xml b/doc/classes/AnimationNodeStateMachinePlayback.xml index b75ff04329..f4b89a5086 100644 --- a/doc/classes/AnimationNodeStateMachinePlayback.xml +++ b/doc/classes/AnimationNodeStateMachinePlayback.xml @@ -16,7 +16,7 @@ </tutorials> <methods> <method name="get_current_node" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <description> Returns the currently playing animation state. @@ -39,7 +39,7 @@ <method name="start"> <return type="void"> </return> - <argument index="0" name="node" type="String"> + <argument index="0" name="node" type="StringName"> </argument> <description> Starts playing the given animation. @@ -55,7 +55,7 @@ <method name="travel"> <return type="void"> </return> - <argument index="0" name="to_node" type="String"> + <argument index="0" name="to_node" type="StringName"> </argument> <description> Transitions from the current state to another one, following the shortest path. diff --git a/doc/classes/AnimationNodeStateMachineTransition.xml b/doc/classes/AnimationNodeStateMachineTransition.xml index d40a6f1e46..f0b7cc4099 100644 --- a/doc/classes/AnimationNodeStateMachineTransition.xml +++ b/doc/classes/AnimationNodeStateMachineTransition.xml @@ -10,7 +10,7 @@ <methods> </methods> <members> - <member name="advance_condition" type="String" setter="set_advance_condition" getter="get_advance_condition" default=""""> + <member name="advance_condition" type="StringName" setter="set_advance_condition" getter="get_advance_condition" default="@"""> Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the [AnimationTree] that can be controlled from code (see [url=https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html#controlling-from-code][/url]). For example, if [member AnimationTree.tree_root] is an [AnimationNodeStateMachine] and [member advance_condition] is set to [code]"idle"[/code]: [codeblock] $animation_tree["parameters/conditions/idle"] = is_on_floor and (linear_velocity.x == 0) diff --git a/doc/classes/AnimationNodeTimeScale.xml b/doc/classes/AnimationNodeTimeScale.xml index 229f9bbba2..5c2e6cb692 100644 --- a/doc/classes/AnimationNodeTimeScale.xml +++ b/doc/classes/AnimationNodeTimeScale.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationNodeTimeScale" inherits="AnimationNode" version="4.0"> <brief_description> + A time-scaling animation node to be used with [AnimationTree]. </brief_description> <description> + Allows scaling the speed of the animation (or reversing it) in any children nodes. Setting it to 0 will pause the animation. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link> diff --git a/doc/classes/AnimationNodeTimeSeek.xml b/doc/classes/AnimationNodeTimeSeek.xml index 5a9cbe4861..0fef106da5 100644 --- a/doc/classes/AnimationNodeTimeSeek.xml +++ b/doc/classes/AnimationNodeTimeSeek.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationNodeTimeSeek" inherits="AnimationNode" version="4.0"> <brief_description> + A time-seeking animation node to be used with [AnimationTree]. </brief_description> <description> + This node can be used to cause a seek command to happen to any sub-children of the graph. After setting the time, this value returns to -1. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link> diff --git a/doc/classes/AnimationNodeTransition.xml b/doc/classes/AnimationNodeTransition.xml index bf94fe0466..11250c5b17 100644 --- a/doc/classes/AnimationNodeTransition.xml +++ b/doc/classes/AnimationNodeTransition.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationNodeTransition" inherits="AnimationNode" version="4.0"> <brief_description> + A generic animation transition node for [AnimationTree]. </brief_description> <description> + Simple state machine for cases which don't require a more advanced [AnimationNodeStateMachine]. Animations can be connected to the inputs and transition times can be specified. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/animation/animation_tree.html</link> @@ -47,8 +49,10 @@ </methods> <members> <member name="input_count" type="int" setter="set_enabled_inputs" getter="get_enabled_inputs" default="0"> + The number of available input ports for this node. </member> <member name="xfade_time" type="float" setter="set_cross_fade_time" getter="get_cross_fade_time" default="0.0"> + Cross-fading time (in seconds) between each animation connected to the inputs. </member> </members> <constants> diff --git a/doc/classes/AnimationPlayer.xml b/doc/classes/AnimationPlayer.xml index cedfca4c31..1420b1bf64 100644 --- a/doc/classes/AnimationPlayer.xml +++ b/doc/classes/AnimationPlayer.xml @@ -16,7 +16,7 @@ <method name="add_animation"> <return type="int" enum="Error"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="animation" type="Animation"> </argument> @@ -34,9 +34,9 @@ </description> </method> <method name="animation_get_next" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> - <argument index="0" name="anim_from" type="String"> + <argument index="0" name="anim_from" type="StringName"> </argument> <description> Returns the name of the next animation in the queue. @@ -45,9 +45,9 @@ <method name="animation_set_next"> <return type="void"> </return> - <argument index="0" name="anim_from" type="String"> + <argument index="0" name="anim_from" type="StringName"> </argument> - <argument index="1" name="anim_to" type="String"> + <argument index="1" name="anim_to" type="StringName"> </argument> <description> Triggers the [code]anim_to[/code] animation when the [code]anim_from[/code] animation completes. @@ -68,7 +68,7 @@ </description> </method> <method name="find_animation" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="animation" type="Animation"> </argument> @@ -79,7 +79,7 @@ <method name="get_animation" qualifiers="const"> <return type="Animation"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns the [Animation] with key [code]name[/code] or [code]null[/code] if not found. @@ -95,9 +95,9 @@ <method name="get_blend_time" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="anim_from" type="String"> + <argument index="0" name="anim_from" type="StringName"> </argument> - <argument index="1" name="anim_to" type="String"> + <argument index="1" name="anim_to" type="StringName"> </argument> <description> Gets the blend time (in seconds) between two animations, referenced by their names. @@ -120,7 +120,7 @@ <method name="has_animation" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if the [AnimationPlayer] stores an [Animation] with key [code]name[/code]. @@ -136,7 +136,7 @@ <method name="play"> <return type="void"> </return> - <argument index="0" name="name" type="String" default=""""> + <argument index="0" name="name" type="StringName" default=""""> </argument> <argument index="1" name="custom_blend" type="float" default="-1"> </argument> @@ -153,7 +153,7 @@ <method name="play_backwards"> <return type="void"> </return> - <argument index="0" name="name" type="String" default=""""> + <argument index="0" name="name" type="StringName" default=""""> </argument> <argument index="1" name="custom_blend" type="float" default="-1"> </argument> @@ -165,7 +165,7 @@ <method name="queue"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Queues an animation for playback once the current one is done. @@ -175,7 +175,7 @@ <method name="remove_animation"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Removes the animation with key [code]name[/code]. @@ -184,9 +184,9 @@ <method name="rename_animation"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="newname" type="String"> + <argument index="1" name="newname" type="StringName"> </argument> <description> Renames an existing animation with key [code]name[/code] to [code]newname[/code]. @@ -206,9 +206,9 @@ <method name="set_blend_time"> <return type="void"> </return> - <argument index="0" name="anim_from" type="String"> + <argument index="0" name="anim_from" type="StringName"> </argument> - <argument index="1" name="anim_to" type="String"> + <argument index="1" name="anim_to" type="StringName"> </argument> <argument index="2" name="sec" type="float"> </argument> @@ -264,23 +264,23 @@ </members> <signals> <signal name="animation_changed"> - <argument index="0" name="old_name" type="String"> + <argument index="0" name="old_name" type="StringName"> </argument> - <argument index="1" name="new_name" type="String"> + <argument index="1" name="new_name" type="StringName"> </argument> <description> If the currently being played animation changes, this signal will notify of such change. </description> </signal> <signal name="animation_finished"> - <argument index="0" name="anim_name" type="String"> + <argument index="0" name="anim_name" type="StringName"> </argument> <description> Notifies when an animation finished playing. </description> </signal> <signal name="animation_started"> - <argument index="0" name="anim_name" type="String"> + <argument index="0" name="anim_name" type="StringName"> </argument> <description> Notifies when an animation starts playing. diff --git a/doc/classes/AnimationTree.xml b/doc/classes/AnimationTree.xml index 2a7db37eea..9642dd1c70 100644 --- a/doc/classes/AnimationTree.xml +++ b/doc/classes/AnimationTree.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AnimationTree" inherits="Node" version="4.0"> <brief_description> + A node to be used for advanced animation transitions in an [AnimationPlayer]. </brief_description> <description> </description> @@ -15,6 +16,7 @@ <argument index="0" name="delta" type="float"> </argument> <description> + Manually advance the animations by the specified time (in seconds). </description> </method> <method name="get_root_motion_transform" qualifiers="const"> @@ -36,22 +38,29 @@ </methods> <members> <member name="active" type="bool" setter="set_active" getter="is_active" default="false"> + If [code]true[/code], the [AnimationTree] will be processing. </member> <member name="anim_player" type="NodePath" setter="set_animation_player" getter="get_animation_player" default="NodePath("")"> + The path to the [AnimationPlayer] used for animating. </member> <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="AnimationTree.AnimationProcessMode" default="1"> + The process mode of this [AnimationTree]. See [enum AnimationProcessMode] for available modes. </member> <member name="root_motion_track" type="NodePath" setter="set_root_motion_track" getter="get_root_motion_track" default="NodePath("")"> </member> <member name="tree_root" type="AnimationNode" setter="set_tree_root" getter="get_tree_root"> + The root animation node of this [AnimationTree]. See [AnimationNode]. </member> </members> <constants> <constant name="ANIMATION_PROCESS_PHYSICS" value="0" enum="AnimationProcessMode"> + The animations will progress during the physics frame (i.e. [method Node._physics_process]). </constant> <constant name="ANIMATION_PROCESS_IDLE" value="1" enum="AnimationProcessMode"> + The animations will progress during the idle frame (i.e. [method Node._process]). </constant> <constant name="ANIMATION_PROCESS_MANUAL" value="2" enum="AnimationProcessMode"> + The animations will only progress manually (see [method advance]). </constant> </constants> </class> diff --git a/doc/classes/Area2D.xml b/doc/classes/Area2D.xml index 715e9b3286..4190cbe6b9 100644 --- a/doc/classes/Area2D.xml +++ b/doc/classes/Area2D.xml @@ -29,14 +29,14 @@ </description> </method> <method name="get_overlapping_areas" qualifiers="const"> - <return type="Array"> + <return type="Area2D[]"> </return> <description> Returns a list of intersecting [Area2D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. </description> </method> <method name="get_overlapping_bodies" qualifiers="const"> - <return type="Array"> + <return type="Node2D[]"> </return> <description> Returns a list of intersecting [PhysicsBody2D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. @@ -90,7 +90,7 @@ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="1.0"> The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from [code]0[/code] (no damping) to [code]1[/code] (full damping). </member> - <member name="audio_bus_name" type="String" setter="set_audio_bus_name" getter="get_audio_bus_name" default=""Master""> + <member name="audio_bus_name" type="StringName" setter="set_audio_bus_name" getter="get_audio_bus_name" default="@"Master""> The name of the area's audio bus. </member> <member name="audio_bus_override" type="bool" setter="set_audio_bus_override" getter="is_overriding_audio_bus" default="false"> diff --git a/doc/classes/Area.xml b/doc/classes/Area3D.xml index f2f9284ae3..a94cecd879 100644 --- a/doc/classes/Area.xml +++ b/doc/classes/Area3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Area" inherits="CollisionObject" version="4.0"> +<class name="Area3D" inherits="CollisionObject3D" version="4.0"> <brief_description> General-purpose area node for detection and 3D physics influence. </brief_description> <description> - 3D area that detects [CollisionObject] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping). + 3D area that detects [CollisionObject3D] nodes overlapping, entering, or exiting. Can also alter or override local physics parameters (gravity, damping). </description> <tutorials> </tutorials> @@ -28,17 +28,17 @@ </description> </method> <method name="get_overlapping_areas" qualifiers="const"> - <return type="Array"> + <return type="Area3D[]"> </return> <description> - Returns a list of intersecting [Area]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. + Returns a list of intersecting [Area3D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. </description> </method> <method name="get_overlapping_bodies" qualifiers="const"> - <return type="Array"> + <return type="Node3D[]"> </return> <description> - Returns a list of intersecting [PhysicsBody]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. + Returns a list of intersecting [PhysicsBody3D]s. For performance reasons (collisions are all processed at the same time) this list is modified once during the physics step, not immediately after objects are moved. Consider using signals instead. </description> </method> <method name="overlaps_area" qualifiers="const"> @@ -47,7 +47,7 @@ <argument index="0" name="area" type="Node"> </argument> <description> - If [code]true[/code], the given area overlaps the Area. + If [code]true[/code], the given area overlaps the Area3D. [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead. </description> </method> @@ -57,9 +57,9 @@ <argument index="0" name="body" type="Node"> </argument> <description> - If [code]true[/code], the given physics body overlaps the Area. + If [code]true[/code], the given physics body overlaps the Area3D. [b]Note:[/b] The result of this test is not immediate after moving objects. For performance, list of overlaps is updated once per frame and before the physics step. Consider using signals instead. - The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). + The [code]body[/code] argument can either be a [PhysicsBody3D] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). </description> </method> <method name="set_collision_layer_bit"> @@ -70,7 +70,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> - Set/clear individual bits on the layer mask. This simplifies editing this [Area]'s layers. + Set/clear individual bits on the layer mask. This simplifies editing this [Area3D]'s layers. </description> </method> <method name="set_collision_mask_bit"> @@ -81,7 +81,7 @@ <argument index="1" name="value" type="bool"> </argument> <description> - Set/clear individual bits on the collision mask. This simplifies editing which [Area] layers this [Area] scans. + Set/clear individual bits on the collision mask. This simplifies editing which [Area3D] layers this [Area3D] scans. </description> </method> </methods> @@ -89,7 +89,7 @@ <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="0.1"> The rate at which objects stop spinning in this area. Represents the angular velocity lost per second. Values range from [code]0[/code] (no damping) to [code]1[/code] (full damping). </member> - <member name="audio_bus_name" type="String" setter="set_audio_bus" getter="get_audio_bus" default=""Master""> + <member name="audio_bus_name" type="StringName" setter="set_audio_bus" getter="get_audio_bus" default="@"Master""> The name of the area's audio bus. </member> <member name="audio_bus_override" type="bool" setter="set_audio_bus_override" getter="is_overriding_audio_bus" default="false"> @@ -131,26 +131,26 @@ <member name="reverb_bus_enable" type="bool" setter="set_use_reverb_bus" getter="is_using_reverb_bus" default="false"> If [code]true[/code], the area applies reverb to its associated audio. </member> - <member name="reverb_bus_name" type="String" setter="set_reverb_bus" getter="get_reverb_bus" default=""Master""> + <member name="reverb_bus_name" type="StringName" setter="set_reverb_bus" getter="get_reverb_bus" default="@"Master""> The reverb bus name to use for this area's associated audio. </member> <member name="reverb_bus_uniformity" type="float" setter="set_reverb_uniformity" getter="get_reverb_uniformity" default="0.0"> The degree to which this area's reverb is a uniform effect. Ranges from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision. </member> - <member name="space_override" type="int" setter="set_space_override_mode" getter="get_space_override_mode" enum="Area.SpaceOverride" default="0"> + <member name="space_override" type="int" setter="set_space_override_mode" getter="get_space_override_mode" enum="Area3D.SpaceOverride" default="0"> Override mode for gravity and damping calculations within this area. See [enum SpaceOverride] for possible values. </member> </members> <signals> <signal name="area_entered"> - <argument index="0" name="area" type="Area"> + <argument index="0" name="area" type="Area3D"> </argument> <description> Emitted when another area enters. </description> </signal> <signal name="area_exited"> - <argument index="0" name="area" type="Area"> + <argument index="0" name="area" type="Area3D"> </argument> <description> Emitted when another area exits. @@ -159,7 +159,7 @@ <signal name="area_shape_entered"> <argument index="0" name="area_id" type="int"> </argument> - <argument index="1" name="area" type="Area"> + <argument index="1" name="area" type="Area3D"> </argument> <argument index="2" name="area_shape" type="int"> </argument> @@ -172,7 +172,7 @@ <signal name="area_shape_exited"> <argument index="0" name="area_id" type="int"> </argument> - <argument index="1" name="area" type="Area"> + <argument index="1" name="area" type="Area3D"> </argument> <argument index="2" name="area_shape" type="int"> </argument> @@ -187,7 +187,7 @@ </argument> <description> Emitted when a physics body enters. - The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). + The [code]body[/code] argument can either be a [PhysicsBody3D] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). </description> </signal> <signal name="body_exited"> @@ -195,7 +195,7 @@ </argument> <description> Emitted when a physics body exits. - The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). + The [code]body[/code] argument can either be a [PhysicsBody3D] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). </description> </signal> <signal name="body_shape_entered"> @@ -209,7 +209,7 @@ </argument> <description> Emitted when a physics body enters, reporting which shapes overlapped. - The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). + The [code]body[/code] argument can either be a [PhysicsBody3D] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). </description> </signal> <signal name="body_shape_exited"> @@ -223,7 +223,7 @@ </argument> <description> Emitted when a physics body exits, reporting which shapes were overlapping. - The [code]body[/code] argument can either be a [PhysicsBody] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). + The [code]body[/code] argument can either be a [PhysicsBody3D] or a [GridMap] instance (while GridMaps are not physics body themselves, they register their tiles with collision shapes as a virtual physics body). </description> </signal> </signals> diff --git a/doc/classes/Array.xml b/doc/classes/Array.xml index 6c3e9e8fed..20296bbf45 100644 --- a/doc/classes/Array.xml +++ b/doc/classes/Array.xml @@ -14,6 +14,12 @@ array[2] = "Three" print(array[-2]) # Three. [/codeblock] + Arrays can be concatenated using the [code]+[/code] operator: + [codeblock] + var array1 = ["One", 2] + var array2 = [3, "Four"] + print(array1 + array2) # ["One", 2, 3, "Four"] + [/codeblock] Arrays are always passed by reference. </description> <tutorials> @@ -58,19 +64,37 @@ <method name="Array"> <return type="Array"> </return> - <argument index="0" name="from" type="PackedRealArray"> + <argument index="0" name="from" type="PackedFloat64Array"> + </argument> + <description> + Constructs an array from a [PackedFloat64Array]. + </description> + </method> + <method name="Array"> + <return type="Array"> + </return> + <argument index="0" name="from" type="PackedFloat32Array"> + </argument> + <description> + Constructs an array from a [PackedFloat32Array]. + </description> + </method> + <method name="Array"> + <return type="Array"> + </return> + <argument index="0" name="from" type="PackedInt64Array"> </argument> <description> - Constructs an array from a [PackedRealArray]. + Constructs an array from a [PackedInt64Array]. </description> </method> <method name="Array"> <return type="Array"> </return> - <argument index="0" name="from" type="PackedIntArray"> + <argument index="0" name="from" type="PackedInt32Array"> </argument> <description> - Constructs an array from a [PackedIntArray]. + Constructs an array from a [PackedInt32Array]. </description> </method> <method name="Array"> @@ -83,6 +107,8 @@ </description> </method> <method name="append"> + <return type="void"> + </return> <argument index="0" name="value" type="Variant"> </argument> <description> @@ -101,7 +127,7 @@ </return> <argument index="0" name="value" type="Variant"> </argument> - <argument index="1" name="before" type="bool" default="True"> + <argument index="1" name="before" type="bool" default="true"> </argument> <description> Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search. Optionally, a [code]before[/code] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array. @@ -117,7 +143,7 @@ </argument> <argument index="2" name="func" type="String"> </argument> - <argument index="3" name="before" type="bool" default="True"> + <argument index="3" name="before" type="bool" default="true"> </argument> <description> Finds the index of an existing value (or the insertion index that maintains sorting order, if the value is not yet present in the array) using binary search and a custom comparison method. Optionally, a [code]before[/code] specifier can be passed. If [code]false[/code], the returned index comes after all existing entries of the value in the array. The custom method receives two arguments (an element from the array and the value searched for) and must return [code]true[/code] if the first argument is less than the second, and return [code]false[/code] otherwise. @@ -125,6 +151,8 @@ </description> </method> <method name="clear"> + <return type="void"> + </return> <description> Clears the array. This is equivalent to using [method resize] with a size of [code]0[/code]. </description> @@ -141,7 +169,7 @@ <method name="duplicate"> <return type="Array"> </return> - <argument index="0" name="deep" type="bool" default="False"> + <argument index="0" name="deep" type="bool" default="false"> </argument> <description> Returns a copy of the array. @@ -156,6 +184,8 @@ </description> </method> <method name="erase"> + <return type="void"> + </return> <argument index="0" name="value" type="Variant"> </argument> <description> @@ -212,6 +242,8 @@ </description> </method> <method name="insert"> + <return type="void"> + </return> <argument index="0" name="position" type="int"> </argument> <argument index="1" name="value" type="Variant"> @@ -221,6 +253,8 @@ </description> </method> <method name="invert"> + <return type="void"> + </return> <description> Reverses the order of the elements in the array. </description> @@ -254,6 +288,8 @@ </description> </method> <method name="push_back"> + <return type="void"> + </return> <argument index="0" name="value" type="Variant"> </argument> <description> @@ -261,6 +297,8 @@ </description> </method> <method name="push_front"> + <return type="void"> + </return> <argument index="0" name="value" type="Variant"> </argument> <description> @@ -268,6 +306,8 @@ </description> </method> <method name="remove"> + <return type="void"> + </return> <argument index="0" name="position" type="int"> </argument> <description> @@ -275,6 +315,8 @@ </description> </method> <method name="resize"> + <return type="void"> + </return> <argument index="0" name="size" type="int"> </argument> <description> @@ -293,6 +335,8 @@ </description> </method> <method name="shuffle"> + <return type="void"> + </return> <description> Shuffles the array such that the items will have a random order. This method uses the global random number generator common to methods such as [method @GDScript.randi]. Call [method @GDScript.randomize] to ensure that a new seed will be used each time if you want non-reproducible shuffling. </description> @@ -313,13 +357,15 @@ </argument> <argument index="2" name="step" type="int" default="1"> </argument> - <argument index="3" name="deep" type="bool" default="False"> + <argument index="3" name="deep" type="bool" default="false"> </argument> <description> Duplicates the subset described in the function and returns it in an array, deeply copying the array if [code]deep[/code] is [code]true[/code]. Lower and upper index are inclusive, with the [code]step[/code] describing the change between indices while slicing. </description> </method> <method name="sort"> + <return type="void"> + </return> <description> Sorts the array. [b]Note:[/b] Strings are sorted in alphabetical order (as opposed to natural order). This may lead to unexpected behavior when sorting an array of strings ending with a sequence of numbers. Consider the following example: @@ -331,6 +377,8 @@ </description> </method> <method name="sort_custom"> + <return type="void"> + </return> <argument index="0" name="obj" type="Object"> </argument> <argument index="1" name="func" type="String"> diff --git a/doc/classes/ArrayMesh.xml b/doc/classes/ArrayMesh.xml index 857897dab4..b45716544a 100644 --- a/doc/classes/ArrayMesh.xml +++ b/doc/classes/ArrayMesh.xml @@ -18,10 +18,12 @@ arrays[ArrayMesh.ARRAY_VERTEX] = vertices # Create the Mesh. arr_mesh.add_surface_from_arrays(Mesh.PRIMITIVE_TRIANGLES, arrays) - var m = MeshInstance.new() + var m = MeshInstance3D.new() m.mesh = arr_mesh [/codeblock] - The [MeshInstance] is ready to be added to the [SceneTree] to be shown. + The [MeshInstance3D] is ready to be added to the [SceneTree] to be shown. + See also [ImmediateGeometry3D], [MeshDataTool] and [SurfaceTool] for procedural geometry generation. + [b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive modes. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/content/procedural_geometry/arraymesh.html</link> @@ -30,7 +32,7 @@ <method name="add_blend_shape"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Adds name for a blend shape that will be added with [method add_surface_from_arrays]. Must be called before surface is added. @@ -56,7 +58,6 @@ Surfaces are created to be rendered using a [code]primitive[/code], which may be any of the types defined in [enum Mesh.PrimitiveType]. (As a note, when using indices, it is recommended to only use points, lines or triangles.) [method Mesh.get_surface_count] will become the [code]surf_idx[/code] for this new surface. The [code]arrays[/code] argument is an array of arrays. See [enum ArrayType] for the values used in this array. For example, [code]arrays[0][/code] is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for [constant ARRAY_INDEX] if it is used. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data, and the index array defines the order of the vertices. - Godot uses clockwise winding order for front faces of triangle primitive modes. </description> </method> <method name="clear_blend_shapes"> @@ -70,6 +71,7 @@ <return type="void"> </return> <description> + Removes all surfaces from this [ArrayMesh]. </description> </method> <method name="get_blend_shape_count" qualifiers="const"> @@ -80,7 +82,7 @@ </description> </method> <method name="get_blend_shape_name" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="index" type="int"> </argument> @@ -208,7 +210,7 @@ [PackedVector3Array] of vertex normals. </constant> <constant name="ARRAY_TANGENT" value="2" enum="ArrayType"> - [PackedRealArray] of vertex tangents. Each element in groups of 4 floats, first 3 floats determine the tangent, and the last the binormal direction as -1 or 1. + [PackedFloat32Array] of vertex tangents. Each element in groups of 4 floats, first 3 floats determine the tangent, and the last the binormal direction as -1 or 1. </constant> <constant name="ARRAY_COLOR" value="3" enum="ArrayType"> [PackedColorArray] of vertex colors. @@ -220,13 +222,13 @@ [PackedVector2Array] for second UV coordinates. </constant> <constant name="ARRAY_BONES" value="6" enum="ArrayType"> - [PackedRealArray] or [PackedIntArray] of bone indices. Each element in groups of 4 floats. + [PackedFloat32Array] or [PackedInt32Array] of bone indices. Each element in groups of 4 floats. </constant> <constant name="ARRAY_WEIGHTS" value="7" enum="ArrayType"> - [PackedRealArray] of bone weights. Each element in groups of 4 floats. + [PackedFloat32Array] of bone weights. Each element in groups of 4 floats. </constant> <constant name="ARRAY_INDEX" value="8" enum="ArrayType"> - [PackedIntArray] of integers used as indices referencing vertices, colors, normals, tangents, and textures. All of those arrays must have the same number of elements as the vertex array. No index can be beyond the vertex array size. When this index array is present, it puts the function into "index mode," where the index selects the *i*'th vertex, normal, tangent, color, UV, etc. This means if you want to have different normals or colors along an edge, you have to duplicate the vertices. + [PackedInt32Array] of integers used as indices referencing vertices, colors, normals, tangents, and textures. All of those arrays must have the same number of elements as the vertex array. No index can be beyond the vertex array size. When this index array is present, it puts the function into "index mode," where the index selects the *i*'th vertex, normal, tangent, color, UV, etc. This means if you want to have different normals or colors along an edge, you have to duplicate the vertices. For triangles, the index array is interpreted as triples, referring to the vertices of each triangle. For lines, the index array is in pairs indicating the start and end of each line. </constant> <constant name="ARRAY_MAX" value="9" enum="ArrayType"> diff --git a/doc/classes/AudioEffectCompressor.xml b/doc/classes/AudioEffectCompressor.xml index fe0d63777f..3117978d8a 100644 --- a/doc/classes/AudioEffectCompressor.xml +++ b/doc/classes/AudioEffectCompressor.xml @@ -32,7 +32,7 @@ <member name="release_ms" type="float" setter="set_release_ms" getter="get_release_ms" default="250.0"> Compressor's delay time to stop reducing the signal after the signal level falls below the threshold, in milliseconds. Value can range from 20 to 2000. </member> - <member name="sidechain" type="String" setter="set_sidechain" getter="get_sidechain" default=""""> + <member name="sidechain" type="StringName" setter="set_sidechain" getter="get_sidechain" default="@"""> Reduce the sound level using another audio bus for threshold detection. </member> <member name="threshold" type="float" setter="set_threshold" getter="get_threshold" default="0.0"> diff --git a/doc/classes/AudioEffectRecord.xml b/doc/classes/AudioEffectRecord.xml index 189e3c7059..4dac81322f 100644 --- a/doc/classes/AudioEffectRecord.xml +++ b/doc/classes/AudioEffectRecord.xml @@ -1,22 +1,26 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="AudioEffectRecord" inherits="AudioEffect" version="4.0"> <brief_description> + Audio effect used for recording sound from a microphone. </brief_description> <description> </description> <tutorials> + <link>https://docs.godotengine.org/en/latest/tutorials/audio/recording_with_microphone.html</link> </tutorials> <methods> <method name="get_recording" qualifiers="const"> <return type="AudioStreamSample"> </return> <description> + Returns the recorded sample. </description> </method> <method name="is_recording_active" qualifiers="const"> <return type="bool"> </return> <description> + Returns whether the recording is active or not. </description> </method> <method name="set_recording_active"> @@ -25,11 +29,13 @@ <argument index="0" name="record" type="bool"> </argument> <description> + If [code]true[/code], the sound will be recorded. Note that restarting the recording will remove the previously recorded sample. </description> </method> </methods> <members> <member name="format" type="int" setter="set_format" getter="get_format" enum="AudioStreamSample.Format" default="1"> + Specifies the format in which the sample will be recorded. See [enum AudioStreamSample.Format] for available formats. </member> </members> <constants> diff --git a/doc/classes/AudioServer.xml b/doc/classes/AudioServer.xml index 72acf616a9..49c6f5bb34 100644 --- a/doc/classes/AudioServer.xml +++ b/doc/classes/AudioServer.xml @@ -107,7 +107,7 @@ <method name="get_bus_index" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="bus_name" type="String"> + <argument index="0" name="bus_name" type="StringName"> </argument> <description> Returns the index of the bus with the name [code]bus_name[/code]. @@ -145,7 +145,7 @@ </description> </method> <method name="get_bus_send" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="bus_idx" type="int"> </argument> @@ -341,7 +341,7 @@ </return> <argument index="0" name="bus_idx" type="int"> </argument> - <argument index="1" name="send" type="String"> + <argument index="1" name="send" type="StringName"> </argument> <description> Connects the output of the bus at [code]bus_idx[/code] to the bus named [code]send[/code]. diff --git a/doc/classes/AudioStreamPlayer.xml b/doc/classes/AudioStreamPlayer.xml index 2d65defad3..dbc3d3e21b 100644 --- a/doc/classes/AudioStreamPlayer.xml +++ b/doc/classes/AudioStreamPlayer.xml @@ -54,14 +54,14 @@ <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false"> If [code]true[/code], audio plays when added to scene tree. </member> - <member name="bus" type="String" setter="set_bus" getter="get_bus" default=""Master""> + <member name="bus" type="StringName" setter="set_bus" getter="get_bus" default="@"Master""> Bus on which this audio is playing. </member> <member name="mix_target" type="int" setter="set_mix_target" getter="get_mix_target" enum="AudioStreamPlayer.MixTarget" default="0"> If the audio configuration has more than two speakers, this sets the target channels. See [enum MixTarget] constants. </member> <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0"> - Changes the pitch and the tempo of the audio. + The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate. </member> <member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false"> If [code]true[/code], audio is playing. diff --git a/doc/classes/AudioStreamPlayer2D.xml b/doc/classes/AudioStreamPlayer2D.xml index 66254b504a..844e2316ba 100644 --- a/doc/classes/AudioStreamPlayer2D.xml +++ b/doc/classes/AudioStreamPlayer2D.xml @@ -60,14 +60,14 @@ <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false"> If [code]true[/code], audio plays when added to scene tree. </member> - <member name="bus" type="String" setter="set_bus" getter="get_bus" default=""Master""> + <member name="bus" type="StringName" setter="set_bus" getter="get_bus" default="@"Master""> Bus on which this audio is playing. </member> <member name="max_distance" type="float" setter="set_max_distance" getter="get_max_distance" default="2000.0"> Maximum distance from which audio is still hearable. </member> <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0"> - Changes the pitch and the tempo of the audio. + The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate. </member> <member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false"> If [code]true[/code], audio is playing. diff --git a/doc/classes/AudioStreamPlayer3D.xml b/doc/classes/AudioStreamPlayer3D.xml index f476bec323..bd90e3bd1a 100644 --- a/doc/classes/AudioStreamPlayer3D.xml +++ b/doc/classes/AudioStreamPlayer3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="AudioStreamPlayer3D" inherits="Spatial" version="4.0"> +<class name="AudioStreamPlayer3D" inherits="Node3D" version="4.0"> <brief_description> Plays 3D sound in 3D space. </brief_description> @@ -66,7 +66,7 @@ <member name="autoplay" type="bool" setter="set_autoplay" getter="is_autoplay_enabled" default="false"> If [code]true[/code], audio plays when added to scene tree. </member> - <member name="bus" type="String" setter="set_bus" getter="get_bus" default=""Master""> + <member name="bus" type="StringName" setter="set_bus" getter="get_bus" default="@"Master""> Bus on which this audio is playing. </member> <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="AudioStreamPlayer3D.DopplerTracking" default="0"> @@ -91,7 +91,7 @@ Decides if audio should pause when source is outside of [member max_distance] range. </member> <member name="pitch_scale" type="float" setter="set_pitch_scale" getter="get_pitch_scale" default="1.0"> - Changes the pitch and the tempo of the audio. + The pitch and the tempo of the audio, as a multiplier of the audio sample's sample rate. </member> <member name="playing" type="bool" setter="_set_playing" getter="is_playing" default="false"> If [code]true[/code], audio is playing. diff --git a/doc/classes/AudioStreamSample.xml b/doc/classes/AudioStreamSample.xml index 6d99433c90..c12e1bd05c 100644 --- a/doc/classes/AudioStreamSample.xml +++ b/doc/classes/AudioStreamSample.xml @@ -30,13 +30,13 @@ Audio format. See [enum Format] constants for values. </member> <member name="loop_begin" type="int" setter="set_loop_begin" getter="get_loop_begin" default="0"> - Loop start in bytes. + The loop start point (in number of samples, relative to the beginning of the sample). This information will be imported automatically from the WAV file if present. </member> <member name="loop_end" type="int" setter="set_loop_end" getter="get_loop_end" default="0"> - Loop end in bytes. + The loop end point (in number of samples, relative to the beginning of the sample). This information will be imported automatically from the WAV file if present. </member> <member name="loop_mode" type="int" setter="set_loop_mode" getter="get_loop_mode" enum="AudioStreamSample.LoopMode" default="0"> - Loop mode. See [enum LoopMode] constants for values. + The loop mode. This information will be imported automatically from the WAV file if present. See [enum LoopMode] constants for values. </member> <member name="mix_rate" type="int" setter="set_mix_rate" getter="get_mix_rate" default="44100"> The sample rate for mixing this audio. @@ -59,13 +59,13 @@ Audio does not loop. </constant> <constant name="LOOP_FORWARD" value="1" enum="LoopMode"> - Audio loops the data between [member loop_begin] and [member loop_end] playing forward only. + Audio loops the data between [member loop_begin] and [member loop_end], playing forward only. </constant> <constant name="LOOP_PING_PONG" value="2" enum="LoopMode"> - Audio loops the data between [member loop_begin] and [member loop_end] playing back and forth. + Audio loops the data between [member loop_begin] and [member loop_end], playing back and forth. </constant> <constant name="LOOP_BACKWARD" value="3" enum="LoopMode"> - Audio loops the data between [member loop_begin] and [member loop_end] playing backward only. + Audio loops the data between [member loop_begin] and [member loop_end], playing backward only. </constant> </constants> </class> diff --git a/doc/classes/BackBufferCopy.xml b/doc/classes/BackBufferCopy.xml index 1f7554f978..7cc6a5613b 100644 --- a/doc/classes/BackBufferCopy.xml +++ b/doc/classes/BackBufferCopy.xml @@ -5,6 +5,7 @@ </brief_description> <description> Node for back-buffering the currently-displayed screen. The region defined in the BackBufferCopy node is bufferized with the content of the screen it covers, or the entire screen according to the copy mode set. Use the [code]texture(SCREEN_TEXTURE, ...)[/code] function in your shader scripts to access the buffer. + [b]Note:[/b] Since this node inherits from [Node2D] (and not [Control]), anchors and margins won't apply to child [Control]-derived nodes. This can be problematic when resizing the window. To avoid this, add [Control]-derived nodes as [i]siblings[/i] to the BackBufferCopy node instead of adding them as children. </description> <tutorials> </tutorials> diff --git a/doc/classes/BaseButton.xml b/doc/classes/BaseButton.xml index 2147b2b4b0..5e908b0e53 100644 --- a/doc/classes/BaseButton.xml +++ b/doc/classes/BaseButton.xml @@ -60,6 +60,7 @@ </member> <member name="keep_pressed_outside" type="bool" setter="set_keep_pressed_outside" getter="is_keep_pressed_outside" default="false"> 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> <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false"> If [code]true[/code], the button's state is pressed. Means the button is pressed down or toggled (if [member toggle_mode] is active). diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml index 2e4ca9677d..76abc31451 100644 --- a/doc/classes/BaseMaterial3D.xml +++ b/doc/classes/BaseMaterial3D.xml @@ -67,6 +67,7 @@ <argument index="1" name="texture" type="Texture2D"> </argument> <description> + Sets the texture for the slot specified by [code]param[/code]. See [enum TextureParam] for available slots. </description> </method> </methods> @@ -107,6 +108,15 @@ <member name="ao_texture_channel" type="int" setter="set_ao_texture_channel" getter="get_ao_texture_channel" enum="BaseMaterial3D.TextureChannel"> Specifies the channel of the [member ao_texture] in which the ambient occlusion information is stored. This is useful when you store the information for multiple effects in a single texture. For example if you stored metallic in the red channel, roughness in the blue, and ambient occlusion in the green you could reduce the number of textures you use. </member> + <member name="backlight" type="Color" setter="set_backlight" getter="get_backlight"> + The color used by the backlight effect. Represents the light passing through an object. + </member> + <member name="backlight_enabled" type="bool" setter="set_feature" getter="get_feature" default="false"> + If [code]true[/code], the backlight effect is enabled. + </member> + <member name="backlight_texture" type="Texture2D" setter="set_texture" getter="get_texture"> + Texture used to control the backlight effect per-pixel. Added to [member backlight]. + </member> <member name="billboard_keep_scale" type="bool" setter="set_flag" getter="get_flag" default="false"> If [code]true[/code], the shader will keep the scale set for the mesh. Otherwise the scale is lost when billboarding. Only applies when [member billboard_mode] is [constant BILLBOARD_ENABLED]. </member> @@ -295,6 +305,7 @@ Specifies the channel of the [member ao_texture] in which the ambient occlusion information is stored. This is useful when you store the information for multiple effects in a single texture. For example if you stored metallic in the red channel, roughness in the blue, and ambient occlusion in the green you could reduce the number of textures you use. </member> <member name="shading_mode" type="int" setter="set_shading_mode" getter="get_shading_mode" enum="BaseMaterial3D.ShadingMode" default="1"> + Sets whether the shading takes place per-pixel or per-vertex. Per-vertex lighting is faster, making it the best choice for mobile applications, however it looks considerably worse than per-pixel. </member> <member name="shadow_to_opacity" type="bool" setter="set_flag" getter="get_flag" default="false"> If [code]true[/code], enables the "shadow to opacity" render mode where lighting modifies the alpha so shadowed areas are opaque and non-shadowed areas are transparent. Useful for overlaying shadows onto a camera feed in AR. @@ -305,27 +316,33 @@ <member name="subsurf_scatter_enabled" type="bool" setter="set_feature" getter="get_feature" default="false"> If [code]true[/code], subsurface scattering is enabled. Emulates light that penetrates an object's surface, is scattered, and then emerges. </member> + <member name="subsurf_scatter_skin_mode" type="bool" setter="set_flag" getter="get_flag"> + If [code]true[/code], subsurface scattering will use a special mode optimized for the color and density of human skin. + </member> <member name="subsurf_scatter_strength" type="float" setter="set_subsurface_scattering_strength" getter="get_subsurface_scattering_strength"> The strength of the subsurface scattering effect. </member> <member name="subsurf_scatter_texture" type="Texture2D" setter="set_texture" getter="get_texture"> Texture used to control the subsurface scattering strength. Stored in the red texture channel. Multiplied by [member subsurf_scatter_strength]. </member> + <member name="subsurf_scatter_transmittance_boost" type="float" setter="set_transmittance_boost" getter="get_transmittance_boost"> + </member> + <member name="subsurf_scatter_transmittance_color" type="Color" setter="set_transmittance_color" getter="get_transmittance_color"> + </member> + <member name="subsurf_scatter_transmittance_curve" type="float" setter="set_transmittance_curve" getter="get_transmittance_curve"> + </member> + <member name="subsurf_scatter_transmittance_depth" type="float" setter="set_transmittance_depth" getter="get_transmittance_depth"> + </member> + <member name="subsurf_scatter_transmittance_enabled" type="bool" setter="set_feature" getter="get_feature"> + </member> + <member name="subsurf_scatter_transmittance_texture" type="Texture2D" setter="set_texture" getter="get_texture"> + </member> <member name="texture_filter" type="int" setter="set_texture_filter" getter="get_texture_filter" enum="BaseMaterial3D.TextureFilter" default="3"> Filter flags for the texture. See [enum TextureFilter] for options. </member> <member name="texture_repeat" type="bool" setter="set_flag" getter="get_flag" default="true"> Repeat flags for the texture. See [enum TextureFilter] for options. </member> - <member name="transmission" type="Color" setter="set_transmission" getter="get_transmission"> - The color used by the transmission effect. Represents the light passing through an object. - </member> - <member name="transmission_enabled" type="bool" setter="set_feature" getter="get_feature" default="false"> - If [code]true[/code], the transmission effect is enabled. - </member> - <member name="transmission_texture" type="Texture2D" setter="set_texture" getter="get_texture"> - Texture used to control the transmission effect per-pixel. Added to [member transmission]. - </member> <member name="transparency" type="int" setter="set_transparency" getter="get_transparency" enum="BaseMaterial3D.Transparency" default="0"> If [code]true[/code], transparency is enabled on the body. See also [member blend_mode]. </member> @@ -404,39 +421,50 @@ <constant name="TEXTURE_SUBSURFACE_SCATTERING" value="10" enum="TextureParam"> Texture specifying per-pixel subsurface scattering. </constant> - <constant name="TEXTURE_TRANSMISSION" value="11" enum="TextureParam"> - Texture specifying per-pixel transmission color. + <constant name="TEXTURE_SUBSURFACE_TRANSMITTANCE" value="11" enum="TextureParam"> + Texture specifying per-pixel transmittance for subsurface scattering. + </constant> + <constant name="TEXTURE_BACKLIGHT" value="12" enum="TextureParam"> + Texture specifying per-pixel backlight color. </constant> - <constant name="TEXTURE_REFRACTION" value="12" enum="TextureParam"> + <constant name="TEXTURE_REFRACTION" value="13" enum="TextureParam"> Texture specifying per-pixel refraction strength. </constant> - <constant name="TEXTURE_DETAIL_MASK" value="13" enum="TextureParam"> + <constant name="TEXTURE_DETAIL_MASK" value="14" enum="TextureParam"> Texture specifying per-pixel detail mask blending value. </constant> - <constant name="TEXTURE_DETAIL_ALBEDO" value="14" enum="TextureParam"> + <constant name="TEXTURE_DETAIL_ALBEDO" value="15" enum="TextureParam"> Texture specifying per-pixel detail color. </constant> - <constant name="TEXTURE_DETAIL_NORMAL" value="15" enum="TextureParam"> + <constant name="TEXTURE_DETAIL_NORMAL" value="16" enum="TextureParam"> Texture specifying per-pixel detail normal. </constant> - <constant name="TEXTURE_ORM" value="16" enum="TextureParam"> + <constant name="TEXTURE_ORM" value="17" enum="TextureParam"> + Texture holding ambient occlusion, roughness, and metallic. </constant> - <constant name="TEXTURE_MAX" value="17" enum="TextureParam"> + <constant name="TEXTURE_MAX" value="18" enum="TextureParam"> Represents the size of the [enum TextureParam] enum. </constant> <constant name="TEXTURE_FILTER_NEAREST" value="0" enum="TextureFilter"> + The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized. </constant> <constant name="TEXTURE_FILTER_LINEAR" value="1" enum="TextureFilter"> + The texture filter blends between the nearest 4 pixels. Use this when you want to avoid a pixelated style, but do not want mipmaps. </constant> <constant name="TEXTURE_FILTER_NEAREST_WITH_MIPMAPS" value="2" enum="TextureFilter"> + The texture filter reads from the nearest pixel in the nearest mipmap. The fastest way to read from textures with mipmaps. </constant> <constant name="TEXTURE_FILTER_LINEAR_WITH_MIPMAPS" value="3" enum="TextureFilter"> + The texture filter blends between the nearest 4 pixels and between the nearest 2 mipmaps. Use this for most cases as mipmaps are important to smooth out pixels that are far from the camera. </constant> <constant name="TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC" value="4" enum="TextureFilter"> + The texture filter reads from the nearest pixel, but selects a mipmap based on the angle between the surface and the camera view. This reduces artifacts on surfaces that are almost in line with the camera. </constant> <constant name="TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC" value="5" enum="TextureFilter"> + The texture filter blends between the nearest 4 pixels and selects a mipmap based on the angle between the surface and the camera view. This reduces artifacts on surfaces that are almost in line with the camera. This is the slowest of the filtering options, but results in the highest quality texturing. </constant> <constant name="TEXTURE_FILTER_MAX" value="6" enum="TextureFilter"> + Represents the size of the [enum TextureFilter] enum. </constant> <constant name="DETAIL_UV_1" value="0" enum="DetailUV"> Use [code]UV[/code] with the detail texture. @@ -445,22 +473,31 @@ Use [code]UV2[/code] with the detail texture. </constant> <constant name="TRANSPARENCY_DISABLED" value="0" enum="Transparency"> + The material will not use transparency. </constant> <constant name="TRANSPARENCY_ALPHA" value="1" enum="Transparency"> + The material will use the texture's alpha values for transparency. </constant> <constant name="TRANSPARENCY_ALPHA_SCISSOR" value="2" enum="Transparency"> + The material will cut off all values below a threshold, the rest will remain opaque. </constant> <constant name="TRANSPARENCY_ALPHA_DEPTH_PRE_PASS" value="3" enum="Transparency"> + The material will use the texture's alpha value for transparency, but will still be rendered in the pre-pass. </constant> <constant name="TRANSPARENCY_MAX" value="4" enum="Transparency"> + Represents the size of the [enum Transparency] enum. </constant> <constant name="SHADING_MODE_UNSHADED" value="0" enum="ShadingMode"> + The object will not receive shadows. </constant> <constant name="SHADING_MODE_PER_PIXEL" value="1" enum="ShadingMode"> + The object will be shaded per pixel. Useful for realistic shading effect. </constant> <constant name="SHADING_MODE_PER_VERTEX" value="2" enum="ShadingMode"> + The object will be shaded per vertex. Useful when you want cheaper shaders and do not care about visual quality. </constant> <constant name="SHADING_MODE_MAX" value="3" enum="ShadingMode"> + Represents the size of the [enum ShadingMode] enum. </constant> <constant name="FEATURE_EMISSION" value="0" enum="Feature"> Constant for setting [member emission_enabled]. @@ -481,20 +518,24 @@ Constant for setting [member ao_enabled]. </constant> <constant name="FEATURE_HEIGHT_MAPPING" value="6" enum="Feature"> + Constant for setting [member heightmap_enabled]. </constant> - <constant name="FEATURE_SUBSURACE_SCATTERING" value="7" enum="Feature"> + <constant name="FEATURE_SUBSURFACE_SCATTERING" value="7" enum="Feature"> Constant for setting [member subsurf_scatter_enabled]. </constant> - <constant name="FEATURE_TRANSMISSION" value="8" enum="Feature"> - Constant for setting [member transmission_enabled]. + <constant name="FEATURE_SUBSURFACE_TRANSMITTANCE" value="8" enum="Feature"> + Constant for setting [member subsurf_scatter_transmittance_enabled]. </constant> - <constant name="FEATURE_REFRACTION" value="9" enum="Feature"> + <constant name="FEATURE_BACKLIGHT" value="9" enum="Feature"> + Constant for setting [member backlight_enabled]. + </constant> + <constant name="FEATURE_REFRACTION" value="10" enum="Feature"> Constant for setting [member refraction_enabled]. </constant> - <constant name="FEATURE_DETAIL" value="10" enum="Feature"> + <constant name="FEATURE_DETAIL" value="11" enum="Feature"> Constant for setting [member detail_enabled]. </constant> - <constant name="FEATURE_MAX" value="11" enum="Feature"> + <constant name="FEATURE_MAX" value="12" enum="Feature"> Represents the size of the [enum Feature] enum. </constant> <constant name="BLEND_MODE_MIX" value="0" enum="BlendMode"> @@ -576,11 +617,15 @@ Enables the shadow to opacity feature. </constant> <constant name="FLAG_USE_TEXTURE_REPEAT" value="16" enum="Flags"> + Enables the texture to repeat when UV coordinates are outside the 0-1 range. If using one of the linear filtering modes, this can result in artifacts at the edges of a texture when the sampler filters across the edges of the texture. </constant> <constant name="FLAG_INVERT_HEIGHTMAP" value="17" enum="Flags"> Invert values read from a depth texture to convert them to height values (heightmap). </constant> - <constant name="FLAG_MAX" value="18" enum="Flags"> + <constant name="FLAG_SUBSURFACE_MODE_SKIN" value="18" enum="Flags"> + Enables the skin mode for subsurface scattering which is used to improve the look of subsurface scattering when used for human skin. + </constant> + <constant name="FLAG_MAX" value="19" enum="Flags"> Represents the size of the [enum Flags] enum. </constant> <constant name="DIFFUSE_BURLEY" value="0" enum="DiffuseMode"> @@ -623,8 +668,8 @@ The object's X axis will always face the camera. </constant> <constant name="BILLBOARD_PARTICLES" value="3" enum="BillboardMode"> - Used for particle systems when assigned to [Particles] and [CPUParticles] nodes. Enables [code]particles_anim_*[/code] properties. - The [member ParticlesMaterial.anim_speed] or [member CPUParticles.anim_speed] should also be set to a positive value for the animation to play. + Used for particle systems when assigned to [GPUParticles3D] and [CPUParticles3D] nodes. Enables [code]particles_anim_*[/code] properties. + The [member ParticlesMaterial.anim_speed] or [member CPUParticles3D.anim_speed] should also be set to a positive value for the animation to play. </constant> <constant name="TEXTURE_CHANNEL_RED" value="0" enum="TextureChannel"> Used to read from the red channel of a texture. diff --git a/doc/classes/Basis.xml b/doc/classes/Basis.xml index e2b5c23c11..3952ea2d27 100644 --- a/doc/classes/Basis.xml +++ b/doc/classes/Basis.xml @@ -100,7 +100,7 @@ </return> <argument index="0" name="b" type="Basis"> </argument> - <argument index="1" name="epsilon" type="float" default="0.00001"> + <argument index="1" name="epsilon" type="float" default="1e-05"> </argument> <description> Returns [code]true[/code] if this basis and [code]b[/code] are approximately equal, by calling [code]is_equal_approx[/code] on each component. diff --git a/doc/classes/BoneAttachment.xml b/doc/classes/BoneAttachment3D.xml index d15322254b..ab1e5b17d9 100644 --- a/doc/classes/BoneAttachment.xml +++ b/doc/classes/BoneAttachment3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BoneAttachment" inherits="Spatial" version="4.0"> +<class name="BoneAttachment3D" inherits="Node3D" version="4.0"> <brief_description> A node that will attach to a bone. </brief_description> <description> - This node must be the child of a [Skeleton] node. You can then select a bone for this node to attach to. The BoneAttachment node will copy the transform of the selected bone. + This node must be the child of a [Skeleton3D] node. You can then select a bone for this node to attach to. The BoneAttachment3D node will copy the transform of the selected bone. </description> <tutorials> </tutorials> diff --git a/doc/classes/BoxContainer.xml b/doc/classes/BoxContainer.xml index 4b5d4c853a..0d8233e6ff 100644 --- a/doc/classes/BoxContainer.xml +++ b/doc/classes/BoxContainer.xml @@ -4,7 +4,7 @@ Base class for box containers. </brief_description> <description> - Arranges child controls vertically or horizontally, and rearranges the controls automatically when their minimum size changes. + Arranges child [Control] nodes vertically or horizontally, and rearranges them automatically when their minimum size changes. </description> <tutorials> </tutorials> @@ -15,13 +15,13 @@ <argument index="0" name="begin" type="bool"> </argument> <description> - Adds a control to the box as a spacer. If [code]true[/code], [code]begin[/code] will insert the spacer control in front of other children. + Adds a [Control] node to the box as a spacer. If [code]begin[/code] is [code]true[/code], it will insert the [Control] node in front of all other children. </description> </method> </methods> <members> <member name="alignment" type="int" setter="set_alignment" getter="get_alignment" enum="BoxContainer.AlignMode" default="0"> - The alignment of the container's children (must be one of [constant ALIGN_BEGIN], [constant ALIGN_CENTER] or [constant ALIGN_END]). + The alignment of the container's children (must be one of [constant ALIGN_BEGIN], [constant ALIGN_CENTER], or [constant ALIGN_END]). </member> </members> <constants> diff --git a/doc/classes/BoxShape.xml b/doc/classes/BoxShape3D.xml index 3a5f05ef79..fd08da148d 100644 --- a/doc/classes/BoxShape.xml +++ b/doc/classes/BoxShape3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="BoxShape" inherits="Shape" version="4.0"> +<class name="BoxShape3D" inherits="Shape3D" version="4.0"> <brief_description> Box shape resource. </brief_description> <description> - 3D box shape that can be a child of a [PhysicsBody] or [Area]. + 3D box shape that can be a child of a [PhysicsBody3D] or [Area3D]. </description> <tutorials> </tutorials> diff --git a/doc/classes/CPUParticles2D.xml b/doc/classes/CPUParticles2D.xml index 799ba32075..c2b821699d 100644 --- a/doc/classes/CPUParticles2D.xml +++ b/doc/classes/CPUParticles2D.xml @@ -5,7 +5,7 @@ </brief_description> <description> CPU-based 2D particle node used to create a variety of particle systems and effects. - See also [Particles2D], which provides the same functionality with hardware acceleration, but may not run on older devices. + See also [GPUParticles2D], which provides the same functionality with hardware acceleration, but may not run on older devices. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/2d/particle_systems_2d.html</link> @@ -17,7 +17,7 @@ <argument index="0" name="particles" type="Node"> </argument> <description> - Sets this node's properties to match a given [Particles2D] node with an assigned [ParticlesMaterial]. + Sets this node's properties to match a given [GPUParticles2D] node with an assigned [ParticlesMaterial]. </description> </method> <method name="get_param" qualifiers="const"> diff --git a/doc/classes/CPUParticles.xml b/doc/classes/CPUParticles3D.xml index 6a6525e99a..07da066bd9 100644 --- a/doc/classes/CPUParticles.xml +++ b/doc/classes/CPUParticles3D.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CPUParticles" inherits="GeometryInstance" version="4.0"> +<class name="CPUParticles3D" inherits="GeometryInstance3D" version="4.0"> <brief_description> CPU-based 3D particle emitter. </brief_description> <description> CPU-based 3D particle node used to create a variety of particle systems and effects. - See also [Particles], which provides the same functionality with hardware acceleration, but may not run on older devices. + See also [GPUParticles3D], which provides the same functionality with hardware acceleration, but may not run on older devices. </description> <tutorials> </tutorials> @@ -16,13 +16,13 @@ <argument index="0" name="particles" type="Node"> </argument> <description> - Sets this node's properties to match a given [Particles] node with an assigned [ParticlesMaterial]. + Sets this node's properties to match a given [GPUParticles3D] node with an assigned [ParticlesMaterial]. </description> </method> <method name="get_param" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="CPUParticles.Parameter"> + <argument index="0" name="param" type="int" enum="CPUParticles3D.Parameter"> </argument> <description> Returns the base value of the parameter specified by [enum Parameter]. @@ -31,7 +31,7 @@ <method name="get_param_curve" qualifiers="const"> <return type="Curve"> </return> - <argument index="0" name="param" type="int" enum="CPUParticles.Parameter"> + <argument index="0" name="param" type="int" enum="CPUParticles3D.Parameter"> </argument> <description> Returns the [Curve] of the parameter specified by [enum Parameter]. @@ -40,7 +40,7 @@ <method name="get_param_randomness" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="CPUParticles.Parameter"> + <argument index="0" name="param" type="int" enum="CPUParticles3D.Parameter"> </argument> <description> Returns the randomness factor of the parameter specified by [enum Parameter]. @@ -49,7 +49,7 @@ <method name="get_particle_flag" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="flag" type="int" enum="CPUParticles.Flags"> + <argument index="0" name="flag" type="int" enum="CPUParticles3D.Flags"> </argument> <description> Returns the enabled state of the given flag (see [enum Flags] for options). @@ -65,7 +65,7 @@ <method name="set_param"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="CPUParticles.Parameter"> + <argument index="0" name="param" type="int" enum="CPUParticles3D.Parameter"> </argument> <argument index="1" name="value" type="float"> </argument> @@ -76,7 +76,7 @@ <method name="set_param_curve"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="CPUParticles.Parameter"> + <argument index="0" name="param" type="int" enum="CPUParticles3D.Parameter"> </argument> <argument index="1" name="curve" type="Curve"> </argument> @@ -87,7 +87,7 @@ <method name="set_param_randomness"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="CPUParticles.Parameter"> + <argument index="0" name="param" type="int" enum="CPUParticles3D.Parameter"> </argument> <argument index="1" name="randomness" type="float"> </argument> @@ -98,7 +98,7 @@ <method name="set_particle_flag"> <return type="void"> </return> - <argument index="0" name="flag" type="int" enum="CPUParticles.Flags"> + <argument index="0" name="flag" type="int" enum="CPUParticles3D.Flags"> </argument> <argument index="1" name="enable" type="bool"> </argument> @@ -165,7 +165,7 @@ <member name="direction" type="Vector3" setter="set_direction" getter="get_direction" default="Vector3( 1, 0, 0 )"> Unit vector specifying the particles' emission direction. </member> - <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles.DrawOrder" default="0"> + <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="CPUParticles3D.DrawOrder" default="0"> Particle draw order. Uses [enum DrawOrder] values. </member> <member name="emission_box_extents" type="Vector3" setter="set_emission_box_extents" getter="get_emission_box_extents"> @@ -180,7 +180,7 @@ <member name="emission_points" type="PackedVector3Array" setter="set_emission_points" getter="get_emission_points" default="PackedVector3Array( )"> Sets the initial positions to spawn particles when using [constant EMISSION_SHAPE_POINTS] or [constant EMISSION_SHAPE_DIRECTED_POINTS]. </member> - <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles.EmissionShape" default="0"> + <member name="emission_shape" type="int" setter="set_emission_shape" getter="get_emission_shape" enum="CPUParticles3D.EmissionShape" default="0"> Particles will be emitted inside this region. See [enum EmissionShape] for possible values. </member> <member name="emission_sphere_radius" type="float" setter="set_emission_sphere_radius" getter="get_emission_sphere_radius"> diff --git a/doc/classes/Callable.xml b/doc/classes/Callable.xml new file mode 100644 index 0000000000..3cc74beb58 --- /dev/null +++ b/doc/classes/Callable.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Callable" version="4.0"> + <brief_description> + An object representing a method in a certain object that can be called. + </brief_description> + <description> + [Callable] is a first class object which can be held in variables and passed to functions. It represents a given method in an [Object], and is typically used for signal callbacks. + [b]Example:[/b] + [codeblock] + var callable = Callable(self, "print_args") + func print_args(arg1, arg2, arg3 = ""): + prints(arg1, arg2, arg3) + func test(): + callable.call("hello", "world") # Prints "hello world". + callable.call(Vector2.UP, 42, callable) # Prints "(0, -1) 42 Node(Node.gd)::print_args". + callable.call("invalid") # Invalid call, should have at least 2 arguments. + [/codeblock] + </description> + <tutorials> + </tutorials> + <methods> + <method name="Callable"> + <return type="Callable"> + </return> + <argument index="0" name="object" type="Object"> + </argument> + <argument index="1" name="method_name" type="StringName"> + </argument> + <description> + Creates a new [Callable] for the method called [code]method_name[/code] in the specified [code]object[/code]. + </description> + </method> + <method name="call" qualifiers="vararg"> + <return type="Variant"> + </return> + <description> + Calls the method represented by this [Callable]. Arguments can be passed and should match the method's signature. + </description> + </method> + <method name="call_deferred" qualifiers="vararg"> + <return type="void"> + </return> + <description> + Calls the method represented by this [Callable] in deferred mode, i.e. during the idle frame. Arguments can be passed and should match the method's signature. + </description> + </method> + <method name="get_method"> + <return type="StringName"> + </return> + <description> + Returns the name of the method represented by this [Callable]. + </description> + </method> + <method name="get_object"> + <return type="Object"> + </return> + <description> + Returns the object on which this [Callable] is called. + </description> + </method> + <method name="get_object_id"> + <return type="int"> + </return> + <description> + Returns the ID of this [Callable]'s object (see [method Object.get_instance_id]). + </description> + </method> + <method name="hash"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="is_custom"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="is_null"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="is_standard"> + <return type="bool"> + </return> + <description> + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/Camera2D.xml b/doc/classes/Camera2D.xml index 73892481e6..ad49216b34 100644 --- a/doc/classes/Camera2D.xml +++ b/doc/classes/Camera2D.xml @@ -5,7 +5,8 @@ </brief_description> <description> Camera node for 2D scenes. It forces the screen (current layer) to scroll following this node. This makes it easier (and faster) to program scrollable scenes than manually changing the position of [CanvasItem]-based nodes. - This node is intended to be a simple helper to get things going quickly and it may happen that more functionality is desired to change how the camera works. To make your own custom camera node, simply inherit from [Node2D] and change the transform of the canvas by calling get_viewport().set_canvas_transform(m) in [Viewport]. + This node is intended to be a simple helper to get things going quickly and it may happen that more functionality is desired to change how the camera works. To make your own custom camera node, inherit from [Node2D] and change the transform of the canvas by setting [member Viewport.canvas_transform] in [Viewport] (you can obtain the current [Viewport] by using [method Node.get_viewport]). + Note that the [Camera2D] node's [code]position[/code] doesn't represent the actual position of the screen, which may differ due to applied smoothing or limits. You can use [method get_camera_screen_center] to get the real position. </description> <tutorials> </tutorials> diff --git a/doc/classes/Camera.xml b/doc/classes/Camera3D.xml index 6097721cbd..bfba23c7ee 100644 --- a/doc/classes/Camera.xml +++ b/doc/classes/Camera3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Camera" inherits="Spatial" version="4.0"> +<class name="Camera3D" inherits="Node3D" version="4.0"> <brief_description> Camera node, displays from a point of view. </brief_description> <description> - Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest [Viewport] node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the camera will register in the global viewport. In other words, a camera just provides 3D display capabilities to a [Viewport], and, without one, a scene registered in that [Viewport] (or higher viewports) can't be displayed. + [Camera3D] is a special node that displays what is visible from its current location. Cameras register themselves in the nearest [Viewport] node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the camera will register in the global viewport. In other words, a camera just provides 3D display capabilities to a [Viewport], and, without one, a scene registered in that [Viewport] (or higher viewports) can't be displayed. </description> <tutorials> </tutorials> @@ -22,14 +22,14 @@ <return type="RID"> </return> <description> - Returns the camera's RID from the [VisualServer]. + Returns the camera's RID from the [RenderingServer]. </description> </method> <method name="get_camera_transform" qualifiers="const"> <return type="Transform"> </return> <description> - Gets the camera transform. Subclassed cameras such as [InterpolatedCamera] may provide different transforms than the [Node] transform. + Gets the camera transform. Subclassed cameras such as [ClippedCamera3D] may provide different transforms than the [Node] transform. </description> </method> <method name="get_cull_mask_bit" qualifiers="const"> @@ -172,7 +172,7 @@ <member name="current" type="bool" setter="set_current" getter="is_current" default="false"> If [code]true[/code], the ancestor [Viewport] is currently using this camera. </member> - <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="Camera.DopplerTracking" default="0"> + <member name="doppler_tracking" type="int" setter="set_doppler_tracking" getter="get_doppler_tracking" enum="Camera3D.DopplerTracking" default="0"> If not [constant DOPPLER_TRACKING_DISABLED], this camera will simulate the [url=https://en.wikipedia.org/wiki/Doppler_effect]Doppler effect[/url] for objects changed in particular [code]_process[/code] methods. See [enum DopplerTracking] for possible values. </member> <member name="effects" type="CameraEffects" setter="set_effects" getter="get_effects"> @@ -192,13 +192,13 @@ <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset" default="0.0"> The horizontal (X) offset of the camera viewport. </member> - <member name="keep_aspect" type="int" setter="set_keep_aspect_mode" getter="get_keep_aspect_mode" enum="Camera.KeepAspect" default="1"> + <member name="keep_aspect" type="int" setter="set_keep_aspect_mode" getter="get_keep_aspect_mode" enum="Camera3D.KeepAspect" default="1"> The axis to lock during [member fov]/[member size] adjustments. Can be either [constant KEEP_WIDTH] or [constant KEEP_HEIGHT]. </member> <member name="near" type="float" setter="set_znear" getter="get_znear" default="0.05"> The distance to the near culling boundary for this camera relative to its local Z axis. </member> - <member name="projection" type="int" setter="set_projection" getter="get_projection" enum="Camera.Projection" default="0"> + <member name="projection" type="int" setter="set_projection" getter="get_projection" enum="Camera3D.Projection" default="0"> The camera's projection mode. In [constant PROJECTION_PERSPECTIVE] mode, objects' Z distance from the camera's local space scales their perceived size. </member> <member name="size" type="float" setter="set_size" getter="get_size" default="1.0"> diff --git a/doc/classes/CameraEffects.xml b/doc/classes/CameraEffects.xml index 23f0a1c7af..ea9ab85b80 100644 --- a/doc/classes/CameraEffects.xml +++ b/doc/classes/CameraEffects.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="CameraEffects" inherits="Resource" version="4.0"> <brief_description> + Contains camera-specific effects such as depth of field and exposure override. </brief_description> <description> + Contains camera-specific effects such as depth of field and exposure override. + See also [Environment] for general 3D environment settings. </description> <tutorials> </tutorials> @@ -10,22 +13,31 @@ </methods> <members> <member name="dof_blur_amount" type="float" setter="set_dof_blur_amount" getter="get_dof_blur_amount" default="0.1"> + The amount of blur for both near and far depth-of-field effects. The amount of blur increases the radius of the blur effect, making the affected area blurrier. However, If the amount is too high, you might start to see lines appearing, especially when using a low quality blur. </member> <member name="dof_blur_far_distance" type="float" setter="set_dof_blur_far_distance" getter="get_dof_blur_far_distance" default="10.0"> + The distance from the camera where the far blur effect affects the rendering. </member> <member name="dof_blur_far_enabled" type="bool" setter="set_dof_blur_far_enabled" getter="is_dof_blur_far_enabled" default="false"> + If [code]true[/code], enables the depth-of-field far blur effect. This has a significant performance cost. Consider disabling it in scenes where there are no far away objects. </member> <member name="dof_blur_far_transition" type="float" setter="set_dof_blur_far_transition" getter="get_dof_blur_far_transition" default="5.0"> + The length of the transition between the no-blur area and far blur. </member> <member name="dof_blur_near_distance" type="float" setter="set_dof_blur_near_distance" getter="get_dof_blur_near_distance" default="2.0"> + Distance from the camera where the near blur effect affects the rendering. </member> <member name="dof_blur_near_enabled" type="bool" setter="set_dof_blur_near_enabled" getter="is_dof_blur_near_enabled" default="false"> + If [code]true[/code], enables the depth-of-field near blur effect. This has a significant performance cost. Consider disabling it in scenes where there are no nearby objects. </member> <member name="dof_blur_near_transition" type="float" setter="set_dof_blur_near_transition" getter="get_dof_blur_near_transition" default="1.0"> + The length of the transition between the near blur and no-blur area. </member> <member name="override_exposure" type="float" setter="set_override_exposure" getter="get_override_exposure" default="1.0"> + The exposure override value to use. Higher values will result in a brighter scene. Only effective if [member override_exposure_enable] is [code]true[/code]. </member> <member name="override_exposure_enable" type="bool" setter="set_override_exposure_enabled" getter="is_override_exposure_enabled" default="false"> + If [code]true[/code], overrides the manual or automatic exposure defined in the [Environment] with the value in [member override_exposure]. </member> </members> <constants> diff --git a/doc/classes/CameraFeed.xml b/doc/classes/CameraFeed.xml index 3232f5970c..4fc124592f 100644 --- a/doc/classes/CameraFeed.xml +++ b/doc/classes/CameraFeed.xml @@ -4,7 +4,7 @@ A camera feed gives you access to a single physical camera attached to your device. </brief_description> <description> - A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used. + A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used. See also [CameraServer]. [b]Note:[/b] Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background. </description> <tutorials> diff --git a/doc/classes/CameraServer.xml b/doc/classes/CameraServer.xml index 82d1faf716..e00dc031dc 100644 --- a/doc/classes/CameraServer.xml +++ b/doc/classes/CameraServer.xml @@ -6,6 +6,7 @@ <description> The [CameraServer] keeps track of different cameras accessible in Godot. These are external cameras such as webcams or the cameras on your phone. It is notably used to provide AR modules with a video feed from the camera. + [b]Note:[/b] This class is currently only implemented on macOS and iOS. On other platforms, no [CameraFeed]s will be available. </description> <tutorials> </tutorials> @@ -16,7 +17,7 @@ <argument index="0" name="feed" type="CameraFeed"> </argument> <description> - Adds a camera feed to the camera server. + Adds the camera [code]feed[/code] to the camera server. </description> </method> <method name="feeds"> @@ -32,7 +33,7 @@ <argument index="0" name="index" type="int"> </argument> <description> - Returns the [CameraFeed] with this id. + Returns the [CameraFeed] corresponding to the camera with the given [code]index[/code]. </description> </method> <method name="get_feed_count"> @@ -48,7 +49,7 @@ <argument index="0" name="feed" type="CameraFeed"> </argument> <description> - Removes a [CameraFeed]. + Removes the specified camera [code]feed[/code]. </description> </method> </methods> @@ -57,14 +58,14 @@ <argument index="0" name="id" type="int"> </argument> <description> - Emitted when a [CameraFeed] is added (e.g. webcam is plugged in). + Emitted when a [CameraFeed] is added (e.g. a webcam is plugged in). </description> </signal> <signal name="camera_feed_removed"> <argument index="0" name="id" type="int"> </argument> <description> - Emitted when a [CameraFeed] is removed (e.g. webcam is unplugged). + Emitted when a [CameraFeed] is removed (e.g. a webcam is unplugged). </description> </signal> </signals> @@ -73,7 +74,7 @@ The RGBA camera image. </constant> <constant name="FEED_YCBCR_IMAGE" value="0" enum="FeedImage"> - The YCbCr camera image. + The [url=https://en.wikipedia.org/wiki/YCbCr]YCbCr[/url] camera image. </constant> <constant name="FEED_Y_IMAGE" value="0" enum="FeedImage"> The Y component camera image. diff --git a/doc/classes/CanvasItem.xml b/doc/classes/CanvasItem.xml index e6251a1d66..38e4453cf2 100644 --- a/doc/classes/CanvasItem.xml +++ b/doc/classes/CanvasItem.xml @@ -9,6 +9,7 @@ Canvas items are drawn in tree order. By default, children are on top of their parents so a root [CanvasItem] will be drawn behind everything. This behavior can be changed on a per-item basis. A [CanvasItem] can also be hidden, which will also hide its children. It provides many ways to change parameters such as modulation (for itself and its children) and self modulation (only for itself), as well as its blend mode. Ultimately, a transform notification can be requested, which will notify the node that its global position changed in case the parent tree changed. + [b]Note:[/b] Unless otherwise specified, all methods that have angle parameters must have angles specified as [i]radians[/i]. To convert degrees to radians, use [method @GDScript.deg2rad]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/2d/2d_transforms.html</link> @@ -260,7 +261,7 @@ <argument index="9" name="texture_repeat" type="int" enum="CanvasItem.TextureRepeat" default="0"> </argument> <description> - Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad. + Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points for a triangle, and 4 points for a quad. </description> </method> <method name="draw_rect"> @@ -426,7 +427,7 @@ <return type="RID"> </return> <description> - Returns the canvas item RID used by [VisualServer] for this item. + Returns the canvas item RID used by [RenderingServer] for this item. </description> </method> <method name="get_canvas_transform" qualifiers="const"> @@ -656,10 +657,13 @@ The [CanvasItem] has exited the canvas. </constant> <constant name="TEXTURE_FILTER_PARENT_NODE" value="0" enum="TextureFilter"> + The [CanvasItem] will inherit the filter from its parent. </constant> <constant name="TEXTURE_FILTER_NEAREST" value="1" enum="TextureFilter"> + The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering. Useful for pixel art. </constant> <constant name="TEXTURE_FILTER_LINEAR" value="2" enum="TextureFilter"> + The texture filter blends between the nearest four pixels. Use this for most cases where you want to avoid a pixelated style. </constant> <constant name="TEXTURE_FILTER_NEAREST_WITH_MIPMAPS" value="3" enum="TextureFilter"> </constant> @@ -670,16 +674,22 @@ <constant name="TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC" value="6" enum="TextureFilter"> </constant> <constant name="TEXTURE_FILTER_MAX" value="7" enum="TextureFilter"> + Represents the size of the [enum TextureFilter] enum. </constant> <constant name="TEXTURE_REPEAT_PARENT_NODE" value="0" enum="TextureRepeat"> + The [CanvasItem] will inherit the filter from its parent. </constant> <constant name="TEXTURE_REPEAT_DISABLED" value="1" enum="TextureRepeat"> + Texture will not repeat. </constant> <constant name="TEXTURE_REPEAT_ENABLED" value="2" enum="TextureRepeat"> + Texture will repeat normally. </constant> <constant name="TEXTURE_REPEAT_MIRROR" value="3" enum="TextureRepeat"> + Texture will repeat in a 2x2 tiled mode, where elements at even positions are mirrored. </constant> <constant name="TEXTURE_REPEAT_MAX" value="4" enum="TextureRepeat"> + Represents the size of the [enum TextureRepeat] enum. </constant> </constants> </class> diff --git a/doc/classes/CanvasItemMaterial.xml b/doc/classes/CanvasItemMaterial.xml index ffe2272260..c2d44c1d17 100644 --- a/doc/classes/CanvasItemMaterial.xml +++ b/doc/classes/CanvasItemMaterial.xml @@ -18,7 +18,7 @@ The manner in which material reacts to lighting. </member> <member name="particles_anim_h_frames" type="int" setter="set_particles_anim_h_frames" getter="get_particles_anim_h_frames"> - The number of columns in the spritesheet assigned as [Texture2D] for a [Particles2D] or [CPUParticles2D]. + The number of columns in the spritesheet assigned as [Texture2D] for a [GPUParticles2D] or [CPUParticles2D]. [b]Note:[/b] This property is only used and visible in the editor if [member particles_animation] is [code]true[/code]. </member> <member name="particles_anim_loop" type="bool" setter="set_particles_anim_loop" getter="get_particles_anim_loop"> @@ -26,11 +26,11 @@ [b]Note:[/b] This property is only used and visible in the editor if [member particles_animation] is [code]true[/code]. </member> <member name="particles_anim_v_frames" type="int" setter="set_particles_anim_v_frames" getter="get_particles_anim_v_frames"> - The number of rows in the spritesheet assigned as [Texture2D] for a [Particles2D] or [CPUParticles2D]. + The number of rows in the spritesheet assigned as [Texture2D] for a [GPUParticles2D] or [CPUParticles2D]. [b]Note:[/b] This property is only used and visible in the editor if [member particles_animation] is [code]true[/code]. </member> <member name="particles_animation" type="bool" setter="set_particles_animation" getter="get_particles_animation" default="false"> - If [code]true[/code], enable spritesheet-based animation features when assigned to [Particles2D] and [CPUParticles2D] nodes. The [member ParticlesMaterial.anim_speed] or [member CPUParticles2D.anim_speed] should also be set to a positive value for the animation to play. + If [code]true[/code], enable spritesheet-based animation features when assigned to [GPUParticles2D] and [CPUParticles2D] nodes. The [member ParticlesMaterial.anim_speed] or [member CPUParticles2D.anim_speed] should also be set to a positive value for the animation to play. This property (and other [code]particles_anim_*[/code] properties that depend on it) has no effect on other types of nodes. </member> </members> diff --git a/doc/classes/CapsuleShape.xml b/doc/classes/CapsuleShape3D.xml index c83e832281..f56d94dc63 100644 --- a/doc/classes/CapsuleShape.xml +++ b/doc/classes/CapsuleShape3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CapsuleShape" inherits="Shape" version="4.0"> +<class name="CapsuleShape3D" inherits="Shape3D" version="4.0"> <brief_description> Capsule shape for collisions. </brief_description> diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml index c29f089bce..9c42091eb8 100644 --- a/doc/classes/CheckBox.xml +++ b/doc/classes/CheckBox.xml @@ -4,7 +4,7 @@ Binary choice user interface widget. See also [CheckButton]. </brief_description> <description> - A checkbox allows the user to make a binary choice (choosing only one of two possible options). It's similar to [CheckButton] in functionality, but it has a different apperance. To follow established UX patterns, it's recommended to use CheckBox when toggling it has [b]no[/b] immediate effect on something. For instance, it should be used when toggling it will only do something once a confirmation button is pressed. + A checkbox allows the user to make a binary choice (choosing only one of two possible options). It's similar to [CheckButton] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use CheckBox when toggling it has [b]no[/b] immediate effect on something. For instance, it should be used when toggling it will only do something once a confirmation button is pressed. </description> <tutorials> </tutorials> diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml index 616940a494..514ff9a691 100644 --- a/doc/classes/CheckButton.xml +++ b/doc/classes/CheckButton.xml @@ -4,7 +4,7 @@ Checkable button. See also [CheckBox]. </brief_description> <description> - CheckButton is a toggle button displayed as a check field. It's similar to [CheckBox] in functionality, but it has a different apperance. To follow established UX patterns, it's recommended to use CheckButton when toggling it has an [b]immediate[/b] effect on something. For instance, it should be used if toggling it enables/disables a setting without requiring the user to press a confirmation button. + CheckButton is a toggle button displayed as a check field. It's similar to [CheckBox] in functionality, but it has a different appearance. To follow established UX patterns, it's recommended to use CheckButton when toggling it has an [b]immediate[/b] effect on something. For instance, it should be used if toggling it enables/disables a setting without requiring the user to press a confirmation button. </description> <tutorials> </tutorials> diff --git a/doc/classes/ClassDB.xml b/doc/classes/ClassDB.xml index a0f13494af..2a6a2ddd91 100644 --- a/doc/classes/ClassDB.xml +++ b/doc/classes/ClassDB.xml @@ -12,7 +12,7 @@ <method name="can_instance" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <description> Returns [code]true[/code] if you can instance objects from the specified [code]class[/code], [code]false[/code] in other case. @@ -21,16 +21,16 @@ <method name="class_exists" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <description> Returns whether the specified [code]class[/code] is available or not. </description> </method> <method name="class_get_category" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <description> Returns a category associated with the class for use in documentation and the Asset Library. Debug mode required. @@ -39,9 +39,9 @@ <method name="class_get_integer_constant" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> - <argument index="1" name="name" type="String"> + <argument index="1" name="name" type="StringName"> </argument> <description> Returns the value of the integer constant [code]name[/code] of [code]class[/code] or its ancestry. Always returns 0 when the constant could not be found. @@ -50,7 +50,7 @@ <method name="class_get_integer_constant_list" qualifiers="const"> <return type="PackedStringArray"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <argument index="1" name="no_inheritance" type="bool" default="false"> </argument> @@ -61,7 +61,7 @@ <method name="class_get_method_list" qualifiers="const"> <return type="Array"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <argument index="1" name="no_inheritance" type="bool" default="false"> </argument> @@ -74,7 +74,7 @@ </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="property" type="String"> + <argument index="1" name="property" type="StringName"> </argument> <description> Returns the value of [code]property[/code] of [code]class[/code] or its ancestry. @@ -83,7 +83,7 @@ <method name="class_get_property_list" qualifiers="const"> <return type="Array"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <argument index="1" name="no_inheritance" type="bool" default="false"> </argument> @@ -94,9 +94,9 @@ <method name="class_get_signal" qualifiers="const"> <return type="Dictionary"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> - <argument index="1" name="signal" type="String"> + <argument index="1" name="signal" type="StringName"> </argument> <description> Returns the [code]signal[/code] data of [code]class[/code] or its ancestry. The returned value is a [Dictionary] with the following keys: [code]args[/code], [code]default_args[/code], [code]flags[/code], [code]id[/code], [code]name[/code], [code]return: (class_name, hint, hint_string, name, type, usage)[/code]. @@ -105,7 +105,7 @@ <method name="class_get_signal_list" qualifiers="const"> <return type="Array"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <argument index="1" name="no_inheritance" type="bool" default="false"> </argument> @@ -116,9 +116,9 @@ <method name="class_has_integer_constant" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> - <argument index="1" name="name" type="String"> + <argument index="1" name="name" type="StringName"> </argument> <description> Returns whether [code]class[/code] or its ancestry has an integer constant called [code]name[/code] or not. @@ -127,9 +127,9 @@ <method name="class_has_method" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <argument index="2" name="no_inheritance" type="bool" default="false"> </argument> @@ -140,9 +140,9 @@ <method name="class_has_signal" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> - <argument index="1" name="signal" type="String"> + <argument index="1" name="signal" type="StringName"> </argument> <description> Returns whether [code]class[/code] or its ancestry has a signal called [code]signal[/code] or not. @@ -153,7 +153,7 @@ </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="property" type="String"> + <argument index="1" name="property" type="StringName"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -171,16 +171,16 @@ <method name="get_inheriters_from_class" qualifiers="const"> <return type="PackedStringArray"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <description> Returns the names of all the classes that directly or indirectly inherit from [code]class[/code]. </description> </method> <method name="get_parent_class" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <description> Returns the parent class of [code]class[/code]. @@ -189,7 +189,7 @@ <method name="instance" qualifiers="const"> <return type="Variant"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <description> Creates an instance of [code]class[/code]. @@ -198,7 +198,7 @@ <method name="is_class_enabled" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> <description> Returns whether this [code]class[/code] is enabled or not. @@ -207,9 +207,9 @@ <method name="is_parent_class" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class" type="String"> + <argument index="0" name="class" type="StringName"> </argument> - <argument index="1" name="inherits" type="String"> + <argument index="1" name="inherits" type="StringName"> </argument> <description> Returns whether [code]inherits[/code] is an ancestor of [code]class[/code] or not. diff --git a/doc/classes/ClippedCamera.xml b/doc/classes/ClippedCamera3D.xml index 4cdc098c2f..58ecec828d 100644 --- a/doc/classes/ClippedCamera.xml +++ b/doc/classes/ClippedCamera3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ClippedCamera" inherits="Camera" version="4.0"> +<class name="ClippedCamera3D" inherits="Camera3D" version="4.0"> <brief_description> - A [Camera] that includes collision. + A [Camera3D] that includes collision. </brief_description> <description> - This node extends [Camera] to add collisions with [Area] and/or [PhysicsBody] nodes. The camera cannot move through colliding objects. + This node extends [Camera3D] to add collisions with [Area3D] and/or [PhysicsBody3D] nodes. The camera cannot move through colliding objects. </description> <tutorials> </tutorials> @@ -84,10 +84,10 @@ </methods> <members> <member name="clip_to_areas" type="bool" setter="set_clip_to_areas" getter="is_clip_to_areas_enabled" default="false"> - If [code]true[/code], the camera stops on contact with [Area]s. + If [code]true[/code], the camera stops on contact with [Area3D]s. </member> <member name="clip_to_bodies" type="bool" setter="set_clip_to_bodies" getter="is_clip_to_bodies_enabled" default="true"> - If [code]true[/code], the camera stops on contact with [PhysicsBody]s. + If [code]true[/code], the camera stops on contact with [PhysicsBody3D]s. </member> <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> The camera's collision mask. Only objects in at least one collision layer matching the mask will be detected. @@ -95,7 +95,7 @@ <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.0"> The camera's collision margin. The camera can't get closer than this distance to a colliding object. </member> - <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="ClippedCamera.ProcessMode" default="0"> + <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="ClippedCamera3D.ProcessMode" default="0"> The camera's process callback. See [enum ProcessMode]. </member> </members> diff --git a/doc/classes/CollisionObject.xml b/doc/classes/CollisionObject3D.xml index 34758d71b2..f8e897653d 100644 --- a/doc/classes/CollisionObject.xml +++ b/doc/classes/CollisionObject3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionObject" inherits="Spatial" version="4.0"> +<class name="CollisionObject3D" inherits="Node3D" version="4.0"> <brief_description> Base node for collision objects. </brief_description> <description> - CollisionObject is the base class for physics objects. It can hold any number of collision [Shape]s. Each shape must be assigned to a [i]shape owner[/i]. The CollisionObject can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the [code]shape_owner_*[/code] methods. + CollisionObject3D is the base class for physics objects. It can hold any number of collision [Shape3D]s. Each shape must be assigned to a [i]shape owner[/i]. The CollisionObject3D can have any number of shape owners. Shape owners are not nodes and do not appear in the editor, but are accessible through code using the [code]shape_owner_*[/code] methods. </description> <tutorials> </tutorials> @@ -23,7 +23,7 @@ <argument index="4" name="shape_idx" type="int"> </argument> <description> - Accepts unhandled [InputEvent]s. [code]click_position[/code] is the clicked location in world space and [code]click_normal[/code] is the normal vector extending from the clicked surface of the [Shape] at [code]shape_idx[/code]. Connect to the [code]input_event[/code] signal to easily pick up these events. + Accepts unhandled [InputEvent]s. [code]click_position[/code] is the clicked location in world space and [code]click_normal[/code] is the normal vector extending from the clicked surface of the [Shape3D] at [code]shape_idx[/code]. Connect to the [code]input_event[/code] signal to easily pick up these events. </description> </method> <method name="create_shape_owner"> @@ -81,10 +81,10 @@ </return> <argument index="0" name="owner_id" type="int"> </argument> - <argument index="1" name="shape" type="Shape"> + <argument index="1" name="shape" type="Shape3D"> </argument> <description> - Adds a [Shape] to the shape owner. + Adds a [Shape3D] to the shape owner. </description> </method> <method name="shape_owner_clear_shapes"> @@ -106,14 +106,14 @@ </description> </method> <method name="shape_owner_get_shape" qualifiers="const"> - <return type="Shape"> + <return type="Shape3D"> </return> <argument index="0" name="owner_id" type="int"> </argument> <argument index="1" name="shape_id" type="int"> </argument> <description> - Returns the [Shape] with the given id from the given shape owner. + Returns the [Shape3D] with the given id from the given shape owner. </description> </method> <method name="shape_owner_get_shape_count" qualifiers="const"> @@ -133,7 +133,7 @@ <argument index="1" name="shape_id" type="int"> </argument> <description> - Returns the child index of the [Shape] with the given id from the given shape owner. + Returns the child index of the [Shape3D] with the given id from the given shape owner. </description> </method> <method name="shape_owner_get_transform" qualifiers="const"> @@ -181,10 +181,10 @@ </methods> <members> <member name="input_capture_on_drag" type="bool" setter="set_capture_input_on_drag" getter="get_capture_input_on_drag" default="false"> - If [code]true[/code], the [CollisionObject] will continue to receive input events as the mouse is dragged across its shapes. + If [code]true[/code], the [CollisionObject3D] will continue to receive input events as the mouse is dragged across its shapes. </member> <member name="input_ray_pickable" type="bool" setter="set_ray_pickable" getter="is_ray_pickable" default="true"> - If [code]true[/code], the [CollisionObject]'s shapes will respond to [RayCast]s. + If [code]true[/code], the [CollisionObject3D]'s shapes will respond to [RayCast3D]s. </member> </members> <signals> diff --git a/doc/classes/CollisionPolygon2D.xml b/doc/classes/CollisionPolygon2D.xml index e3135a4d0f..242cdb8c80 100644 --- a/doc/classes/CollisionPolygon2D.xml +++ b/doc/classes/CollisionPolygon2D.xml @@ -21,6 +21,7 @@ If [code]true[/code], only edges that face up, relative to [CollisionPolygon2D]'s rotation, will collide with other objects. </member> <member name="one_way_collision_margin" type="float" setter="set_one_way_collision_margin" getter="get_one_way_collision_margin" default="1.0"> + The margin used for one-way collision (in pixels). Higher values will make the shape thicker, and work better for colliders that enter the polygon at a high velocity. </member> <member name="polygon" type="PackedVector2Array" setter="set_polygon" getter="get_polygon" default="PackedVector2Array( )"> The polygon's list of vertices. The final point will be connected to the first. The returned value is a clone of the [PackedVector2Array], not a reference. diff --git a/doc/classes/CollisionPolygon.xml b/doc/classes/CollisionPolygon3D.xml index 8aceec17a8..dd3c57d1d0 100644 --- a/doc/classes/CollisionPolygon.xml +++ b/doc/classes/CollisionPolygon3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionPolygon" inherits="Spatial" version="4.0"> +<class name="CollisionPolygon3D" inherits="Node3D" version="4.0"> <brief_description> Editor-only class 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 [Shape] for gameplay. Properties modified during gameplay will have no effect. + 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. </description> <tutorials> </tutorials> diff --git a/doc/classes/CollisionShape2D.xml b/doc/classes/CollisionShape2D.xml index 4903f0d3a5..e32ce9c9f9 100644 --- a/doc/classes/CollisionShape2D.xml +++ b/doc/classes/CollisionShape2D.xml @@ -19,7 +19,7 @@ Sets whether this collision shape should only detect collision on one side (top or bottom). </member> <member name="one_way_collision_margin" type="float" setter="set_one_way_collision_margin" getter="get_one_way_collision_margin" default="1.0"> - The margin used for one-way collision (in pixels). + The margin used for one-way collision (in pixels). Higher values will make the shape thicker, and work better for colliders that enter the shape at a high velocity. </member> <member name="shape" type="Shape2D" setter="set_shape" getter="get_shape"> The actual shape owned by this collision shape. diff --git a/doc/classes/CollisionShape.xml b/doc/classes/CollisionShape3D.xml index 7787bf957d..76515a65a7 100644 --- a/doc/classes/CollisionShape.xml +++ b/doc/classes/CollisionShape3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CollisionShape" inherits="Spatial" version="4.0"> +<class name="CollisionShape3D" inherits="Node3D" version="4.0"> <brief_description> Node that represents collision shape data in 3D space. </brief_description> <description> - Editor facility for creating and editing collision shapes in 3D space. You can use this node to represent all sorts of collision shapes, for example, add this to an [Area] to give it a detection shape, or add it to a [PhysicsBody] to create a solid object. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method CollisionObject.shape_owner_get_shape] to get the actual shape. + Editor facility for creating and editing collision shapes in 3D space. You can use this node to represent all sorts of collision shapes, for example, add this to an [Area3D] to give it a detection shape, or add it to a [PhysicsBody3D] to create a solid object. [b]IMPORTANT[/b]: this is an Editor-only helper to create shapes, use [method CollisionObject3D.shape_owner_get_shape] to get the actual shape. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html</link> @@ -14,7 +14,7 @@ <return type="void"> </return> <description> - Sets the collision shape's shape to the addition of all its convexed [MeshInstance] siblings geometry. + Sets the collision shape's shape to the addition of all its convexed [MeshInstance3D] siblings geometry. </description> </method> <method name="resource_changed"> @@ -31,7 +31,7 @@ <member name="disabled" type="bool" setter="set_disabled" getter="is_disabled" default="false"> A disabled collision shape has no effect in the world. </member> - <member name="shape" type="Shape" setter="set_shape" getter="get_shape"> + <member name="shape" type="Shape3D" setter="set_shape" getter="get_shape"> The actual shape owned by this collision shape. </member> </members> diff --git a/doc/classes/Color.xml b/doc/classes/Color.xml index 7335ff5a2e..d495be2ffd 100644 --- a/doc/classes/Color.xml +++ b/doc/classes/Color.xml @@ -5,7 +5,8 @@ </brief_description> <description> A color is represented by red, green, and blue [code](r, g, b)[/code] components. Additionally, [code]a[/code] represents the alpha component, often used for transparency. Values are in floating-point and usually range from 0 to 1. Some properties (such as [member CanvasItem.modulate]) may accept values greater than 1. - You can also create a color from standardized color names by using [method @GDScript.ColorN] or directly using the color constants defined here. The standardized color set is based on the [url=https://en.wikipedia.org/wiki/X11_color_names]X11 color names[/url]. + You can also create a color from standardized color names by using [method @GDScript.ColorN] or directly using the color constants defined here. The standardized color set is based on the [url=https://en.wikipedia.org/wiki/X11_color_names]X11 color names[/url]. + If you want to supply values in a range of 0 to 255, you should use [method @GDScript.Color8]. </description> <tutorials> </tutorials> @@ -119,7 +120,7 @@ </argument> <argument index="2" name="v" type="float"> </argument> - <argument index="3" name="a" type="float" default="1"> + <argument index="3" name="a" type="float" default="1.0"> </argument> <description> Constructs a color from an HSV profile. [code]h[/code], [code]s[/code], and [code]v[/code] are values between 0 and 1. @@ -224,7 +225,7 @@ <method name="to_html"> <return type="String"> </return> - <argument index="0" name="with_alpha" type="bool" default="True"> + <argument index="0" name="with_alpha" type="bool" default="true"> </argument> <description> Returns the color's HTML hexadecimal color string in ARGB format (ex: [code]ff34f822[/code]). diff --git a/doc/classes/ColorPicker.xml b/doc/classes/ColorPicker.xml index 0805a87d18..d8b4a8f76c 100644 --- a/doc/classes/ColorPicker.xml +++ b/doc/classes/ColorPicker.xml @@ -4,7 +4,7 @@ Color picker control. </brief_description> <description> - [Control] node displaying a color picker widget. It's useful for selecting a color from an RGB/RGBA colorspace. + Displays a color picker widget. Useful for selecting a color from an RGB/RGBA colorspace. </description> <tutorials> </tutorials> @@ -88,26 +88,34 @@ </constants> <theme_items> <theme_item name="add_preset" type="Texture2D"> + The icon for the "Add Preset" button. </theme_item> <theme_item name="color_hue" type="Texture2D"> + Custom texture for the hue selection slider on the right. </theme_item> <theme_item name="color_sample" type="Texture2D"> </theme_item> <theme_item name="h_width" type="int" default="30"> + The width of the hue selection slider. </theme_item> <theme_item name="label_width" type="int" default="10"> </theme_item> <theme_item name="margin" type="int" default="4"> + The margin around the [ColorPicker]. </theme_item> <theme_item name="overbright_indicator" type="Texture2D"> + The indicator used to signalize that the color value is outside the 0-1 range. </theme_item> <theme_item name="preset_bg" type="Texture2D"> </theme_item> <theme_item name="screen_picker" type="Texture2D"> + The icon for the screen color picker button. </theme_item> <theme_item name="sv_height" type="int" default="256"> + The height of the saturation-value selection box. </theme_item> <theme_item name="sv_width" type="int" default="256"> + The width of the saturation-value selection box. </theme_item> </theme_items> </class> diff --git a/doc/classes/ConcavePolygonShape.xml b/doc/classes/ConcavePolygonShape3D.xml index 21f2f681b9..20402d350a 100644 --- a/doc/classes/ConcavePolygonShape.xml +++ b/doc/classes/ConcavePolygonShape3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConcavePolygonShape" inherits="Shape" version="4.0"> +<class name="ConcavePolygonShape3D" inherits="Shape3D" version="4.0"> <brief_description> Concave polygon shape. </brief_description> <description> - Concave polygon shape resource, which can be set into a [PhysicsBody] or area. This shape is created by feeding a list of triangles. + Concave polygon shape resource, which can be set into a [PhysicsBody3D] or area. This shape is created by feeding a list of triangles. + Note: when used for collision, [ConcavePolygonShape3D] is intended to work with static [PhysicsBody3D] nodes like [StaticBody3D] and will not work with [KinematicBody3D] or [RigidBody3D] with a mode other than Static. </description> <tutorials> </tutorials> diff --git a/doc/classes/ConeTwistJoint.xml b/doc/classes/ConeTwistJoint3D.xml index 8682391a73..e86e95bec3 100644 --- a/doc/classes/ConeTwistJoint.xml +++ b/doc/classes/ConeTwistJoint3D.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConeTwistJoint" inherits="Joint" version="4.0"> +<class name="ConeTwistJoint3D" inherits="Joint3D" version="4.0"> <brief_description> A twist joint between two 3D bodies. </brief_description> <description> - The joint can rotate the bodies across an axis defined by the local x-axes of the [Joint]. - The twist axis is initiated as the X axis of the [Joint]. - Once the Bodies swing, the twist axis is calculated as the middle of the x-axes of the Joint in the local space of the two Bodies. + The joint can rotate the bodies across an axis defined by the local x-axes of the [Joint3D]. + The twist axis is initiated as the X axis of the [Joint3D]. + Once the Bodies swing, the twist axis is calculated as the middle of the x-axes of the Joint3D in the local space of the two Bodies. </description> <tutorials> </tutorials> @@ -14,7 +14,7 @@ <method name="get_param" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="ConeTwistJoint.Param"> + <argument index="0" name="param" type="int" enum="ConeTwistJoint3D.Param"> </argument> <description> </description> @@ -22,7 +22,7 @@ <method name="set_param"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="ConeTwistJoint.Param"> + <argument index="0" name="param" type="int" enum="ConeTwistJoint3D.Param"> </argument> <argument index="1" name="value" type="float"> </argument> @@ -44,7 +44,7 @@ <member name="swing_span" type="float" setter="_set_swing_span" getter="_get_swing_span" default="45.0"> Swing is rotation from side to side, around the axis perpendicular to the twist axis. The swing span defines, how much rotation will not get corrected along the swing axis. - Could be defined as looseness in the [ConeTwistJoint]. + Could be defined as looseness in the [ConeTwistJoint3D]. If below 0.05, this behavior is locked. </member> <member name="twist_span" type="float" setter="_set_twist_span" getter="_get_twist_span" default="180.0"> @@ -56,7 +56,7 @@ <constant name="PARAM_SWING_SPAN" value="0" enum="Param"> Swing is rotation from side to side, around the axis perpendicular to the twist axis. The swing span defines, how much rotation will not get corrected along the swing axis. - Could be defined as looseness in the [ConeTwistJoint]. + Could be defined as looseness in the [ConeTwistJoint3D]. If below 0.05, this behavior is locked. </constant> <constant name="PARAM_TWIST_SPAN" value="1" enum="Param"> diff --git a/doc/classes/ConfigFile.xml b/doc/classes/ConfigFile.xml index 00d98130f3..522d484131 100644 --- a/doc/classes/ConfigFile.xml +++ b/doc/classes/ConfigFile.xml @@ -8,7 +8,7 @@ [codeblock] [section] some_key=42 - string_example="Hello World!" + string_example="Hello World3D!" a_vector=Vector3( 1, 0, 2 ) [/codeblock] The stored data can be saved to or parsed from a file, though ConfigFile objects can also be used directly without accessing the filesystem. @@ -37,7 +37,7 @@ <argument index="0" name="section" type="String"> </argument> <description> - Deletes the specified section along with all the key-value pairs inside. + Deletes the specified section along with all the key-value pairs inside. Raises an error if the section does not exist. </description> </method> <method name="erase_section_key"> @@ -48,6 +48,7 @@ <argument index="1" name="key" type="String"> </argument> <description> + Deletes the specified key in a section. Raises an error if either the section or the key do not exist. </description> </method> <method name="get_section_keys" qualifiers="const"> @@ -56,7 +57,7 @@ <argument index="0" name="section" type="String"> </argument> <description> - Returns an array of all defined key identifiers in the specified section. + Returns an array of all defined key identifiers in the specified section. Raises an error and returns an empty array if the section does not exist. </description> </method> <method name="get_sections" qualifiers="const"> @@ -76,7 +77,7 @@ <argument index="2" name="default" type="Variant" default="null"> </argument> <description> - Returns the current value for the specified section and key. If the section and/or the key do not exist, the method returns the value of the optional [code]default[/code] argument, or [code]null[/code] if it is omitted. + Returns the current value for the specified section and key. If either the section or the key do not exist, the method returns the fallback [code]default[/code] value. If [code]default[/code] is not specified or set to [code]null[/code], an error is also raised. </description> </method> <method name="has_section" qualifiers="const"> @@ -105,7 +106,7 @@ <argument index="0" name="path" type="String"> </argument> <description> - Loads the config file specified as a parameter. The file's contents are parsed and loaded in the ConfigFile object which the method was called on. + Loads the config file specified as a parameter. The file's contents are parsed and loaded in the [ConfigFile] object which the method was called on. Returns one of the [enum Error] code constants ([code]OK[/code] on success). </description> </method> @@ -117,6 +118,8 @@ <argument index="1" name="key" type="PackedByteArray"> </argument> <description> + Loads the encrypted config file specified as a parameter, using the provided [code]key[/code] to decrypt it. The file's contents are parsed and loaded in the [ConfigFile] object which the method was called on. + Returns one of the [enum Error] code constants ([code]OK[/code] on success). </description> </method> <method name="load_encrypted_pass"> @@ -124,9 +127,11 @@ </return> <argument index="0" name="path" type="String"> </argument> - <argument index="1" name="pass" type="String"> + <argument index="1" name="password" type="String"> </argument> <description> + Loads the encrypted config file specified as a parameter, using the provided [code]password[/code] to decrypt it. The file's contents are parsed and loaded in the [ConfigFile] object which the method was called on. + Returns one of the [enum Error] code constants ([code]OK[/code] on success). </description> </method> <method name="parse"> @@ -145,7 +150,7 @@ <argument index="0" name="path" type="String"> </argument> <description> - Saves the contents of the ConfigFile object to the file specified as a parameter. The output file uses an INI-style structure. + Saves the contents of the [ConfigFile] object to the file specified as a parameter. The output file uses an INI-style structure. Returns one of the [enum Error] code constants ([code]OK[/code] on success). </description> </method> @@ -157,6 +162,8 @@ <argument index="1" name="key" type="PackedByteArray"> </argument> <description> + Saves the contents of the [ConfigFile] object to the AES-256 encrypted file specified as a parameter, using the provided [code]key[/code] to encrypt it. The output file uses an INI-style structure. + Returns one of the [enum Error] code constants ([code]OK[/code] on success). </description> </method> <method name="save_encrypted_pass"> @@ -164,9 +171,11 @@ </return> <argument index="0" name="path" type="String"> </argument> - <argument index="1" name="pass" type="String"> + <argument index="1" name="password" type="String"> </argument> <description> + Saves the contents of the [ConfigFile] object to the AES-256 encrypted file specified as a parameter, using the provided [code]password[/code] to encrypt it. The output file uses an INI-style structure. + Returns one of the [enum Error] code constants ([code]OK[/code] on success). </description> </method> <method name="set_value"> @@ -179,7 +188,7 @@ <argument index="2" name="value" type="Variant"> </argument> <description> - Assigns a value to the specified key of the specified section. If the section and/or the key do not exist, they are created. Passing a [code]null[/code] value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed. + Assigns a value to the specified key of the specified section. If either the section or the key do not exist, they are created. Passing a [code]null[/code] value deletes the specified key if it exists, and deletes the section if it ends up empty once the key has been removed. </description> </method> </methods> diff --git a/doc/classes/ConfirmationDialog.xml b/doc/classes/ConfirmationDialog.xml index 801d9508dd..6d5871508b 100644 --- a/doc/classes/ConfirmationDialog.xml +++ b/doc/classes/ConfirmationDialog.xml @@ -22,8 +22,9 @@ </method> </methods> <members> - <member name="rect_min_size" type="Vector2" setter="set_custom_minimum_size" getter="get_custom_minimum_size" override="true" default="Vector2( 200, 70 )" /> - <member name="window_title" type="String" setter="set_title" getter="get_title" override="true" default=""Please Confirm..."" /> + <member name="min_size" type="Vector2i" setter="set_min_size" getter="get_min_size" override="true" default="Vector2i( 200, 70 )" /> + <member name="size" type="Vector2i" setter="set_size" getter="get_size" override="true" default="Vector2i( 200, 100 )" /> + <member name="title" type="String" setter="set_title" getter="get_title" override="true" default=""Please Confirm..."" /> </members> <constants> </constants> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 3bf2ede896..0c8d42021a 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -7,10 +7,12 @@ Base class for all UI-related nodes. [Control] features a bounding rectangle that defines its extents, an anchor position relative to its parent control or the current viewport, and margins that represent an offset to the anchor. The margins update automatically when the node, any of its parents, or the screen size change. For more information on Godot's UI system, anchors, margins, and containers, see the related tutorials in the manual. To build flexible UIs, you'll need a mix of UI elements that inherit from [Control] and [Container] nodes. [b]User Interface nodes and input[/b] - Godot sends input events to the scene's root node first, by calling [method Node._input]. [method Node._input] forwards the event down the node tree to the nodes under the mouse cursor, or on keyboard focus. To do so, it calls [method MainLoop._input_event]. Call [method accept_event] so no other node receives the event. Once you accepted an input, it becomes handled so [method Node._unhandled_input] will not process it. + Godot sends input events to the scene's root node first, by calling [method Node._input]. [method Node._input] forwards the event down the node tree to the nodes under the mouse cursor, or on keyboard focus. To do so, it calls [code]MainLoop._input_event[/code]. + [b]FIXME:[/b] No longer valid after DisplayServer split and Input refactoring. + Call [method accept_event] so no other node receives the event. Once you accepted an input, it becomes handled so [method Node._unhandled_input] will not process it. Only one [Control] node can be in keyboard focus. Only the node in focus will receive keyboard events. To get the focus, call [method grab_focus]. [Control] nodes lose focus when another node grabs it, or if you hide the node in focus. Sets [member mouse_filter] to [constant MOUSE_FILTER_IGNORE] to tell a [Control] node to ignore mouse or touch events. You'll need it if you place an icon on top of a button. - [Theme] resources change the Control's appearance. If you change the [Theme] on a [Control] node, it affects all of its children. To override some of the theme's parameters, call one of the [code]add_*_override[/code] methods, like [method add_font_override]. You can override the theme with the inspector. + [Theme] resources change the Control's appearance. If you change the [Theme] on a [Control] node, it affects all of its children. To override some of the theme's parameters, call one of the [code]add_theme_*_override[/code] methods, like [method add_theme_font_override]. You can override the theme with the inspector. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/gui/index.html</link> @@ -87,10 +89,10 @@ Marks an input event as handled. Once you accept an input event, it stops propagating, even to nodes listening to [method Node._unhandled_input] or [method Node._unhandled_key_input]. </description> </method> - <method name="add_color_override"> + <method name="add_theme_color_override"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="color" type="Color"> </argument> @@ -98,10 +100,10 @@ Overrides the [Color] with given [code]name[/code] in the [member theme] resource the control uses. If the [code]color[/code] is empty or invalid, the override is cleared and the color from assigned [Theme] is used. </description> </method> - <method name="add_constant_override"> + <method name="add_theme_constant_override"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="constant" type="int"> </argument> @@ -109,10 +111,10 @@ Overrides an integer constant with given [code]name[/code] in the [member theme] resource the control uses. If the [code]constant[/code] is empty or invalid, the override is cleared and the constant from assigned [Theme] is used. </description> </method> - <method name="add_font_override"> + <method name="add_theme_font_override"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="font" type="Font"> </argument> @@ -120,10 +122,10 @@ Overrides the font with given [code]name[/code] in the [member theme] resource the control uses. If [code]font[/code] is empty or invalid, the override is cleared and the font from assigned [Theme] is used. </description> </method> - <method name="add_icon_override"> + <method name="add_theme_icon_override"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="texture" type="Texture2D"> </argument> @@ -131,10 +133,10 @@ Overrides the icon with given [code]name[/code] in the [member theme] resource the control uses. If [code]icon[/code] is empty or invalid, the override is cleared and the icon from assigned [Theme] is used. </description> </method> - <method name="add_shader_override"> + <method name="add_theme_shader_override"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="shader" type="Shader"> </argument> @@ -142,10 +144,10 @@ Overrides the [Shader] with given [code]name[/code] in the [member theme] resource the control uses. If [code]shader[/code] is empty or invalid, the override is cleared and the shader from assigned [Theme] is used. </description> </method> - <method name="add_stylebox_override"> + <method name="add_theme_stylebox_override"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="stylebox" type="StyleBox"> </argument> @@ -217,21 +219,6 @@ Returns [member margin_left] and [member margin_top]. See also [member rect_position]. </description> </method> - <method name="get_color" qualifiers="const"> - <return type="Color"> - </return> - <argument index="0" name="name" type="String"> - </argument> - <argument index="1" name="type" type="String" default=""""> - </argument> - <description> - Returns a color from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. - [codeblock] - func _ready(): - modulate = get_color("font_color", "Button") #get the color defined for button fonts - [/codeblock] - </description> - </method> <method name="get_combined_minimum_size" qualifiers="const"> <return type="Vector2"> </return> @@ -239,17 +226,6 @@ Returns combined minimum size from [member rect_min_size] and [method get_minimum_size]. </description> </method> - <method name="get_constant" qualifiers="const"> - <return type="int"> - </return> - <argument index="0" name="name" type="String"> - </argument> - <argument index="1" name="type" type="String" default=""""> - </argument> - <description> - Returns a constant from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. - </description> - </method> <method name="get_cursor_shape" qualifiers="const"> <return type="int" enum="Control.CursorShape"> </return> @@ -298,17 +274,6 @@ Returns the control that has the keyboard focus or [code]null[/code] if none. </description> </method> - <method name="get_font" qualifiers="const"> - <return type="Font"> - </return> - <argument index="0" name="name" type="String"> - </argument> - <argument index="1" name="type" type="String" default=""""> - </argument> - <description> - Returns a font from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. - </description> - </method> <method name="get_global_rect" qualifiers="const"> <return type="Rect2"> </return> @@ -316,17 +281,6 @@ Returns the position and size of the control relative to the top-left corner of the screen. See [member rect_position] and [member rect_size]. </description> </method> - <method name="get_icon" qualifiers="const"> - <return type="Texture2D"> - </return> - <argument index="0" name="name" type="String"> - </argument> - <argument index="1" name="type" type="String" default=""""> - </argument> - <description> - Returns an icon from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. - </description> - </method> <method name="get_margin" qualifiers="const"> <return type="float"> </return> @@ -371,12 +325,60 @@ Returns the rotation (in radians). </description> </method> - <method name="get_stylebox" qualifiers="const"> + <method name="get_theme_color" qualifiers="const"> + <return type="Color"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + Returns a color from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. + [codeblock] + func _ready(): + modulate = get_theme_color("font_color", "Button") #get the color defined for button fonts + [/codeblock] + </description> + </method> + <method name="get_theme_constant" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + Returns a constant from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. + </description> + </method> + <method name="get_theme_font" qualifiers="const"> + <return type="Font"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + Returns a font from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. + </description> + </method> + <method name="get_theme_icon" qualifiers="const"> + <return type="Texture2D"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + Returns an icon from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. + </description> + </method> + <method name="get_theme_stylebox" qualifiers="const"> <return type="StyleBox"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String" default=""""> + <argument index="1" name="type" type="StringName" default=""""> </argument> <description> Returns a [StyleBox] from assigned [Theme] with given [code]name[/code] and associated with [Control] of given [code]type[/code]. @@ -409,128 +411,128 @@ Steal the focus from another control and become the focused control (see [member focus_mode]). </description> </method> - <method name="has_color" qualifiers="const"> + <method name="has_focus" qualifiers="const"> + <return type="bool"> + </return> + <description> + Returns [code]true[/code] if this is the current focused control. See [member focus_mode]. + </description> + </method> + <method name="has_point" qualifiers="virtual"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="point" type="Vector2"> </argument> - <argument index="1" name="type" type="String" default=""""> + <description> + Virtual method to be implemented by the user. Returns whether the given [code]point[/code] is inside this control. + If not overridden, default behavior is checking if the point is within control's Rect. + [b]Note:[/b] If you want to check if a point is inside the control, you can use [code]get_rect().has_point(point)[/code]. + </description> + </method> + <method name="has_theme_color" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> </argument> <description> Returns [code]true[/code] if [Color] with given [code]name[/code] and associated with [Control] of given [code]type[/code] exists in assigned [Theme]. </description> </method> - <method name="has_color_override" qualifiers="const"> + <method name="has_theme_color_override" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if [Color] with given [code]name[/code] has a valid override in this [Control] node. </description> </method> - <method name="has_constant" qualifiers="const"> + <method name="has_theme_constant" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String" default=""""> + <argument index="1" name="type" type="StringName" default=""""> </argument> <description> Returns [code]true[/code] if constant with given [code]name[/code] and associated with [Control] of given [code]type[/code] exists in assigned [Theme]. </description> </method> - <method name="has_constant_override" qualifiers="const"> + <method name="has_theme_constant_override" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if constant with given [code]name[/code] has a valid override in this [Control] node. </description> </method> - <method name="has_focus" qualifiers="const"> + <method name="has_theme_font" qualifiers="const"> <return type="bool"> </return> - <description> - Returns [code]true[/code] if this is the current focused control. See [member focus_mode]. - </description> - </method> - <method name="has_font" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String" default=""""> + <argument index="1" name="type" type="StringName" default=""""> </argument> <description> Returns [code]true[/code] if font with given [code]name[/code] and associated with [Control] of given [code]type[/code] exists in assigned [Theme]. </description> </method> - <method name="has_font_override" qualifiers="const"> + <method name="has_theme_font_override" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if font with given [code]name[/code] has a valid override in this [Control] node. </description> </method> - <method name="has_icon" qualifiers="const"> + <method name="has_theme_icon" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String" default=""""> + <argument index="1" name="type" type="StringName" default=""""> </argument> <description> Returns [code]true[/code] if icon with given [code]name[/code] and associated with [Control] of given [code]type[/code] exists in assigned [Theme]. </description> </method> - <method name="has_icon_override" qualifiers="const"> + <method name="has_theme_icon_override" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if icon with given [code]name[/code] has a valid override in this [Control] node. </description> </method> - <method name="has_point" qualifiers="virtual"> + <method name="has_theme_shader_override" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="point" type="Vector2"> - </argument> - <description> - Virtual method to be implemented by the user. Returns whether the given [code]point[/code] is inside this control. - If not overridden, default behavior is checking if the point is within control's Rect. - [b]Note:[/b] If you want to check if a point is inside the control, you can use [code]get_rect().has_point(point)[/code]. - </description> - </method> - <method name="has_shader_override" qualifiers="const"> - <return type="bool"> - </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if [Shader] with given [code]name[/code] has a valid override in this [Control] node. </description> </method> - <method name="has_stylebox" qualifiers="const"> + <method name="has_theme_stylebox" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String" default=""""> + <argument index="1" name="type" type="StringName" default=""""> </argument> <description> Returns [code]true[/code] if [StyleBox] with given [code]name[/code] and associated with [Control] of given [code]type[/code] exists in assigned [Theme]. </description> </method> - <method name="has_stylebox_override" qualifiers="const"> + <method name="has_theme_stylebox_override" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if [StyleBox] with given [code]name[/code] has a valid override in this [Control] node. @@ -757,16 +759,6 @@ If [code]keep_margins[/code] is [code]true[/code], control's anchors will be updated instead of margins. </description> </method> - <method name="show_modal"> - <return type="void"> - </return> - <argument index="0" name="exclusive" type="bool" default="false"> - </argument> - <description> - Displays a control as modal. Control must be a subwindow. Modal controls capture the input signals until closed or the area outside them is accessed. When a modal control loses focus, or the ESC key is pressed, they automatically hide. Modal controls are used extensively for popup dialogs and menus. - If [code]exclusive[/code] is [code]true[/code], other controls will not receive input and clicking outside this control will not close it. - </description> - </method> <method name="warp_mouse"> <return type="void"> </return> @@ -846,7 +838,7 @@ Controls whether the control will be able to receive mouse button input events through [method _gui_input] and how these events should be handled. Also controls whether the control can receive the [signal mouse_entered], and [signal mouse_exited] signals. See the constants to learn what each does. </member> <member name="rect_clip_content" type="bool" setter="set_clip_contents" getter="is_clipping_contents" default="false"> - Enables whether rendering of children should be clipped to this control's rectangle. If [code]true[/code], parts of a child which would be visibly outside of this control's rectangle will not be rendered. + Enables whether rendering of [CanvasItem] based children should be clipped to this control's rectangle. If [code]true[/code], parts of a child which would be visibly outside of this control's rectangle will not be rendered. </member> <member name="rect_global_position" type="Vector2" setter="_set_global_position" getter="get_global_position"> The node's global position, relative to the world (usually to the top-left corner of the window). @@ -905,11 +897,6 @@ Emitted when the node's minimum size changes. </description> </signal> - <signal name="modal_closed"> - <description> - Emitted when a modal [Control] is closed. See [method show_modal]. - </description> - </signal> <signal name="mouse_entered"> <description> Emitted when the mouse enters the control's [code]Rect[/code] area, provided its [member mouse_filter] lets the event reach it. @@ -930,6 +917,10 @@ Emitted when one of the size flags changes. See [member size_flags_horizontal] and [member size_flags_vertical]. </description> </signal> + <signal name="theme_changed"> + <description> + </description> + </signal> </signals> <constants> <constant name="FOCUS_NONE" value="0" enum="FocusMode"> @@ -957,10 +948,7 @@ Sent when the node loses focus. </constant> <constant name="NOTIFICATION_THEME_CHANGED" value="45"> - Sent when the node's [member theme] changes, right before Godot redraws the control. Happens when you call one of the [code]add_*_override[/code] methods. - </constant> - <constant name="NOTIFICATION_MODAL_CLOSE" value="46"> - Sent when an open modal dialog closes. See [method show_modal]. + Sent when the node's [member theme] changes, right before Godot redraws the control. Happens when you call one of the [code]add_theme_*_override[/code] methods. </constant> <constant name="NOTIFICATION_SCROLL_BEGIN" value="47"> Sent when this node is inside a [ScrollContainer] which has begun being scrolled. diff --git a/doc/classes/ConvexPolygonShape.xml b/doc/classes/ConvexPolygonShape3D.xml index 077bb57a03..c036f80e2d 100644 --- a/doc/classes/ConvexPolygonShape.xml +++ b/doc/classes/ConvexPolygonShape3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ConvexPolygonShape" inherits="Shape" version="4.0"> +<class name="ConvexPolygonShape3D" inherits="Shape3D" version="4.0"> <brief_description> Convex polygon shape for 3D physics. </brief_description> <description> - Convex polygon shape resource, which can be added to a [PhysicsBody] or area. + Convex polygon shape resource, which can be added to a [PhysicsBody3D] or area. </description> <tutorials> </tutorials> diff --git a/doc/classes/Curve3D.xml b/doc/classes/Curve3D.xml index c5345c8025..fe454d90cc 100644 --- a/doc/classes/Curve3D.xml +++ b/doc/classes/Curve3D.xml @@ -4,7 +4,7 @@ Describes a Bézier curve in 3D space. </brief_description> <description> - This class describes a Bézier curve in 3D space. It is mainly used to give a shape to a [Path], but can be manually sampled for other purposes. + This class describes a Bézier curve in 3D space. It is mainly used to give a shape to a [Path3D], but can be manually sampled for other purposes. It keeps a cache of precalculated points along the curve, to speed up further calculations. </description> <tutorials> @@ -48,10 +48,10 @@ </description> </method> <method name="get_baked_tilts" qualifiers="const"> - <return type="PackedRealArray"> + <return type="PackedFloat32Array"> </return> <description> - Returns the cache of tilts as a [PackedRealArray]. + Returns the cache of tilts as a [PackedFloat32Array]. </description> </method> <method name="get_baked_up_vectors" qualifiers="const"> @@ -223,7 +223,7 @@ </argument> <description> Sets the tilt angle in radians for the point [code]idx[/code]. If the index is out of bounds, the function sends an error to the console. - The tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a [PathFollow], this tilt is an offset over the natural tilt the [PathFollow] calculates. + The tilt controls the rotation along the look-at axis an object traveling the path would have. In the case of a curve controlling a [PathFollow3D], this tilt is an offset over the natural tilt the [PathFollow3D] calculates. </description> </method> <method name="tessellate" qualifiers="const"> @@ -246,7 +246,7 @@ The distance in meters between two adjacent cached points. Changing it forces the cache to be recomputed the next time the [method get_baked_points] or [method get_baked_length] function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care. </member> <member name="up_vector_enabled" type="bool" setter="set_up_vector_enabled" getter="is_up_vector_enabled" default="true"> - If [code]true[/code], the curve will bake up vectors used for orientation. This is used when [member PathFollow.rotation_mode] is set to [constant PathFollow.ROTATION_ORIENTED]. Changing it forces the cache to be recomputed. + If [code]true[/code], the curve will bake up vectors used for orientation. This is used when [member PathFollow3D.rotation_mode] is set to [constant PathFollow3D.ROTATION_ORIENTED]. Changing it forces the cache to be recomputed. </member> </members> <constants> diff --git a/doc/classes/CylinderShape.xml b/doc/classes/CylinderShape3D.xml index 54adbd3b04..eb12568e71 100644 --- a/doc/classes/CylinderShape.xml +++ b/doc/classes/CylinderShape3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="CylinderShape" inherits="Shape" version="4.0"> +<class name="CylinderShape3D" inherits="Shape3D" version="4.0"> <brief_description> Cylinder shape for collisions. </brief_description> diff --git a/doc/classes/Decal.xml b/doc/classes/Decal.xml new file mode 100644 index 0000000000..f7329d1537 --- /dev/null +++ b/doc/classes/Decal.xml @@ -0,0 +1,111 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Decal" inherits="VisualInstance3D" version="4.0"> + <brief_description> + Node that projects a texture onto a [MeshInstance3D]. + </brief_description> + <description> + [Decal]s are used to project a texture onto a [Mesh] in the scene. Use Decals to add detail to a scene without affecting the underlying [Mesh]. They are often used to add weathering to building, add dirt or mud to the ground, or add variety to props. Decals can be moved at any time, making them suitable for things like blob shadows or laser sight dots. + They are made of an [AABB] and a group of [Texture2D]s specifying [Color], normal, ORM (ambient occlusion, roughness, metallic), and emission. Decals are projected within their [AABB] so altering the orientation of the Decal affects the direction in which they are projected. By default, Decals are projected down (i.e. from positive Y to negative Y). + The [Texture2D]s associated with the Decal are automatically stored in a texture atlas which is used for drawing the decals so all decals can be drawn at once. Godot uses clustered decals, meaning they are stored in cluster data and drawn when the mesh is drawn, they are not drawn as a postprocessing effect after. + </description> + <tutorials> + </tutorials> + <methods> + <method name="get_texture" qualifiers="const"> + <return type="Texture2D"> + </return> + <argument index="0" name="type" type="int" enum="Decal.DecalTexture"> + </argument> + <description> + Returns the [Texture2D] associated with the specified [enum DecalTexture]. This is a convenience method, in most cases you should access the texture directly. + For example, instead of [code]albedo_tex = $Decal.get_texture(Decal.TEXTURE_ALBEDO)[/code], use [code]albedo_tex = $Decal.texture_albedo[/code]. + One case where this is better than accessing the texture directly is when you want to copy one Decal's textures to another. For example: + [codeblock] + for i in Decal.TEXTURE_MAX: + $NewDecal.set_texture(i, $OldDecal.get_texture(i)) + [/codeblock] + </description> + </method> + <method name="set_texture"> + <return type="void"> + </return> + <argument index="0" name="type" type="int" enum="Decal.DecalTexture"> + </argument> + <argument index="1" name="texture" type="Texture2D"> + </argument> + <description> + Sets the [Texture2D] associated with the specified [enum DecalTexture]. This is a convenience method, in most cases you should access the texture directly. + For example, instead of [code]$Decal.set_texture(Decal.TEXTURE_ALBEDO, albedo_tex)[/code], use [code]$Decal.texture_albedo = albedo_tex[/code]. + One case where this is better than accessing the texture directly is when you want to copy one Decal's textures to another. For example: + [codeblock] + for i in Decal.TEXTURE_MAX: + $NewDecal.set_texture(i, $OldDecal.get_texture(i)) + [/codeblock] + </description> + </method> + </methods> + <members> + <member name="albedo_mix" type="float" setter="set_albedo_mix" getter="get_albedo_mix" default="1.0"> + Blends the albedo [Color] of the decal with albedo [Color] of the underlying mesh. + </member> + <member name="cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask" default="1048575"> + Specifies which [member VisualInstance3D.layers] this decal will project on. By default, Decals affect all layers. This is used so you can specify which types of objects receive the Decal and which do not. This is especially useful so you an ensure that dynamic objects don't accidentally receive a Decal intended for the terrain under them. + </member> + <member name="distance_fade_begin" type="float" setter="set_distance_fade_begin" getter="get_distance_fade_begin" default="10.0"> + Distance from the camera at which the Decal begins to fade away. + </member> + <member name="distance_fade_enabled" type="bool" setter="set_enable_distance_fade" getter="is_distance_fade_enabled" default="false"> + If [code]true[/code], decals will smoothly fade away when far from the active [Camera3D] starting at [member distance_fade_begin]. The Decal will fade out over [member distance_fade_length], after which it will be culled and not sent to the shader at all. Use this to reduce the number of active Decals in a scene and thus improve performance. + </member> + <member name="distance_fade_length" type="float" setter="set_distance_fade_length" getter="get_distance_fade_length" default="1.0"> + Distance over which the Decal fades. The Decal becomes slowly more transparent over this distance and is completely invisible at the end. + </member> + <member name="emission_energy" type="float" setter="set_emission_energy" getter="get_emission_energy" default="1.0"> + Energy multiplier for the emission texture. This will make the decal emit light at a higher intensity. + </member> + <member name="extents" type="Vector3" setter="set_extents" getter="get_extents" default="Vector3( 1, 1, 1 )"> + Sets the size of the [AABB] used by the decal. The AABB goes from [code]-extents[/code] to [code]extents[/code]. + </member> + <member name="lower_fade" type="float" setter="set_lower_fade" getter="get_lower_fade" default="0.3"> + Sets the curve over which the decal will fade as the surface gets further from the center of the [AABB]. + </member> + <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate" default="Color( 1, 1, 1, 1 )"> + Changes the [Color] of the Decal by multiplying it with this value. + </member> + <member name="normal_fade" type="float" setter="set_normal_fade" getter="get_normal_fade" default="0.0"> + Fades the Decal if the angle between the Decal's [AABB] and the target surface becomes too large. A value of [code]0[/code] projects the Decal regardless of angle, a value of [code]1[/code] limits the Decal to surfaces that are nearly perpendicular. + </member> + <member name="texture_albedo" type="Texture2D" setter="set_texture" getter="get_texture"> + [Texture2D] with the base [Color] of the Decal. Either this or the [member texture_emission] must be set for the Decal to be visible. Use the alpha channel like a mask to smoothly blend the edges of the decal with the underlying object. + </member> + <member name="texture_emission" type="Texture2D" setter="set_texture" getter="get_texture"> + [Texture2D] with the emission [Color] of the Decal. Either this or the [member texture_emission] must be set for the Decal to be visible. Use the alpha channel like a mask to smoothly blend the edges of the decal with the underlying object. + </member> + <member name="texture_normal" type="Texture2D" setter="set_texture" getter="get_texture"> + [Texture2D] with the per-pixel normalmap for the decal. Use this to add extra detail to decals. + </member> + <member name="texture_orm" type="Texture2D" setter="set_texture" getter="get_texture"> + [Texture2D] storing ambient occlusion, roughness, and metallic for the decal. Use this to add extra detail to decals. + </member> + <member name="upper_fade" type="float" setter="set_upper_fade" getter="get_upper_fade" default="0.3"> + Sets the curve over which the decal will fade as the surface gets further from the center of the [AABB]. + </member> + </members> + <constants> + <constant name="TEXTURE_ALBEDO" value="0" enum="DecalTexture"> + [Texture2D] corresponding to [member texture_albedo]. + </constant> + <constant name="TEXTURE_NORMAL" value="1" enum="DecalTexture"> + [Texture2D] corresponding to [member texture_normal]. + </constant> + <constant name="TEXTURE_ORM" value="2" enum="DecalTexture"> + [Texture2D] corresponding to [member texture_orm]. + </constant> + <constant name="TEXTURE_EMISSION" value="3" enum="DecalTexture"> + [Texture2D] corresponding to [member texture_emission]. + </constant> + <constant name="TEXTURE_MAX" value="4" enum="DecalTexture"> + Max size of [enum DecalTexture] enum. + </constant> + </constants> +</class> diff --git a/doc/classes/Dictionary.xml b/doc/classes/Dictionary.xml index 8432744ea7..e982e00d6d 100644 --- a/doc/classes/Dictionary.xml +++ b/doc/classes/Dictionary.xml @@ -4,27 +4,29 @@ Dictionary type. </brief_description> <description> - Dictionary type. Associative container which contains values referenced by unique keys. Dictionary are composed of pairs of keys (which must be unique) and values. You can define a dictionary by placing a comma separated list of [code]key: value[/code] pairs in curly braces [code]{}[/code]. - Erasing elements while iterating over them [b]is not supported[/b]. + Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are composed of pairs of keys (which must be unique) and values. Dictionaries will preserve the insertion order when adding elements, even though this may not be reflected when printing the dictionary. In other programming languages, this data structure is sometimes referred to as an hash map or associative array. + You can define a dictionary by placing a comma-separated list of [code]key: value[/code] pairs in curly braces [code]{}[/code]. + Erasing elements while iterating over them [b]is not supported[/b] and will result in undefined behavior. Creating a dictionary: [codeblock] var my_dir = {} # Creates an empty dictionary. var points_dir = {"White": 50, "Yellow": 75, "Orange": 100} - var my_dir = { + var another_dir = { key1: value1, key2: value2, key3: value3, } [/codeblock] - You can access values of a dictionary by referencing appropriate key in above example [code]points_dir["White"][/code] would return value of 50. + You can access a dictionary's values by referencing the appropriate key. In the above example, [code]points_dir["White"][/code] will return [code]50[/code]. You can also write [code]points_dir.White[/code], which is equivalent. However, you'll have to use the bracket syntax if the key you're accessing the dictionary with isn't a fixed string (such as a number or variable). [codeblock] export(String, "White", "Yellow", "Orange") var my_color var points_dir = {"White": 50, "Yellow": 75, "Orange": 100} func _ready(): + # We can't use dot syntax here as `my_color` is a variable. var points = points_dir[my_color] [/codeblock] - In the above code [code]points[/code] will be assigned the value that is paired with the appropriate color selected in [code]my_color[/code]. + In the above code, [code]points[/code] will be assigned the value that is paired with the appropriate color selected in [code]my_color[/code]. Dictionaries can contain more complex data: [codeblock] my_dir = {"First Array": [1, 2, 3, 4]} # Assigns an Array to a String key. @@ -32,13 +34,21 @@ To add a key to an existing dictionary, access it like an existing key and assign to it: [codeblock] var points_dir = {"White": 50, "Yellow": 75, "Orange": 100} - var points_dir["Blue"] = 150 # Add "Blue" as a key and assign 150 as its value. + points_dir["Blue"] = 150 # Add "Blue" as a key and assign 150 as its value. [/codeblock] Finally, dictionaries can contain different types of keys and values in the same dictionary: [codeblock] - var my_dir = {"String Key": 5, 4: [1, 2, 3], 7: "Hello"} # This is a valid dictionary. + # This is a valid dictionary. + # To access the string "Nested value" below, use `my_dir.sub_dir.sub_key` or `my_dir["sub_dir"]["sub_key"]`. + # Indexing styles can be mixed and matched depending on your needs. + var my_dir = { + "String Key": 5, + 4: [1, 2, 3], + 7: "Hello", + "sub_dir": {"sub_key": "Nested value"}, + } [/codeblock] - [b]Note:[/b] Unlike [Array]s you can't compare dictionaries directly: + [b]Note:[/b] Unlike [Array]s, you can't compare dictionaries directly: [codeblock] array1 = [1, 2, 3] array2 = [1, 2, 3] @@ -66,6 +76,8 @@ </tutorials> <methods> <method name="clear"> + <return type="void"> + </return> <description> Clear the dictionary, removing all key/value pairs. </description> @@ -73,10 +85,10 @@ <method name="duplicate"> <return type="Dictionary"> </return> - <argument index="0" name="deep" type="bool" default="False"> + <argument index="0" name="deep" type="bool" default="false"> </argument> <description> - Creates a copy of the dictionary, and returns it. + Creates a copy of the dictionary, and returns it. The [code]deep[/code] parameter causes inner dictionaries and arrays to be copied recursively, but does not apply to objects. </description> </method> <method name="empty"> @@ -100,7 +112,7 @@ </return> <argument index="0" name="key" type="Variant"> </argument> - <argument index="1" name="default" type="Variant" default="Null"> + <argument index="1" name="default" type="Variant" default="null"> </argument> <description> Returns the current value for the specified key in the [Dictionary]. If the key does not exist, the method returns the value of the optional default argument, or [code]null[/code] if it is omitted. diff --git a/doc/classes/DirectionalLight.xml b/doc/classes/DirectionalLight3D.xml index a3ef830d5d..6c88dcf42e 100644 --- a/doc/classes/DirectionalLight.xml +++ b/doc/classes/DirectionalLight3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="DirectionalLight" inherits="Light" version="4.0"> +<class name="DirectionalLight3D" inherits="Light3D" version="4.0"> <brief_description> Directional light from a distance, as from the Sun. </brief_description> <description> - A directional light is a type of [Light] node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight transform (origin) is ignored. Only the basis is used to determine light direction. + A directional light is a type of [Light3D] node that models an infinite number of parallel rays covering the entire scene. It is used for lights with strong intensity that are located far away from the scene to model sunlight or moonlight. The worldspace location of the DirectionalLight3D transform (origin) is ignored. Only the basis is used to determine light direction. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/3d/lights_and_shadows.html</link> @@ -12,25 +12,23 @@ <methods> </methods> <members> - <member name="directional_shadow_bias_split_scale" type="float" setter="set_param" getter="get_param" default="0.25"> - Amount of extra bias for shadow splits that are far away. If self-shadowing occurs only on the splits far away, increasing this value can fix them. - </member> <member name="directional_shadow_blend_splits" type="bool" setter="set_blend_splits" getter="is_blend_splits_enabled" default="false"> If [code]true[/code], shadow detail is sacrificed in exchange for smoother transitions between splits. </member> - <member name="directional_shadow_depth_range" type="int" setter="set_shadow_depth_range" getter="get_shadow_depth_range" enum="DirectionalLight.ShadowDepthRange" default="0"> + <member name="directional_shadow_depth_range" type="int" setter="set_shadow_depth_range" getter="get_shadow_depth_range" enum="DirectionalLight3D.ShadowDepthRange" default="0"> Optimizes shadow rendering for detail versus movement. See [enum ShadowDepthRange]. </member> <member name="directional_shadow_fade_start" type="float" setter="set_param" getter="get_param" default="0.8"> + Proportion of [member directional_shadow_max_distance] at which point the shadow starts to fade. At [member directional_shadow_max_distance] the shadow will disappear. </member> <member name="directional_shadow_max_distance" type="float" setter="set_param" getter="get_param" default="100.0"> The maximum distance for shadow splits. </member> - <member name="directional_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="DirectionalLight.ShadowMode" default="2"> + <member name="directional_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="DirectionalLight3D.ShadowMode" default="2"> The light's shadow rendering algorithm. See [enum ShadowMode]. </member> - <member name="directional_shadow_normal_bias" type="float" setter="set_param" getter="get_param" default="0.8"> - Can be used to fix special cases of self shadowing when objects are perpendicular to the light. + <member name="directional_shadow_pancake_size" type="float" setter="set_param" getter="get_param" default="20.0"> + Sets the size of the directional shadow pancake. The pancake offsets the start of the shadow's camera frustum to provide a higher effective depth resolution for the shadow. However, a high pancake size can cause artifacts in the shadows of large objects that are close to the edge of the frustum. Reducing the pancake size can help. Setting the size to [code]0[/code] turns off the pancaking effect. </member> <member name="directional_shadow_split_1" type="float" setter="set_param" getter="get_param" default="0.1"> The distance from camera to shadow split 1. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_2_SPLITS[/code] or [code]SHADOW_PARALLEL_4_SPLITS[/code]. @@ -41,7 +39,6 @@ <member name="directional_shadow_split_3" type="float" setter="set_param" getter="get_param" default="0.5"> The distance from shadow split 2 to split 3. Relative to [member directional_shadow_max_distance]. Only used when [member directional_shadow_mode] is [code]SHADOW_PARALLEL_4_SPLITS[/code]. </member> - <member name="shadow_bias" type="float" setter="set_param" getter="get_param" override="true" default="0.1" /> </members> <constants> <constant name="SHADOW_ORTHOGONAL" value="0" enum="ShadowMode"> diff --git a/doc/classes/DisplayServer.xml b/doc/classes/DisplayServer.xml new file mode 100644 index 0000000000..90828089f9 --- /dev/null +++ b/doc/classes/DisplayServer.xml @@ -0,0 +1,1049 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="DisplayServer" inherits="Object" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="alert"> + <return type="void"> + </return> + <argument index="0" name="text" type="String"> + </argument> + <argument index="1" name="title" type="String" default=""Alert!""> + </argument> + <description> + </description> + </method> + <method name="clipboard_get" qualifiers="const"> + <return type="String"> + </return> + <description> + </description> + </method> + <method name="clipboard_set"> + <return type="void"> + </return> + <argument index="0" name="clipboard" type="String"> + </argument> + <description> + </description> + </method> + <method name="console_set_visible"> + <return type="void"> + </return> + <argument index="0" name="console_visible" type="bool"> + </argument> + <description> + </description> + </method> + <method name="create_sub_window"> + <return type="int"> + </return> + <argument index="0" name="mode" type="int" enum="DisplayServer.WindowMode"> + </argument> + <argument index="1" name="rect" type="int"> + </argument> + <argument index="2" name="arg2" type="Rect2i" default="Rect2i( 0, 0, 0, 0 )"> + </argument> + <description> + </description> + </method> + <method name="cursor_get_shape" qualifiers="const"> + <return type="int" enum="DisplayServer.CursorShape"> + </return> + <description> + </description> + </method> + <method name="cursor_set_custom_image"> + <return type="void"> + </return> + <argument index="0" name="cursor" type="Resource"> + </argument> + <argument index="1" name="shape" type="int" enum="DisplayServer.CursorShape" default="0"> + </argument> + <argument index="2" name="hotspot" type="Vector2" default="Vector2( 0, 0 )"> + </argument> + <description> + </description> + </method> + <method name="cursor_set_shape"> + <return type="void"> + </return> + <argument index="0" name="shape" type="int" enum="DisplayServer.CursorShape"> + </argument> + <description> + </description> + </method> + <method name="delete_sub_window"> + <return type="void"> + </return> + <argument index="0" name="window_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="dialog_input_text"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="title" type="String"> + </argument> + <argument index="1" name="description" type="String"> + </argument> + <argument index="2" name="existing_text" type="String"> + </argument> + <argument index="3" name="callback" type="Callable"> + </argument> + <description> + </description> + </method> + <method name="dialog_show"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="title" type="String"> + </argument> + <argument index="1" name="description" type="String"> + </argument> + <argument index="2" name="buttons" type="PackedStringArray"> + </argument> + <argument index="3" name="callback" type="Callable"> + </argument> + <description> + </description> + </method> + <method name="enable_for_stealing_focus"> + <return type="void"> + </return> + <argument index="0" name="process_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="force_process_and_drop_events"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="get_latin_keyboard_variant" qualifiers="const"> + <return type="int" enum="DisplayServer.LatinKeyboardVariant"> + </return> + <description> + </description> + </method> + <method name="get_name" qualifiers="const"> + <return type="String"> + </return> + <description> + </description> + </method> + <method name="get_screen_count" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_swap_ok_cancel"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="get_window_at_screen_position" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="position" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="get_window_list" qualifiers="const"> + <return type="PackedInt32Array"> + </return> + <description> + </description> + </method> + <method name="global_menu_add_check_item"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="label" type="String"> + </argument> + <argument index="2" name="callback" type="Callable"> + </argument> + <argument index="3" name="tag" type="Variant" default="null"> + </argument> + <description> + </description> + </method> + <method name="global_menu_add_item"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="label" type="String"> + </argument> + <argument index="2" name="callback" type="Callable"> + </argument> + <argument index="3" name="tag" type="Variant" default="null"> + </argument> + <description> + </description> + </method> + <method name="global_menu_add_separator"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <description> + </description> + </method> + <method name="global_menu_add_submenu_item"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="label" type="String"> + </argument> + <argument index="2" name="submenu" type="String"> + </argument> + <description> + </description> + </method> + <method name="global_menu_clear"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <description> + </description> + </method> + <method name="global_menu_get_item_callback"> + <return type="Callable"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="global_menu_get_item_submenu"> + <return type="String"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="global_menu_get_item_tag"> + <return type="Variant"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="global_menu_get_item_text"> + <return type="String"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="global_menu_is_item_checkable" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="global_menu_is_item_checked" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="global_menu_remove_item"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <description> + </description> + </method> + <method name="global_menu_set_item_callback"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <argument index="2" name="callback" type="Callable"> + </argument> + <description> + </description> + </method> + <method name="global_menu_set_item_checkable"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <argument index="2" name="checkable" type="bool"> + </argument> + <description> + </description> + </method> + <method name="global_menu_set_item_checked"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <argument index="2" name="checked" type="bool"> + </argument> + <description> + </description> + </method> + <method name="global_menu_set_item_submenu"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <argument index="2" name="submenu" type="String"> + </argument> + <description> + </description> + </method> + <method name="global_menu_set_item_tag"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <argument index="2" name="tag" type="Variant"> + </argument> + <description> + </description> + </method> + <method name="global_menu_set_item_text"> + <return type="void"> + </return> + <argument index="0" name="menu_root" type="String"> + </argument> + <argument index="1" name="idx" type="int"> + </argument> + <argument index="2" name="text" type="String"> + </argument> + <description> + </description> + </method> + <method name="has_feature" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="feature" type="int" enum="DisplayServer.Feature"> + </argument> + <description> + </description> + </method> + <method name="ime_get_selection" qualifiers="const"> + <return type="Vector2i"> + </return> + <description> + </description> + </method> + <method name="ime_get_text" qualifiers="const"> + <return type="String"> + </return> + <description> + </description> + </method> + <method name="is_console_visible" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="mouse_get_absolute_position" qualifiers="const"> + <return type="Vector2i"> + </return> + <description> + </description> + </method> + <method name="mouse_get_button_state" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="mouse_get_mode" qualifiers="const"> + <return type="int" enum="DisplayServer.MouseMode"> + </return> + <description> + </description> + </method> + <method name="mouse_get_position" qualifiers="const"> + <return type="Vector2i"> + </return> + <description> + </description> + </method> + <method name="mouse_set_mode"> + <return type="void"> + </return> + <argument index="0" name="mouse_mode" type="int" enum="DisplayServer.MouseMode"> + </argument> + <description> + </description> + </method> + <method name="mouse_warp_to_position"> + <return type="void"> + </return> + <argument index="0" name="position" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="native_video_is_playing" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="native_video_pause"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="native_video_play"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="path" type="String"> + </argument> + <argument index="1" name="volume" type="float"> + </argument> + <argument index="2" name="audio_track" type="String"> + </argument> + <argument index="3" name="subtitle_track" type="String"> + </argument> + <argument index="4" name="arg4" type="int"> + </argument> + <description> + </description> + </method> + <method name="native_video_stop"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="native_video_unpause"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="process_events"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="screen_get_dpi" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="screen" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="screen_get_orientation" qualifiers="const"> + <return type="int" enum="DisplayServer.ScreenOrientation"> + </return> + <argument index="0" name="screen" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="screen_get_position" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="screen" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="screen_get_scale" qualifiers="const"> + <return type="float"> + </return> + <argument index="0" name="screen" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="screen_get_size" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="screen" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="screen_get_usable_rect" qualifiers="const"> + <return type="Rect2i"> + </return> + <argument index="0" name="screen" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="screen_is_kept_on" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="screen_is_touchscreen" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="screen" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="screen_set_keep_on"> + <return type="void"> + </return> + <argument index="0" name="enable" type="bool"> + </argument> + <description> + </description> + </method> + <method name="screen_set_orientation"> + <return type="void"> + </return> + <argument index="0" name="orientation" type="int" enum="DisplayServer.ScreenOrientation"> + </argument> + <argument index="1" name="screen" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="set_icon"> + <return type="void"> + </return> + <argument index="0" name="image" type="Image"> + </argument> + <description> + </description> + </method> + <method name="set_native_icon"> + <return type="void"> + </return> + <argument index="0" name="filename" type="String"> + </argument> + <description> + </description> + </method> + <method name="virtual_keyboard_get_height" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="virtual_keyboard_hide"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="virtual_keyboard_show"> + <return type="void"> + </return> + <argument index="0" name="existing_text" type="String"> + </argument> + <argument index="1" name="position" type="Rect2" default="Rect2i( 0, 0, 0, 0 )"> + </argument> + <argument index="2" name="max_length" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="vsync_is_enabled" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="vsync_is_using_via_compositor" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="vsync_set_enabled"> + <return type="void"> + </return> + <argument index="0" name="enabled" type="bool"> + </argument> + <description> + </description> + </method> + <method name="vsync_set_use_via_compositor"> + <return type="void"> + </return> + <argument index="0" name="enabled" type="bool"> + </argument> + <description> + </description> + </method> + <method name="window_attach_instance_id"> + <return type="void"> + </return> + <argument index="0" name="instance_id" type="int"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_can_draw" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_attached_instance_id" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_current_screen" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_flag" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="flag" type="int" enum="DisplayServer.WindowFlags"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_max_size" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_min_size" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_mode" qualifiers="const"> + <return type="int" enum="DisplayServer.WindowMode"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_position" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_real_size" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_get_size" qualifiers="const"> + <return type="Vector2i"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_move_to_foreground"> + <return type="void"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_request_attention"> + <return type="void"> + </return> + <argument index="0" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_current_screen"> + <return type="void"> + </return> + <argument index="0" name="screen" type="int"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_drop_files_callback"> + <return type="void"> + </return> + <argument index="0" name="callback" type="Callable"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_flag"> + <return type="void"> + </return> + <argument index="0" name="flag" type="int" enum="DisplayServer.WindowFlags"> + </argument> + <argument index="1" name="enabled" type="bool"> + </argument> + <argument index="2" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_ime_active"> + <return type="void"> + </return> + <argument index="0" name="active" type="bool"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_ime_position"> + <return type="void"> + </return> + <argument index="0" name="position" type="Vector2i"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_input_event_callback"> + <return type="void"> + </return> + <argument index="0" name="callback" type="Callable"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_input_text_callback"> + <return type="void"> + </return> + <argument index="0" name="callback" type="Callable"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_max_size"> + <return type="void"> + </return> + <argument index="0" name="max_size" type="Vector2i"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_min_size"> + <return type="void"> + </return> + <argument index="0" name="min_size" type="Vector2i"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_mode"> + <return type="void"> + </return> + <argument index="0" name="mode" type="int" enum="DisplayServer.WindowMode"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_position"> + <return type="void"> + </return> + <argument index="0" name="position" type="Vector2i"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_rect_changed_callback"> + <return type="void"> + </return> + <argument index="0" name="callback" type="Callable"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_size"> + <return type="void"> + </return> + <argument index="0" name="size" type="Vector2i"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_title"> + <return type="void"> + </return> + <argument index="0" name="title" type="String"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="window_set_transient"> + <return type="void"> + </return> + <argument index="0" name="window_id" type="int"> + </argument> + <argument index="1" name="parent_window_id" type="int"> + </argument> + <description> + </description> + </method> + <method name="window_set_window_event_callback"> + <return type="void"> + </return> + <argument index="0" name="callback" type="Callable"> + </argument> + <argument index="1" name="window_id" type="int" default="0"> + </argument> + <description> + </description> + </method> + </methods> + <constants> + <constant name="FEATURE_GLOBAL_MENU" value="0" enum="Feature"> + </constant> + <constant name="FEATURE_SUBWINDOWS" value="1" enum="Feature"> + </constant> + <constant name="FEATURE_TOUCHSCREEN" value="2" enum="Feature"> + </constant> + <constant name="FEATURE_MOUSE" value="3" enum="Feature"> + </constant> + <constant name="FEATURE_MOUSE_WARP" value="4" enum="Feature"> + </constant> + <constant name="FEATURE_CLIPBOARD" value="5" enum="Feature"> + </constant> + <constant name="FEATURE_VIRTUAL_KEYBOARD" value="6" enum="Feature"> + </constant> + <constant name="FEATURE_CURSOR_SHAPE" value="7" enum="Feature"> + </constant> + <constant name="FEATURE_CUSTOM_CURSOR_SHAPE" value="8" enum="Feature"> + </constant> + <constant name="FEATURE_NATIVE_VIDEO" value="9" enum="Feature"> + </constant> + <constant name="FEATURE_NATIVE_DIALOG" value="10" enum="Feature"> + </constant> + <constant name="FEATURE_CONSOLE_WINDOW" value="11" enum="Feature"> + </constant> + <constant name="FEATURE_IME" value="12" enum="Feature"> + </constant> + <constant name="FEATURE_WINDOW_TRANSPARENCY" value="13" enum="Feature"> + </constant> + <constant name="FEATURE_HIDPI" value="14" enum="Feature"> + </constant> + <constant name="FEATURE_ICON" value="15" enum="Feature"> + </constant> + <constant name="FEATURE_NATIVE_ICON" value="16" enum="Feature"> + </constant> + <constant name="FEATURE_ORIENTATION" value="17" enum="Feature"> + </constant> + <constant name="FEATURE_SWAP_BUFFERS" value="18" enum="Feature"> + </constant> + <constant name="MOUSE_MODE_VISIBLE" value="0" enum="MouseMode"> + </constant> + <constant name="MOUSE_MODE_HIDDEN" value="1" enum="MouseMode"> + </constant> + <constant name="MOUSE_MODE_CAPTURED" value="2" enum="MouseMode"> + </constant> + <constant name="MOUSE_MODE_CONFINED" value="3" enum="MouseMode"> + </constant> + <constant name="SCREEN_OF_MAIN_WINDOW" value="-1"> + </constant> + <constant name="MAIN_WINDOW_ID" value="0"> + </constant> + <constant name="INVALID_WINDOW_ID" value="-1"> + </constant> + <constant name="SCREEN_LANDSCAPE" value="0" enum="ScreenOrientation"> + </constant> + <constant name="SCREEN_PORTRAIT" value="1" enum="ScreenOrientation"> + </constant> + <constant name="SCREEN_REVERSE_LANDSCAPE" value="2" enum="ScreenOrientation"> + </constant> + <constant name="SCREEN_REVERSE_PORTRAIT" value="3" enum="ScreenOrientation"> + </constant> + <constant name="SCREEN_SENSOR_LANDSCAPE" value="4" enum="ScreenOrientation"> + </constant> + <constant name="SCREEN_SENSOR_PORTRAIT" value="5" enum="ScreenOrientation"> + </constant> + <constant name="SCREEN_SENSOR" value="6" enum="ScreenOrientation"> + </constant> + <constant name="CURSOR_ARROW" value="0" enum="CursorShape"> + </constant> + <constant name="CURSOR_IBEAM" value="1" enum="CursorShape"> + </constant> + <constant name="CURSOR_POINTING_HAND" value="2" enum="CursorShape"> + </constant> + <constant name="CURSOR_CROSS" value="3" enum="CursorShape"> + </constant> + <constant name="CURSOR_WAIT" value="4" enum="CursorShape"> + </constant> + <constant name="CURSOR_BUSY" value="5" enum="CursorShape"> + </constant> + <constant name="CURSOR_DRAG" value="6" enum="CursorShape"> + </constant> + <constant name="CURSOR_CAN_DROP" value="7" enum="CursorShape"> + </constant> + <constant name="CURSOR_FORBIDDEN" value="8" enum="CursorShape"> + </constant> + <constant name="CURSOR_VSIZE" value="9" enum="CursorShape"> + </constant> + <constant name="CURSOR_HSIZE" value="10" enum="CursorShape"> + </constant> + <constant name="CURSOR_BDIAGSIZE" value="11" enum="CursorShape"> + </constant> + <constant name="CURSOR_FDIAGSIZE" value="12" enum="CursorShape"> + </constant> + <constant name="CURSOR_MOVE" value="13" enum="CursorShape"> + </constant> + <constant name="CURSOR_VSPLIT" value="14" enum="CursorShape"> + </constant> + <constant name="CURSOR_HSPLIT" value="15" enum="CursorShape"> + </constant> + <constant name="CURSOR_HELP" value="16" enum="CursorShape"> + </constant> + <constant name="CURSOR_MAX" value="17" enum="CursorShape"> + </constant> + <constant name="WINDOW_MODE_WINDOWED" value="0" enum="WindowMode"> + </constant> + <constant name="WINDOW_MODE_MINIMIZED" value="1" enum="WindowMode"> + </constant> + <constant name="WINDOW_MODE_MAXIMIZED" value="2" enum="WindowMode"> + </constant> + <constant name="WINDOW_MODE_FULLSCREEN" value="3" enum="WindowMode"> + </constant> + <constant name="WINDOW_FLAG_RESIZE_DISABLED" value="0" enum="WindowFlags"> + </constant> + <constant name="WINDOW_FLAG_BORDERLESS" value="1" enum="WindowFlags"> + </constant> + <constant name="WINDOW_FLAG_ALWAYS_ON_TOP" value="2" enum="WindowFlags"> + </constant> + <constant name="WINDOW_FLAG_TRANSPARENT" value="3" enum="WindowFlags"> + </constant> + <constant name="WINDOW_FLAG_NO_FOCUS" value="4" enum="WindowFlags"> + </constant> + <constant name="WINDOW_FLAG_MAX" value="5" enum="WindowFlags"> + </constant> + <constant name="LATIN_KEYBOARD_QWERTY" value="0" enum="LatinKeyboardVariant"> + </constant> + <constant name="LATIN_KEYBOARD_QWERTZ" value="1" enum="LatinKeyboardVariant"> + </constant> + <constant name="LATIN_KEYBOARD_AZERTY" value="2" enum="LatinKeyboardVariant"> + </constant> + <constant name="LATIN_KEYBOARD_QZERTY" value="3" enum="LatinKeyboardVariant"> + </constant> + <constant name="LATIN_KEYBOARD_DVORAK" value="4" enum="LatinKeyboardVariant"> + </constant> + <constant name="LATIN_KEYBOARD_NEO" value="5" enum="LatinKeyboardVariant"> + </constant> + <constant name="LATIN_KEYBOARD_COLEMAK" value="6" enum="LatinKeyboardVariant"> + </constant> + <constant name="WINDOW_EVENT_MOUSE_ENTER" value="0" enum="WindowEvent"> + </constant> + <constant name="WINDOW_EVENT_MOUSE_EXIT" value="1" enum="WindowEvent"> + </constant> + <constant name="WINDOW_EVENT_FOCUS_IN" value="2" enum="WindowEvent"> + </constant> + <constant name="WINDOW_EVENT_FOCUS_OUT" value="3" enum="WindowEvent"> + </constant> + <constant name="WINDOW_EVENT_CLOSE_REQUEST" value="4" enum="WindowEvent"> + </constant> + <constant name="WINDOW_EVENT_GO_BACK_REQUEST" value="5" enum="WindowEvent"> + </constant> + <constant name="WINDOW_EVENT_DPI_CHANGE" value="6" enum="WindowEvent"> + </constant> + </constants> +</class> diff --git a/doc/classes/DynamicFont.xml b/doc/classes/DynamicFont.xml index 29e430b14d..0864c3ba36 100644 --- a/doc/classes/DynamicFont.xml +++ b/doc/classes/DynamicFont.xml @@ -12,6 +12,7 @@ dynamic_font.size = 64 $"Label".set("custom_fonts/font", dynamic_font) [/codeblock] + [b]Note:[/b] DynamicFont doesn't support features such as right-to-left typesetting, ligatures, text shaping, variable fonts and optional font features yet. If you wish to "bake" an optional font feature into a TTF font file, you can use [url=https://fontforge.org/]FontForge[/url] to do so. In FontForge, use [b]File > Generate Fonts[/b], click [b]Options[/b], choose the desired features then generate the font. </description> <tutorials> </tutorials> diff --git a/doc/classes/EditorExportPlugin.xml b/doc/classes/EditorExportPlugin.xml index da3840384e..8cfd3b63d6 100644 --- a/doc/classes/EditorExportPlugin.xml +++ b/doc/classes/EditorExportPlugin.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="EditorExportPlugin" inherits="Reference" version="4.0"> <brief_description> + A script that is executed when exporting projects. </brief_description> <description> </description> @@ -19,12 +20,14 @@ <argument index="3" name="flags" type="int"> </argument> <description> + Virtual method to be overridden by the user. It is called when the export starts and provides all information about the export. </description> </method> <method name="_export_end" qualifiers="virtual"> <return type="void"> </return> <description> + Virtual method to be overridden by the user. Called when the export is finished. </description> </method> <method name="_export_file" qualifiers="virtual"> @@ -91,6 +94,14 @@ <description> </description> </method> + <method name="add_ios_project_static_lib"> + <return type="void"> + </return> + <argument index="0" name="path" type="String"> + </argument> + <description> + </description> + </method> <method name="add_shared_object"> <return type="void"> </return> diff --git a/doc/classes/EditorFeatureProfile.xml b/doc/classes/EditorFeatureProfile.xml index 5fac4f7822..eb03d3010f 100644 --- a/doc/classes/EditorFeatureProfile.xml +++ b/doc/classes/EditorFeatureProfile.xml @@ -1,8 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="EditorFeatureProfile" inherits="Reference" version="4.0"> <brief_description> + An editor feature profile which can be used to disable specific features. </brief_description> <description> + An editor feature profile can be used to disable specific features of the Godot editor. When disabled, the features won't appear in the editor, which makes the editor less cluttered. This is useful in education settings to reduce confusion or when working in a team. For example, artists and level designers could use a feature profile that disables the script editor to avoid accidentally making changes to files they aren't supposed to edit. + To manage editor feature profiles visually, use [b]Editor > Manage Feature Profiles...[/b] at the top of the editor window. </description> <tutorials> </tutorials> @@ -13,32 +16,36 @@ <argument index="0" name="feature" type="int" enum="EditorFeatureProfile.Feature"> </argument> <description> + Returns the specified [code]feature[/code]'s human-readable name. </description> </method> <method name="is_class_disabled" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class_name" type="String"> + <argument index="0" name="class_name" type="StringName"> </argument> <description> + Returns [code]true[/code] if the class specified by [code]class_name[/code] is disabled. When disabled, the class won't appear in the Create New Node dialog. </description> </method> <method name="is_class_editor_disabled" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class_name" type="String"> + <argument index="0" name="class_name" type="StringName"> </argument> <description> + Returns [code]true[/code] if editing for the class specified by [code]class_name[/code] is disabled. When disabled, the class will still appear in the Create New Node dialog but the inspector will be read-only when selecting a node that extends the class. </description> </method> <method name="is_class_property_disabled" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="class_name" type="String"> + <argument index="0" name="class_name" type="StringName"> </argument> - <argument index="1" name="property" type="String"> + <argument index="1" name="property" type="StringName"> </argument> <description> + Returns [code]true[/code] if [code]property[/code] is disabled in the class specified by [code]class_name[/code]. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by [code]class_name[/code]. </description> </method> <method name="is_feature_disabled" qualifiers="const"> @@ -47,6 +54,7 @@ <argument index="0" name="feature" type="int" enum="EditorFeatureProfile.Feature"> </argument> <description> + Returns [code]true[/code] if the [code]feature[/code] is disabled. When a feature is disabled, it will disappear from the editor entirely. </description> </method> <method name="load_from_file"> @@ -55,6 +63,7 @@ <argument index="0" name="path" type="String"> </argument> <description> + Loads an editor feature profile from a file. The file must follow the JSON format obtained by using the feature profile manager's [b]Export[/b] button or the [method save_to_file] method. </description> </method> <method name="save_to_file"> @@ -63,38 +72,42 @@ <argument index="0" name="path" type="String"> </argument> <description> + Saves the editor feature profile to a file in JSON format. It can then be imported using the feature profile manager's [b]Import[/b] button or the [method load_from_file] button. </description> </method> <method name="set_disable_class"> <return type="void"> </return> - <argument index="0" name="class_name" type="String"> + <argument index="0" name="class_name" type="StringName"> </argument> <argument index="1" name="disable" type="bool"> </argument> <description> + If [code]disable[/code] is [code]true[/code], disables the class specified by [code]class_name[/code]. When disabled, the class won't appear in the Create New Node dialog. </description> </method> <method name="set_disable_class_editor"> <return type="void"> </return> - <argument index="0" name="class_name" type="String"> + <argument index="0" name="class_name" type="StringName"> </argument> <argument index="1" name="disable" type="bool"> </argument> <description> + If [code]disable[/code] is [code]true[/code], disables editing for the class specified by [code]class_name[/code]. When disabled, the class will still appear in the Create New Node dialog but the inspector will be read-only when selecting a node that extends the class. </description> </method> <method name="set_disable_class_property"> <return type="void"> </return> - <argument index="0" name="class_name" type="String"> + <argument index="0" name="class_name" type="StringName"> </argument> - <argument index="1" name="property" type="String"> + <argument index="1" name="property" type="StringName"> </argument> <argument index="2" name="disable" type="bool"> </argument> <description> + If [code]disable[/code] is [code]true[/code], disables editing for [code]property[/code] in the class specified by [code]class_name[/code]. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by [code]class_name[/code]. </description> </method> <method name="set_disable_feature"> @@ -105,23 +118,31 @@ <argument index="1" name="disable" type="bool"> </argument> <description> + If [code]disable[/code] is [code]true[/code], disables the editor feature specified in [code]feature[/code]. When a feature is disabled, it will disappear from the editor entirely. </description> </method> </methods> <constants> <constant name="FEATURE_3D" value="0" enum="Feature"> + The 3D editor. If this feature is disabled, the 3D editor won't display but 3D nodes will still display in the Create New Node dialog. </constant> <constant name="FEATURE_SCRIPT" value="1" enum="Feature"> + The Script tab, which contains the script editor and class reference browser. If this feature is disabled, the Script tab won't display. </constant> <constant name="FEATURE_ASSET_LIB" value="2" enum="Feature"> + The AssetLib tab. If this feature is disabled, the AssetLib tab won't display. </constant> <constant name="FEATURE_SCENE_TREE" value="3" enum="Feature"> + Scene tree editing. If this feature is disabled, the Scene tree dock will still be visible but will be read-only. </constant> <constant name="FEATURE_IMPORT_DOCK" value="4" enum="Feature"> + The Import dock. If this feature is disabled, the Import dock won't be visible. </constant> <constant name="FEATURE_NODE_DOCK" value="5" enum="Feature"> + The Node dock. If this feature is disabled, signals and groups won't be visible and modifiable from the editor. </constant> <constant name="FEATURE_FILESYSTEM_DOCK" value="6" enum="Feature"> + The FileSystem dock. If this feature is disabled, the FileSystem dock won't be visible. </constant> <constant name="FEATURE_MAX" value="7" enum="Feature"> Represents the size of the [enum Feature] enum. diff --git a/doc/classes/EditorFileDialog.xml b/doc/classes/EditorFileDialog.xml index 2afdfde064..084459e518 100644 --- a/doc/classes/EditorFileDialog.xml +++ b/doc/classes/EditorFileDialog.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="EditorFileDialog" inherits="ConfirmationDialog" version="4.0"> <brief_description> + A modified version of [FileDialog] used by the editor. </brief_description> <description> </description> @@ -59,14 +60,13 @@ <member name="display_mode" type="int" setter="set_display_mode" getter="get_display_mode" enum="EditorFileDialog.DisplayMode" default="0"> The view format in which the [EditorFileDialog] displays resources to the user. </member> - <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="EditorFileDialog.Mode" default="4"> - The purpose of the [EditorFileDialog], which defines the allowed behaviors. + <member name="file_mode" type="int" setter="set_file_mode" getter="get_file_mode" enum="EditorFileDialog.FileMode" default="4"> + The dialog's open or save mode, which affects the selection behavior. See [enum FileMode] </member> - <member name="resizable" type="bool" setter="set_resizable" getter="get_resizable" override="true" default="true" /> <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files" default="false"> If [code]true[/code], hidden files and directories will be visible in the [EditorFileDialog]. </member> - <member name="window_title" type="String" setter="set_title" getter="get_title" override="true" default=""Save a File"" /> + <member name="title" type="String" setter="set_title" getter="get_title" override="true" default=""Save a File"" /> </members> <signals> <signal name="dir_selected"> @@ -92,19 +92,19 @@ </signal> </signals> <constants> - <constant name="MODE_OPEN_FILE" value="0" enum="Mode"> + <constant name="FILE_MODE_OPEN_FILE" value="0" enum="FileMode"> The [EditorFileDialog] can select only one file. Accepting the window will open the file. </constant> - <constant name="MODE_OPEN_FILES" value="1" enum="Mode"> + <constant name="FILE_MODE_OPEN_FILES" value="1" enum="FileMode"> The [EditorFileDialog] can select multiple files. Accepting the window will open all files. </constant> - <constant name="MODE_OPEN_DIR" value="2" enum="Mode"> + <constant name="FILE_MODE_OPEN_DIR" value="2" enum="FileMode"> The [EditorFileDialog] can select only one directory. Accepting the window will open the directory. </constant> - <constant name="MODE_OPEN_ANY" value="3" enum="Mode"> + <constant name="FILE_MODE_OPEN_ANY" value="3" enum="FileMode"> The [EditorFileDialog] can select a file or directory. Accepting the window will open it. </constant> - <constant name="MODE_SAVE_FILE" value="4" enum="Mode"> + <constant name="FILE_MODE_SAVE_FILE" value="4" enum="FileMode"> The [EditorFileDialog] can select only one file. Accepting the window will save the file. </constant> <constant name="ACCESS_RESOURCES" value="0" enum="Access"> diff --git a/doc/classes/EditorFileSystem.xml b/doc/classes/EditorFileSystem.xml index a79c57e90f..9bb51af2d0 100644 --- a/doc/classes/EditorFileSystem.xml +++ b/doc/classes/EditorFileSystem.xml @@ -5,6 +5,7 @@ </brief_description> <description> This object holds information of all resources in the filesystem, their types, etc. + [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_resource_filesystem]. </description> <tutorials> </tutorials> @@ -75,6 +76,7 @@ <return type="void"> </return> <description> + Scans the script files and updates the list of custom class names. </description> </method> </methods> diff --git a/doc/classes/EditorFileSystemDirectory.xml b/doc/classes/EditorFileSystemDirectory.xml index bbd3ee9b17..096fe5df8f 100644 --- a/doc/classes/EditorFileSystemDirectory.xml +++ b/doc/classes/EditorFileSystemDirectory.xml @@ -78,7 +78,7 @@ </description> </method> <method name="get_file_type" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> diff --git a/doc/classes/EditorInspector.xml b/doc/classes/EditorInspector.xml index 61d240c1dc..2f62fe9e40 100644 --- a/doc/classes/EditorInspector.xml +++ b/doc/classes/EditorInspector.xml @@ -5,6 +5,7 @@ </brief_description> <description> The editor inspector is by default located on the right-hand side of the editor. It's used to edit the properties of the selected node. For example, you can select a node such as the Sprite2D then edit its transform through the inspector tool. The editor inspector is an essential tool in the game development workflow. + [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_inspector]. </description> <tutorials> </tutorials> @@ -26,6 +27,12 @@ <description> </description> </signal> + <signal name="property_deleted"> + <argument index="0" name="property" type="String"> + </argument> + <description> + </description> + </signal> <signal name="property_edited"> <argument index="0" name="property" type="String"> </argument> diff --git a/doc/classes/EditorInterface.xml b/doc/classes/EditorInterface.xml index 771b7d59d4..499c3b8271 100644 --- a/doc/classes/EditorInterface.xml +++ b/doc/classes/EditorInterface.xml @@ -5,6 +5,7 @@ </brief_description> <description> EditorInterface gives you control over Godot editor's window. It allows customizing the window, saving and (re-)loading scenes, rendering mesh previews, inspecting and editing resources and objects, and provides access to [EditorSettings], [EditorFileSystem], [EditorResourcePreview], [ScriptEditor], the editor viewport, and information about scenes. + [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorPlugin.get_editor_interface]. </description> <tutorials> </tutorials> @@ -52,6 +53,12 @@ Returns the editor [Viewport]. </description> </method> + <method name="get_file_system_dock"> + <return type="FileSystemDock"> + </return> + <description> + </description> + </method> <method name="get_inspector" qualifiers="const"> <return type="EditorInspector"> </return> diff --git a/doc/classes/EditorSpatialGizmo.xml b/doc/classes/EditorNode3DGizmo.xml index b8c4daab07..6d695ddeea 100644 --- a/doc/classes/EditorSpatialGizmo.xml +++ b/doc/classes/EditorNode3DGizmo.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorSpatialGizmo" inherits="SpatialGizmo" version="4.0"> +<class name="EditorNode3DGizmo" inherits="Node3DGizmo" version="4.0"> <brief_description> - Custom gizmo for editing Spatial objects. + Custom gizmo for editing Node3D objects. </brief_description> <description> - Custom gizmo that is used for providing custom visualization and editing (handles) for 3D Spatial objects. See [EditorSpatialGizmoPlugin] for more information. + Custom gizmo that is used for providing custom visualization and editing (handles) for Node3D objects. See [EditorNode3DGizmoPlugin] for more information. </description> <tutorials> </tutorials> @@ -124,17 +124,17 @@ </description> </method> <method name="get_plugin" qualifiers="const"> - <return type="EditorSpatialGizmoPlugin"> + <return type="EditorNode3DGizmoPlugin"> </return> <description> - Returns the [EditorSpatialGizmoPlugin] that owns this gizmo. It's useful to retrieve materials using [method EditorSpatialGizmoPlugin.get_material]. + Returns the [EditorNode3DGizmoPlugin] that owns this gizmo. It's useful to retrieve materials using [method EditorNode3DGizmoPlugin.get_material]. </description> </method> <method name="get_spatial_node" qualifiers="const"> - <return type="Spatial"> + <return type="Node3D"> </return> <description> - Returns the Spatial node associated with this gizmo. + Returns the Node3D node associated with this gizmo. </description> </method> <method name="is_handle_highlighted" qualifiers="virtual"> @@ -150,7 +150,7 @@ <return type="void"> </return> <description> - This function is called when the Spatial this gizmo refers to changes (the [method Spatial.update_gizmo] is called). + This function is called when the Node3D this gizmo refers to changes (the [method Node3D.update_gizmo] is called). </description> </method> <method name="set_handle" qualifiers="virtual"> @@ -158,13 +158,13 @@ </return> <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="camera" type="Camera"> + <argument index="1" name="camera" type="Camera3D"> </argument> <argument index="2" name="point" type="Vector2"> </argument> <description> This function is used when the user drags a gizmo handle (previously added with [method add_handles]) in screen coordinates. - The [Camera] is also provided so screen coordinates can be converted to raycasts. + The [Camera3D] is also provided so screen coordinates can be converted to raycasts. </description> </method> <method name="set_hidden"> diff --git a/doc/classes/EditorSpatialGizmoPlugin.xml b/doc/classes/EditorNode3DGizmoPlugin.xml index b1a4a25a5f..ca75b47fbf 100644 --- a/doc/classes/EditorSpatialGizmoPlugin.xml +++ b/doc/classes/EditorNode3DGizmoPlugin.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="EditorSpatialGizmoPlugin" inherits="Resource" version="4.0"> +<class name="EditorNode3DGizmoPlugin" inherits="Resource" version="4.0"> <brief_description> - Used by the editor to define Spatial gizmo types. + Used by the editor to define Node3D gizmo types. </brief_description> <description> - EditorSpatialGizmoPlugin allows you to define a new type of Gizmo. There are two main ways to do so: extending [EditorSpatialGizmoPlugin] for the simpler gizmos, or creating a new [EditorSpatialGizmo] type. See the tutorial in the documentation for more info. + EditorNode3DGizmoPlugin allows you to define a new type of Gizmo. There are two main ways to do so: extending [EditorNode3DGizmoPlugin] for the simpler gizmos, or creating a new [EditorNode3DGizmo] type. See the tutorial in the documentation for more info. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/plugins/editor/spatial_gizmos.html</link> @@ -31,7 +31,7 @@ <method name="commit_handle" qualifiers="virtual"> <return type="void"> </return> - <argument index="0" name="gizmo" type="EditorSpatialGizmo"> + <argument index="0" name="gizmo" type="EditorNode3DGizmo"> </argument> <argument index="1" name="index" type="int"> </argument> @@ -44,12 +44,12 @@ </description> </method> <method name="create_gizmo" qualifiers="virtual"> - <return type="EditorSpatialGizmo"> + <return type="EditorNode3DGizmo"> </return> - <argument index="0" name="spatial" type="Spatial"> + <argument index="0" name="spatial" type="Node3D"> </argument> <description> - Override this method to return a custom [EditorSpatialGizmo] for the spatial nodes of your choice, return [code]null[/code] for the rest of nodes. See also [method has_gizmo]. + Override this method to return a custom [EditorNode3DGizmo] for the spatial nodes of your choice, return [code]null[/code] for the rest of nodes. See also [method has_gizmo]. </description> </method> <method name="create_handle_material"> @@ -60,7 +60,7 @@ <argument index="1" name="billboard" type="bool" default="false"> </argument> <description> - Creates a handle material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with [method get_material] and used in [method EditorSpatialGizmo.add_handles]. Should not be overridden. + Creates a handle material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with [method get_material] and used in [method EditorNode3DGizmo.add_handles]. Should not be overridden. </description> </method> <method name="create_icon_material"> @@ -75,7 +75,7 @@ <argument index="3" name="color" type="Color" default="Color( 1, 1, 1, 1 )"> </argument> <description> - Creates an icon material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with [method get_material] and used in [method EditorSpatialGizmo.add_unscaled_billboard]. Should not be overridden. + Creates an icon material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with [method get_material] and used in [method EditorNode3DGizmo.add_unscaled_billboard]. Should not be overridden. </description> </method> <method name="create_material"> @@ -92,13 +92,13 @@ <argument index="4" name="use_vertex_color" type="bool" default="false"> </argument> <description> - Creates an unshaded material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with [method get_material] and used in [method EditorSpatialGizmo.add_mesh] and [method EditorSpatialGizmo.add_lines]. Should not be overridden. + Creates an unshaded material with its variants (selected and/or editable) and adds them to the internal material list. They can then be accessed with [method get_material] and used in [method EditorNode3DGizmo.add_mesh] and [method EditorNode3DGizmo.add_lines]. Should not be overridden. </description> </method> <method name="get_handle_name" qualifiers="virtual"> <return type="String"> </return> - <argument index="0" name="gizmo" type="EditorSpatialGizmo"> + <argument index="0" name="gizmo" type="EditorNode3DGizmo"> </argument> <argument index="1" name="index" type="int"> </argument> @@ -109,7 +109,7 @@ <method name="get_handle_value" qualifiers="virtual"> <return type="Variant"> </return> - <argument index="0" name="gizmo" type="EditorSpatialGizmo"> + <argument index="0" name="gizmo" type="EditorNode3DGizmo"> </argument> <argument index="1" name="index" type="int"> </argument> @@ -122,10 +122,10 @@ </return> <argument index="0" name="name" type="String"> </argument> - <argument index="1" name="gizmo" type="EditorSpatialGizmo"> + <argument index="1" name="gizmo" type="EditorNode3DGizmo"> </argument> <description> - Gets material from the internal list of materials. If an [EditorSpatialGizmo] is provided, it will try to get the corresponding variant (selected and/or editable). + Gets material from the internal list of materials. If an [EditorNode3DGizmo] is provided, it will try to get the corresponding variant (selected and/or editable). </description> </method> <method name="get_name" qualifiers="virtual"> @@ -144,16 +144,16 @@ <method name="has_gizmo" qualifiers="virtual"> <return type="bool"> </return> - <argument index="0" name="spatial" type="Spatial"> + <argument index="0" name="spatial" type="Node3D"> </argument> <description> - Override this method to define which Spatial nodes have a gizmo from this plugin. Whenever a [Spatial] node is added to a scene this method is called, if it returns [code]true[/code] the node gets a generic [EditorSpatialGizmo] assigned and is added to this plugin's list of active gizmos. + Override this method to define which Node3D nodes have a gizmo from this plugin. Whenever a [Node3D] node is added to a scene this method is called, if it returns [code]true[/code] the node gets a generic [EditorNode3DGizmo] assigned and is added to this plugin's list of active gizmos. </description> </method> <method name="is_handle_highlighted" qualifiers="virtual"> <return type="bool"> </return> - <argument index="0" name="gizmo" type="EditorSpatialGizmo"> + <argument index="0" name="gizmo" type="EditorNode3DGizmo"> </argument> <argument index="1" name="index" type="int"> </argument> @@ -165,13 +165,13 @@ <return type="bool"> </return> <description> - Override this method to define whether Spatial with this gizmo should be selecteble even when the gizmo is hidden. + Override this method to define whether Node3D with this gizmo should be selecteble even when the gizmo is hidden. </description> </method> <method name="redraw" qualifiers="virtual"> <return type="void"> </return> - <argument index="0" name="gizmo" type="EditorSpatialGizmo"> + <argument index="0" name="gizmo" type="EditorNode3DGizmo"> </argument> <description> Callback to redraw the provided gizmo. Called for this plugin's active gizmos. @@ -180,11 +180,11 @@ <method name="set_handle" qualifiers="virtual"> <return type="void"> </return> - <argument index="0" name="gizmo" type="EditorSpatialGizmo"> + <argument index="0" name="gizmo" type="EditorNode3DGizmo"> </argument> <argument index="1" name="index" type="int"> </argument> - <argument index="2" name="camera" type="Camera"> + <argument index="2" name="camera" type="Camera3D"> </argument> <argument index="3" name="point" type="Vector2"> </argument> diff --git a/doc/classes/EditorPlugin.xml b/doc/classes/EditorPlugin.xml index d17fd0a661..19583fca28 100644 --- a/doc/classes/EditorPlugin.xml +++ b/doc/classes/EditorPlugin.xml @@ -71,7 +71,7 @@ </argument> <description> Adds a custom type, which will appear in the list of nodes or resources. An icon can be optionally passed. - When given node or resource is selected, the base type will be instanced (e.g. "Spatial", "Control", "Resource"), then the script will be loaded and set to this object. + When given node or resource is selected, the base type will be instanced (e.g. "Node3D", "Control", "Resource"), then the script will be loaded and set to this object. You can use the virtual method [method handles] to check if your custom object is being edited by checking the script or using the [code]is[/code] keyword. During run-time, this will be a simple object with a script so this function does not need to be called then. </description> @@ -111,7 +111,7 @@ <method name="add_spatial_gizmo_plugin"> <return type="void"> </return> - <argument index="0" name="plugin" type="EditorSpatialGizmoPlugin"> + <argument index="0" name="plugin" type="EditorNode3DGizmoPlugin"> </argument> <description> </description> @@ -229,7 +229,7 @@ <method name="forward_spatial_gui_input" qualifiers="virtual"> <return type="bool"> </return> - <argument index="0" name="camera" type="Camera"> + <argument index="0" name="camera" type="Camera3D"> </argument> <argument index="1" name="event" type="InputEvent"> </argument> @@ -267,15 +267,27 @@ </description> </method> <method name="get_plugin_icon" qualifiers="virtual"> - <return type="Object"> + <return type="Texture2D"> </return> <description> + Override this method in your plugin to return a [Texture2D] in order to give it an icon. + For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons. + Ideally, the plugin icon should be white with a transparent background and 16x16 pixels in size. + [codeblock] + func get_plugin_icon(): + # You can use a custom icon: + return preload("res://addons/my_plugin/my_plugin_icon.svg") + # Or use a built-in icon: + return get_editor_interface().get_base_control().get_icon("Node", "EditorIcons") + [/codeblock] </description> </method> <method name="get_plugin_name" qualifiers="virtual"> <return type="String"> </return> <description> + Override this method in your plugin to provide the name of the plugin when displayed in the Godot editor. + For main screen plugins, this appears at the top of the screen, to the right of the "2D", "3D", "Script", and "AssetLib" buttons. </description> </method> <method name="get_script_create_dialog"> @@ -438,7 +450,7 @@ <method name="remove_spatial_gizmo_plugin"> <return type="void"> </return> - <argument index="0" name="plugin" type="EditorSpatialGizmoPlugin"> + <argument index="0" name="plugin" type="EditorNode3DGizmoPlugin"> </argument> <description> </description> diff --git a/doc/classes/EditorProperty.xml b/doc/classes/EditorProperty.xml index 338ebcd770..4da3b58b94 100644 --- a/doc/classes/EditorProperty.xml +++ b/doc/classes/EditorProperty.xml @@ -21,11 +21,11 @@ <method name="emit_changed"> <return type="void"> </return> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> - <argument index="2" name="field" type="String" default=""""> + <argument index="2" name="field" type="StringName" default="@"""> </argument> <argument index="3" name="changing" type="bool" default="false"> </argument> @@ -41,7 +41,7 @@ </description> </method> <method name="get_edited_property"> - <return type="String"> + <return type="StringName"> </return> <description> Gets the edited property. If your editor is for a single property (added via [method EditorInspectorPlugin.parse_property]), then this will return the property. @@ -78,6 +78,8 @@ <member name="checked" type="bool" setter="set_checked" getter="is_checked" default="false"> Used by the inspector, when the property is checked. </member> + <member name="deletable" type="bool" setter="set_deletable" getter="is_deletable" default="false"> + </member> <member name="draw_red" type="bool" setter="set_draw_red" getter="is_draw_red" default="false"> Used by the inspector, when the property must draw with error color. </member> @@ -102,7 +104,7 @@ </description> </signal> <signal name="object_id_selected"> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="id" type="int"> </argument> @@ -111,7 +113,7 @@ </description> </signal> <signal name="property_changed"> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> @@ -120,7 +122,7 @@ </description> </signal> <signal name="property_checked"> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="bool" type="String"> </argument> @@ -128,15 +130,21 @@ Emitted when a property was checked. Used internally. </description> </signal> + <signal name="property_deleted"> + <argument index="0" name="property" type="StringName"> + </argument> + <description> + </description> + </signal> <signal name="property_keyed"> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <description> Emit it if you want to add this value as an animation key (check for keying being enabled first). </description> </signal> <signal name="property_keyed_with_value"> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> diff --git a/doc/classes/EditorResourcePreview.xml b/doc/classes/EditorResourcePreview.xml index 8e0f8842e9..0c1d969518 100644 --- a/doc/classes/EditorResourcePreview.xml +++ b/doc/classes/EditorResourcePreview.xml @@ -5,6 +5,7 @@ </brief_description> <description> This object is used to generate previews for resources of files. + [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_resource_previewer]. </description> <tutorials> </tutorials> @@ -34,7 +35,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="receiver_func" type="String"> + <argument index="2" name="receiver_func" type="StringName"> </argument> <argument index="3" name="userdata" type="Variant"> </argument> @@ -49,7 +50,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="receiver_func" type="String"> + <argument index="2" name="receiver_func" type="StringName"> </argument> <argument index="3" name="userdata" type="Variant"> </argument> diff --git a/doc/classes/EditorSelection.xml b/doc/classes/EditorSelection.xml index caafd3c15f..1ff9744b70 100644 --- a/doc/classes/EditorSelection.xml +++ b/doc/classes/EditorSelection.xml @@ -5,6 +5,7 @@ </brief_description> <description> This object manages the SceneTree selection in the editor. + [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_selection]. </description> <tutorials> </tutorials> @@ -26,7 +27,7 @@ </description> </method> <method name="get_selected_nodes"> - <return type="Array"> + <return type="Node[]"> </return> <description> Gets the list of selected nodes. diff --git a/doc/classes/EditorSettings.xml b/doc/classes/EditorSettings.xml index ace5f0f11b..19921ff5c8 100644 --- a/doc/classes/EditorSettings.xml +++ b/doc/classes/EditorSettings.xml @@ -11,6 +11,7 @@ settings.get(prop) list_of_settings = settings.get_property_list() [/codeblock] + [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_editor_settings]. </description> <tutorials> </tutorials> @@ -135,7 +136,7 @@ <method name="set_initial_value"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> diff --git a/doc/classes/Engine.xml b/doc/classes/Engine.xml index 8cdb9c1c3f..45c153b6dc 100644 --- a/doc/classes/Engine.xml +++ b/doc/classes/Engine.xml @@ -147,10 +147,10 @@ If [code]true[/code], it is running inside the editor. Useful for tool scripts. </member> <member name="iterations_per_second" type="int" setter="set_iterations_per_second" getter="get_iterations_per_second" default="60"> - The number of fixed iterations per second (for fixed process and physics). + The number of fixed iterations per second. This controls how often physics simulation and [method Node._physics_process] methods are run. This value should generally always be set to [code]60[/code] or above, as Godot doesn't interpolate the physics step. As a result, values lower than [code]60[/code] will look stuttery. This value can be increased to make input more reactive or work around tunneling issues, but keep in mind doing so will increase CPU usage. </member> <member name="physics_jitter_fix" type="float" setter="set_physics_jitter_fix" getter="get_physics_jitter_fix" default="0.5"> - Controls how much physic ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows to smooth out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended. + Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows to smooth out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended. </member> <member name="target_fps" type="int" setter="set_target_fps" getter="get_target_fps" default="0"> The desired frames per second. If the hardware cannot keep up, this setting may not be respected. A value of 0 means no limit. diff --git a/doc/classes/Environment.xml b/doc/classes/Environment.xml index 3dad948629..3642d92771 100644 --- a/doc/classes/Environment.xml +++ b/doc/classes/Environment.xml @@ -108,7 +108,7 @@ If [code]true[/code], the depth fog effect is enabled. When enabled, fog will appear in the distance (relative to the camera). </member> <member name="fog_depth_end" type="float" setter="set_fog_depth_end" getter="get_fog_depth_end" default="100.0"> - The fog's depth end distance from the camera. If this value is set to 0, it will be equal to the current camera's [member Camera.far] value. + The fog's depth end distance from the camera. If this value is set to 0, it will be equal to the current camera's [member Camera3D.far] value. </member> <member name="fog_enabled" type="bool" setter="set_fog_enabled" getter="is_fog_enabled" default="false"> If [code]true[/code], fog effects are enabled. [member fog_height_enabled] and/or [member fog_depth_enabled] must be set to [code]true[/code] to actually display fog. @@ -126,7 +126,7 @@ The Y coordinate where the height fog will be the least intense. If this value is greater than [member fog_height_max], fog will be displayed from top to bottom. Otherwise, it will be displayed from bottom to top. </member> <member name="fog_sun_amount" type="float" setter="set_fog_sun_amount" getter="get_fog_sun_amount" default="0.0"> - The intensity of the depth fog color transition when looking towards the sun. The sun's direction is determined automatically using the DirectionalLight node in the scene. + The intensity of the depth fog color transition when looking towards the sun. The sun's direction is determined automatically using the DirectionalLight3D node in the scene. </member> <member name="fog_sun_color" type="Color" setter="set_fog_sun_color" getter="get_fog_sun_color" default="Color( 1, 0.9, 0.7, 1 )"> The depth fog's [Color] when looking towards the sun. @@ -137,10 +137,6 @@ <member name="fog_transmit_enabled" type="bool" setter="set_fog_transmit_enabled" getter="is_fog_transmit_enabled" default="false"> Enables fog's light transmission effect. If [code]true[/code], light will be more visible in the fog to simulate light scattering as in real life. </member> - <member name="glow_bicubic_upscale" type="bool" setter="set_glow_bicubic_upscale" getter="is_glow_bicubic_upscale_enabled" default="false"> - Smooths out the blockiness created by sampling higher levels, at the cost of performance. - [b]Note:[/b] When using the GLES2 renderer, this is only available if the GPU supports the [code]GL_EXT_gpu_shader4[/code] extension. - </member> <member name="glow_blend_mode" type="int" setter="set_glow_blend_mode" getter="get_glow_blend_mode" enum="Environment.GlowBlendMode" default="2"> The glow blending mode. </member> @@ -191,6 +187,7 @@ <member name="reflected_light_source" type="int" setter="set_reflection_source" getter="get_reflection_source" enum="Environment.ReflectionSource" default="0"> </member> <member name="sky" type="Sky" setter="set_sky" getter="get_sky"> + The [Sky] resource used for this [Environment]. </member> <member name="sky_custom_fov" type="float" setter="set_sky_custom_fov" getter="get_sky_custom_fov" default="0.0"> </member> @@ -211,9 +208,6 @@ <member name="ss_reflections_max_steps" type="int" setter="set_ssr_max_steps" getter="get_ssr_max_steps" default="64"> The maximum number of steps for screen-space reflections. Higher values are slower. </member> - <member name="ss_reflections_roughness" type="bool" setter="set_ssr_rough" getter="is_ssr_rough" default="true"> - If [code]true[/code], screen-space reflections will take the material roughness into account. - </member> <member name="ssao_ao_channel_affect" type="float" setter="set_ssao_ao_channel_affect" getter="get_ssao_ao_channel_affect" default="0.0"> The screen-space ambient occlusion intensity on materials that have an AO texture defined. Values higher than [code]0[/code] will make the SSAO effect visible in areas darkened by AO textures. </member> @@ -271,18 +265,25 @@ Represents the size of the [enum BGMode] enum. </constant> <constant name="AMBIENT_SOURCE_BG" value="0" enum="AmbientSource"> + Gather ambient light from whichever source is specified as the background. </constant> <constant name="AMBIENT_SOURCE_DISABLED" value="1" enum="AmbientSource"> + Disable ambient light. </constant> <constant name="AMBIENT_SOURCE_COLOR" value="2" enum="AmbientSource"> + Specify a specific [Color] for ambient light. </constant> <constant name="AMBIENT_SOURCE_SKY" value="3" enum="AmbientSource"> + Gather ambient light from the [Sky] regardless of what the background is. </constant> <constant name="REFLECTION_SOURCE_BG" value="0" enum="ReflectionSource"> + Use the background for reflections. </constant> <constant name="REFLECTION_SOURCE_DISABLED" value="1" enum="ReflectionSource"> + Disable reflections. </constant> <constant name="REFLECTION_SOURCE_SKY" value="2" enum="ReflectionSource"> + Use the [Sky] for reflections regardless of what the background is. </constant> <constant name="GLOW_BLEND_MODE_ADDITIVE" value="0" enum="GlowBlendMode"> Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources. @@ -297,6 +298,7 @@ Replace glow blending mode. Replaces all pixels' color by the glow value. This can be used to simulate a full-screen blur effect by tweaking the glow parameters to match the original image's brightness. </constant> <constant name="GLOW_BLEND_MODE_MIX" value="4" enum="GlowBlendMode"> + Mixes the glow with the underlying color to avoid increasing brightness as much while still maintaining a glow effect. </constant> <constant name="TONE_MAPPER_LINEAR" value="0" enum="ToneMapper"> Linear tonemapper operator. Reads the linear data and passes it on unmodified. @@ -320,7 +322,7 @@ 2×2 blur for the screen-space ambient occlusion effect. </constant> <constant name="SSAO_BLUR_3x3" value="3" enum="SSAOBlur"> - 3×3 blur for the screen-space ambient occlusion effect (slowest). + 3×3 blur for the screen-space ambient occlusion effect. Increases the radius of the blur for a smoother look, but can result in checkerboard-like artifacts. </constant> </constants> </class> diff --git a/doc/classes/File.xml b/doc/classes/File.xml index e9477517cf..17c65731ff 100644 --- a/doc/classes/File.xml +++ b/doc/classes/File.xml @@ -297,6 +297,7 @@ </argument> <description> Stores an integer as 16 bits in the file. + [b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 2^16 - 1][/code]. </description> </method> <method name="store_32"> @@ -306,6 +307,7 @@ </argument> <description> Stores an integer as 32 bits in the file. + [b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 2^32 - 1][/code]. </description> </method> <method name="store_64"> @@ -315,6 +317,7 @@ </argument> <description> Stores an integer as 64 bits in the file. + [b]Note:[/b] The [code]value[/code] must lie in the interval [code][-2^63, 2^63 - 1][/code] (i.e. be a valid [int] value). </description> </method> <method name="store_8"> @@ -324,6 +327,7 @@ </argument> <description> Stores an integer as 8 bits in the file. + [b]Note:[/b] The [code]value[/code] should lie in the interval [code][0, 255][/code]. </description> </method> <method name="store_buffer"> diff --git a/doc/classes/FileDialog.xml b/doc/classes/FileDialog.xml index f2c65a8610..99563ee367 100644 --- a/doc/classes/FileDialog.xml +++ b/doc/classes/FileDialog.xml @@ -68,19 +68,19 @@ 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" override="true" default="false" /> + <member name="file_mode" type="int" setter="set_file_mode" getter="get_file_mode" enum="FileDialog.FileMode" default="4"> + The dialog's open or save mode, which affects the selection behavior. See [enum FileMode]. + </member> <member name="filters" type="PackedStringArray" setter="set_filters" getter="get_filters" default="PackedStringArray( )"> The available file type filters. For example, this shows only [code].png[/code] and [code].gd[/code] files: [code]set_filters(PackedStringArray(["*.png ; PNG Images","*.gd ; GDScript Files"]))[/code]. </member> - <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="FileDialog.Mode" default="4"> - The dialog's open or save mode, which affects the selection behavior. See enum [code]Mode[/code] constants. - </member> <member name="mode_overrides_title" type="bool" setter="set_mode_overrides_title" getter="is_mode_overriding_title" default="true"> - If [code]true[/code], changing the [code]Mode[/code] property will set the window title accordingly (e.g. setting mode to [constant MODE_OPEN_FILE] will change the window title to "Open a File"). + If [code]true[/code], changing the [code]Mode[/code] property will set the window title accordingly (e.g. setting mode to [constant FILE_MODE_OPEN_FILE] will change the window title to "Open a File"). </member> <member name="show_hidden_files" type="bool" setter="set_show_hidden_files" getter="is_showing_hidden_files" default="false"> If [code]true[/code], the dialog will show hidden files. </member> - <member name="window_title" type="String" setter="set_title" getter="get_title" override="true" default=""Save a File"" /> + <member name="title" type="String" setter="set_title" getter="get_title" override="true" default=""Save a File"" /> </members> <signals> <signal name="dir_selected"> @@ -106,19 +106,19 @@ </signal> </signals> <constants> - <constant name="MODE_OPEN_FILE" value="0" enum="Mode"> + <constant name="FILE_MODE_OPEN_FILE" value="0" enum="FileMode"> The dialog allows selecting one, and only one file. </constant> - <constant name="MODE_OPEN_FILES" value="1" enum="Mode"> + <constant name="FILE_MODE_OPEN_FILES" value="1" enum="FileMode"> The dialog allows selecting multiple files. </constant> - <constant name="MODE_OPEN_DIR" value="2" enum="Mode"> + <constant name="FILE_MODE_OPEN_DIR" value="2" enum="FileMode"> The dialog only allows selecting a directory, disallowing the selection of any file. </constant> - <constant name="MODE_OPEN_ANY" value="3" enum="Mode"> + <constant name="FILE_MODE_OPEN_ANY" value="3" enum="FileMode"> The dialog allows selecting one file or directory. </constant> - <constant name="MODE_SAVE_FILE" value="4" enum="Mode"> + <constant name="FILE_MODE_SAVE_FILE" value="4" enum="FileMode"> The dialog will warn when a file exists. </constant> <constant name="ACCESS_RESOURCES" value="0" enum="Access"> @@ -133,16 +133,22 @@ </constants> <theme_items> <theme_item name="files_disabled" type="Color" default="Color( 0, 0, 0, 0.7 )"> + The color tint for disabled files (when the [FileDialog] is used in open folder mode). </theme_item> <theme_item name="folder" type="Texture2D"> + Custom icon for folders. </theme_item> <theme_item name="folder_icon_modulate" type="Color" default="Color( 1, 1, 1, 1 )"> + The color modulation applied to the folder icon. </theme_item> <theme_item name="parent_folder" type="Texture2D"> + Custom icon for the parent folder arrow. </theme_item> <theme_item name="reload" type="Texture2D"> + Custom icon for the reload button. </theme_item> <theme_item name="toggle_hidden" type="Texture2D"> + Custom icon for the toggle hidden button. </theme_item> </theme_items> </class> diff --git a/doc/classes/FileSystemDock.xml b/doc/classes/FileSystemDock.xml new file mode 100644 index 0000000000..fdf29f89b2 --- /dev/null +++ b/doc/classes/FileSystemDock.xml @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="FileSystemDock" inherits="VBoxContainer" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="can_drop_data_fw" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="arg0" type="Vector2"> + </argument> + <argument index="1" name="arg1" type="Variant"> + </argument> + <argument index="2" name="arg2" type="Control"> + </argument> + <description> + </description> + </method> + <method name="drop_data_fw"> + <return type="void"> + </return> + <argument index="0" name="arg0" type="Vector2"> + </argument> + <argument index="1" name="arg1" type="Variant"> + </argument> + <argument index="2" name="arg2" type="Control"> + </argument> + <description> + </description> + </method> + <method name="get_drag_data_fw"> + <return type="Variant"> + </return> + <argument index="0" name="arg0" type="Vector2"> + </argument> + <argument index="1" name="arg1" type="Control"> + </argument> + <description> + </description> + </method> + <method name="navigate_to_path"> + <return type="void"> + </return> + <argument index="0" name="arg0" type="String"> + </argument> + <description> + </description> + </method> + </methods> + <signals> + <signal name="display_mode_changed"> + <description> + </description> + </signal> + <signal name="file_removed"> + <argument index="0" name="file" type="String"> + </argument> + <description> + </description> + </signal> + <signal name="files_moved"> + <argument index="0" name="old_file" type="String"> + </argument> + <argument index="1" name="new_file" type="String"> + </argument> + <description> + </description> + </signal> + <signal name="folder_moved"> + <argument index="0" name="old_folder" type="String"> + </argument> + <argument index="1" name="new_file" type="String"> + </argument> + <description> + </description> + </signal> + <signal name="folder_removed"> + <argument index="0" name="folder" type="String"> + </argument> + <description> + </description> + </signal> + <signal name="inherit"> + <argument index="0" name="file" type="String"> + </argument> + <description> + </description> + </signal> + <signal name="instance"> + <argument index="0" name="files" type="PackedStringArray"> + </argument> + <description> + </description> + </signal> + </signals> + <constants> + </constants> +</class> diff --git a/doc/classes/Font.xml b/doc/classes/Font.xml index 6543a3ecf1..882f819e37 100644 --- a/doc/classes/Font.xml +++ b/doc/classes/Font.xml @@ -85,6 +85,7 @@ <argument index="1" name="width" type="float"> </argument> <description> + Returns the size that the string would have with word wrapping enabled with a fixed [code]width[/code]. </description> </method> <method name="has_outline" qualifiers="const"> diff --git a/doc/classes/FuncRef.xml b/doc/classes/FuncRef.xml index 37c3597a95..bf0c0b0d34 100644 --- a/doc/classes/FuncRef.xml +++ b/doc/classes/FuncRef.xml @@ -36,7 +36,7 @@ <method name="set_function"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> The name of the referenced function to call on the object, without parentheses or any parameters. diff --git a/doc/classes/GIProbe.xml b/doc/classes/GIProbe.xml index 322143ea9e..df50244c77 100644 --- a/doc/classes/GIProbe.xml +++ b/doc/classes/GIProbe.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GIProbe" inherits="VisualInstance" version="4.0"> +<class name="GIProbe" inherits="VisualInstance3D" version="4.0"> <brief_description> Real-time global illumination (GI) probe. </brief_description> @@ -19,7 +19,7 @@ <argument index="1" name="create_visual_debug" type="bool" default="false"> </argument> <description> - Bakes the effect from all [GeometryInstance]s marked with [member GeometryInstance.use_in_baked_light] and [Light]s marked with either [constant Light.BAKE_INDIRECT] or [constant Light.BAKE_ALL]. If [code]create_visual_debug[/code] is [code]true[/code], after baking the light, this will generate a [MultiMesh] that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the [GIProbe]'s data and debug any issues that may be occurring. + Bakes the effect from all [GeometryInstance3D]s marked with [member GeometryInstance3D.use_in_baked_light] and [Light3D]s marked with either [constant Light3D.BAKE_INDIRECT] or [constant Light3D.BAKE_ALL]. If [code]create_visual_debug[/code] is [code]true[/code], after baking the light, this will generate a [MultiMesh] that has a cube representing each solid cell with each cube colored to the cell's albedo color. This can be used to visualize the [GIProbe]'s data and debug any issues that may be occurring. </description> </method> <method name="debug_bake"> diff --git a/doc/classes/GIProbeData.xml b/doc/classes/GIProbeData.xml index 3504d127b8..228e1afb4c 100644 --- a/doc/classes/GIProbeData.xml +++ b/doc/classes/GIProbeData.xml @@ -22,7 +22,7 @@ </argument> <argument index="5" name="distance_field" type="PackedByteArray"> </argument> - <argument index="6" name="level_counts" type="PackedIntArray"> + <argument index="6" name="level_counts" type="PackedInt32Array"> </argument> <description> </description> @@ -40,7 +40,7 @@ </description> </method> <method name="get_level_counts" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <description> </description> diff --git a/doc/classes/Particles2D.xml b/doc/classes/GPUParticles2D.xml index 50fc3680bc..64a2522f2f 100644 --- a/doc/classes/Particles2D.xml +++ b/doc/classes/GPUParticles2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Particles2D" inherits="Node2D" version="4.0"> +<class name="GPUParticles2D" inherits="Node2D" version="4.0"> <brief_description> 2D particle emitter. </brief_description> <description> - 2D particle node used to create a variety of particle systems and effects. [Particles2D] features an emitter that generates some number of particles at a given rate. + 2D particle node used to create a variety of particle systems and effects. [GPUParticles2D] features an emitter that generates some number of particles at a given rate. Use the [code]process_material[/code] property to add a [ParticlesMaterial] to configure particle appearance and behavior. Alternatively, you can add a [ShaderMaterial] which will be applied to all particles. </description> <tutorials> @@ -30,7 +30,7 @@ <member name="amount" type="int" setter="set_amount" getter="get_amount" default="8"> Number of particles emitted in one emission cycle. </member> - <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles2D.DrawOrder" default="0"> + <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="GPUParticles2D.DrawOrder" default="0"> Particle draw order. Uses [enum DrawOrder] values. </member> <member name="emitting" type="bool" setter="set_emitting" getter="is_emitting" default="false"> diff --git a/doc/classes/Particles.xml b/doc/classes/GPUParticles3D.xml index 74651ddd2f..add8f28bf8 100644 --- a/doc/classes/Particles.xml +++ b/doc/classes/GPUParticles3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Particles" inherits="GeometryInstance" version="4.0"> +<class name="GPUParticles3D" inherits="GeometryInstance3D" version="4.0"> <brief_description> 3D particle emitter. </brief_description> <description> - 3D particle node used to create a variety of particle systems and effects. [Particles] features an emitter that generates some number of particles at a given rate. + 3D particle node used to create a variety of particle systems and effects. [GPUParticles3D] features an emitter that generates some number of particles at a given rate. Use the [code]process_material[/code] property to add a [ParticlesMaterial] to configure particle appearance and behavior. Alternatively, you can add a [ShaderMaterial] which will be applied to all particles. </description> <tutorials> @@ -50,7 +50,7 @@ <member name="amount" type="int" setter="set_amount" getter="get_amount" default="8"> Number of particles to emit. </member> - <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="Particles.DrawOrder" default="0"> + <member name="draw_order" type="int" setter="set_draw_order" getter="get_draw_order" enum="GPUParticles3D.DrawOrder" default="0"> Particle draw order. Uses [enum DrawOrder] values. </member> <member name="draw_pass_1" type="Mesh" setter="set_draw_pass_mesh" getter="get_draw_pass_mesh"> diff --git a/doc/classes/Generic6DOFJoint.xml b/doc/classes/Generic6DOFJoint3D.xml index 29ebf9f5d6..fae567dc58 100644 --- a/doc/classes/Generic6DOFJoint.xml +++ b/doc/classes/Generic6DOFJoint3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Generic6DOFJoint" inherits="Joint" version="4.0"> +<class name="Generic6DOFJoint3D" inherits="Joint3D" version="4.0"> <brief_description> The generic 6-degrees-of-freedom joint can implement a variety of joint types by locking certain axes' rotation or translation. </brief_description> @@ -12,7 +12,7 @@ <method name="get_flag_x" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag"> + <argument index="0" name="flag" type="int" enum="Generic6DOFJoint3D.Flag"> </argument> <description> </description> @@ -20,7 +20,7 @@ <method name="get_flag_y" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag"> + <argument index="0" name="flag" type="int" enum="Generic6DOFJoint3D.Flag"> </argument> <description> </description> @@ -28,7 +28,7 @@ <method name="get_flag_z" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag"> + <argument index="0" name="flag" type="int" enum="Generic6DOFJoint3D.Flag"> </argument> <description> </description> @@ -36,7 +36,7 @@ <method name="get_param_x" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param"> + <argument index="0" name="param" type="int" enum="Generic6DOFJoint3D.Param"> </argument> <description> </description> @@ -44,7 +44,7 @@ <method name="get_param_y" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param"> + <argument index="0" name="param" type="int" enum="Generic6DOFJoint3D.Param"> </argument> <description> </description> @@ -52,7 +52,7 @@ <method name="get_param_z" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param"> + <argument index="0" name="param" type="int" enum="Generic6DOFJoint3D.Param"> </argument> <description> </description> @@ -60,7 +60,7 @@ <method name="set_flag_x"> <return type="void"> </return> - <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag"> + <argument index="0" name="flag" type="int" enum="Generic6DOFJoint3D.Flag"> </argument> <argument index="1" name="value" type="bool"> </argument> @@ -70,7 +70,7 @@ <method name="set_flag_y"> <return type="void"> </return> - <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag"> + <argument index="0" name="flag" type="int" enum="Generic6DOFJoint3D.Flag"> </argument> <argument index="1" name="value" type="bool"> </argument> @@ -80,7 +80,7 @@ <method name="set_flag_z"> <return type="void"> </return> - <argument index="0" name="flag" type="int" enum="Generic6DOFJoint.Flag"> + <argument index="0" name="flag" type="int" enum="Generic6DOFJoint3D.Flag"> </argument> <argument index="1" name="value" type="bool"> </argument> @@ -90,7 +90,7 @@ <method name="set_param_x"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param"> + <argument index="0" name="param" type="int" enum="Generic6DOFJoint3D.Param"> </argument> <argument index="1" name="value" type="float"> </argument> @@ -100,7 +100,7 @@ <method name="set_param_y"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param"> + <argument index="0" name="param" type="int" enum="Generic6DOFJoint3D.Param"> </argument> <argument index="1" name="value" type="float"> </argument> @@ -110,7 +110,7 @@ <method name="set_param_z"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="Generic6DOFJoint.Param"> + <argument index="0" name="param" type="int" enum="Generic6DOFJoint3D.Param"> </argument> <argument index="1" name="value" type="float"> </argument> diff --git a/doc/classes/Geometry.xml b/doc/classes/Geometry.xml index 9d4e0d0388..4d6f7b60a3 100644 --- a/doc/classes/Geometry.xml +++ b/doc/classes/Geometry.xml @@ -70,7 +70,7 @@ </argument> <description> Clips [code]polygon_a[/code] against [code]polygon_b[/code] and returns an array of clipped polygons. This performs [constant OPERATION_DIFFERENCE] between polygons. Returns an empty array if [code]polygon_b[/code] completely overlaps [code]polygon_a[/code]. - If [code]polygon_b[/code] is enclosed by [code]polygon_a[/code], returns an outer polygon (boundary) and inner polygon (hole) which could be distiguished by calling [method is_polygon_clockwise]. + If [code]polygon_b[/code] is enclosed by [code]polygon_a[/code], returns an outer polygon (boundary) and inner polygon (hole) which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="clip_polyline_with_polygon_2d"> @@ -102,7 +102,7 @@ </argument> <description> Mutually excludes common area defined by intersection of [code]polygon_a[/code] and [code]polygon_b[/code] (see [method intersect_polygons_2d]) and returns an array of excluded polygons. This performs [constant OPERATION_XOR] between polygons. In other words, returns all but common area between polygons. - The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distiguished by calling [method is_polygon_clockwise]. + The operation may result in an outer polygon (boundary) and inner polygon (hole) produced which could be distinguished by calling [method is_polygon_clockwise]. </description> </method> <method name="get_closest_point_to_segment"> @@ -445,21 +445,21 @@ </description> </method> <method name="triangulate_delaunay_2d"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="points" type="PackedVector2Array"> </argument> <description> - Triangulates the area specified by discrete set of [code]points[/code] such that no point is inside the circumcircle of any resulting triangle. Returns a [PackedIntArray] where each triangle consists of three consecutive point indices into [code]points[/code] (i.e. the returned array will have [code]n * 3[/code] elements, with [code]n[/code] being the number of found triangles). If the triangulation did not succeed, an empty [PackedIntArray] is returned. + Triangulates the area specified by discrete set of [code]points[/code] such that no point is inside the circumcircle of any resulting triangle. Returns a [PackedInt32Array] where each triangle consists of three consecutive point indices into [code]points[/code] (i.e. the returned array will have [code]n * 3[/code] elements, with [code]n[/code] being the number of found triangles). If the triangulation did not succeed, an empty [PackedInt32Array] is returned. </description> </method> <method name="triangulate_polygon"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="polygon" type="PackedVector2Array"> </argument> <description> - Triangulates the polygon specified by the points in [code]polygon[/code]. Returns a [PackedIntArray] where each triangle consists of three consecutive point indices into [code]polygon[/code] (i.e. the returned array will have [code]n * 3[/code] elements, with [code]n[/code] being the number of found triangles). If the triangulation did not succeed, an empty [PackedIntArray] is returned. + Triangulates the polygon specified by the points in [code]polygon[/code]. Returns a [PackedInt32Array] where each triangle consists of three consecutive point indices into [code]polygon[/code] (i.e. the returned array will have [code]n * 3[/code] elements, with [code]n[/code] being the number of found triangles). If the triangulation did not succeed, an empty [PackedInt32Array] is returned. </description> </method> </methods> diff --git a/doc/classes/GeometryInstance.xml b/doc/classes/GeometryInstance3D.xml index 8259462531..518a172973 100644 --- a/doc/classes/GeometryInstance.xml +++ b/doc/classes/GeometryInstance3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="GeometryInstance" inherits="VisualInstance" version="4.0"> +<class name="GeometryInstance3D" inherits="VisualInstance3D" version="4.0"> <brief_description> Base node for geometry-based visual instances. </brief_description> @@ -12,10 +12,18 @@ <method name="get_flag" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="flag" type="int" enum="GeometryInstance.Flags"> + <argument index="0" name="flag" type="int" enum="GeometryInstance3D.Flags"> + </argument> + <description> + Returns the [enum GeometryInstance3D.Flags] that have been set for this object. + </description> + </method> + <method name="get_shader_instance_uniform" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="uniform" type="StringName"> </argument> <description> - Returns the [enum GeometryInstance.Flags] that have been set for this object. </description> </method> <method name="set_custom_aabb"> @@ -30,36 +38,46 @@ <method name="set_flag"> <return type="void"> </return> - <argument index="0" name="flag" type="int" enum="GeometryInstance.Flags"> + <argument index="0" name="flag" type="int" enum="GeometryInstance3D.Flags"> </argument> <argument index="1" name="value" type="bool"> </argument> <description> - Sets the [enum GeometryInstance.Flags] specified. See [enum GeometryInstance.Flags] for options. + Sets the [enum GeometryInstance3D.Flags] specified. See [enum GeometryInstance3D.Flags] for options. + </description> + </method> + <method name="set_shader_instance_uniform"> + <return type="void"> + </return> + <argument index="0" name="uniform" type="StringName"> + </argument> + <argument index="1" name="value" type="Variant"> + </argument> + <description> </description> </method> </methods> <members> - <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance.ShadowCastingSetting" default="1"> + <member name="cast_shadow" type="int" setter="set_cast_shadows_setting" getter="get_cast_shadows_setting" enum="GeometryInstance3D.ShadowCastingSetting" default="1"> 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"> - The extra distance added to the GeometryInstance's bounding box ([AABB]) to increase its cull box. + The extra distance added to the GeometryInstance3D's bounding box ([AABB]) to increase its cull box. </member> <member name="lod_max_distance" type="float" setter="set_lod_max_distance" getter="get_lod_max_distance" default="0.0"> - The GeometryInstance's max LOD distance. + The GeometryInstance3D's max LOD distance. [b]Note:[/b] This property currently has no effect. </member> <member name="lod_max_hysteresis" type="float" setter="set_lod_max_hysteresis" getter="get_lod_max_hysteresis" default="0.0"> - The GeometryInstance's max LOD margin. + The GeometryInstance3D's max LOD margin. [b]Note:[/b] This property currently has no effect. </member> <member name="lod_min_distance" type="float" setter="set_lod_min_distance" getter="get_lod_min_distance" default="0.0"> - The GeometryInstance's min LOD distance. + The GeometryInstance3D's min LOD distance. [b]Note:[/b] This property currently has no effect. </member> <member name="lod_min_hysteresis" type="float" setter="set_lod_min_hysteresis" getter="get_lod_min_hysteresis" default="0.0"> - The GeometryInstance's min LOD margin. + The GeometryInstance3D's min LOD margin. [b]Note:[/b] This property currently has no effect. </member> <member name="material_override" type="Material" setter="set_material_override" getter="get_material_override"> @@ -69,7 +87,7 @@ <member name="use_dynamic_gi" type="bool" setter="set_flag" getter="get_flag" default="false"> </member> <member name="use_in_baked_light" type="bool" setter="set_flag" getter="get_flag" default="false"> - If [code]true[/code], this GeometryInstance will be used when baking lights using a [GIProbe]. + If [code]true[/code], this GeometryInstance3D will be used when baking lights using a [GIProbe]. </member> </members> <constants> @@ -77,11 +95,11 @@ Will not cast any shadows. </constant> <constant name="SHADOW_CASTING_SETTING_ON" value="1" enum="ShadowCastingSetting"> - Will cast shadows from all visible faces in the GeometryInstance. + Will cast shadows from all visible faces in the GeometryInstance3D. Will take culling into account, so faces not being rendered will not be taken into account when shadow casting. </constant> <constant name="SHADOW_CASTING_SETTING_DOUBLE_SIDED" value="2" enum="ShadowCastingSetting"> - Will cast shadows from all visible faces in the GeometryInstance. + Will cast shadows from all visible faces in the GeometryInstance3D. Will not take culling into account, so all faces will be taken into account when shadow casting. </constant> <constant name="SHADOW_CASTING_SETTING_SHADOWS_ONLY" value="3" enum="ShadowCastingSetting"> @@ -89,12 +107,12 @@ In other words, the actual mesh will not be visible, only the shadows casted from the mesh will be. </constant> <constant name="FLAG_USE_BAKED_LIGHT" value="0" enum="Flags"> - Will allow the GeometryInstance to be used when baking lights using a [GIProbe]. + Will allow the GeometryInstance3D to be used when baking lights using a [GIProbe]. </constant> <constant name="FLAG_USE_DYNAMIC_GI" value="1" enum="Flags"> </constant> <constant name="FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value="2" enum="Flags"> - Unused in this class, exposed for consistency with [enum VisualServer.InstanceFlags]. + Unused in this class, exposed for consistency with [enum RenderingServer.InstanceFlags]. </constant> <constant name="FLAG_MAX" value="3" enum="Flags"> Represents the size of the [enum Flags] enum. diff --git a/doc/classes/Gradient.xml b/doc/classes/Gradient.xml index 12c87f9cff..05aebef9de 100644 --- a/doc/classes/Gradient.xml +++ b/doc/classes/Gradient.xml @@ -90,8 +90,8 @@ <member name="colors" type="PackedColorArray" setter="set_colors" getter="get_colors" default="PackedColorArray( 0, 0, 0, 1, 1, 1, 1, 1 )"> Gradient's colors returned as a [PackedColorArray]. </member> - <member name="offsets" type="PackedRealArray" setter="set_offsets" getter="get_offsets" default="PackedRealArray( 0, 1 )"> - Gradient's offsets returned as a [PackedRealArray]. + <member name="offsets" type="PackedFloat32Array" setter="set_offsets" getter="get_offsets" default="PackedFloat32Array( 0, 1 )"> + Gradient's offsets returned as a [PackedFloat32Array]. </member> </members> <constants> diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index 8733b94ee7..750ac8085c 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -49,11 +49,11 @@ <method name="connect_node"> <return type="int" enum="Error"> </return> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="from_port" type="int"> </argument> - <argument index="2" name="to" type="String"> + <argument index="2" name="to" type="StringName"> </argument> <argument index="3" name="to_port" type="int"> </argument> @@ -64,11 +64,11 @@ <method name="disconnect_node"> <return type="void"> </return> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="from_port" type="int"> </argument> - <argument index="2" name="to" type="String"> + <argument index="2" name="to" type="StringName"> </argument> <argument index="3" name="to_port" type="int"> </argument> @@ -94,11 +94,11 @@ <method name="is_node_connected"> <return type="bool"> </return> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="from_port" type="int"> </argument> - <argument index="2" name="to" type="String"> + <argument index="2" name="to" type="StringName"> </argument> <argument index="3" name="to_port" type="int"> </argument> @@ -149,11 +149,11 @@ <method name="set_connection_activity"> <return type="void"> </return> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="from_port" type="int"> </argument> - <argument index="2" name="to" type="String"> + <argument index="2" name="to" type="StringName"> </argument> <argument index="3" name="to_port" type="int"> </argument> @@ -204,7 +204,7 @@ </description> </signal> <signal name="connection_from_empty"> - <argument index="0" name="to" type="String"> + <argument index="0" name="to" type="StringName"> </argument> <argument index="1" name="to_slot" type="int"> </argument> @@ -215,11 +215,11 @@ </description> </signal> <signal name="connection_request"> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="from_slot" type="int"> </argument> - <argument index="2" name="to" type="String"> + <argument index="2" name="to" type="StringName"> </argument> <argument index="3" name="to_slot" type="int"> </argument> @@ -228,7 +228,7 @@ </description> </signal> <signal name="connection_to_empty"> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="from_slot" type="int"> </argument> @@ -249,11 +249,11 @@ </description> </signal> <signal name="disconnection_request"> - <argument index="0" name="from" type="String"> + <argument index="0" name="from" type="StringName"> </argument> <argument index="1" name="from_slot" type="int"> </argument> - <argument index="2" name="to" type="String"> + <argument index="2" name="to" type="StringName"> </argument> <argument index="3" name="to_slot" type="int"> </argument> @@ -273,6 +273,12 @@ Emitted when a GraphNode is selected. </description> </signal> + <signal name="node_unselected"> + <argument index="0" name="node" type="Node"> + </argument> + <description> + </description> + </signal> <signal name="paste_nodes_request"> <description> Emitted when the user presses [code]Ctrl + V[/code]. @@ -303,26 +309,37 @@ <theme_item name="bezier_len_pos" type="int" default="80"> </theme_item> <theme_item name="bg" type="StyleBox"> + The background drawn under the grid. </theme_item> <theme_item name="grid_major" type="Color" default="Color( 1, 1, 1, 0.2 )"> + Color of major grid lines. </theme_item> <theme_item name="grid_minor" type="Color" default="Color( 1, 1, 1, 0.05 )"> + Color of minor grid lines. </theme_item> <theme_item name="minus" type="Texture2D"> + The icon for the zoom out button. </theme_item> <theme_item name="more" type="Texture2D"> + The icon for the zoom in button. </theme_item> <theme_item name="port_grab_distance_horizontal" type="int" default="48"> + The horizontal range within which a port can be grabbed (on both sides). </theme_item> <theme_item name="port_grab_distance_vertical" type="int" default="6"> + The vertical range within which a port can be grabbed (on both sides). </theme_item> <theme_item name="reset" type="Texture2D"> + The icon for the zoom reset button. </theme_item> <theme_item name="selection_fill" type="Color" default="Color( 1, 1, 1, 0.3 )"> + The fill color of the selection rectangle. </theme_item> <theme_item name="selection_stroke" type="Color" default="Color( 1, 1, 1, 0.8 )"> + The outline color of the selection rectangle. </theme_item> <theme_item name="snap" type="Texture2D"> + The icon for the snap toggle button. </theme_item> </theme_items> </class> diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml index a9f1b15443..33074536da 100644 --- a/doc/classes/GraphNode.xml +++ b/doc/classes/GraphNode.xml @@ -253,42 +253,59 @@ </constants> <theme_items> <theme_item name="breakpoint" type="StyleBox"> + The background used when [member overlay] is set to [constant OVERLAY_BREAKPOINT]. </theme_item> <theme_item name="close" type="Texture2D"> + The icon for the close button, visible when [member show_close] is enabled. </theme_item> <theme_item name="close_color" type="Color" default="Color( 0, 0, 0, 1 )"> + The color modulation applied to the close button icon. </theme_item> <theme_item name="close_offset" type="int" default="18"> + The vertical offset of the close button. </theme_item> <theme_item name="comment" type="StyleBox"> + The [StyleBox] used when [member comment] is enabled. </theme_item> <theme_item name="commentfocus" type="StyleBox"> + The [StyleBox] used when [member comment] is enabled and the [GraphNode] is focused. </theme_item> <theme_item name="defaultfocus" type="StyleBox"> </theme_item> <theme_item name="defaultframe" type="StyleBox"> </theme_item> <theme_item name="frame" type="StyleBox"> + The default background for [GraphNode]. </theme_item> <theme_item name="port" type="Texture2D"> + The icon used for representing ports. </theme_item> <theme_item name="port_offset" type="int" default="3"> + Horizontal offset for the ports. </theme_item> <theme_item name="position" type="StyleBox"> + The background used when [member overlay] is set to [constant OVERLAY_POSITION]. </theme_item> <theme_item name="resizer" type="Texture2D"> + The icon used for resizer, visible when [member resizable] is enabled. </theme_item> <theme_item name="resizer_color" type="Color" default="Color( 0, 0, 0, 1 )"> + The color modulation applied to the resizer icon. </theme_item> <theme_item name="selectedframe" type="StyleBox"> + The background used when the [GraphNode] is selected. </theme_item> <theme_item name="separation" type="int" default="1"> + The vertical distance between ports. </theme_item> <theme_item name="title_color" type="Color" default="Color( 0, 0, 0, 1 )"> + Color of the title text. </theme_item> <theme_item name="title_font" type="Font"> + Font used for the title text. </theme_item> <theme_item name="title_offset" type="int" default="20"> + Vertical offset of the title text. </theme_item> </theme_items> </class> diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml index 4493ee8dc1..e13dc43104 100644 --- a/doc/classes/GridContainer.xml +++ b/doc/classes/GridContainer.xml @@ -20,8 +20,10 @@ </constants> <theme_items> <theme_item name="hseparation" type="int" default="4"> + The horizontal separation of children nodes. </theme_item> <theme_item name="vseparation" type="int" default="4"> + The vertical separation of children nodes. </theme_item> </theme_items> </class> diff --git a/doc/classes/HSeparator.xml b/doc/classes/HSeparator.xml index aa83b67934..5b418d6428 100644 --- a/doc/classes/HSeparator.xml +++ b/doc/classes/HSeparator.xml @@ -14,8 +14,10 @@ </constants> <theme_items> <theme_item name="separation" type="int" default="4"> + The height of the area covered by the separator. Effectively works like a minimum height. </theme_item> <theme_item name="separator" type="StyleBox"> + The style for the separator line. Works best with [StyleBoxLine]. </theme_item> </theme_items> </class> diff --git a/doc/classes/HSlider.xml b/doc/classes/HSlider.xml index be3c94e495..afe9d10d2e 100644 --- a/doc/classes/HSlider.xml +++ b/doc/classes/HSlider.xml @@ -14,16 +14,24 @@ </constants> <theme_items> <theme_item name="grabber" type="Texture2D"> + The texture for the grabber (the draggable element). </theme_item> <theme_item name="grabber_area" type="StyleBox"> + The background of the area to the left of the grabber. + </theme_item> + <theme_item name="grabber_area_highlight" type="StyleBox"> </theme_item> <theme_item name="grabber_disabled" type="Texture2D"> + The texture for the grabber when it's disabled. </theme_item> <theme_item name="grabber_highlight" type="Texture2D"> + The texture for the grabber when it's focused. </theme_item> <theme_item name="slider" type="StyleBox"> + The background for the whole slider. Determines the height of the [code]grabber_area[/code]. </theme_item> <theme_item name="tick" type="Texture2D"> + The texture for the ticks, visible when [member Slider.tick_count] is greater than 0. </theme_item> </theme_items> </class> diff --git a/doc/classes/HSplitContainer.xml b/doc/classes/HSplitContainer.xml index 0dd1f96602..f6e9f33c20 100644 --- a/doc/classes/HSplitContainer.xml +++ b/doc/classes/HSplitContainer.xml @@ -14,12 +14,15 @@ </constants> <theme_items> <theme_item name="autohide" type="int" default="1"> + Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible. </theme_item> <theme_item name="bg" type="StyleBox"> </theme_item> <theme_item name="grabber" type="Texture2D"> + The icon used for the grabber drawn in the middle area. </theme_item> <theme_item name="separation" type="int" default="12"> + The space between sides of the container. </theme_item> </theme_items> </class> diff --git a/doc/classes/HeightMapShape.xml b/doc/classes/HeightMapShape3D.xml index 505961cd0c..6d230bdab8 100644 --- a/doc/classes/HeightMapShape.xml +++ b/doc/classes/HeightMapShape3D.xml @@ -1,17 +1,17 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HeightMapShape" inherits="Shape" version="4.0"> +<class name="HeightMapShape3D" inherits="Shape3D" version="4.0"> <brief_description> Height map shape for 3D physics (Bullet only). </brief_description> <description> - Height map shape resource, which can be added to a [PhysicsBody] or [Area]. + Height map shape resource, which can be added to a [PhysicsBody3D] or [Area3D]. </description> <tutorials> </tutorials> <methods> </methods> <members> - <member name="map_data" type="PackedRealArray" setter="set_map_data" getter="get_map_data" default="PackedRealArray( 0, 0, 0, 0 )"> + <member name="map_data" type="PackedFloat32Array" setter="set_map_data" getter="get_map_data" default="PackedFloat32Array( 0, 0, 0, 0 )"> Height map data, pool array must be of [member map_width] * [member map_depth] size. </member> <member name="map_depth" type="int" setter="set_map_depth" getter="get_map_depth" default="2"> diff --git a/doc/classes/HingeJoint.xml b/doc/classes/HingeJoint3D.xml index 53fa74cace..2d4480cb20 100644 --- a/doc/classes/HingeJoint.xml +++ b/doc/classes/HingeJoint3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="HingeJoint" inherits="Joint" version="4.0"> +<class name="HingeJoint3D" inherits="Joint3D" version="4.0"> <brief_description> A hinge between two 3D bodies. </brief_description> <description> - A HingeJoint normally uses the Z axis of body A as the hinge axis, another axis can be specified when adding it manually though. + A HingeJoint3D normally uses the Z axis of body A as the hinge axis, another axis can be specified when adding it manually though. </description> <tutorials> </tutorials> @@ -12,37 +12,41 @@ <method name="get_flag" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="flag" type="int" enum="HingeJoint.Flag"> + <argument index="0" name="flag" type="int" enum="HingeJoint3D.Flag"> </argument> <description> + Returns the value of the specified flag. </description> </method> <method name="get_param" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="HingeJoint.Param"> + <argument index="0" name="param" type="int" enum="HingeJoint3D.Param"> </argument> <description> + Returns the value of the specified parameter. </description> </method> <method name="set_flag"> <return type="void"> </return> - <argument index="0" name="flag" type="int" enum="HingeJoint.Flag"> + <argument index="0" name="flag" type="int" enum="HingeJoint3D.Flag"> </argument> <argument index="1" name="enabled" type="bool"> </argument> <description> + If [code]true[/code], enables the specified flag. </description> </method> <method name="set_param"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="HingeJoint.Param"> + <argument index="0" name="param" type="int" enum="HingeJoint3D.Param"> </argument> <argument index="1" name="value" type="float"> </argument> <description> + Sets the value of the specified parameter. </description> </method> </methods> diff --git a/doc/classes/IP_Unix.xml b/doc/classes/IP_Unix.xml deleted file mode 100644 index 79cdf2ce08..0000000000 --- a/doc/classes/IP_Unix.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="IP_Unix" inherits="IP" version="4.0"> - <brief_description> - UNIX IP support. See [IP]. - </brief_description> - <description> - UNIX-specific implementation of IP support functions. See [IP]. - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <constants> - </constants> -</class> diff --git a/doc/classes/Image.xml b/doc/classes/Image.xml index 8bd2213194..8cffe07fc0 100644 --- a/doc/classes/Image.xml +++ b/doc/classes/Image.xml @@ -5,6 +5,7 @@ </brief_description> <description> Native image datatype. Contains image data, which can be converted to a [Texture2D], and several functions to interact with it. The maximum width and height for an [Image] are [constant MAX_WIDTH] and [constant MAX_HEIGHT]. + [b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics hardware limitations. Larger images will fail to import. </description> <tutorials> </tutorials> @@ -99,7 +100,7 @@ </return> <argument index="0" name="mode" type="int" enum="Image.CompressMode"> </argument> - <argument index="1" name="channels" type="int" enum="Image.CompressSource"> + <argument index="1" name="channels" type="int" enum="Image.UsedChannels"> </argument> <argument index="2" name="lossy_quality" type="float" default="0.7"> </argument> diff --git a/doc/classes/ImageTexture.xml b/doc/classes/ImageTexture.xml index 98eb42831b..d122d74e85 100644 --- a/doc/classes/ImageTexture.xml +++ b/doc/classes/ImageTexture.xml @@ -5,6 +5,7 @@ </brief_description> <description> A [Texture2D] based on an [Image]. Can be created from an [Image] with [method create_from_image]. + [b]Note:[/b] The maximum image size is 16384×16384 pixels due to graphics hardware limitations. Larger images will fail to import. </description> <tutorials> </tutorials> @@ -42,6 +43,7 @@ <argument index="1" name="immediate" type="bool" default="false"> </argument> <description> + Replaces the texture's data with a new [code]image[/code]. If [code]immediate[/code] is [code]true[/code], it will take effect immediately after the call. </description> </method> </methods> diff --git a/doc/classes/ImmediateGeometry.xml b/doc/classes/ImmediateGeometry3D.xml index 710e929d1a..d2d663847f 100644 --- a/doc/classes/ImmediateGeometry.xml +++ b/doc/classes/ImmediateGeometry3D.xml @@ -1,10 +1,13 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ImmediateGeometry" inherits="GeometryInstance" version="4.0"> +<class name="ImmediateGeometry3D" inherits="GeometryInstance3D" version="4.0"> <brief_description> Draws simple geometry from code. </brief_description> <description> Draws simple geometry from code. Uses a drawing mode similar to OpenGL 1.x. + See also [ArrayMesh], [MeshDataTool] and [SurfaceTool] for procedural geometry generation. + [b]Note:[/b] ImmediateGeometry3D is best suited to small amounts of mesh data that change every frame. It will be slow when handling large amounts of mesh data. If mesh data doesn't change often, use [ArrayMesh], [MeshDataTool] or [SurfaceTool] instead. + [b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive modes. </description> <tutorials> </tutorials> diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index b7afe57218..0f212e7498 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -13,7 +13,7 @@ <method name="action_press"> <return type="void"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <argument index="1" name="strength" type="float" default="1.0"> </argument> @@ -26,7 +26,7 @@ <method name="action_release"> <return type="void"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> If the specified action is already pressed, this will release it. @@ -54,7 +54,7 @@ <method name="get_action_strength" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns a value between 0 and 1 representing the intensity of the given action. In a joypad, for example, the further away the axis (analog sticks or L2, R2 triggers) is from the dead zone, the closer the value will be to 1. If the action is mapped to a control that has no axis as the keyboard, the value returned will be 0 or 1. @@ -202,7 +202,7 @@ <method name="is_action_just_pressed" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns [code]true[/code] when the user starts pressing the action event, meaning it's [code]true[/code] only on the frame that the user pressed down the button. @@ -212,7 +212,7 @@ <method name="is_action_just_released" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns [code]true[/code] when the user stops pressing the action event, meaning it's [code]true[/code] only on the frame that the user released the button. @@ -221,7 +221,7 @@ <method name="is_action_pressed" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns [code]true[/code] if you are pressing the action event. Note that if an action has multiple buttons assigned and more than one of them is pressed, releasing one button will release the action, even if some other button assigned to this action is still pressed. @@ -250,10 +250,10 @@ <method name="is_key_pressed" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="scancode" type="int"> + <argument index="0" name="keycode" type="int"> </argument> <description> - Returns [code]true[/code] if you are pressing the key. You can pass a [enum KeyList] constant. + Returns [code]true[/code] if you are pressing the key in the current keyboard layout. You can pass a [enum KeyList] constant. </description> </method> <method name="is_mouse_button_pressed" qualifiers="const"> @@ -349,7 +349,8 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Whether to accumulate similar input events sent by the operating system. Enabled by default. + Enables or disables the accumulation of similar input events sent by the operating system. When input accumulation is enabled, all input events generated during a frame will be merged and emitted when the frame is done rendering. Therefore, this limits the number of input method calls per second to the rendering FPS. + Input accumulation is enabled by default. It can be disabled to get slightly more precise/reactive input at the cost of increased CPU usage. In applications where drawing freehand lines is required, input accumulation should generally be disabled while the user is drawing the line to get results that closely follow the actual input. </description> </method> <method name="start_joy_vibration"> diff --git a/doc/classes/InputDefault.xml b/doc/classes/InputDefault.xml deleted file mode 100644 index ea4d08c628..0000000000 --- a/doc/classes/InputDefault.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="InputDefault" inherits="Input" version="4.0"> - <brief_description> - Default implementation of the [Input] class. - </brief_description> - <description> - Default implementation of the [Input] class, used internally by the editor and games for default input management. - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <constants> - </constants> -</class> diff --git a/doc/classes/InputEvent.xml b/doc/classes/InputEvent.xml index 9e3764206b..413e217b45 100644 --- a/doc/classes/InputEvent.xml +++ b/doc/classes/InputEvent.xml @@ -31,7 +31,7 @@ <method name="get_action_strength" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns a value between 0.0 and 1.0 depending on the given actions' state. Useful for getting the value of events of type [InputEventJoypadMotion]. @@ -40,7 +40,7 @@ <method name="is_action" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns [code]true[/code] if this input event matches a pre-defined action of any type. @@ -49,7 +49,7 @@ <method name="is_action_pressed" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <argument index="1" name="allow_echo" type="bool" default="false"> </argument> @@ -60,7 +60,7 @@ <method name="is_action_released" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns [code]true[/code] if the given action is released (i.e. not pressed). Not relevant for events of type [InputEventMouseMotion] or [InputEventScreenDrag]. diff --git a/doc/classes/InputEventAction.xml b/doc/classes/InputEventAction.xml index 2dac693a52..1c38ff8e8f 100644 --- a/doc/classes/InputEventAction.xml +++ b/doc/classes/InputEventAction.xml @@ -12,7 +12,7 @@ <methods> </methods> <members> - <member name="action" type="String" setter="set_action" getter="get_action" default=""""> + <member name="action" type="StringName" setter="set_action" getter="get_action" default="@"""> The action's name. Actions are accessed via this [String]. </member> <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false"> diff --git a/doc/classes/VisualShaderNodeScalarConstant.xml b/doc/classes/InputEventFromWindow.xml index f7b94d9e39..7cd5b7d179 100644 --- a/doc/classes/VisualShaderNodeScalarConstant.xml +++ b/doc/classes/InputEventFromWindow.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarConstant" inherits="VisualShaderNode" version="4.0"> +<class name="InputEventFromWindow" inherits="InputEvent" version="4.0"> <brief_description> </brief_description> <description> @@ -9,7 +9,7 @@ <methods> </methods> <members> - <member name="constant" type="float" setter="set_constant" getter="get_constant" default="0.0"> + <member name="window_id" type="int" setter="set_window_id" getter="get_window_id" default="0"> </member> </members> <constants> diff --git a/doc/classes/InputEventGesture.xml b/doc/classes/InputEventGesture.xml index 9cacd3e6fd..861ec026cd 100644 --- a/doc/classes/InputEventGesture.xml +++ b/doc/classes/InputEventGesture.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="InputEventGesture" inherits="InputEventWithModifiers" version="4.0"> <brief_description> + Base class for touch control gestures. </brief_description> <description> </description> @@ -10,6 +11,7 @@ </methods> <members> <member name="position" type="Vector2" setter="set_position" getter="get_position" default="Vector2( 0, 0 )"> + The local gesture position relative to the [Viewport]. If used in [method Control._gui_input], the position is relative to the current [Control] that received this gesture. </member> </members> <constants> diff --git a/doc/classes/InputEventKey.xml b/doc/classes/InputEventKey.xml index 637f697f01..34afa90553 100644 --- a/doc/classes/InputEventKey.xml +++ b/doc/classes/InputEventKey.xml @@ -10,12 +10,20 @@ <link>https://docs.godotengine.org/en/latest/tutorials/inputs/inputevent.html</link> </tutorials> <methods> - <method name="get_scancode_with_modifiers" qualifiers="const"> + <method name="get_keycode_with_modifiers" qualifiers="const"> <return type="int"> </return> <description> - Returns the scancode combined with modifier keys such as [code]Shift[/code] or [code]Alt[/code]. See also [InputEventWithModifiers]. - To get a human-readable representation of the [InputEventKey] with modifiers, use [code]OS.get_scancode_string(event.get_scancode_with_modifiers())[/code] where [code]event[/code] is the [InputEventKey]. + Returns the keycode combined with modifier keys such as [code]Shift[/code] or [code]Alt[/code]. See also [InputEventWithModifiers]. + To get a human-readable representation of the [InputEventKey] with modifiers, use [code]OS.get_keycode_string(event.get_keycode_with_modifiers())[/code] where [code]event[/code] is the [InputEventKey]. + </description> + </method> + <method name="get_physical_keycode_with_modifiers" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the physical keycode combined with modifier keys such as [code]Shift[/code] or [code]Alt[/code]. See also [InputEventWithModifiers]. + To get a human-readable representation of the [InputEventKey] with modifiers, use [code]OS.get_keycode_string(event.get_physical_keycode_with_modifiers())[/code] where [code]event[/code] is the [InputEventKey]. </description> </method> </methods> @@ -23,15 +31,19 @@ <member name="echo" type="bool" setter="set_echo" getter="is_echo" default="false"> If [code]true[/code], the key was already pressed before this event. It means the user is holding the key down. </member> + <member name="keycode" type="int" setter="set_keycode" getter="get_keycode" default="0"> + The key keycode, which corresponds to one of the [enum KeyList] constants. Represent key in the current keyboard layout. + To get a human-readable representation of the [InputEventKey], use [code]OS.get_keycode_string(event.keycode)[/code] where [code]event[/code] is the [InputEventKey]. + </member> + <member name="physical_keycode" type="int" setter="set_physical_keycode" getter="get_physical_keycode" default="0"> + Key physical keycode, which corresponds to one of the [enum KeyList] constants. Represent the physical location of a key on the 101/102-key US QWERTY keyboard. + To get a human-readable representation of the [InputEventKey], use [code]OS.get_keycode_string(event.keycode)[/code] where [code]event[/code] is the [InputEventKey]. + </member> <member name="pressed" type="bool" setter="set_pressed" getter="is_pressed" default="false"> If [code]true[/code], the key's state is pressed. If [code]false[/code], the key's state is released. </member> - <member name="scancode" type="int" setter="set_scancode" getter="get_scancode" default="0"> - The key scancode, which corresponds to one of the [enum KeyList] constants. - To get a human-readable representation of the [InputEventKey], use [code]OS.get_scancode_string(event.scancode)[/code] where [code]event[/code] is the [InputEventKey]. - </member> <member name="unicode" type="int" setter="set_unicode" getter="get_unicode" default="0"> - The key Unicode identifier (when relevant). Unicode identifiers for the composite characters and complex scripts may not be available unless IME input mode is active. See [method OS.set_ime_active] for more information. + The key Unicode identifier (when relevant). Unicode identifiers for the composite characters and complex scripts may not be available unless IME input mode is active. See [method Window.set_ime_active] for more information. </member> </members> <constants> diff --git a/doc/classes/InputEventMouseMotion.xml b/doc/classes/InputEventMouseMotion.xml index 1549353d45..97b9d5247a 100644 --- a/doc/classes/InputEventMouseMotion.xml +++ b/doc/classes/InputEventMouseMotion.xml @@ -16,7 +16,8 @@ Represents the pressure the user puts on the pen. Ranges from [code]0.0[/code] to [code]1.0[/code]. </member> <member name="relative" type="Vector2" setter="set_relative" getter="get_relative" default="Vector2( 0, 0 )"> - The mouse position relative to the previous position (position at the last frame). + The mouse position relative to the previous position (position at the last frame). + [b]Note:[/b] Since [InputEventMouseMotion] is only emitted when the mouse moves, the last event won't have a relative position of [code]Vector2(0, 0)[/code] when the user stops moving the mouse. </member> <member name="speed" type="Vector2" setter="set_speed" getter="get_speed" default="Vector2( 0, 0 )"> The mouse speed in pixels per second. diff --git a/doc/classes/InputEventScreenDrag.xml b/doc/classes/InputEventScreenDrag.xml index d7e0c2454c..a315e4ddfb 100644 --- a/doc/classes/InputEventScreenDrag.xml +++ b/doc/classes/InputEventScreenDrag.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventScreenDrag" inherits="InputEvent" version="4.0"> +<class name="InputEventScreenDrag" inherits="InputEventFromWindow" version="4.0"> <brief_description> Input event type for screen drag events. Only available on mobile devices. </brief_description> diff --git a/doc/classes/InputEventScreenTouch.xml b/doc/classes/InputEventScreenTouch.xml index 4a5cd36423..16a3cf8353 100644 --- a/doc/classes/InputEventScreenTouch.xml +++ b/doc/classes/InputEventScreenTouch.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventScreenTouch" inherits="InputEvent" version="4.0"> +<class name="InputEventScreenTouch" inherits="InputEventFromWindow" version="4.0"> <brief_description> Input event type for screen touch events. (only available on mobile devices) diff --git a/doc/classes/InputEventWithModifiers.xml b/doc/classes/InputEventWithModifiers.xml index 63465ad28c..34faf18e24 100644 --- a/doc/classes/InputEventWithModifiers.xml +++ b/doc/classes/InputEventWithModifiers.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="InputEventWithModifiers" inherits="InputEvent" version="4.0"> +<class name="InputEventWithModifiers" inherits="InputEventFromWindow" version="4.0"> <brief_description> Base class for keys events with modifiers. </brief_description> diff --git a/doc/classes/InputMap.xml b/doc/classes/InputMap.xml index aa3400dd97..da93d7fb53 100644 --- a/doc/classes/InputMap.xml +++ b/doc/classes/InputMap.xml @@ -13,7 +13,7 @@ <method name="action_add_event"> <return type="void"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <argument index="1" name="event" type="InputEvent"> </argument> @@ -24,7 +24,7 @@ <method name="action_erase_event"> <return type="void"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <argument index="1" name="event" type="InputEvent"> </argument> @@ -35,7 +35,7 @@ <method name="action_erase_events"> <return type="void"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Removes all events from an action. @@ -44,7 +44,7 @@ <method name="action_has_event"> <return type="bool"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <argument index="1" name="event" type="InputEvent"> </argument> @@ -55,7 +55,7 @@ <method name="action_set_deadzone"> <return type="void"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <argument index="1" name="deadzone" type="float"> </argument> @@ -66,7 +66,7 @@ <method name="add_action"> <return type="void"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <argument index="1" name="deadzone" type="float" default="0.5"> </argument> @@ -78,7 +78,7 @@ <method name="erase_action"> <return type="void"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Removes an action from the [InputMap]. @@ -89,7 +89,7 @@ </return> <argument index="0" name="event" type="InputEvent"> </argument> - <argument index="1" name="action" type="String"> + <argument index="1" name="action" type="StringName"> </argument> <description> Returns [code]true[/code] if the given event is part of an existing action. This method ignores keyboard modifiers if the given [InputEvent] is not pressed (for proper release detection). See [method action_has_event] if you don't want this behavior. @@ -98,7 +98,7 @@ <method name="get_action_list"> <return type="Array"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns an array of [InputEvent]s associated with a given action. @@ -114,7 +114,7 @@ <method name="has_action" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="action" type="String"> + <argument index="0" name="action" type="StringName"> </argument> <description> Returns [code]true[/code] if the [InputMap] has a registered action with the given name. diff --git a/doc/classes/InterpolatedCamera.xml b/doc/classes/InterpolatedCamera.xml deleted file mode 100644 index 66df7e9531..0000000000 --- a/doc/classes/InterpolatedCamera.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="InterpolatedCamera" inherits="Camera" version="4.0"> - <brief_description> - Camera which moves toward another node. - </brief_description> - <description> - InterpolatedCamera is a [Camera] which smoothly moves to match a target node's position and rotation. - If it is not [member enabled] or does not have a valid target set, InterpolatedCamera acts like a normal Camera. - </description> - <tutorials> - </tutorials> - <methods> - <method name="set_target"> - <return type="void"> - </return> - <argument index="0" name="target" type="Object"> - </argument> - <description> - Sets the node to move toward and orient with. - </description> - </method> - </methods> - <members> - <member name="enabled" type="bool" setter="set_interpolation_enabled" getter="is_interpolation_enabled" default="false"> - If [code]true[/code], and a target is set, the camera will move automatically. - </member> - <member name="speed" type="float" setter="set_speed" getter="get_speed" default="1.0"> - How quickly the camera moves toward its target. Higher values will result in tighter camera motion. - </member> - <member name="target" type="NodePath" setter="set_target_path" getter="get_target_path" default="NodePath("")"> - The target's [NodePath]. - </member> - </members> - <constants> - </constants> -</class> diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml index d53fabaacb..c6ed1e22ed 100644 --- a/doc/classes/ItemList.xml +++ b/doc/classes/ItemList.xml @@ -142,7 +142,7 @@ </description> </method> <method name="get_selected_items"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <description> Returns an array with the indexes of the selected items. diff --git a/doc/classes/SpatialGizmo.xml b/doc/classes/JNISingleton.xml index 5260eaa8a3..84ab1a49c1 100644 --- a/doc/classes/SpatialGizmo.xml +++ b/doc/classes/JNISingleton.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpatialGizmo" inherits="Reference" version="4.0"> +<class name="JNISingleton" inherits="Object" version="4.0"> <brief_description> </brief_description> <description> diff --git a/doc/classes/Joint.xml b/doc/classes/Joint3D.xml index 34da997292..15bef960f6 100644 --- a/doc/classes/Joint.xml +++ b/doc/classes/Joint3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Joint" inherits="Spatial" version="4.0"> +<class name="Joint3D" inherits="Node3D" version="4.0"> <brief_description> Base class for all 3D joints. </brief_description> diff --git a/doc/classes/KinematicBody2D.xml b/doc/classes/KinematicBody2D.xml index 58d7b1f831..6b2bbeb895 100644 --- a/doc/classes/KinematicBody2D.xml +++ b/doc/classes/KinematicBody2D.xml @@ -103,7 +103,8 @@ </argument> <description> Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [KinematicBody2D] or [RigidBody2D], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. - [code]linear_velocity[/code] is the velocity vector in pixels per second. Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity. + This method should be used in [method Node._physics_process] (or in a method called by [method Node._physics_process]), as it uses the physics step's [code]delta[/code] value automatically in calculations. Otherwise, the simulation will run at an incorrect speed. + [code]linear_velocity[/code] is the velocity vector in pixels per second. Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity. [code]up_direction[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector2(0, 0)[/code], everything is considered a wall. This is useful for topdown games. If [code]stop_on_slope[/code] is [code]true[/code], body will not slide on slopes when you include gravity in [code]linear_velocity[/code] and the body is standing still. If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops. diff --git a/doc/classes/KinematicBody.xml b/doc/classes/KinematicBody3D.xml index 2cf49f417c..5f9b36f97d 100644 --- a/doc/classes/KinematicBody.xml +++ b/doc/classes/KinematicBody3D.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="KinematicBody" inherits="PhysicsBody" version="4.0"> +<class name="KinematicBody3D" inherits="PhysicsBody3D" version="4.0"> <brief_description> Kinematic body 3D node. </brief_description> <description> Kinematic bodies are special types of bodies that are meant to be user-controlled. They are not affected by physics at all; to other types of bodies, such as a character or a rigid body, these are the same as a static body. However, they have two main uses: [b]Simulated motion:[/b] When these bodies are moved manually, either from code or from an [AnimationPlayer] (with [member AnimationPlayer.playback_process_mode] set to "physics"), the physics will automatically compute an estimate of their linear and angular velocity. This makes them very useful for moving platforms or other AnimationPlayer-controlled objects (like a door, a bridge that opens, etc). - [b]Kinematic characters:[/b] KinematicBody also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics. + [b]Kinematic characters:[/b] KinematicBody3D also has an API for moving objects (the [method move_and_collide] and [method move_and_slide] methods) while performing collision tests. This makes them really useful to implement characters that collide against a world, but that don't require advanced physics. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/kinematic_character_2d.html</link> @@ -15,7 +15,7 @@ <method name="get_axis_lock" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="axis" type="int" enum="PhysicsServer.BodyAxis"> + <argument index="0" name="axis" type="int" enum="PhysicsServer3D.BodyAxis"> </argument> <description> Returns [code]true[/code] if the specified [code]axis[/code] is locked. See also [member move_lock_x], [member move_lock_y] and [member move_lock_z]. @@ -36,12 +36,12 @@ </description> </method> <method name="get_slide_collision"> - <return type="KinematicCollision"> + <return type="KinematicCollision3D"> </return> <argument index="0" name="slide_idx" type="int"> </argument> <description> - Returns a [KinematicCollision], which contains information about a collision that occurred during the last [method move_and_slide] call. Since the body can collide several times in a single call to [method move_and_slide], you must specify the index of the collision in the range 0 to ([method get_slide_count] - 1). + Returns a [KinematicCollision3D], which contains information about a collision that occurred during the last [method move_and_slide] call. Since the body can collide several times in a single call to [method move_and_slide], you must specify the index of the collision in the range 0 to ([method get_slide_count] - 1). </description> </method> <method name="get_slide_count" qualifiers="const"> @@ -73,7 +73,7 @@ </description> </method> <method name="move_and_collide"> - <return type="KinematicCollision"> + <return type="KinematicCollision3D"> </return> <argument index="0" name="rel_vec" type="Vector3"> </argument> @@ -84,7 +84,7 @@ <argument index="3" name="test_only" type="bool" default="false"> </argument> <description> - Moves the body along the vector [code]rel_vec[/code]. The body will stop if it collides. Returns a [KinematicCollision], which contains information about the collision. + Moves the body along the vector [code]rel_vec[/code]. The body will stop if it collides. Returns a [KinematicCollision3D], which contains information about the collision. If [code]test_only[/code] is [code]true[/code], the body does not move but the would-be collision information is given. </description> </method> @@ -104,13 +104,14 @@ <argument index="5" name="infinite_inertia" type="bool" default="true"> </argument> <description> - Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [KinematicBody] or [RigidBody], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. - [code]linear_velocity[/code] is the velocity vector (typically meters per second). Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity. + Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a [KinematicBody3D] or [RigidBody3D], it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes. + This method should be used in [method Node._physics_process] (or in a method called by [method Node._physics_process]), as it uses the physics step's [code]delta[/code] value automatically in calculations. Otherwise, the simulation will run at an incorrect speed. + [code]linear_velocity[/code] is the velocity vector (typically meters per second). Unlike in [method move_and_collide], you should [i]not[/i] multiply it by [code]delta[/code] — the physics engine handles applying the velocity. [code]up_direction[/code] is the up direction, used to determine what is a wall and what is a floor or a ceiling. If set to the default value of [code]Vector3(0, 0, 0)[/code], everything is considered a wall. If [code]stop_on_slope[/code] is [code]true[/code], body will not slide on slopes if you include gravity in [code]linear_velocity[/code]. If the body collides, it will change direction a maximum of [code]max_slides[/code] times before it stops. [code]floor_max_angle[/code] is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees. - If [code]infinite_inertia[/code] is [code]true[/code], body will be able to push [RigidBody] nodes, but it won't also detect any collisions with them. If [code]false[/code], it will interact with [RigidBody] nodes like with [StaticBody]. + If [code]infinite_inertia[/code] is [code]true[/code], body will be able to push [RigidBody3D] nodes, but it won't also detect any collisions with them. If [code]false[/code], it will interact with [RigidBody3D] nodes like with [StaticBody3D]. Returns the [code]linear_velocity[/code] vector, rotated and/or scaled if a slide collision occurred. To get detailed information about collisions that occurred, use [method get_slide_collision]. </description> </method> @@ -139,7 +140,7 @@ <method name="set_axis_lock"> <return type="void"> </return> - <argument index="0" name="axis" type="int" enum="PhysicsServer.BodyAxis"> + <argument index="0" name="axis" type="int" enum="PhysicsServer3D.BodyAxis"> </argument> <argument index="1" name="lock" type="bool"> </argument> diff --git a/doc/classes/KinematicCollision.xml b/doc/classes/KinematicCollision3D.xml index 858a1e69c0..f3248a9ca1 100644 --- a/doc/classes/KinematicCollision.xml +++ b/doc/classes/KinematicCollision3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="KinematicCollision" inherits="Reference" version="4.0"> +<class name="KinematicCollision3D" inherits="Reference" version="4.0"> <brief_description> - Collision data for [KinematicBody] collisions. + Collision data for [KinematicBody3D] collisions. </brief_description> <description> - Contains collision data for [KinematicBody] collisions. When a [KinematicBody] is moved using [method KinematicBody.move_and_collide], it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision object is returned. + Contains collision data for [KinematicBody3D] collisions. When a [KinematicBody3D] is moved using [method KinematicBody3D.move_and_collide], it stops if it detects a collision with another body. If a collision is detected, a KinematicCollision3D object is returned. This object contains information about the collision, including the colliding object, the remaining motion, and the collision position. This information can be used to calculate a collision response. </description> <tutorials> @@ -25,7 +25,7 @@ The colliding body's shape. </member> <member name="collider_shape_index" type="int" setter="" getter="get_collider_shape_index" default="0"> - The colliding shape's index. See [CollisionObject]. + The colliding shape's index. See [CollisionObject3D]. </member> <member name="collider_velocity" type="Vector3" setter="" getter="get_collider_velocity" default="Vector3( 0, 0, 0 )"> The colliding object's velocity. diff --git a/doc/classes/Light.xml b/doc/classes/Light3D.xml index a2867a50d2..cb21db2d00 100644 --- a/doc/classes/Light.xml +++ b/doc/classes/Light3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Light" inherits="VisualInstance" version="4.0"> +<class name="Light3D" inherits="VisualInstance3D" version="4.0"> <brief_description> Provides a base class for different kinds of light nodes. </brief_description> <description> - Light is the abstract base class for light nodes, so it shouldn't be used directly (it can't be instanced). Other types of light nodes inherit from it. Light contains the common variables and parameters used for lighting. + Light3D is the abstract base class for light nodes, so it shouldn't be used directly (it can't be instanced). Other types of light nodes inherit from it. Light3D contains the common variables and parameters used for lighting. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/3d/lights_and_shadows.html</link> @@ -13,21 +13,21 @@ <method name="get_param" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="Light.Param"> + <argument index="0" name="param" type="int" enum="Light3D.Param"> </argument> <description> - Returns the value of the specified [enum Light.Param] parameter. + Returns the value of the specified [enum Light3D.Param] parameter. </description> </method> <method name="set_param"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="Light.Param"> + <argument index="0" name="param" type="int" enum="Light3D.Param"> </argument> <argument index="1" name="value" type="float"> </argument> <description> - Sets the value of the specified [enum Light.Param] parameter. + Sets the value of the specified [enum Light3D.Param] parameter. </description> </method> </methods> @@ -35,7 +35,10 @@ <member name="editor_only" type="bool" setter="set_editor_only" getter="is_editor_only" default="false"> If [code]true[/code], the light only appears in the editor and will not be visible at runtime. </member> - <member name="light_bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="Light.BakeMode" default="1"> + <member name="light_angular_distance" type="float" setter="set_param" getter="get_param" default="0.0"> + Angular size of the light in degrees. Only available for [DirectionalLight3D]s. For reference, the sun from earth is approximately [code]0.5[/code]. + </member> + <member name="light_bake_mode" type="int" setter="set_bake_mode" getter="get_bake_mode" enum="Light3D.BakeMode" default="1"> The light's bake mode. See [enum BakeMode]. </member> <member name="light_color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )"> @@ -53,23 +56,34 @@ <member name="light_negative" type="bool" setter="set_negative" getter="is_negative" default="false"> If [code]true[/code], the light's effect is reversed, darkening areas and casting bright shadows. </member> + <member name="light_projector" type="Texture2D" setter="set_projector" getter="get_projector"> + [Texture2D] projected by light. [member shadow_enabled] must be on for the projector to work. Light projectors make the light appear as if it is shining through a colored but transparent object, almost like light shining through stained glass. + </member> + <member name="light_size" type="float" setter="set_param" getter="get_param" default="0.0"> + The size of the light in Godot units. Only available for [OmniLight3D]s and [SpotLight3D]s. + </member> <member name="light_specular" type="float" setter="set_param" getter="get_param" default="0.5"> The intensity of the specular blob in objects affected by the light. At [code]0[/code] the light becomes a pure diffuse light. </member> - <member name="shadow_bias" type="float" setter="set_param" getter="get_param" default="0.15"> + <member name="shadow_bias" type="float" setter="set_param" getter="get_param" default="0.02"> Used to adjust shadow appearance. Too small a value results in self-shadowing, while too large a value causes shadows to separate from casters. Adjust as needed. </member> + <member name="shadow_blur" type="float" setter="set_param" getter="get_param" default="1.0"> + Blurs the edges of the shadow. Can be used to hide pixel artifacts in low resolution shadow maps. A high value can make shadows appear grainy and can cause other unwanted artifacts. Try to keep as near default as possible. + </member> <member name="shadow_color" type="Color" setter="set_shadow_color" getter="get_shadow_color" default="Color( 0, 0, 0, 1 )"> The color of shadows cast by this light. </member> - <member name="shadow_contact" type="float" setter="set_param" getter="get_param" default="0.0"> - Attempts to reduce [member shadow_bias] gap. - </member> <member name="shadow_enabled" type="bool" setter="set_shadow" getter="has_shadow" default="false"> If [code]true[/code], the light will cast shadows. </member> + <member name="shadow_normal_bias" type="float" setter="set_param" getter="get_param" default="1.0"> + Offsets the lookup into the shadow map by the objects normal. This can be used reduce self-shadowing artifacts without using [member shadow_bias]. In practice, this value should be tweaked along with [member shadow_bias] to reduce artifacts as much as possible. + </member> <member name="shadow_reverse_cull_face" type="bool" setter="set_shadow_reverse_cull_face" getter="get_shadow_reverse_cull_face" default="false"> - If [code]true[/code], reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double-sided shadows with [constant GeometryInstance.SHADOW_CASTING_SETTING_DOUBLE_SIDED]. + If [code]true[/code], reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double-sided shadows with [constant GeometryInstance3D.SHADOW_CASTING_SETTING_DOUBLE_SIDED]. + </member> + <member name="shadow_transmittance_bias" type="float" setter="set_param" getter="get_param" default="0.05"> </member> </members> <constants> @@ -83,44 +97,51 @@ Constant for accessing [member light_specular]. </constant> <constant name="PARAM_RANGE" value="3" enum="Param"> - Constant for accessing [member OmniLight.omni_range] or [member SpotLight.spot_range]. + Constant for accessing [member OmniLight3D.omni_range] or [member SpotLight3D.spot_range]. </constant> - <constant name="PARAM_ATTENUATION" value="4" enum="Param"> - Constant for accessing [member OmniLight.omni_attenuation] or [member SpotLight.spot_attenuation]. + <constant name="PARAM_SIZE" value="4" enum="Param"> + Constant for accessing [member light_size]. </constant> - <constant name="PARAM_SPOT_ANGLE" value="5" enum="Param"> - Constant for accessing [member SpotLight.spot_angle]. + <constant name="PARAM_ATTENUATION" value="5" enum="Param"> + Constant for accessing [member OmniLight3D.omni_attenuation] or [member SpotLight3D.spot_attenuation]. </constant> - <constant name="PARAM_SPOT_ATTENUATION" value="6" enum="Param"> - Constant for accessing [member SpotLight.spot_angle_attenuation]. + <constant name="PARAM_SPOT_ANGLE" value="6" enum="Param"> + Constant for accessing [member SpotLight3D.spot_angle]. </constant> - <constant name="PARAM_CONTACT_SHADOW_SIZE" value="7" enum="Param"> - Constant for accessing [member shadow_contact]. + <constant name="PARAM_SPOT_ATTENUATION" value="7" enum="Param"> + Constant for accessing [member SpotLight3D.spot_angle_attenuation]. </constant> <constant name="PARAM_SHADOW_MAX_DISTANCE" value="8" enum="Param"> - Constant for accessing [member DirectionalLight.directional_shadow_max_distance]. + Constant for accessing [member DirectionalLight3D.directional_shadow_max_distance]. </constant> <constant name="PARAM_SHADOW_SPLIT_1_OFFSET" value="9" enum="Param"> - Constant for accessing [member DirectionalLight.directional_shadow_split_1]. + Constant for accessing [member DirectionalLight3D.directional_shadow_split_1]. </constant> <constant name="PARAM_SHADOW_SPLIT_2_OFFSET" value="10" enum="Param"> - Constant for accessing [member DirectionalLight.directional_shadow_split_2]. + Constant for accessing [member DirectionalLight3D.directional_shadow_split_2]. </constant> <constant name="PARAM_SHADOW_SPLIT_3_OFFSET" value="11" enum="Param"> - Constant for accessing [member DirectionalLight.directional_shadow_split_3]. + Constant for accessing [member DirectionalLight3D.directional_shadow_split_3]. </constant> <constant name="PARAM_SHADOW_FADE_START" value="12" enum="Param"> + Constant for accessing [member DirectionalLight3D.directional_shadow_fade_start]. </constant> <constant name="PARAM_SHADOW_NORMAL_BIAS" value="13" enum="Param"> - Constant for accessing [member DirectionalLight.directional_shadow_normal_bias]. + Constant for accessing [member shadow_normal_bias]. </constant> <constant name="PARAM_SHADOW_BIAS" value="14" enum="Param"> Constant for accessing [member shadow_bias]. </constant> - <constant name="PARAM_SHADOW_BIAS_SPLIT_SCALE" value="15" enum="Param"> - Constant for accessing [member DirectionalLight.directional_shadow_bias_split_scale]. + <constant name="PARAM_SHADOW_PANCAKE_SIZE" value="15" enum="Param"> + Constant for accessing [member DirectionalLight3D.directional_shadow_pancake_size]. + </constant> + <constant name="PARAM_SHADOW_BLUR" value="16" enum="Param"> + Constant for accessing [member shadow_blur]. + </constant> + <constant name="PARAM_TRANSMITTANCE_BIAS" value="17" enum="Param"> + Constant for accessing [member shadow_transmittance_bias]. </constant> - <constant name="PARAM_MAX" value="16" enum="Param"> + <constant name="PARAM_MAX" value="18" enum="Param"> Represents the size of the [enum Param] enum. </constant> <constant name="BAKE_DISABLED" value="0" enum="BakeMode"> diff --git a/doc/classes/Line2D.xml b/doc/classes/Line2D.xml index 68cec3e624..cfd23b28bd 100644 --- a/doc/classes/Line2D.xml +++ b/doc/classes/Line2D.xml @@ -72,7 +72,7 @@ <member name="begin_cap_mode" type="int" setter="set_begin_cap_mode" getter="get_begin_cap_mode" enum="Line2D.LineCapMode" default="0"> Controls the style of the line's first point. Use [enum LineCapMode] constants. </member> - <member name="default_color" type="Color" setter="set_default_color" getter="get_default_color" default="Color( 0.4, 0.5, 1, 1 )"> + <member name="default_color" type="Color" setter="set_default_color" getter="get_default_color" default="Color( 1, 1, 1, 1 )"> The line's color. Will not be used if a gradient is set. </member> <member name="end_cap_mode" type="int" setter="set_end_cap_mode" getter="get_end_cap_mode" enum="Line2D.LineCapMode" default="0"> diff --git a/doc/classes/Listener.xml b/doc/classes/Listener3D.xml index 72bbfa29d4..998ea757ff 100644 --- a/doc/classes/Listener.xml +++ b/doc/classes/Listener3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Listener" inherits="Spatial" version="4.0"> +<class name="Listener3D" inherits="Node3D" version="4.0"> <brief_description> Overrides the location sounds are heard from. </brief_description> <description> - Once added to the scene tree and enabled using [method make_current], this node will override the location sounds are heard from. This can be used to listen from a location different from the [Camera]. + Once added to the scene tree and enabled using [method make_current], this node will override the location sounds are heard from. This can be used to listen from a location different from the [Camera3D]. [b]Note:[/b] There is no 2D equivalent for this node yet. </description> <tutorials> @@ -29,7 +29,7 @@ </return> <description> Returns [code]true[/code] if the listener was made current using [method make_current], [code]false[/code] otherwise. - [b]Note:[/b] There may be more than one Listener marked as "current" in the scene tree, but only the one that was made current last will be used. + [b]Note:[/b] There may be more than one Listener3D marked as "current" in the scene tree, but only the one that was made current last will be used. </description> </method> <method name="make_current"> diff --git a/doc/classes/MainLoop.xml b/doc/classes/MainLoop.xml index b12d4d9978..7bb478fce2 100644 --- a/doc/classes/MainLoop.xml +++ b/doc/classes/MainLoop.xml @@ -7,6 +7,7 @@ [MainLoop] is the abstract base class for a Godot project's game loop. It is inherited by [SceneTree], which is the default game loop implementation used in Godot projects, though it is also possible to write and use one's own [MainLoop] subclass instead of the scene tree. Upon the application start, a [MainLoop] implementation must be provided to the OS; otherwise, the application will exit. This happens automatically (and a [SceneTree] is created) unless a main [Script] is provided from the command line (with e.g. [code]godot -s my_loop.gd[/code], which should then be a [MainLoop] implementation. Here is an example script implementing a simple [MainLoop]: + [b]FIXME:[/b] No longer valid after DisplayServer split and Input refactoring. [codeblock] extends MainLoop @@ -26,9 +27,9 @@ func _input_event(event): # Record keys. if event is InputEventKey and event.pressed and !event.echo: - keys_typed.append(OS.get_scancode_string(event.scancode)) + keys_typed.append(OS.get_keycode_string(event.keycode)) # Quit on Escape press. - if event.scancode == KEY_ESCAPE: + if event.keycode == KEY_ESCAPE: quit = true # Quit on any mouse click. if event is InputEventMouseButton: @@ -43,17 +44,6 @@ <tutorials> </tutorials> <methods> - <method name="_drop_files" qualifiers="virtual"> - <return type="void"> - </return> - <argument index="0" name="files" type="PackedStringArray"> - </argument> - <argument index="1" name="from_screen" type="int"> - </argument> - <description> - Called when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated. - </description> - </method> <method name="_finalize" qualifiers="virtual"> <return type="void"> </return> @@ -61,17 +51,6 @@ Called before the program exits. </description> </method> - <method name="_global_menu_action" qualifiers="virtual"> - <return type="void"> - </return> - <argument index="0" name="id" type="Variant"> - </argument> - <argument index="1" name="meta" type="Variant"> - </argument> - <description> - Called when the user performs an action in the system global menu (e.g. the Mac OS menu bar). - </description> - </method> <method name="_idle" qualifiers="virtual"> <return type="bool"> </return> @@ -89,24 +68,6 @@ Called once during initialization. </description> </method> - <method name="_input_event" qualifiers="virtual"> - <return type="void"> - </return> - <argument index="0" name="event" type="InputEvent"> - </argument> - <description> - Called whenever an [InputEvent] is received by the main loop. - </description> - </method> - <method name="_input_text" qualifiers="virtual"> - <return type="void"> - </return> - <argument index="0" name="text" type="String"> - </argument> - <description> - Deprecated callback, does not do anything. Use [method _input_event] to parse text input. Will be removed in Godot 4.0. - </description> - </method> <method name="_iteration" qualifiers="virtual"> <return type="bool"> </return> @@ -140,24 +101,6 @@ Should not be called manually, override [method _initialize] instead. Will be removed in Godot 4.0. </description> </method> - <method name="input_event"> - <return type="void"> - </return> - <argument index="0" name="event" type="InputEvent"> - </argument> - <description> - Should not be called manually, override [method _input_event] instead. Will be removed in Godot 4.0. - </description> - </method> - <method name="input_text"> - <return type="void"> - </return> - <argument index="0" name="text" type="String"> - </argument> - <description> - Should not be called manually, override [method _input_text] instead. Will be removed in Godot 4.0. - </description> - </method> <method name="iteration"> <return type="bool"> </return> @@ -180,58 +123,30 @@ </signal> </signals> <constants> - <constant name="NOTIFICATION_WM_MOUSE_ENTER" value="1002"> - Notification received from the OS when the mouse enters the game window. - Implemented on desktop and web platforms. - </constant> - <constant name="NOTIFICATION_WM_MOUSE_EXIT" value="1003"> - Notification received from the OS when the mouse leaves the game window. - Implemented on desktop and web platforms. - </constant> - <constant name="NOTIFICATION_WM_FOCUS_IN" value="1004"> - Notification received from the OS when the game window is focused. - Implemented on all platforms. - </constant> - <constant name="NOTIFICATION_WM_FOCUS_OUT" value="1005"> - Notification received from the OS when the game window is unfocused. - Implemented on all platforms. - </constant> - <constant name="NOTIFICATION_WM_QUIT_REQUEST" value="1006"> - Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4). - Implemented on desktop platforms. - </constant> - <constant name="NOTIFICATION_WM_GO_BACK_REQUEST" value="1007"> - Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android). - Specific to the Android platform. - </constant> - <constant name="NOTIFICATION_WM_UNFOCUS_REQUEST" value="1008"> - Notification received from the OS when an unfocus request is sent (e.g. another OS window wants to take the focus). - No supported platforms currently send this notification. - </constant> - <constant name="NOTIFICATION_OS_MEMORY_WARNING" value="1009"> + <constant name="NOTIFICATION_OS_MEMORY_WARNING" value="2009"> Notification received from the OS when the application is exceeding its allocated memory. Specific to the iOS platform. </constant> - <constant name="NOTIFICATION_TRANSLATION_CHANGED" value="1010"> + <constant name="NOTIFICATION_TRANSLATION_CHANGED" value="2010"> Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like [method Object.tr]. </constant> - <constant name="NOTIFICATION_WM_ABOUT" value="1011"> + <constant name="NOTIFICATION_WM_ABOUT" value="2011"> Notification received from the OS when a request for "About" information is sent. Specific to the macOS platform. </constant> - <constant name="NOTIFICATION_CRASH" value="1012"> + <constant name="NOTIFICATION_CRASH" value="2012"> Notification received from Godot's crash handler when the engine is about to crash. Implemented on desktop platforms if the crash handler is enabled. </constant> - <constant name="NOTIFICATION_OS_IME_UPDATE" value="1013"> + <constant name="NOTIFICATION_OS_IME_UPDATE" value="2013"> Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string). Specific to the macOS platform. </constant> - <constant name="NOTIFICATION_APP_RESUMED" value="1014"> + <constant name="NOTIFICATION_APP_RESUMED" value="2014"> Notification received from the OS when the app is resumed. Specific to the Android platform. </constant> - <constant name="NOTIFICATION_APP_PAUSED" value="1015"> + <constant name="NOTIFICATION_APP_PAUSED" value="2015"> Notification received from the OS when the app is paused. Specific to the Android platform. </constant> diff --git a/doc/classes/Marshalls.xml b/doc/classes/Marshalls.xml index 6707068c5a..4250ffd700 100644 --- a/doc/classes/Marshalls.xml +++ b/doc/classes/Marshalls.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Marshalls" inherits="Reference" version="4.0"> +<class name="Marshalls" inherits="Object" version="4.0"> <brief_description> Data transformation (marshalling) and encoding helpers. </brief_description> diff --git a/doc/classes/Material.xml b/doc/classes/Material.xml index a0c1979646..a37c8127f0 100644 --- a/doc/classes/Material.xml +++ b/doc/classes/Material.xml @@ -4,7 +4,7 @@ Abstract base [Resource] for coloring and shading geometry. </brief_description> <description> - Material is a base [Resource] used for coloring and shading geometry. All materials inherit from it and almost all [VisualInstance] derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here. + Material is a base [Resource] used for coloring and shading geometry. All materials inherit from it and almost all [VisualInstance3D] derived nodes carry a Material. A few flags and parameters are shared between all material types and are configured here. </description> <tutorials> </tutorials> diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml index 6ec9d60df4..316315f777 100644 --- a/doc/classes/MenuButton.xml +++ b/doc/classes/MenuButton.xml @@ -38,9 +38,9 @@ <member name="toggle_mode" type="bool" setter="set_toggle_mode" getter="is_toggle_mode" override="true" default="true" /> </members> <signals> - <signal name="about_to_show"> + <signal name="about_to_popup"> <description> - Emitted when [PopupMenu] of this MenuButton is about to show. + Emitted when the [PopupMenu] of this MenuButton is about to show. </description> </signal> </signals> diff --git a/doc/classes/Mesh.xml b/doc/classes/Mesh.xml index dc7ffc8934..6958c815a6 100644 --- a/doc/classes/Mesh.xml +++ b/doc/classes/Mesh.xml @@ -10,10 +10,10 @@ </tutorials> <methods> <method name="create_convex_shape" qualifiers="const"> - <return type="Shape"> + <return type="Shape3D"> </return> <description> - Calculate a [ConvexPolygonShape] from the mesh. + Calculate a [ConvexPolygonShape3D] from the mesh. </description> </method> <method name="create_outline" qualifiers="const"> @@ -27,10 +27,10 @@ </description> </method> <method name="create_trimesh_shape" qualifiers="const"> - <return type="Shape"> + <return type="Shape3D"> </return> <description> - Calculate a [ConcavePolygonShape] from the mesh. + Calculate a [ConcavePolygonShape3D] from the mesh. </description> </method> <method name="generate_triangle_mesh" qualifiers="const"> diff --git a/doc/classes/MeshDataTool.xml b/doc/classes/MeshDataTool.xml index bdc9d20305..dcc3bbf2a6 100644 --- a/doc/classes/MeshDataTool.xml +++ b/doc/classes/MeshDataTool.xml @@ -17,6 +17,8 @@ mesh.surface_remove(0) mdt.commit_to_surface(mesh) [/codeblock] + See also [ArrayMesh], [ImmediateGeometry3D] and [SurfaceTool] for procedural geometry generation. + [b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive modes. </description> <tutorials> </tutorials> @@ -57,7 +59,7 @@ </description> </method> <method name="get_edge_faces" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -160,7 +162,7 @@ </description> </method> <method name="get_vertex_bones" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -185,7 +187,7 @@ </description> </method> <method name="get_vertex_edges" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -194,7 +196,7 @@ </description> </method> <method name="get_vertex_faces" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -248,7 +250,7 @@ </description> </method> <method name="get_vertex_weights" qualifiers="const"> - <return type="PackedRealArray"> + <return type="PackedFloat32Array"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -303,7 +305,7 @@ </return> <argument index="0" name="idx" type="int"> </argument> - <argument index="1" name="bones" type="PackedIntArray"> + <argument index="1" name="bones" type="PackedInt32Array"> </argument> <description> Sets the bones of the given vertex. @@ -380,7 +382,7 @@ </return> <argument index="0" name="idx" type="int"> </argument> - <argument index="1" name="weights" type="PackedRealArray"> + <argument index="1" name="weights" type="PackedFloat32Array"> </argument> <description> Sets the bone weights of the given vertex. diff --git a/doc/classes/MeshInstance.xml b/doc/classes/MeshInstance.xml deleted file mode 100644 index 6123dfa37a..0000000000 --- a/doc/classes/MeshInstance.xml +++ /dev/null @@ -1,74 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="MeshInstance" inherits="GeometryInstance" version="4.0"> - <brief_description> - Node that instances meshes into a scenario. - </brief_description> - <description> - MeshInstance is a node that takes a [Mesh] resource and adds it to the current scenario by creating an instance of it. This is the class most often used to get 3D geometry rendered and can be used to instance a single [Mesh] in many places. This allows to reuse geometry and save on resources. When a [Mesh] has to be instanced more than thousands of times at close proximity, consider using a [MultiMesh] in a [MultiMeshInstance] instead. - </description> - <tutorials> - </tutorials> - <methods> - <method name="create_convex_collision"> - <return type="void"> - </return> - <description> - This helper creates a [StaticBody] child node with a [ConvexPolygonShape] collision shape calculated from the mesh geometry. It's mainly used for testing. - </description> - </method> - <method name="create_debug_tangents"> - <return type="void"> - </return> - <description> - This helper creates a [MeshInstance] child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing. - </description> - </method> - <method name="create_trimesh_collision"> - <return type="void"> - </return> - <description> - This helper creates a [StaticBody] child node with a [ConcavePolygonShape] collision shape calculated from the mesh geometry. It's mainly used for testing. - </description> - </method> - <method name="get_surface_material" qualifiers="const"> - <return type="Material"> - </return> - <argument index="0" name="surface" type="int"> - </argument> - <description> - Returns the [Material] for a surface of the [Mesh] resource. - </description> - </method> - <method name="get_surface_material_count" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the number of surface materials. - </description> - </method> - <method name="set_surface_material"> - <return type="void"> - </return> - <argument index="0" name="surface" type="int"> - </argument> - <argument index="1" name="material" type="Material"> - </argument> - <description> - Sets the [Material] for a surface of the [Mesh] resource. - </description> - </method> - </methods> - <members> - <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh"> - The [Mesh] resource for the instance. - </member> - <member name="skeleton" type="NodePath" setter="set_skeleton_path" getter="get_skeleton_path" default="NodePath("..")"> - [NodePath] to the [Skeleton] associated with the instance. - </member> - <member name="skin" type="Skin" setter="set_skin" getter="get_skin"> - Sets the skin to be used by this instance. - </member> - </members> - <constants> - </constants> -</class> diff --git a/doc/classes/MeshInstance2D.xml b/doc/classes/MeshInstance2D.xml index 2781dd4626..0cfc8deb0a 100644 --- a/doc/classes/MeshInstance2D.xml +++ b/doc/classes/MeshInstance2D.xml @@ -4,7 +4,7 @@ Node used for displaying a [Mesh] in 2D. </brief_description> <description> - Node used for displaying a [Mesh] in 2D. Can be constructed from an existing [Sprite] via a tool in the editor toolbar. Select "Sprite" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D". + Node used for displaying a [Mesh] in 2D. Can be constructed from an existing [Sprite2D] via a tool in the editor toolbar. Select "Sprite2D" then "Convert to Mesh2D", select settings in popup and press "Create Mesh2D". </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/2d/2d_meshes.html</link> diff --git a/doc/classes/MeshInstance3D.xml b/doc/classes/MeshInstance3D.xml new file mode 100644 index 0000000000..c569da2df1 --- /dev/null +++ b/doc/classes/MeshInstance3D.xml @@ -0,0 +1,83 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="MeshInstance3D" inherits="GeometryInstance3D" version="4.0"> + <brief_description> + Node that instances meshes into a scenario. + </brief_description> + <description> + MeshInstance3D is a node that takes a [Mesh] resource and adds it to the current scenario by creating an instance of it. This is the class most often used render 3D geometry and can be used to instance a single [Mesh] in many places. This allows reuse of geometry which can save on resources. When a [Mesh] has to be instanced more than thousands of times at close proximity, consider using a [MultiMesh] in a [MultiMeshInstance3D] instead. + </description> + <tutorials> + </tutorials> + <methods> + <method name="create_convex_collision"> + <return type="void"> + </return> + <description> + This helper creates a [StaticBody3D] child node with a [ConvexPolygonShape3D] collision shape calculated from the mesh geometry. It's mainly used for testing. + </description> + </method> + <method name="create_debug_tangents"> + <return type="void"> + </return> + <description> + This helper creates a [MeshInstance3D] child node with gizmos at every vertex calculated from the mesh geometry. It's mainly used for testing. + </description> + </method> + <method name="create_trimesh_collision"> + <return type="void"> + </return> + <description> + This helper creates a [StaticBody3D] child node with a [ConcavePolygonShape3D] collision shape calculated from the mesh geometry. It's mainly used for testing. + </description> + </method> + <method name="get_active_material" qualifiers="const"> + <return type="Material"> + </return> + <argument index="0" name="surface" type="int"> + </argument> + <description> + Returns the [Material] that will be used by the [Mesh] when drawing. This can return the [member GeometryInstance3D.material_override], the surface override [Material] defined in this [MeshInstance3D], or the surface [Material] defined in the [Mesh]. For example, if [member GeometryInstance3D.material_override] is used, all surfaces will return the override material. + </description> + </method> + <method name="get_surface_material" qualifiers="const"> + <return type="Material"> + </return> + <argument index="0" name="surface" type="int"> + </argument> + <description> + Returns the override [Material] for the specified surface of the [Mesh] resource. + </description> + </method> + <method name="get_surface_material_count" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the number of surface materials. + </description> + </method> + <method name="set_surface_material"> + <return type="void"> + </return> + <argument index="0" name="surface" type="int"> + </argument> + <argument index="1" name="material" type="Material"> + </argument> + <description> + Sets the override [Material] for the specified surface of the [Mesh] resource. This material is associated with this [MeshInstance3D] rather than with the [Mesh] resource. + </description> + </method> + </methods> + <members> + <member name="mesh" type="Mesh" setter="set_mesh" getter="get_mesh"> + The [Mesh] resource for the instance. + </member> + <member name="skeleton" type="NodePath" setter="set_skeleton_path" getter="get_skeleton_path" default="NodePath("..")"> + [NodePath] to the [Skeleton3D] associated with the instance. + </member> + <member name="skin" type="Skin" setter="set_skin" getter="get_skin"> + Sets the skin to be used by this instance. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/MeshLibrary.xml b/doc/classes/MeshLibrary.xml index ec12a0ff42..ccf6172017 100644 --- a/doc/classes/MeshLibrary.xml +++ b/doc/classes/MeshLibrary.xml @@ -36,7 +36,7 @@ </description> </method> <method name="get_item_list" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <description> Returns the list of item IDs in use. @@ -84,8 +84,7 @@ <argument index="0" name="id" type="int"> </argument> <description> - Returns a generated item preview (a 3D rendering in isometric perspective). - [b]Note:[/b] Since item previews are only generated in an editor context, this function will return an empty [Texture2D] in a running project. + When running in the editor, returns a generated item preview (a 3D rendering in isometric perspective). When used in a running project, returns the manually-defined item preview which can be set using [method set_item_preview]. Returns an empty [Texture2D] if no preview was manually set in a running project. </description> </method> <method name="get_item_shapes" qualifiers="const"> @@ -95,7 +94,7 @@ </argument> <description> Returns an item's collision shapes. - The array consists of each [Shape] followed by its [Transform]. + The array consists of each [Shape3D] followed by its [Transform]. </description> </method> <method name="get_last_unused_item_id" qualifiers="const"> @@ -179,7 +178,7 @@ </argument> <description> Sets an item's collision shapes. - The array should consist of [Shape] objects, each followed by a [Transform] that will be applied to it. For shapes that should not have a transform, use [constant Transform.IDENTITY]. + The array should consist of [Shape3D] objects, each followed by a [Transform] that will be applied to it. For shapes that should not have a transform, use [constant Transform.IDENTITY]. </description> </method> </methods> diff --git a/doc/classes/MultiMesh.xml b/doc/classes/MultiMesh.xml index 6831fc88df..0f56ab4b95 100644 --- a/doc/classes/MultiMesh.xml +++ b/doc/classes/MultiMesh.xml @@ -4,7 +4,7 @@ Provides high-performance mesh instancing. </brief_description> <description> - MultiMesh provides low-level mesh instancing. Drawing thousands of [MeshInstance] nodes can be slow, since each object is submitted to the GPU then drawn individually. + MultiMesh provides low-level mesh instancing. Drawing thousands of [MeshInstance3D] nodes can be slow, since each object is submitted to the GPU then drawn individually. MultiMesh is much faster as it can draw thousands of instances with a single draw call, resulting in less API overhead. As a drawback, if the instances are too far away of each other, performance may be reduced as every single instance will always rendered (they are spatially indexed as one, for the whole object). Since instances may have any behavior, the AABB used for visibility must be provided by the user. @@ -105,7 +105,7 @@ </method> </methods> <members> - <member name="buffer" type="PackedRealArray" setter="set_buffer" getter="get_buffer" default="PackedRealArray( )"> + <member name="buffer" type="PackedFloat32Array" setter="set_buffer" getter="get_buffer" default="PackedFloat32Array( )"> </member> <member name="color_array" type="PackedColorArray" setter="_set_color_array" getter="_get_color_array"> </member> @@ -125,8 +125,10 @@ Format of transform used to transform mesh, either 2D or 3D. </member> <member name="use_colors" type="bool" setter="set_use_colors" getter="is_using_colors" default="false"> + If [code]true[/code], the [MultiMesh] will use color data (see [member color_array]). </member> <member name="use_custom_data" type="bool" setter="set_use_custom_data" getter="is_using_custom_data" default="false"> + If [code]true[/code], the [MultiMesh] will use custom data (see [member custom_data_array]). </member> <member name="visible_instance_count" type="int" setter="set_visible_instance_count" getter="get_visible_instance_count" default="-1"> Limits the number of instances drawn, -1 draws all instances. Changing this does not change the sizes of the buffers. diff --git a/doc/classes/MultiMeshInstance2D.xml b/doc/classes/MultiMeshInstance2D.xml index 2fe5447a27..07f21514ef 100644 --- a/doc/classes/MultiMeshInstance2D.xml +++ b/doc/classes/MultiMeshInstance2D.xml @@ -5,7 +5,7 @@ </brief_description> <description> [MultiMeshInstance2D] is a specialized node to instance a [MultiMesh] resource in 2D. - Usage is the same as [MultiMeshInstance]. + Usage is the same as [MultiMeshInstance3D]. </description> <tutorials> </tutorials> diff --git a/doc/classes/MultiMeshInstance.xml b/doc/classes/MultiMeshInstance3D.xml index 6cbc0a8e04..cab17c952e 100644 --- a/doc/classes/MultiMeshInstance.xml +++ b/doc/classes/MultiMeshInstance3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MultiMeshInstance" inherits="GeometryInstance" version="4.0"> +<class name="MultiMeshInstance3D" inherits="GeometryInstance3D" version="4.0"> <brief_description> Node that instances a [MultiMesh]. </brief_description> <description> - [MultiMeshInstance] is a specialized node to instance [GeometryInstance]s based on a [MultiMesh] resource. + [MultiMeshInstance3D] is a specialized node to instance [GeometryInstance3D]s based on a [MultiMesh] resource. This is useful to optimize the rendering of a high amount of instances of a given mesh (for example trees in a forest or grass strands). </description> <tutorials> @@ -16,7 +16,7 @@ </methods> <members> <member name="multimesh" type="MultiMesh" setter="set_multimesh" getter="get_multimesh"> - The [MultiMesh] resource that will be used and shared among all instances of the [MultiMeshInstance]. + The [MultiMesh] resource that will be used and shared among all instances of the [MultiMeshInstance3D]. </member> </members> <constants> diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml index 968357ea07..9c753818d9 100644 --- a/doc/classes/MultiplayerAPI.xml +++ b/doc/classes/MultiplayerAPI.xml @@ -19,7 +19,7 @@ </description> </method> <method name="get_network_connected_peers" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <description> Returns the peer IDs of all connected peers of this MultiplayerAPI's [member network_peer]. diff --git a/doc/classes/Navigation2D.xml b/doc/classes/Navigation2D.xml index 0d016a3210..dcbfbc2350 100644 --- a/doc/classes/Navigation2D.xml +++ b/doc/classes/Navigation2D.xml @@ -4,7 +4,7 @@ 2D navigation and pathfinding node. </brief_description> <description> - Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of [NavigationPolygon] resources. These are automatically collected from child [NavigationPolygonInstance] nodes. + Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of [NavigationPolygon] resources. These are automatically collected from child [NavigationRegion2D] nodes. </description> <tutorials> </tutorials> diff --git a/doc/classes/Navigation.xml b/doc/classes/Navigation3D.xml index 0000ca6bd5..807f0ad309 100644 --- a/doc/classes/Navigation.xml +++ b/doc/classes/Navigation3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Navigation" inherits="Spatial" version="4.0"> +<class name="Navigation3D" inherits="Node3D" version="4.0"> <brief_description> Mesh-based navigation and pathfinding node. </brief_description> <description> - Provides navigation and pathfinding within a collection of [NavigationMesh]es. These will be automatically collected from child [NavigationMeshInstance] nodes. In addition to basic pathfinding, this class also assists with aligning navigation agents with the meshes they are navigating on. + Provides navigation and pathfinding within a collection of [NavigationMesh]es. These will be automatically collected from child [NavigationRegion3D] nodes. In addition to basic pathfinding, this class also assists with aligning navigation agents with the meshes they are navigating on. </description> <tutorials> </tutorials> diff --git a/doc/classes/NavigationAgent2D.xml b/doc/classes/NavigationAgent2D.xml index 116db76cc5..5a9c31ef67 100644 --- a/doc/classes/NavigationAgent2D.xml +++ b/doc/classes/NavigationAgent2D.xml @@ -118,7 +118,7 @@ The distance to search for other agents. </member> <member name="path_max_distance" type="float" setter="set_path_max_distance" getter="get_path_max_distance" default="3.0"> - The maximum distance the agent is allowed away from the ideal path to the final location. This can happen due to trying to avoid collisions. When the maximum distance is exceded, it recalculates the ideal path. + The maximum distance the agent is allowed away from the ideal path to the final location. This can happen due to trying to avoid collisions. When the maximum distance is exceeded, it recalculates the ideal path. </member> <member name="radius" type="float" setter="set_radius" getter="get_radius" default="10.0"> The radius of the agent. diff --git a/doc/classes/NavigationAgent.xml b/doc/classes/NavigationAgent3D.xml index f896bf6d15..f9df1d390b 100644 --- a/doc/classes/NavigationAgent.xml +++ b/doc/classes/NavigationAgent3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationAgent" inherits="Node" version="4.0"> +<class name="NavigationAgent3D" inherits="Node" version="4.0"> <brief_description> 3D Agent used in navigation for collision avoidance. </brief_description> <description> - 3D Agent that is used in navigation to reach a location while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. This can be done by having the agent as a child of a [Navigation] node, or using [method set_navigation]. [NavigationAgent] is physics safe. + 3D Agent that is used in navigation to reach a location while avoiding static and dynamic obstacles. The dynamic obstacles are avoided using RVO collision avoidance. The agent needs navigation data to work correctly. This can be done by having the agent as a child of a [Navigation3D] node, or using [method set_navigation]. [NavigationAgent3D] is physics safe. </description> <tutorials> </tutorials> @@ -41,7 +41,7 @@ <return type="Node"> </return> <description> - Returns the [Navigation] node that the agent is using for its navigation system. + Returns the [Navigation3D] node that the agent is using for its navigation system. </description> </method> <method name="get_next_location"> @@ -85,7 +85,7 @@ <argument index="0" name="navigation" type="Node"> </argument> <description> - Sets the [Navigation] node used by the agent. Useful when you don't want to make the agent a child of a [Navigation] node. + Sets the [Navigation3D] node used by the agent. Useful when you don't want to make the agent a child of a [Navigation3D] node. </description> </method> <method name="set_target_location"> @@ -124,7 +124,7 @@ The distance to search for other agents. </member> <member name="path_max_distance" type="float" setter="set_path_max_distance" getter="get_path_max_distance" default="3.0"> - The maximum distance the agent is allowed away from the ideal path to the final location. This can happen due to trying to avoid collisions. When the maximum distance is exceded, it recalculates the ideal path. + The maximum distance the agent is allowed away from the ideal path to the final location. This can happen due to trying to avoid collisions. When the maximum distance is exceeded, it recalculates the ideal path. </member> <member name="radius" type="float" setter="set_radius" getter="get_radius" default="1.0"> The radius of the agent. diff --git a/doc/classes/NavigationMesh.xml b/doc/classes/NavigationMesh.xml index 5b7a188e5a..6deca4394f 100644 --- a/doc/classes/NavigationMesh.xml +++ b/doc/classes/NavigationMesh.xml @@ -10,7 +10,7 @@ <method name="add_polygon"> <return type="void"> </return> - <argument index="0" name="polygon" type="PackedIntArray"> + <argument index="0" name="polygon" type="PackedInt32Array"> </argument> <description> </description> @@ -38,7 +38,7 @@ </description> </method> <method name="get_polygon"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -109,7 +109,7 @@ </member> <member name="geometry/source_geometry_mode" type="int" setter="set_source_geometry_mode" getter="get_source_geometry_mode" default="0"> </member> - <member name="geometry/source_group_name" type="String" setter="set_source_group_name" getter="get_source_group_name"> + <member name="geometry/source_group_name" type="StringName" setter="set_source_group_name" getter="get_source_group_name"> </member> <member name="polygon/verts_per_poly" type="float" setter="set_verts_per_poly" getter="get_verts_per_poly" default="6.0"> </member> diff --git a/doc/classes/NavigationObstacle2D.xml b/doc/classes/NavigationObstacle2D.xml index 4d12b985e0..ddd96975f1 100644 --- a/doc/classes/NavigationObstacle2D.xml +++ b/doc/classes/NavigationObstacle2D.xml @@ -4,7 +4,7 @@ 2D Obstacle used in navigation for collision avoidance. </brief_description> <description> - 2D Obstacle used in navigation for collision avoidance. The obstacle needs navigation data to work correctly. This can be done by having the obstacle as a child of a [Navigation2D] node, or using [method set_navigation]. [NavigationObstacle] is physics safe. + 2D Obstacle used in navigation for collision avoidance. The obstacle needs navigation data to work correctly. This can be done by having the obstacle as a child of a [Navigation2D] node, or using [method set_navigation]. [NavigationObstacle2D] is physics safe. </description> <tutorials> </tutorials> diff --git a/doc/classes/NavigationObstacle.xml b/doc/classes/NavigationObstacle3D.xml index 31cf01793a..e01a40ed73 100644 --- a/doc/classes/NavigationObstacle.xml +++ b/doc/classes/NavigationObstacle3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationObstacle" inherits="Node" version="4.0"> +<class name="NavigationObstacle3D" inherits="Node" version="4.0"> <brief_description> 3D Obstacle used in navigation for collision avoidance. </brief_description> <description> - 3D Obstacle used in navigation for collision avoidance. The obstacle needs navigation data to work correctly. This can be done by having the obstacle as a child of a [Navigation] node, or using [method set_navigation]. [NavigationObstacle] is physics safe. + 3D Obstacle used in navigation for collision avoidance. The obstacle needs navigation data to work correctly. This can be done by having the obstacle as a child of a [Navigation3D] node, or using [method set_navigation]. [NavigationObstacle3D] is physics safe. </description> <tutorials> </tutorials> @@ -13,7 +13,7 @@ <return type="Node"> </return> <description> - Returns the [Navigation] node that the obstacle is using for its navigation system. + Returns the [Navigation3D] node that the obstacle is using for its navigation system. </description> </method> <method name="set_navigation"> @@ -22,7 +22,7 @@ <argument index="0" name="navigation" type="Node"> </argument> <description> - Sets the [Navigation] node used by the obstacle. Useful when you don't want to make the obstacle a child of a [Navigation] node. + Sets the [Navigation3D] node used by the obstacle. Useful when you don't want to make the obstacle a child of a [Navigation3D] node. </description> </method> </methods> diff --git a/doc/classes/NavigationPolygon.xml b/doc/classes/NavigationPolygon.xml index 908617fb91..b0f77dff83 100644 --- a/doc/classes/NavigationPolygon.xml +++ b/doc/classes/NavigationPolygon.xml @@ -11,16 +11,16 @@ var outline = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)]) polygon.add_outline(outline) polygon.make_polygons_from_outlines() - $NavigationPolygonInstance.navpoly = polygon + $NavigationRegion2D.navpoly = polygon [/codeblock] Using [method add_polygon] and indices of the vertices array. [codeblock] var polygon = NavigationPolygon.new() var vertices = PackedVector2Array([Vector2(0, 0), Vector2(0, 50), Vector2(50, 50), Vector2(50, 0)]) polygon.set_vertices(vertices) - var indices = PackedIntArray(0, 3, 1) + var indices = PackedInt32Array(0, 3, 1) polygon.add_polygon(indices) - $NavigationPolygonInstance.navpoly = polygon + $NavigationRegion2D.navpoly = polygon [/codeblock] </description> <tutorials> @@ -49,7 +49,7 @@ <method name="add_polygon"> <return type="void"> </return> - <argument index="0" name="polygon" type="PackedIntArray"> + <argument index="0" name="polygon" type="PackedInt32Array"> </argument> <description> Adds a polygon using the indices of the vertices you get when calling [method get_vertices]. @@ -86,12 +86,12 @@ </description> </method> <method name="get_polygon"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="idx" type="int"> </argument> <description> - Returns a [PackedIntArray] containing the indices of the vertices of a created polygon. + Returns a [PackedInt32Array] containing the indices of the vertices of a created polygon. </description> </method> <method name="get_polygon_count" qualifiers="const"> diff --git a/doc/classes/NavigationPolygonInstance.xml b/doc/classes/NavigationRegion2D.xml index 34c6b09859..aef114e1db 100644 --- a/doc/classes/NavigationPolygonInstance.xml +++ b/doc/classes/NavigationRegion2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationPolygonInstance" inherits="Node2D" version="4.0"> +<class name="NavigationRegion2D" inherits="Node2D" version="4.0"> <brief_description> </brief_description> <description> diff --git a/doc/classes/NavigationMeshInstance.xml b/doc/classes/NavigationRegion3D.xml index 75bd62e278..b70bfb6596 100644 --- a/doc/classes/NavigationMeshInstance.xml +++ b/doc/classes/NavigationRegion3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationMeshInstance" inherits="Spatial" version="4.0"> +<class name="NavigationRegion3D" inherits="Node3D" version="4.0"> <brief_description> - An instance of a [NavigationMesh]. + A region of the navigation map. </brief_description> <description> - An instance of a [NavigationMesh]. It tells the [Navigation] node what can be navigated and what cannot, based on the [NavigationMesh] resource. This should be a child of a [Navigation] node. + A region of the navigation map. It tells the [Navigation3D] node what can be navigated and what cannot, based on the [NavigationMesh] resource. This should be a child of a [Navigation3D] node (even not a direct child). </description> <tutorials> </tutorials> @@ -13,13 +13,13 @@ <return type="void"> </return> <description> - Bakes the [NavigationMesh]. The baking is done in a seperate thread because navigation baking is not a cheap operation. This can be done at runtime. When it is completed, it automatically sets the new [NavigationMesh]. + Bakes the [NavigationMesh]. The baking is done in a separate thread because navigation baking is not a cheap operation. This can be done at runtime. When it is completed, it automatically sets the new [NavigationMesh]. </description> </method> </methods> <members> <member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true"> - Determines if the [NavigationMeshInstance] is enabled or disabled. + Determines if the [NavigationRegion3D] is enabled or disabled. </member> <member name="navmesh" type="NavigationMesh" setter="set_navigation_mesh" getter="get_navigation_mesh"> The [NavigationMesh] resource to use. diff --git a/doc/classes/Navigation2DServer.xml b/doc/classes/NavigationServer2D.xml index 08776e2b15..1b9099336c 100644 --- a/doc/classes/Navigation2DServer.xml +++ b/doc/classes/NavigationServer2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Navigation2DServer" inherits="Object" version="4.0"> +<class name="NavigationServer2D" inherits="Object" version="4.0"> <brief_description> Server interface for low-level 2D navigation access </brief_description> <description> - Navigation2DServer is the server responsible for all 2D navigation. It creates the agents, maps, and regions for navigation to work as expected. This keeps tracks of any call and executes them during the sync phase. This means that you can request any change to the map, using any thread, without worrying. + NavigationServer2D is the server responsible for all 2D navigation. It creates the agents, maps, and regions for navigation to work as expected. This keeps tracks of any call and executes them during the sync phase. This means that you can request any change to the map, using any thread, without worrying. </description> <tutorials> </tutorials> @@ -32,7 +32,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <argument index="3" name="userdata" type="Variant" default="null"> </argument> diff --git a/doc/classes/NavigationServer.xml b/doc/classes/NavigationServer3D.xml index ec14322be3..1f621c3c81 100644 --- a/doc/classes/NavigationServer.xml +++ b/doc/classes/NavigationServer3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="NavigationServer" inherits="Object" version="4.0"> +<class name="NavigationServer3D" inherits="Object" version="4.0"> <brief_description> Server interface for low-level 3D navigation access </brief_description> <description> - NavigationServer is the server responsible for all 3D navigation. It creates the agents, maps, and regions for navigation to work as expected. This keeps tracks of any call and executes them during the sync phase. This means that you can request any change to the map, using any thread, without worrying. + NavigationServer3D is the server responsible for all 3D navigation. It creates the agents, maps, and regions for navigation to work as expected. This keeps tracks of any call and executes them during the sync phase. This means that you can request any change to the map, using any thread, without worrying. </description> <tutorials> </tutorials> @@ -32,7 +32,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <argument index="3" name="userdata" type="Variant" default="null"> </argument> @@ -298,6 +298,17 @@ Sets the map up direction. </description> </method> + <method name="process"> + <return type="void"> + </return> + <argument index="0" name="delta_time" type="float"> + </argument> + <description> + Process the collision avoidance agents. + The result of this process is needed by the physics server, so this must be called in the main thread. + Note: This function is not thread safe. + </description> + </method> <method name="region_bake_navmesh" qualifiers="const"> <return type="void"> </return> @@ -358,15 +369,6 @@ Control activation of this server. </description> </method> - <method name="step"> - <return type="void"> - </return> - <argument index="0" name="delta_time" type="float"> - </argument> - <description> - Steps the server. This is not threadsafe and must be called in single thread. - </description> - </method> </methods> <constants> </constants> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index 5fd0da7452..1c745de7f0 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -53,7 +53,7 @@ <description> Called when there is an input event. The input event propagates up through the node tree until a node consumes it. It is only called if input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_input]. - To consume the input event and stop it propagating further to other nodes, [method SceneTree.set_input_as_handled] can be called. + To consume the input event and stop it propagating further to other nodes, [method Viewport.set_input_as_handled] can be called. For gameplay input, [method _unhandled_input] and [method _unhandled_key_input] are usually a better fit as they allow the GUI to intercept the events first. </description> </method> @@ -97,7 +97,7 @@ <description> Called when an [InputEvent] hasn't been consumed by [method _input] or any GUI. The input event propagates up through the node tree until a node consumes it. It is only called if unhandled input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_unhandled_input]. - To consume the input event and stop it propagating further to other nodes, [method SceneTree.set_input_as_handled] can be called. + To consume the input event and stop it propagating further to other nodes, [method Viewport.set_input_as_handled] can be called. For gameplay input, this and [method _unhandled_key_input] are usually a better fit than [method _input] as they allow the GUI to intercept the events first. </description> </method> @@ -109,7 +109,7 @@ <description> Called when an [InputEventKey] hasn't been consumed by [method _input] or any GUI. The input event propagates up through the node tree until a node consumes it. It is only called if unhandled key input processing is enabled, which is done automatically if this method is overridden, and can be toggled with [method set_process_unhandled_key_input]. - To consume the input event and stop it propagating further to other nodes, [method SceneTree.set_input_as_handled] can be called. + To consume the input event and stop it propagating further to other nodes, [method Viewport.set_input_as_handled] can be called. For gameplay input, this and [method _unhandled_input] are usually a better fit than [method _input] as they allow the GUI to intercept the events first. </description> </method> @@ -129,27 +129,29 @@ child_node.get_parent().remove_child(child_node) add_child(child_node) [/codeblock] + If you need the child node to be added below a specific node in the list of children, use [method add_child_below_node] instead of this method. [b]Note:[/b] If you want a child to be persisted to a [PackedScene], you must set [member owner] in addition to calling [method add_child]. This is typically relevant for [url=https://godot.readthedocs.io/en/latest/tutorials/misc/running_code_in_the_editor.html]tool scripts[/url] and [url=https://godot.readthedocs.io/en/latest/tutorials/plugins/editor/index.html]editor plugins[/url]. If [method add_child] is called without setting [member owner], the newly added [Node] will not be visible in the scene tree, though it will be visible in the 2D/3D view. </description> </method> <method name="add_child_below_node"> <return type="void"> </return> - <argument index="0" name="node" type="Node"> + <argument index="0" name="preceding_node" type="Node"> </argument> - <argument index="1" name="child_node" type="Node"> + <argument index="1" name="node" type="Node"> </argument> <argument index="2" name="legible_unique_name" type="bool" default="false"> </argument> <description> - Adds a child node. The child is placed below the given node in the list of children. + Adds a child node below the [code]preceding_node[/code]. If [code]legible_unique_name[/code] is [code]true[/code], the child node will have an human-readable name based on the name of the node being instanced instead of its type. + Use [method add_child] instead of this method if you don't need the child node to be added below a specific node in the list of children. </description> </method> <method name="add_to_group"> <return type="void"> </return> - <argument index="0" name="group" type="String"> + <argument index="0" name="group" type="StringName"> </argument> <argument index="1" name="persistent" type="bool" default="false"> </argument> @@ -219,7 +221,7 @@ </description> </method> <method name="get_children" qualifiers="const"> - <return type="Array"> + <return type="Node[]"> </return> <description> Returns an array of references to node's children. @@ -236,7 +238,7 @@ <return type="int"> </return> <description> - Returns the node's index, i.e. its position among the siblings of its parent. + Returns the node's order in the scene tree branch. For example, if called on the first child node the position is [code]0[/code]. </description> </method> <method name="get_network_master" qualifiers="const"> @@ -326,14 +328,7 @@ <return type="float"> </return> <description> - Returns the time elapsed since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed via [member Engine.target_fps]. - </description> - </method> - <method name="get_position_in_parent" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the node's order in the scene tree branch. For example, if called on the first child node the position is [code]0[/code]. + Returns the time elapsed since the last physics-bound frame (see [method _physics_process]). This is always a constant value in physics processing unless the frames per second is changed via [member Engine.iterations_per_second]. </description> </method> <method name="get_process_delta_time" qualifiers="const"> @@ -410,7 +405,7 @@ <method name="is_in_group" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="group" type="String"> + <argument index="0" name="group" type="StringName"> </argument> <description> Returns [code]true[/code] if this node is in the specified group. See notes in the description, and the group methods in [SceneTree]. @@ -532,7 +527,7 @@ <method name="propagate_call"> <return type="void"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <argument index="1" name="args" type="Array" default="[ ]"> </argument> @@ -584,7 +579,7 @@ <method name="remove_from_group"> <return type="void"> </return> - <argument index="0" name="group" type="String"> + <argument index="0" name="group" type="StringName"> </argument> <description> Removes a node from a group. See notes in the description, and the group methods in [SceneTree]. @@ -611,7 +606,7 @@ <method name="rpc" qualifiers="vararg"> <return type="Variant"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <description> Sends a remote procedure call request for the given [code]method[/code] to peers on the network (and locally), optionally sending all additional arguments as arguments to the method called by the RPC. The call request will only be received by nodes with the same [NodePath], including the exact same node name. Behaviour depends on the RPC configuration for the given method, see [method rpc_config]. Methods are not exposed to RPCs by default. See also [method rset] and [method rset_config] for properties. Returns an empty [Variant]. @@ -621,7 +616,7 @@ <method name="rpc_config"> <return type="int"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <argument index="1" name="mode" type="int" enum="MultiplayerAPI.RPCMode"> </argument> @@ -634,7 +629,7 @@ </return> <argument index="0" name="peer_id" type="int"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <description> Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] (see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty [Variant]. @@ -643,7 +638,7 @@ <method name="rpc_unreliable" qualifiers="vararg"> <return type="Variant"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <description> Sends a [method rpc] using an unreliable protocol. Returns an empty [Variant]. @@ -654,7 +649,7 @@ </return> <argument index="0" name="peer_id" type="int"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <description> Sends a [method rpc] to a specific peer identified by [code]peer_id[/code] using an unreliable protocol (see [method NetworkedMultiplayerPeer.set_target_peer]). Returns an empty [Variant]. @@ -663,7 +658,7 @@ <method name="rset"> <return type="void"> </return> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> @@ -674,7 +669,7 @@ <method name="rset_config"> <return type="int"> </return> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="mode" type="int" enum="MultiplayerAPI.RPCMode"> </argument> @@ -687,7 +682,7 @@ </return> <argument index="0" name="peer_id" type="int"> </argument> - <argument index="1" name="property" type="String"> + <argument index="1" name="property" type="StringName"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -698,7 +693,7 @@ <method name="rset_unreliable"> <return type="void"> </return> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> @@ -711,7 +706,7 @@ </return> <argument index="0" name="peer_id" type="int"> </argument> - <argument index="1" name="property" type="String"> + <argument index="1" name="property" type="StringName"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -745,7 +740,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a [constant NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine.target_fps] to change) interval (and the [method _physics_process] callback will be called if exists). Enabled automatically if [method _physics_process] is overridden. Any calls to this before [method _ready] will be ignored. + Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a [constant NOTIFICATION_PHYSICS_PROCESS] at a fixed (usually 60 FPS, see [member Engine.iterations_per_second] to change) interval (and the [method _physics_process] callback will be called if exists). Enabled automatically if [method _physics_process] is overridden. Any calls to this before [method _ready] will be ignored. </description> </method> <method name="set_physics_process_internal"> @@ -830,7 +825,7 @@ <member name="multiplayer" type="MultiplayerAPI" setter="" getter="get_multiplayer"> The [MultiplayerAPI] instance associated with this node. Either the [member custom_multiplayer], or the default SceneTree one (if inside tree). </member> - <member name="name" type="String" setter="set_name" getter="get_name"> + <member name="name" type="StringName" setter="set_name" getter="get_name"> The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed. </member> <member name="owner" type="Node" setter="set_owner" getter="get_owner"> @@ -936,42 +931,40 @@ Notification received from the OS when the game window is unfocused. Implemented on all platforms. </constant> - <constant name="NOTIFICATION_WM_QUIT_REQUEST" value="1006"> - Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4). + <constant name="NOTIFICATION_WM_CLOSE_REQUEST" value="1006"> + Notification received from the OS when a close request is sent (e.g. closing the window with a "Close" button or Alt+F4). Implemented on desktop platforms. </constant> <constant name="NOTIFICATION_WM_GO_BACK_REQUEST" value="1007"> Notification received from the OS when a go back request is sent (e.g. pressing the "Back" button on Android). Specific to the Android platform. </constant> - <constant name="NOTIFICATION_WM_UNFOCUS_REQUEST" value="1008"> - Notification received from the OS when an unfocus request is sent (e.g. another OS window wants to take the focus). - No supported platforms currently send this notification. + <constant name="NOTIFICATION_WM_SIZE_CHANGED" value="1008"> </constant> - <constant name="NOTIFICATION_OS_MEMORY_WARNING" value="1009"> + <constant name="NOTIFICATION_OS_MEMORY_WARNING" value="2009"> Notification received from the OS when the application is exceeding its allocated memory. Specific to the iOS platform. </constant> - <constant name="NOTIFICATION_TRANSLATION_CHANGED" value="1010"> + <constant name="NOTIFICATION_TRANSLATION_CHANGED" value="2010"> Notification received when translations may have changed. Can be triggered by the user changing the locale. Can be used to respond to language changes, for example to change the UI strings on the fly. Useful when working with the built-in translation support, like [method Object.tr]. </constant> - <constant name="NOTIFICATION_WM_ABOUT" value="1011"> + <constant name="NOTIFICATION_WM_ABOUT" value="2011"> Notification received from the OS when a request for "About" information is sent. Specific to the macOS platform. </constant> - <constant name="NOTIFICATION_CRASH" value="1012"> + <constant name="NOTIFICATION_CRASH" value="2012"> Notification received from Godot's crash handler when the engine is about to crash. Implemented on desktop platforms if the crash handler is enabled. </constant> - <constant name="NOTIFICATION_OS_IME_UPDATE" value="1013"> + <constant name="NOTIFICATION_OS_IME_UPDATE" value="2013"> Notification received from the OS when an update of the Input Method Engine occurs (e.g. change of IME cursor position or composition string). Specific to the macOS platform. </constant> - <constant name="NOTIFICATION_APP_RESUMED" value="1014"> + <constant name="NOTIFICATION_APP_RESUMED" value="2014"> Notification received from the OS when the app is resumed. Specific to the Android platform. </constant> - <constant name="NOTIFICATION_APP_PAUSED" value="1015"> + <constant name="NOTIFICATION_APP_PAUSED" value="2015"> Notification received from the OS when the app is paused. Specific to the Android platform. </constant> diff --git a/doc/classes/Spatial.xml b/doc/classes/Node3D.xml index d057db8519..3e7d4d4c05 100644 --- a/doc/classes/Spatial.xml +++ b/doc/classes/Node3D.xml @@ -1,11 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Spatial" inherits="Node" version="4.0"> +<class name="Node3D" inherits="Node" version="4.0"> <brief_description> Most basic 3D game object, parent of all 3D-related nodes. </brief_description> <description> - Most basic 3D game object, with a 3D [Transform] and visibility settings. All other 3D game objects inherit from Spatial. Use [Spatial] as a parent node to move, scale, rotate and show/hide children in a 3D project. - Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the [Spatial] object is set as top-level. Affine operations in this coordinate system correspond to direct affine operations on the [Spatial]'s transform. The word local below refers to this coordinate system. The coordinate system that is attached to the [Spatial] object itself is referred to as object-local coordinate system. + Most basic 3D game object, with a 3D [Transform] and visibility settings. All other 3D game objects inherit from Node3D. Use [Node3D] as a parent node to move, scale, rotate and show/hide children in a 3D project. + Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the [Node3D] object is set as top-level. Affine operations in this coordinate system correspond to direct affine operations on the [Node3D]'s transform. The word local below refers to this coordinate system. The coordinate system that is attached to the [Node3D] object itself is referred to as object-local coordinate system. + [b]Note:[/b] Unless otherwise specified, all methods that have angle parameters must have angles specified as [i]radians[/i]. To convert degrees to radians, use [method @GDScript.deg2rad]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/3d/introduction_to_3d.html</link> @@ -19,17 +20,17 @@ </description> </method> <method name="get_parent_spatial" qualifiers="const"> - <return type="Spatial"> + <return type="Node3D"> </return> <description> - Returns the parent [Spatial], or an empty [Object] if no parent exists or parent is not of type [Spatial]. + Returns the parent [Node3D], or an empty [Object] if no parent exists or parent is not of type [Node3D]. </description> </method> <method name="get_world" qualifiers="const"> - <return type="World"> + <return type="World3D"> </return> <description> - Returns the current [World] resource this [Spatial] node is registered to. + Returns the current [World3D] resource this [Node3D] node is registered to. </description> </method> <method name="global_rotate"> @@ -72,7 +73,7 @@ <return type="bool"> </return> <description> - Returns whether node notifies about its local transformation changes. [Spatial] will not propagate this by default. + Returns whether node notifies about its local transformation changes. [Node3D] will not propagate this by default. </description> </method> <method name="is_scale_disabled" qualifiers="const"> @@ -93,7 +94,7 @@ <return type="bool"> </return> <description> - Returns whether the node notifies about its global and local transformation changes. [Spatial] will not propagate this by default. + Returns whether the node notifies about its global and local transformation changes. [Node3D] will not propagate this by default. </description> </method> <method name="is_visible_in_tree" qualifiers="const"> @@ -234,7 +235,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Sets whether the node notifies about its local transformation changes. [Spatial] will not propagate this by default. + Sets whether the node notifies about its local transformation changes. [Node3D] will not propagate this by default. </description> </method> <method name="set_notify_transform"> @@ -243,7 +244,7 @@ <argument index="0" name="enable" type="bool"> </argument> <description> - Sets whether the node notifies about its global and local transformation changes. [Spatial] will not propagate this by default. + Sets whether the node notifies about its global and local transformation changes. [Node3D] will not propagate this by default. </description> </method> <method name="show"> @@ -294,16 +295,16 @@ <return type="void"> </return> <description> - Updates the [SpatialGizmo] of this node. + Updates the [Node3DGizmo] of this node. </description> </method> </methods> <members> - <member name="gizmo" type="SpatialGizmo" setter="set_gizmo" getter="get_gizmo"> - The [SpatialGizmo] for this node. Used for example in [EditorSpatialGizmo] as custom visualization and editing handles in Editor. + <member name="gizmo" type="Node3DGizmo" setter="set_gizmo" getter="get_gizmo"> + The [Node3DGizmo] for this node. Used for example in [EditorNode3DGizmo] as custom visualization and editing handles in Editor. </member> <member name="global_transform" type="Transform" setter="set_global_transform" getter="get_global_transform"> - World space (global) [Transform] of this node. + World3D space (global) [Transform] of this node. </member> <member name="rotation" type="Vector3" setter="set_rotation" getter="get_rotation"> Rotation part of the local transformation in radians, specified in terms of YXZ-Euler angles in the format (X angle, Y angle, Z angle). @@ -334,17 +335,17 @@ </signals> <constants> <constant name="NOTIFICATION_TRANSFORM_CHANGED" value="2000"> - Spatial nodes receives this notification when their global transform changes. This means that either the current or a parent node changed its transform. + Node3D nodes receives this notification when their global transform changes. This means that either the current or a parent node changed its transform. In order for [constant NOTIFICATION_TRANSFORM_CHANGED] to work, users first need to ask for it, with [method set_notify_transform]. </constant> <constant name="NOTIFICATION_ENTER_WORLD" value="41"> - Spatial nodes receives this notification when they are registered to new [World] resource. + Node3D nodes receives this notification when they are registered to new [World3D] resource. </constant> <constant name="NOTIFICATION_EXIT_WORLD" value="42"> - Spatial nodes receives this notification when they are unregistered from current [World] resource. + Node3D nodes receives this notification when they are unregistered from current [World3D] resource. </constant> <constant name="NOTIFICATION_VISIBILITY_CHANGED" value="43"> - Spatial nodes receives this notification when their visibility changes. + Node3D nodes receives this notification when their visibility changes. </constant> </constants> </class> diff --git a/doc/classes/MonoGCHandle.xml b/doc/classes/Node3DGizmo.xml index 1e33dd1359..55080614fc 100644 --- a/doc/classes/MonoGCHandle.xml +++ b/doc/classes/Node3DGizmo.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="MonoGCHandle" inherits="Reference" version="4.0"> +<class name="Node3DGizmo" inherits="Reference" version="4.0"> <brief_description> </brief_description> <description> diff --git a/doc/classes/NodePath.xml b/doc/classes/NodePath.xml index e8ab3e536e..dc7fd1be3f 100644 --- a/doc/classes/NodePath.xml +++ b/doc/classes/NodePath.xml @@ -4,7 +4,7 @@ Pre-parsed scene tree path. </brief_description> <description> - A pre-parsed relative or absolute path in a scene tree, for use with [method Node.get_node] and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For instance, [code]"Path2D/PathFollow2D/Sprite:texture:size"[/code] would refer to the [code]size[/code] property of the [code]texture[/code] resource on the node named [code]"Sprite"[/code] which is a child of the other named nodes in the path. + 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. 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: @@ -30,20 +30,20 @@ <argument index="0" name="from" type="String"> </argument> <description> - Creates a NodePath from a string, e.g. [code]"Path2D/PathFollow2D/Sprite:texture:size"[/code]. A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, [code]"."[/code] and [code]".."[/code] indicate the current node and its parent. + Creates a NodePath from a string, e.g. [code]"Path2D/PathFollow2D/Sprite2D:texture:size"[/code]. A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, [code]"."[/code] and [code]".."[/code] indicate the current node and its parent. The "subnames" optionally included after the path to the target node can point to resources or properties, and can also be nested. Examples of valid NodePaths (assuming that those nodes exist and have the referenced resources or properties): [codeblock] - # Points to the Sprite node - "Path2D/PathFollow2D/Sprite" - # Points to the Sprite node and its "texture" resource. - # get_node() would retrieve "Sprite", while get_node_and_resource() - # would retrieve both the Sprite node and the "texture" resource. - "Path2D/PathFollow2D/Sprite:texture" - # Points to the Sprite node and its "position" property. - "Path2D/PathFollow2D/Sprite:position" - # Points to the Sprite node and the "x" component of its "position" property. - "Path2D/PathFollow2D/Sprite:position:x" + # Points to the Sprite2D node + "Path2D/PathFollow2D/Sprite2D" + # Points to the Sprite2D node and its "texture" resource. + # get_node() would retrieve "Sprite2D", while get_node_and_resource() + # would retrieve both the Sprite2D node and the "texture" resource. + "Path2D/PathFollow2D/Sprite2D:texture" + # Points to the Sprite2D node and its "position" property. + "Path2D/PathFollow2D/Sprite2D:position" + # Points to the Sprite2D node and the "x" component of its "position" property. + "Path2D/PathFollow2D/Sprite2D:position:x" # Absolute path (from "root") "/root/Level/Path2D" [/codeblock] @@ -69,7 +69,7 @@ <description> Returns all subnames concatenated with a colon character ([code]:[/code]) as separator, i.e. the right side of the first colon in a node path. [codeblock] - var nodepath = NodePath("Path2D/PathFollow2D/Sprite:texture:load_path") + var nodepath = NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path") print(nodepath.get_concatenated_subnames()) # texture:load_path [/codeblock] </description> @@ -82,7 +82,7 @@ <description> Gets the node name indicated by [code]idx[/code] (0 to [method get_name_count]). [codeblock] - var node_path = NodePath("Path2D/PathFollow2D/Sprite") + var node_path = NodePath("Path2D/PathFollow2D/Sprite2D") print(node_path.get_name(0)) # Path2D print(node_path.get_name(1)) # PathFollow2D print(node_path.get_name(2)) # Sprite @@ -94,7 +94,7 @@ </return> <description> Gets the number of node names which make up the path. Subnames (see [method get_subname_count]) are not included. - For example, [code]"Path2D/PathFollow2D/Sprite"[/code] has 3 names. + For example, [code]"Path2D/PathFollow2D/Sprite2D"[/code] has 3 names. </description> </method> <method name="get_subname"> @@ -105,7 +105,7 @@ <description> Gets the resource or property name indicated by [code]idx[/code] (0 to [method get_subname_count]). [codeblock] - var node_path = NodePath("Path2D/PathFollow2D/Sprite:texture:load_path") + var node_path = NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path") print(node_path.get_subname(0)) # texture print(node_path.get_subname(1)) # load_path [/codeblock] @@ -116,7 +116,7 @@ </return> <description> Gets the number of resource or property names ("subnames") in the path. Each subname is listed after a colon character ([code]:[/code]) in the node path. - For example, [code]"Path2D/PathFollow2D/Sprite:texture:load_path"[/code] has 2 subnames. + For example, [code]"Path2D/PathFollow2D/Sprite2D:texture:load_path"[/code] has 2 subnames. </description> </method> <method name="is_absolute"> diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index 6ce2d4bcbb..db79ee7765 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -9,24 +9,6 @@ <tutorials> </tutorials> <methods> - <method name="alert"> - <return type="void"> - </return> - <argument index="0" name="text" type="String"> - </argument> - <argument index="1" name="title" type="String" default=""Alert!""> - </argument> - <description> - Displays a modal dialog box using the host OS' facilities. Execution is blocked until the dialog is closed. - </description> - </method> - <method name="can_draw" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the host OS allows drawing. - </description> - </method> <method name="can_use_threads" qualifiers="const"> <return type="bool"> </return> @@ -34,13 +16,6 @@ Returns [code]true[/code] if the current host platform is using multiple threads. </description> </method> - <method name="center_window"> - <return type="void"> - </return> - <description> - Centers the window on the screen if in windowed mode. - </description> - </method> <method name="close_midi_inputs"> <return type="void"> </return> @@ -124,29 +99,13 @@ [b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and Windows. </description> </method> - <method name="find_scancode_from_string" qualifiers="const"> + <method name="find_keycode_from_string" qualifiers="const"> <return type="int"> </return> <argument index="0" name="string" type="String"> </argument> <description> - Returns the scancode of the given string (e.g. "Escape"). - </description> - </method> - <method name="get_audio_driver_count" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the total number of available audio drivers. - </description> - </method> - <method name="get_audio_driver_name" qualifiers="const"> - <return type="String"> - </return> - <argument index="0" name="driver" type="int"> - </argument> - <description> - Returns the audio driver name for the given index. + Returns the keycode of the given string (e.g. "Escape"). </description> </method> <method name="get_cmdline_args"> @@ -165,13 +124,6 @@ [b]Note:[/b] This method is implemented on Linux, macOS and Windows. </description> </method> - <method name="get_current_video_driver" qualifiers="const"> - <return type="int" enum="OS.VideoDriver"> - </return> - <description> - Returns the currently used video driver, using one of the values from [enum VideoDriver]. - </description> - </method> <method name="get_date" qualifiers="const"> <return type="Dictionary"> </return> @@ -224,31 +176,14 @@ [b]Note:[/b] This method is implemented on Android. </description> </method> - <method name="get_ime_selection" qualifiers="const"> - <return type="Vector2"> - </return> - <description> - Returns the IME cursor position (the currently-edited portion of the string) relative to the characters in the composition string. - [constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to notify it of changes to the IME cursor position. - [b]Note:[/b] This method is implemented on macOS. - </description> - </method> - <method name="get_ime_text" qualifiers="const"> - <return type="String"> - </return> - <description> - Returns the IME intermediate composition string. - [constant MainLoop.NOTIFICATION_OS_IME_UPDATE] is sent to the application to notify it of changes to the IME composition string. - [b]Note:[/b] This method is implemented on macOS. - </description> - </method> - <method name="get_latin_keyboard_variant" qualifiers="const"> + <method name="get_keycode_string" qualifiers="const"> <return type="String"> </return> + <argument index="0" name="code" type="int"> + </argument> <description> - Returns the current latin keyboard variant as a String. - Possible return values are: [code]"QWERTY"[/code], [code]"AZERTY"[/code], [code]"QZERTY"[/code], [code]"DVORAK"[/code], [code]"NEO"[/code], [code]"COLEMAK"[/code] or [code]"ERROR"[/code]. - [b]Note:[/b] This method is implemented on Linux, macOS and Windows. Returns [code]"QWERTY"[/code] on unsupported platforms. + Returns the given keycode as a string (e.g. Return values: [code]"Escape"[/code], [code]"Shift+Escape"[/code]). + See also [member InputEventKey.keycode] and [method InputEventKey.get_keycode_with_modifiers]. </description> </method> <method name="get_locale" qualifiers="const"> @@ -288,67 +223,6 @@ Returns the number of threads available on the host machine. </description> </method> - <method name="get_real_window_size" qualifiers="const"> - <return type="Vector2"> - </return> - <description> - Returns the window size including decorations like window borders. - </description> - </method> - <method name="get_scancode_string" qualifiers="const"> - <return type="String"> - </return> - <argument index="0" name="code" type="int"> - </argument> - <description> - Returns the given scancode as a string (e.g. Return values: [code]"Escape"[/code], [code]"Shift+Escape"[/code]). - See also [member InputEventKey.scancode] and [method InputEventKey.get_scancode_with_modifiers]. - </description> - </method> - <method name="get_screen_count" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the number of displays attached to the host machine. - </description> - </method> - <method name="get_screen_dpi" qualifiers="const"> - <return type="int"> - </return> - <argument index="0" name="screen" type="int" default="-1"> - </argument> - <description> - Returns the dots per inch density of the specified screen. If [code]screen[/code] is [/code]-1[/code] (the default value), the current screen will be used. - On Android devices, the actual screen densities are grouped into six generalized densities: - [codeblock] - ldpi - 120 dpi - mdpi - 160 dpi - hdpi - 240 dpi - xhdpi - 320 dpi - xxhdpi - 480 dpi - xxxhdpi - 640 dpi - [/codeblock] - [b]Note:[/b] This method is implemented on Android, Linux, macOS and Windows. Returns [code]72[/code] on unsupported platforms. - </description> - </method> - <method name="get_screen_position" qualifiers="const"> - <return type="Vector2"> - </return> - <argument index="0" name="screen" type="int" default="-1"> - </argument> - <description> - Returns the position of the specified screen by index. If [code]screen[/code] is [/code]-1[/code] (the default value), the current screen will be used. - </description> - </method> - <method name="get_screen_size" qualifiers="const"> - <return type="Vector2"> - </return> - <argument index="0" name="screen" type="int" default="-1"> - </argument> - <description> - Returns the dimensions in pixels of the specified screen. If [code]screen[/code] is [/code]-1[/code] (the default value), the current screen will be used. - </description> - </method> <method name="get_splash_tick_msec" qualifiers="const"> <return type="int"> </return> @@ -461,84 +335,6 @@ If the project name is empty, [code]user://[/code] falls back to [code]res://[/code]. </description> </method> - <method name="get_video_driver_count" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the number of video drivers supported on the current platform. - </description> - </method> - <method name="get_video_driver_name" qualifiers="const"> - <return type="String"> - </return> - <argument index="0" name="driver" type="int" enum="OS.VideoDriver"> - </argument> - <description> - Returns the name of the video driver matching the given [code]driver[/code] index. This index is a value from [enum VideoDriver], and you can use [method get_current_video_driver] to get the current backend's index. - </description> - </method> - <method name="get_virtual_keyboard_height"> - <return type="int"> - </return> - <description> - Returns the on-screen keyboard's height in pixels. Returns 0 if there is no keyboard or if it is currently hidden. - </description> - </method> - <method name="get_window_safe_area" qualifiers="const"> - <return type="Rect2"> - </return> - <description> - Returns unobscured area of the window where interactive controls should be rendered. - </description> - </method> - <method name="global_menu_add_item"> - <return type="void"> - </return> - <argument index="0" name="menu" type="String"> - </argument> - <argument index="1" name="label" type="String"> - </argument> - <argument index="2" name="id" type="Variant"> - </argument> - <argument index="3" name="meta" type="Variant"> - </argument> - <description> - Add a new item with text "label" to global menu. Use "_dock" menu to add item to the macOS dock icon menu. - [b]Note:[/b] This method is implemented on macOS. - </description> - </method> - <method name="global_menu_add_separator"> - <return type="void"> - </return> - <argument index="0" name="menu" type="String"> - </argument> - <description> - Add a separator between items. Separators also occupy an index. - [b]Note:[/b] This method is implemented on macOS. - </description> - </method> - <method name="global_menu_clear"> - <return type="void"> - </return> - <argument index="0" name="menu" type="String"> - </argument> - <description> - Clear the global menu, in effect removing all items. - [b]Note:[/b] This method is implemented on macOS. - </description> - </method> - <method name="global_menu_remove_item"> - <return type="void"> - </return> - <argument index="0" name="menu" type="String"> - </argument> - <argument index="1" name="idx" type="int"> - </argument> - <description> - Removes the item at index "idx" from the global menu. Note that the indexes of items after the removed item are going to be shifted by one. - [b]Note:[/b] This method is implemented on macOS. - </description> - </method> <method name="has_environment" qualifiers="const"> <return type="bool"> </return> @@ -558,27 +354,6 @@ [b]Note:[/b] Tag names are case-sensitive. </description> </method> - <method name="has_touchscreen_ui_hint" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the device has a touchscreen or emulates one. - </description> - </method> - <method name="has_virtual_keyboard" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the platform has a virtual keyboard, [code]false[/code] otherwise. - </description> - </method> - <method name="hide_virtual_keyboard"> - <return type="void"> - </return> - <description> - Hides the virtual keyboard if it is shown, does nothing otherwise. - </description> - </method> <method name="is_debug_build" qualifiers="const"> <return type="bool"> </return> @@ -588,20 +363,13 @@ To check whether the Godot binary used to run the project is an export template (debug or release), use [code]OS.has_feature("standalone")[/code] instead. </description> </method> - <method name="is_ok_left_and_cancel_right" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the [b]OK[/b] button should appear on the left and [b]Cancel[/b] on the right. - </description> - </method> - <method name="is_scancode_unicode" qualifiers="const"> + <method name="is_keycode_unicode" qualifiers="const"> <return type="bool"> </return> <argument index="0" name="code" type="int"> </argument> <description> - Returns [code]true[/code] if the input scancode corresponds to a Unicode character. + Returns [code]true[/code] if the input keycode corresponds to a Unicode character. </description> </method> <method name="is_stdout_verbose" qualifiers="const"> @@ -618,21 +386,6 @@ If [code]true[/code], the [code]user://[/code] file system is persistent, so that its state is the same after a player quits and starts the game again. Relevant to the HTML5 platform, where this persistence may be unavailable. </description> </method> - <method name="is_window_always_on_top" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the window should always be on top of other windows. - </description> - </method> - <method name="is_window_focused" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the window is currently focused. - [b]Note:[/b] Only implemented on desktop platforms. On other platforms, it will always return [code]true[/code]. - </description> - </method> <method name="kill"> <return type="int" enum="Error"> </return> @@ -644,62 +397,6 @@ [b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and Windows. </description> </method> - <method name="move_window_to_foreground"> - <return type="void"> - </return> - <description> - Moves the window to the front. - [b]Note:[/b] This method is implemented on Linux, macOS and Windows. - </description> - </method> - <method name="native_video_is_playing"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if native video is playing. - [b]Note:[/b] This method is implemented on Android and iOS. - </description> - </method> - <method name="native_video_pause"> - <return type="void"> - </return> - <description> - Pauses native video playback. - [b]Note:[/b] This method is implemented on Android and iOS. - </description> - </method> - <method name="native_video_play"> - <return type="int" enum="Error"> - </return> - <argument index="0" name="path" type="String"> - </argument> - <argument index="1" name="volume" type="float"> - </argument> - <argument index="2" name="audio_track" type="String"> - </argument> - <argument index="3" name="subtitle_track" type="String"> - </argument> - <description> - Plays native video from the specified path, at the given volume and with audio and subtitle tracks. - [b]Note:[/b] This method is implemented on Android and iOS, and the current Android implementation does not support the [code]volume[/code], [code]audio_track[/code] and [code]subtitle_track[/code] options. - </description> - </method> - <method name="native_video_stop"> - <return type="void"> - </return> - <description> - Stops native video playback. - [b]Note:[/b] This method is implemented on Android and iOS. - </description> - </method> - <method name="native_video_unpause"> - <return type="void"> - </return> - <description> - Resumes native video playback. - [b]Note:[/b] This method is implemented on Android and iOS. - </description> - </method> <method name="open_midi_inputs"> <return type="void"> </return> @@ -742,14 +439,6 @@ Shows all resources currently used by the game. </description> </method> - <method name="request_attention"> - <return type="void"> - </return> - <description> - Request the user attention to the window. It'll flash the taskbar button on Windows or bounce the dock icon on OSX. - [b]Note:[/b] This method is implemented on Linux, macOS and Windows. - </description> - </method> <method name="request_permission"> <return type="bool"> </return> @@ -767,51 +456,6 @@ [b]Note:[/b] This method is implemented on Android. </description> </method> - <method name="set_icon"> - <return type="void"> - </return> - <argument index="0" name="icon" type="Image"> - </argument> - <description> - Sets the game's icon using an [Image] resource. - The same image is used for window caption, taskbar/dock and window selection dialog. Image is scaled as needed. - [b]Note:[/b] This method is implemented on HTML5, Linux, macOS and Windows. - </description> - </method> - <method name="set_ime_active"> - <return type="void"> - </return> - <argument index="0" name="active" type="bool"> - </argument> - <description> - Sets whether IME input mode should be enabled. - If active IME handles key events before the application and creates an composition string and suggestion list. - Application can retrieve the composition status by using [method get_ime_selection] and [method get_ime_text] functions. - Completed composition string is committed when input is finished. - [b]Note:[/b] This method is implemented on Linux, macOS and Windows. - </description> - </method> - <method name="set_ime_position"> - <return type="void"> - </return> - <argument index="0" name="position" type="Vector2"> - </argument> - <description> - Sets position of IME suggestion list popup (in window coordinates). - [b]Note:[/b] This method is implemented on Linux, macOS and Windows. - </description> - </method> - <method name="set_native_icon"> - <return type="void"> - </return> - <argument index="0" name="filename" type="String"> - </argument> - <description> - Sets the game's icon using a multi-size platform-specific icon file ([code]*.ico[/code] on Windows and [code]*.icns[/code] on macOS). - Appropriate size sub-icons are used for window caption, taskbar/dock and window selection dialog. - [b]Note:[/b] This method is implemented on macOS and Windows. - </description> - </method> <method name="set_thread_name"> <return type="int" enum="Error"> </return> @@ -830,27 +474,6 @@ Enables backup saves if [code]enabled[/code] is [code]true[/code]. </description> </method> - <method name="set_window_always_on_top"> - <return type="void"> - </return> - <argument index="0" name="enabled" type="bool"> - </argument> - <description> - Sets whether the window should always be on top. - [b]Note:[/b] This method is implemented on Linux, macOS and Windows. - </description> - </method> - <method name="set_window_title"> - <return type="void"> - </return> - <argument index="0" name="title" type="String"> - </argument> - <description> - Sets the window title to the specified string. - [b]Note:[/b] This should be used sporadically. Don't set this every frame, as that will negatively affect performance on some window managers. - [b]Note:[/b] This method is implemented on HTML5, Linux, macOS and Windows. - </description> - </method> <method name="shell_open"> <return type="int" enum="Error"> </return> @@ -864,82 +487,18 @@ [b]Note:[/b] This method is implemented on Android, iOS, HTML5, Linux, macOS and Windows. </description> </method> - <method name="show_virtual_keyboard"> - <return type="void"> - </return> - <argument index="0" name="existing_text" type="String" default=""""> - </argument> - <description> - Shows the virtual keyboard if the platform has one. The [code]existing_text[/code] parameter is useful for implementing your own LineEdit, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions). - [b]Note:[/b] This method is implemented on Android, iOS and UWP. - </description> - </method> </methods> <members> - <member name="clipboard" type="String" setter="set_clipboard" getter="get_clipboard" default=""""> - The clipboard from the host OS. Might be unavailable on some platforms. - </member> - <member name="current_screen" type="int" setter="set_current_screen" getter="get_current_screen" default="0"> - The current screen index (starting from 0). - </member> <member name="exit_code" type="int" setter="set_exit_code" getter="get_exit_code" default="0"> The exit code passed to the OS when the main loop exits. By convention, an exit code of [code]0[/code] indicates success whereas a non-zero exit code indicates an error. For portability reasons, the exit code should be set between 0 and 125 (inclusive). [b]Note:[/b] This value will be ignored if using [method SceneTree.quit] with an [code]exit_code[/code] argument passed. </member> - <member name="keep_screen_on" type="bool" setter="set_keep_screen_on" getter="is_keep_screen_on" default="true"> - If [code]true[/code], the engine tries to keep the screen on while the game is running. Useful on mobile. - </member> <member name="low_processor_usage_mode" type="bool" setter="set_low_processor_usage_mode" getter="is_in_low_processor_usage_mode" default="false"> If [code]true[/code], the engine optimizes for low processor usage by only refreshing the screen if needed. Can improve battery consumption on mobile. </member> <member name="low_processor_usage_mode_sleep_usec" type="int" setter="set_low_processor_usage_mode_sleep_usec" getter="get_low_processor_usage_mode_sleep_usec" default="6900"> The amount of sleeping between frames when the low-processor usage mode is enabled (in microseconds). Higher values will result in lower CPU usage. </member> - <member name="max_window_size" type="Vector2" setter="set_max_window_size" getter="get_max_window_size" default="Vector2( 0, 0 )"> - The maximum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to reset to the system default value. - </member> - <member name="min_window_size" type="Vector2" setter="set_min_window_size" getter="get_min_window_size" default="Vector2( 0, 0 )"> - The minimum size of the window (without counting window manager decorations). Does not affect fullscreen mode. Set to [code](0, 0)[/code] to reset to the system default value. - </member> - <member name="screen_orientation" type="int" setter="set_screen_orientation" getter="get_screen_orientation" enum="_OS.ScreenOrientation" default="0"> - The current screen orientation. - </member> - <member name="vsync_enabled" type="bool" setter="set_use_vsync" getter="is_vsync_enabled" default="true"> - If [code]true[/code], vertical synchronization (Vsync) is enabled. - </member> - <member name="vsync_via_compositor" type="bool" setter="set_vsync_via_compositor" getter="is_vsync_via_compositor_enabled" default="false"> - If [code]true[/code] and [code]vsync_enabled[/code] is true, the operating system's window compositor will be used for vsync when the compositor is enabled and the game is in windowed mode. - [b]Note:[/b] This option is experimental and meant to alleviate stutter experienced by some users. However, some users have experienced a Vsync framerate halving (e.g. from 60 FPS to 30 FPS) when using it. - [b]Note:[/b] This property is only implemented on Windows. - </member> - <member name="window_borderless" type="bool" setter="set_borderless_window" getter="get_borderless_window" default="false"> - If [code]true[/code], removes the window frame. - [b]Note:[/b] Setting [code]window_borderless[/code] to [code]false[/code] disables per-pixel transparency. - </member> - <member name="window_fullscreen" type="bool" setter="set_window_fullscreen" getter="is_window_fullscreen" default="false"> - If [code]true[/code], the window is fullscreen. - </member> - <member name="window_maximized" type="bool" setter="set_window_maximized" getter="is_window_maximized" default="false"> - If [code]true[/code], the window is maximized. - </member> - <member name="window_minimized" type="bool" setter="set_window_minimized" getter="is_window_minimized" default="false"> - If [code]true[/code], the window is minimized. - </member> - <member name="window_per_pixel_transparency_enabled" type="bool" setter="set_window_per_pixel_transparency_enabled" getter="get_window_per_pixel_transparency_enabled" default="false"> - If [code]true[/code], the window background is transparent and window frame is removed. - Use [code]get_tree().get_root().set_transparent_background(true)[/code] to disable main viewport background rendering. - [b]Note:[/b] This property has no effect if [b]Project > Project Settings > Display > Window > Per-pixel transparency > Allowed[/b] setting is disabled. - [b]Note:[/b] This property is implemented on HTML5, Linux, macOS and Windows. - </member> - <member name="window_position" type="Vector2" setter="set_window_position" getter="get_window_position" default="Vector2( 0, 0 )"> - The window position relative to the screen, the origin is the top left corner, +Y axis goes to the bottom and +X axis goes to the right. - </member> - <member name="window_resizable" type="bool" setter="set_window_resizable" getter="is_window_resizable" default="true"> - If [code]true[/code], the window is resizable by the user. - </member> - <member name="window_size" type="Vector2" setter="set_window_size" getter="get_window_size" default="Vector2( 0, 0 )"> - The size of the window (without counting window manager decorations). - </member> </members> <constants> <constant name="VIDEO_DRIVER_GLES2" value="0" enum="VideoDriver"> @@ -1005,27 +564,6 @@ <constant name="MONTH_DECEMBER" value="12" enum="Month"> December. </constant> - <constant name="SCREEN_ORIENTATION_LANDSCAPE" value="0" enum="ScreenOrientation"> - Landscape screen orientation. - </constant> - <constant name="SCREEN_ORIENTATION_PORTRAIT" value="1" enum="ScreenOrientation"> - Portrait screen orientation. - </constant> - <constant name="SCREEN_ORIENTATION_REVERSE_LANDSCAPE" value="2" enum="ScreenOrientation"> - Reverse landscape screen orientation. - </constant> - <constant name="SCREEN_ORIENTATION_REVERSE_PORTRAIT" value="3" enum="ScreenOrientation"> - Reverse portrait screen orientation. - </constant> - <constant name="SCREEN_ORIENTATION_SENSOR_LANDSCAPE" value="4" enum="ScreenOrientation"> - Uses landscape or reverse landscape based on the hardware sensor. - </constant> - <constant name="SCREEN_ORIENTATION_SENSOR_PORTRAIT" value="5" enum="ScreenOrientation"> - Uses portrait or reverse portrait based on the hardware sensor. - </constant> - <constant name="SCREEN_ORIENTATION_SENSOR" value="6" enum="ScreenOrientation"> - Uses most suitable orientation based on the hardware sensor. - </constant> <constant name="SYSTEM_DIR_DESKTOP" value="0" enum="SystemDir"> Desktop directory path. </constant> diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index 5388d93b8d..35e87d1a2a 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -23,7 +23,7 @@ <method name="_get" qualifiers="virtual"> <return type="Variant"> </return> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <description> Virtual method which can be overridden to customize the return value of [method get]. @@ -58,7 +58,7 @@ <method name="_set" qualifiers="virtual"> <return type="bool"> </return> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> @@ -89,7 +89,7 @@ <method name="call" qualifiers="vararg"> <return type="Variant"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <description> Calls the [code]method[/code] on the object and returns the result. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example: @@ -101,7 +101,7 @@ <method name="call_deferred" qualifiers="vararg"> <return type="void"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <description> Calls the [code]method[/code] on the object during idle time. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example: @@ -113,7 +113,7 @@ <method name="callv"> <return type="Variant"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <argument index="1" name="arg_array" type="Array"> </argument> @@ -134,17 +134,16 @@ <method name="connect"> <return type="int" enum="Error"> </return> - <argument index="0" name="signal" type="String"> + <argument index="0" name="signal" type="StringName"> </argument> - <argument index="1" name="target" type="Object"> + <argument index="1" name="callable" type="Callable"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="binds" type="Array" default="[ ]"> </argument> - <argument index="3" name="binds" type="Array" default="[ ]"> - </argument> - <argument index="4" name="flags" type="int" default="0"> + <argument index="3" name="flags" type="int" default="0"> </argument> <description> + [b]FIXME:[/b] The syntax changed with the addition of [Callable], this should be updated. Connects a [code]signal[/code] to a [code]method[/code] on a [code]target[/code] object. Pass optional [code]binds[/code] to the call as an [Array] of parameters. These parameters will be passed to the method after any parameter used in the call to [method emit_signal]. Use [code]flags[/code] to set deferred or one-shot connections. See [enum ConnectFlags] constants. A [code]signal[/code] can only be connected once to a [code]method[/code]. It will throw an error if already connected, unless the signal was connected with [constant CONNECT_REFERENCE_COUNTED]. To avoid this, first, use [method is_connected] to check for existing connections. If the [code]target[/code] is destroyed in the game's lifecycle, the connection will be lost. @@ -166,13 +165,12 @@ <method name="disconnect"> <return type="void"> </return> - <argument index="0" name="signal" type="String"> + <argument index="0" name="signal" type="StringName"> </argument> - <argument index="1" name="target" type="Object"> - </argument> - <argument index="2" name="method" type="String"> + <argument index="1" name="callable" type="Callable"> </argument> <description> + [b]FIXME:[/b] The syntax changed with the addition of [Callable], this should be updated. Disconnects a [code]signal[/code] from a [code]method[/code] on the given [code]target[/code]. If you try to disconnect a connection that does not exist, the method will throw an error. Use [method is_connected] to ensure that the connection exists. </description> @@ -180,7 +178,7 @@ <method name="emit_signal" qualifiers="vararg"> <return type="void"> </return> - <argument index="0" name="signal" type="String"> + <argument index="0" name="signal" type="StringName"> </argument> <description> Emits the given [code]signal[/code]. The signal must exist, so it should be a built-in signal of this class or one of its parent classes, or a user-defined signal. This method supports a variable number of arguments, so parameters are passed as a comma separated list. Example: @@ -307,19 +305,28 @@ <method name="has_method" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <description> Returns [code]true[/code] if the object contains the given [code]method[/code]. </description> </method> + <method name="has_signal" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="signal" type="StringName"> + </argument> + <description> + Returns [code]true[/code] if the given [code]signal[/code] exists. + </description> + </method> <method name="has_user_signal" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="signal" type="String"> + <argument index="0" name="signal" type="StringName"> </argument> <description> - Returns [code]true[/code] if the given user-defined [code]signal[/code] exists. + Returns [code]true[/code] if the given user-defined [code]signal[/code] exists. Only signals added using [method add_user_signal] are taken into account. </description> </method> <method name="is_blocking_signals" qualifiers="const"> @@ -341,13 +348,12 @@ <method name="is_connected" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="signal" type="String"> - </argument> - <argument index="1" name="target" type="Object"> + <argument index="0" name="signal" type="StringName"> </argument> - <argument index="2" name="method" type="String"> + <argument index="1" name="callable" type="Callable"> </argument> <description> + [b]FIXME:[/b] The syntax changed with the addition of [Callable], this should be updated. Returns [code]true[/code] if a connection exists for a given [code]signal[/code], [code]target[/code], and [code]method[/code]. </description> </method> @@ -409,7 +415,7 @@ <method name="set_deferred"> <return type="void"> </return> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> @@ -472,9 +478,9 @@ </description> </method> <method name="tr" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> - <argument index="0" name="message" type="String"> + <argument index="0" name="message" type="StringName"> </argument> <description> Translates a message using translation catalogs configured in the Project Settings. diff --git a/doc/classes/OmniLight.xml b/doc/classes/OmniLight3D.xml index dc57efd3f9..0bbc987156 100644 --- a/doc/classes/OmniLight.xml +++ b/doc/classes/OmniLight3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="OmniLight" inherits="Light" version="4.0"> +<class name="OmniLight3D" inherits="Light3D" version="4.0"> <brief_description> Omnidirectional light, such as a light bulb or a candle. </brief_description> <description> - An Omnidirectional light is a type of [Light] that emits light in all directions. The light is attenuated by distance and this attenuation can be configured by changing its energy, radius, and attenuation parameters. + An Omnidirectional light is a type of [Light3D] that emits light in all directions. The light is attenuated by distance and this attenuation can be configured by changing its energy, radius, and attenuation parameters. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/3d/lights_and_shadows.html</link> @@ -18,7 +18,7 @@ <member name="omni_range" type="float" setter="set_param" getter="get_param" default="5.0"> The light's radius. </member> - <member name="omni_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="OmniLight.ShadowMode" default="1"> + <member name="omni_shadow_mode" type="int" setter="set_shadow_mode" getter="get_shadow_mode" enum="OmniLight3D.ShadowMode" default="1"> See [enum ShadowMode]. </member> </members> diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index 5cb2aaf314..39d974ec47 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -214,14 +214,14 @@ </members> <signals> <signal name="item_focused"> - <argument index="0" name="id" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Emitted the when user navigates to an item using the [code]ui_up[/code] or [code]ui_down[/code] actions. The index of the item selected is passed as argument. </description> </signal> <signal name="item_selected"> - <argument index="0" name="id" type="int"> + <argument index="0" name="index" type="int"> </argument> <description> Emitted when the current item has been changed by the user. The index of the item selected is passed as argument. diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml index e9b86e93dd..b08357e278 100644 --- a/doc/classes/PackedByteArray.xml +++ b/doc/classes/PackedByteArray.xml @@ -20,6 +20,8 @@ </description> </method> <method name="append"> + <return type="void"> + </return> <argument index="0" name="byte" type="int"> </argument> <description> @@ -27,6 +29,8 @@ </description> </method> <method name="append_array"> + <return type="void"> + </return> <argument index="0" name="array" type="PackedByteArray"> </argument> <description> @@ -97,11 +101,15 @@ </description> </method> <method name="invert"> + <return type="void"> + </return> <description> Reverses the order of the elements in the array. </description> </method> <method name="push_back"> + <return type="void"> + </return> <argument index="0" name="byte" type="int"> </argument> <description> @@ -109,6 +117,8 @@ </description> </method> <method name="remove"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -116,6 +126,8 @@ </description> </method> <method name="resize"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -123,6 +135,8 @@ </description> </method> <method name="set"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <argument index="1" name="byte" type="int"> diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml index 1d1614b081..06228e4dac 100644 --- a/doc/classes/PackedColorArray.xml +++ b/doc/classes/PackedColorArray.xml @@ -20,6 +20,8 @@ </description> </method> <method name="append"> + <return type="void"> + </return> <argument index="0" name="color" type="Color"> </argument> <description> @@ -27,6 +29,8 @@ </description> </method> <method name="append_array"> + <return type="void"> + </return> <argument index="0" name="array" type="PackedColorArray"> </argument> <description> @@ -52,11 +56,15 @@ </description> </method> <method name="invert"> + <return type="void"> + </return> <description> Reverses the order of the elements in the array. </description> </method> <method name="push_back"> + <return type="void"> + </return> <argument index="0" name="color" type="Color"> </argument> <description> @@ -64,6 +72,8 @@ </description> </method> <method name="remove"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -71,6 +81,8 @@ </description> </method> <method name="resize"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -78,6 +90,8 @@ </description> </method> <method name="set"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <argument index="1" name="color" type="Color"> diff --git a/doc/classes/PackedDataContainerRef.xml b/doc/classes/PackedDataContainerRef.xml index 9e7ed59054..f0f59675de 100644 --- a/doc/classes/PackedDataContainerRef.xml +++ b/doc/classes/PackedDataContainerRef.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedDataContainerRef" inherits="Reference" version="4.0"> <brief_description> + Reference version of [PackedDataContainer]. </brief_description> <description> </description> diff --git a/doc/classes/PackedRealArray.xml b/doc/classes/PackedFloat32Array.xml index 7a7415b279..ee82586cdb 100644 --- a/doc/classes/PackedRealArray.xml +++ b/doc/classes/PackedFloat32Array.xml @@ -1,25 +1,28 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PackedRealArray" version="4.0"> +<class name="PackedFloat32Array" version="4.0"> <brief_description> - A packed [Array] of reals ([float]). + A packed [Array] of 32-bit floating-point values. </brief_description> <description> - An [Array] specifically designed to hold floating-point values ([float]). Packs data tightly, so it saves memory for large array sizes. + An [Array] specifically designed to hold 32-bit floating-point values. Packs data tightly, so it saves memory for large array sizes. [b]Note:[/b] This type is passed by value and not by reference. + If you need to pack 64-bit floats tightly, see [PackedFloat64Array]. </description> <tutorials> </tutorials> <methods> - <method name="PackedRealArray"> - <return type="PackedRealArray"> + <method name="PackedFloat32Array"> + <return type="PackedFloat32Array"> </return> <argument index="0" name="from" type="Array"> </argument> <description> - Constructs a new [PackedRealArray]. Optionally, you can pass in a generic [Array] that will be converted. + Constructs a new [PackedFloat32Array]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> + <return type="void"> + </return> <argument index="0" name="value" type="float"> </argument> <description> @@ -27,10 +30,12 @@ </description> </method> <method name="append_array"> - <argument index="0" name="array" type="PackedRealArray"> + <return type="void"> + </return> + <argument index="0" name="array" type="PackedFloat32Array"> </argument> <description> - Appends a [PackedRealArray] at the end of this array. + Appends a [PackedFloat32Array] at the end of this array. </description> </method> <method name="empty"> @@ -52,11 +57,15 @@ </description> </method> <method name="invert"> + <return type="void"> + </return> <description> Reverses the order of the elements in the array. </description> </method> <method name="push_back"> + <return type="void"> + </return> <argument index="0" name="value" type="float"> </argument> <description> @@ -64,6 +73,8 @@ </description> </method> <method name="remove"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -71,6 +82,8 @@ </description> </method> <method name="resize"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -78,6 +91,8 @@ </description> </method> <method name="set"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <argument index="1" name="value" type="float"> diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml new file mode 100644 index 0000000000..ce2300c65a --- /dev/null +++ b/doc/classes/PackedFloat64Array.xml @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PackedFloat64Array" version="4.0"> + <brief_description> + A packed [Array] of 64-bit floating-point values. + </brief_description> + <description> + An [Array] specifically designed to hold 64-bit floating-point values. Packs data tightly, so it saves memory for large array sizes. + [b]Note:[/b] This type is passed by value and not by reference. + If you only need to pack 32-bit floats tightly, see [PackedFloat32Array] for a more memory-friendly alternative. + </description> + <tutorials> + </tutorials> + <methods> + <method name="PackedFloat64Array"> + <return type="PackedFloat64Array"> + </return> + <argument index="0" name="from" type="Array"> + </argument> + <description> + Constructs a new [PackedFloat64Array]. Optionally, you can pass in a generic [Array] that will be converted. + </description> + </method> + <method name="append"> + <return type="void"> + </return> + <argument index="0" name="value" type="float"> + </argument> + <description> + Appends an element at the end of the array (alias of [method push_back]). + </description> + </method> + <method name="append_array"> + <return type="void"> + </return> + <argument index="0" name="array" type="PackedFloat64Array"> + </argument> + <description> + Appends a [PackedFloat64Array] at the end of this array. + </description> + </method> + <method name="empty"> + <return type="bool"> + </return> + <description> + Returns [code]true[/code] if the array is empty. + </description> + </method> + <method name="insert"> + <return type="int"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="value" type="float"> + </argument> + <description> + Inserts a new element at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). + </description> + </method> + <method name="invert"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> + <method name="push_back"> + <return type="void"> + </return> + <argument index="0" name="value" type="float"> + </argument> + <description> + Appends an element at the end of the array. + </description> + </method> + <method name="remove"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <description> + Removes an element from the array by index. + </description> + </method> + <method name="resize"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <description> + Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. + </description> + </method> + <method name="set"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="value" type="float"> + </argument> + <description> + Changes the float at the given index. + </description> + </method> + <method name="size"> + <return type="int"> + </return> + <description> + Returns the size of the array. + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml new file mode 100644 index 0000000000..176c624956 --- /dev/null +++ b/doc/classes/PackedInt32Array.xml @@ -0,0 +1,114 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PackedInt32Array" version="4.0"> + <brief_description> + A packed [Array] of 32-bit integers. + </brief_description> + <description> + An [Array] specifically designed to hold 32-bit integer values. Packs data tightly, so it saves memory for large array sizes. + [b]Note:[/b] This type is passed by value and not by reference. + [b]Note:[/b] This type stores signed 32-bit integers, which means it can take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. [code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap around. In comparison, [int] uses signed 64-bit integers which can hold much larger values. If you need to pack 64-bit integers tightly, see [PackedInt64Array]. + </description> + <tutorials> + </tutorials> + <methods> + <method name="PackedInt32Array"> + <return type="PackedInt32Array"> + </return> + <argument index="0" name="from" type="Array"> + </argument> + <description> + Constructs a new [PackedInt32Array]. Optionally, you can pass in a generic [Array] that will be converted. + </description> + </method> + <method name="append"> + <return type="void"> + </return> + <argument index="0" name="integer" type="int"> + </argument> + <description> + Appends an element at the end of the array (alias of [method push_back]). + </description> + </method> + <method name="append_array"> + <return type="void"> + </return> + <argument index="0" name="array" type="PackedInt32Array"> + </argument> + <description> + Appends a [PackedInt32Array] at the end of this array. + </description> + </method> + <method name="empty"> + <return type="bool"> + </return> + <description> + Returns [code]true[/code] if the array is empty. + </description> + </method> + <method name="insert"> + <return type="int"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="integer" type="int"> + </argument> + <description> + Inserts a new integer at a given position in the array. The position must be valid, or at the end of the array ([code]idx == size()[/code]). + </description> + </method> + <method name="invert"> + <return type="void"> + </return> + <description> + Reverses the order of the elements in the array. + </description> + </method> + <method name="push_back"> + <return type="void"> + </return> + <argument index="0" name="integer" type="int"> + </argument> + <description> + Appends a value to the array. + </description> + </method> + <method name="remove"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <description> + Removes an element from the array by index. + </description> + </method> + <method name="resize"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <description> + Sets the size of the array. If the array is grown, reserves elements at the end of the array. If the array is shrunk, truncates the array to the new size. + </description> + </method> + <method name="set"> + <return type="void"> + </return> + <argument index="0" name="idx" type="int"> + </argument> + <argument index="1" name="integer" type="int"> + </argument> + <description> + Changes the integer at the given index. + </description> + </method> + <method name="size"> + <return type="int"> + </return> + <description> + Returns the array size. + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/PackedIntArray.xml b/doc/classes/PackedInt64Array.xml index 536b4d9aaf..d8a8071590 100644 --- a/doc/classes/PackedIntArray.xml +++ b/doc/classes/PackedInt64Array.xml @@ -1,26 +1,28 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PackedIntArray" version="4.0"> +<class name="PackedInt64Array" version="4.0"> <brief_description> - A packed [Array] of integers ([int]). + A packed [Array] of 64-bit integers. </brief_description> <description> - An [Array] specifically designed to hold integer values ([int]). Packs data tightly, so it saves memory for large array sizes. + An [Array] specifically designed to hold 64-bit integer values. Packs data tightly, so it saves memory for large array sizes. [b]Note:[/b] This type is passed by value and not by reference. - [b]Note:[/b] This type is limited to signed 32-bit integers, which means it can only take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. [code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap around. In comparison, [int] uses signed 64-bit integers which can hold much larger values. + [b]Note:[/b] This type stores signed 64-bit integers, which means it can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds will wrap around. If you only need to pack 32-bit integers tightly, see [PackedInt32Array] for a more memory-friendly alternative. </description> <tutorials> </tutorials> <methods> - <method name="PackedIntArray"> - <return type="PackedIntArray"> + <method name="PackedInt64Array"> + <return type="PackedInt64Array"> </return> <argument index="0" name="from" type="Array"> </argument> <description> - Constructs a new [PackedIntArray]. Optionally, you can pass in a generic [Array] that will be converted. + Constructs a new [PackedInt64Array]. Optionally, you can pass in a generic [Array] that will be converted. </description> </method> <method name="append"> + <return type="void"> + </return> <argument index="0" name="integer" type="int"> </argument> <description> @@ -28,10 +30,12 @@ </description> </method> <method name="append_array"> - <argument index="0" name="array" type="PackedIntArray"> + <return type="void"> + </return> + <argument index="0" name="array" type="PackedInt64Array"> </argument> <description> - Appends a [PackedIntArray] at the end of this array. + Appends a [PackedInt64Array] at the end of this array. </description> </method> <method name="empty"> @@ -53,11 +57,15 @@ </description> </method> <method name="invert"> + <return type="void"> + </return> <description> Reverses the order of the elements in the array. </description> </method> <method name="push_back"> + <return type="void"> + </return> <argument index="0" name="integer" type="int"> </argument> <description> @@ -65,6 +73,8 @@ </description> </method> <method name="remove"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -72,6 +82,8 @@ </description> </method> <method name="resize"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -79,6 +91,8 @@ </description> </method> <method name="set"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <argument index="1" name="integer" type="int"> diff --git a/doc/classes/PackedScene.xml b/doc/classes/PackedScene.xml index 8efe1e2b4b..2d70dea012 100644 --- a/doc/classes/PackedScene.xml +++ b/doc/classes/PackedScene.xml @@ -9,23 +9,25 @@ [b]Note:[/b] The node doesn't need to own itself. [b]Example of saving a node with different owners:[/b] The following example creates 3 objects: [code]Node2D[/code] ([code]node[/code]), [code]RigidBody2D[/code] ([code]rigid[/code]) and [code]CollisionObject2D[/code] ([code]collision[/code]). [code]collision[/code] is a child of [code]rigid[/code] which is a child of [code]node[/code]. Only [code]rigid[/code] is owned by [code]node[/code] and [code]pack[/code] will therefore only save those two nodes, but not [code]collision[/code]. [codeblock] - # Create the objects + # Create the objects. var node = Node2D.new() var rigid = RigidBody2D.new() var collision = CollisionShape2D.new() - # Create the object hierarchy + # Create the object hierarchy. rigid.add_child(collision) node.add_child(rigid) - # Change owner of rigid, but not of collision + # Change owner of `rigid`, but not of `collision`. rigid.owner = node var scene = PackedScene.new() - # Only node and rigid are now packed + # Only `node` and `rigid` are now packed. var result = scene.pack(node) if result == OK: - ResourceSaver.save("res://path/name.scn", scene) # Or "user://..." + var error = ResourceSaver.save("res://path/name.scn", scene) # Or "user://..." + if error != OK: + push_error("An error occurred while saving the scene to disk.") [/codeblock] </description> <tutorials> @@ -65,7 +67,7 @@ </method> </methods> <members> - <member name="_bundled" type="Dictionary" setter="_set_bundled_scene" getter="_get_bundled_scene" default="{"conn_count": 0,"conns": PackedIntArray( ),"editable_instances": [ ],"names": PackedStringArray( ),"node_count": 0,"node_paths": [ ],"nodes": PackedIntArray( ),"variants": [ ],"version": 2}"> + <member name="_bundled" type="Dictionary" setter="_set_bundled_scene" getter="_get_bundled_scene" default="{"conn_count": 0,"conns": PackedInt32Array( ),"editable_instances": [ ],"names": PackedStringArray( ),"node_count": 0,"node_paths": [ ],"nodes": PackedInt32Array( ),"variants": [ ],"version": 2}"> A dictionary representation of the scene contents. Available keys include "rnames" and "variants" for resources, "node_count", "nodes", "node_paths" for nodes, "editable_instances" for base scene children overrides, "conn_count" and "conns" for signal connections, and "version" for the format style of the PackedScene. </member> diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml index 8824f7f8a5..9526f5899d 100644 --- a/doc/classes/PackedStringArray.xml +++ b/doc/classes/PackedStringArray.xml @@ -20,6 +20,8 @@ </description> </method> <method name="append"> + <return type="void"> + </return> <argument index="0" name="string" type="String"> </argument> <description> @@ -27,6 +29,8 @@ </description> </method> <method name="append_array"> + <return type="void"> + </return> <argument index="0" name="array" type="PackedStringArray"> </argument> <description> @@ -52,11 +56,15 @@ </description> </method> <method name="invert"> + <return type="void"> + </return> <description> Reverses the order of the elements in the array. </description> </method> <method name="push_back"> + <return type="void"> + </return> <argument index="0" name="string" type="String"> </argument> <description> @@ -64,6 +72,8 @@ </description> </method> <method name="remove"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -71,6 +81,8 @@ </description> </method> <method name="resize"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -78,6 +90,8 @@ </description> </method> <method name="set"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <argument index="1" name="string" type="String"> diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml index 339296180b..87f202357c 100644 --- a/doc/classes/PackedVector2Array.xml +++ b/doc/classes/PackedVector2Array.xml @@ -20,6 +20,8 @@ </description> </method> <method name="append"> + <return type="void"> + </return> <argument index="0" name="vector2" type="Vector2"> </argument> <description> @@ -27,6 +29,8 @@ </description> </method> <method name="append_array"> + <return type="void"> + </return> <argument index="0" name="array" type="PackedVector2Array"> </argument> <description> @@ -52,11 +56,15 @@ </description> </method> <method name="invert"> + <return type="void"> + </return> <description> Reverses the order of the elements in the array. </description> </method> <method name="push_back"> + <return type="void"> + </return> <argument index="0" name="vector2" type="Vector2"> </argument> <description> @@ -64,6 +72,8 @@ </description> </method> <method name="remove"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -71,6 +81,8 @@ </description> </method> <method name="resize"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -78,6 +90,8 @@ </description> </method> <method name="set"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <argument index="1" name="vector2" type="Vector2"> diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml index 2c5e2a63e3..7bfa684ff5 100644 --- a/doc/classes/PackedVector3Array.xml +++ b/doc/classes/PackedVector3Array.xml @@ -20,6 +20,8 @@ </description> </method> <method name="append"> + <return type="void"> + </return> <argument index="0" name="vector3" type="Vector3"> </argument> <description> @@ -27,6 +29,8 @@ </description> </method> <method name="append_array"> + <return type="void"> + </return> <argument index="0" name="array" type="PackedVector3Array"> </argument> <description> @@ -52,11 +56,15 @@ </description> </method> <method name="invert"> + <return type="void"> + </return> <description> Reverses the order of the elements in the array. </description> </method> <method name="push_back"> + <return type="void"> + </return> <argument index="0" name="vector3" type="Vector3"> </argument> <description> @@ -64,6 +72,8 @@ </description> </method> <method name="remove"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -71,6 +81,8 @@ </description> </method> <method name="resize"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <description> @@ -78,6 +90,8 @@ </description> </method> <method name="set"> + <return type="void"> + </return> <argument index="0" name="idx" type="int"> </argument> <argument index="1" name="vector3" type="Vector3"> diff --git a/doc/classes/PacketPeerUDP.xml b/doc/classes/PacketPeerUDP.xml index aa5599a3fb..668655b725 100644 --- a/doc/classes/PacketPeerUDP.xml +++ b/doc/classes/PacketPeerUDP.xml @@ -25,7 +25,7 @@ </argument> <description> Calling this method connects this UDP peer to the given [code]host[/code]/[code]port[/code] pair. UDP is in reality connectionless, so this option only means that incoming packets from different addresses are automatically discarded, and that outgoing packets are always sent to the connected address (future calls to [method set_dest_address] are not allowed). This method does not send any data to the remote peer, to do that, use [method PacketPeer.put_var] or [method PacketPeer.put_packet] as usual. See also [UDPServer]. - Note: Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transfering sensitive information. + Note: Connecting to the remote peer does not help to protect from malicious attacks like IP spoofing, etc. Think about using an encryption technique like SSL or DTLS if you feel like your application is transferring sensitive information. </description> </method> <method name="get_packet_ip" qualifiers="const"> diff --git a/doc/classes/Panel.xml b/doc/classes/Panel.xml index a96871ba28..7285bc9e2e 100644 --- a/doc/classes/Panel.xml +++ b/doc/classes/Panel.xml @@ -10,10 +10,21 @@ </tutorials> <methods> </methods> + <members> + <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="Panel.Mode" default="0"> + </member> + </members> <constants> + <constant name="MODE_BACKGROUND" value="0" enum="Mode"> + </constant> + <constant name="MODE_FOREGROUND" value="1" enum="Mode"> + </constant> </constants> <theme_items> <theme_item name="panel" type="StyleBox"> + The style of this [Panel]. + </theme_item> + <theme_item name="panel_fg" type="StyleBox"> </theme_item> </theme_items> </class> diff --git a/doc/classes/PanelContainer.xml b/doc/classes/PanelContainer.xml index 9803a8dc51..d39122c395 100644 --- a/doc/classes/PanelContainer.xml +++ b/doc/classes/PanelContainer.xml @@ -17,6 +17,7 @@ </constants> <theme_items> <theme_item name="panel" type="StyleBox"> + The style of [PanelContainer]'s background. </theme_item> </theme_items> </class> diff --git a/doc/classes/PanoramaSky.xml b/doc/classes/PanoramaSkyMaterial.xml index 0ddf1cb054..905a2dd506 100644 --- a/doc/classes/PanoramaSky.xml +++ b/doc/classes/PanoramaSkyMaterial.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PanoramaSky" inherits="Sky" version="4.0"> +<class name="PanoramaSkyMaterial" inherits="Material" version="4.0"> <brief_description> - A type of [Sky] used to draw a background texture. + A [Material] used with [Sky] to draw a background texture. </brief_description> <description> - A resource referenced in an [Environment] that is used to draw a background. The Panorama sky functions similar to skyboxes in other engines, except it uses an equirectangular sky map instead of a cube map. + A resource referenced in a [Sky] that is used to draw a background. The Panorama sky material functions similar to skyboxes in other engines, except it uses an equirectangular sky map instead of a cube map. Using an HDR panorama is strongly recommended for accurate, high-quality reflections. Godot supports the Radiance HDR ([code].hdr[/code]) and OpenEXR ([code].exr[/code]) image formats for this purpose. You can use [url=https://danilw.github.io/GLSL-howto/cubemap_to_panorama_js/cubemap_to_panorama.html]this tool[/url] to convert a cube map to an equirectangular sky map. </description> @@ -14,7 +14,7 @@ </methods> <members> <member name="panorama" type="Texture2D" setter="set_panorama" getter="get_panorama"> - [Texture2D] to be applied to the PanoramaSky. + [Texture2D] to be applied to the [PanoramaSkyMaterial]. </member> </members> <constants> diff --git a/doc/classes/ParticlesMaterial.xml b/doc/classes/ParticlesMaterial.xml index 1e90214e47..d04ac5bdce 100644 --- a/doc/classes/ParticlesMaterial.xml +++ b/doc/classes/ParticlesMaterial.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ParticlesMaterial" inherits="Material" version="4.0"> <brief_description> - Particle properties for [Particles] and [Particles2D] nodes. + Particle properties for [GPUParticles3D] and [GPUParticles2D] nodes. </brief_description> <description> - ParticlesMaterial defines particle properties and behavior. It is used in the [code]process_material[/code] of [Particles] and [Particles2D] emitter nodes. + ParticlesMaterial defines particle properties and behavior. It is used in the [code]process_material[/code] of [GPUParticles3D] and [GPUParticles2D] emitter nodes. Some of this material's properties are applied to each particle when emitted, while others can have a [CurveTexture] applied to vary values over the lifetime of the particle. When a randomness ratio is applied to a property it is used to scale that property by a random amount. The random ratio is used to interpolate between [code]1.0[/code] and a random number less than one, the result is multiplied by the property to obtain the randomized property. For example a random ratio of [code]0.4[/code] would scale the original property between [code]0.4-1.0[/code] of its original value. </description> @@ -132,7 +132,7 @@ Animation speed randomness ratio. </member> <member name="color" type="Color" setter="set_color" getter="get_color" default="Color( 1, 1, 1, 1 )"> - Each particle's initial color. If the [Particles2D]'s [code]texture[/code] is defined, it will be multiplied by this color. To have particle display color in a [BaseMaterial3D] make sure to set [member BaseMaterial3D.vertex_color_use_as_albedo] to [code]true[/code]. + Each particle's initial color. If the [GPUParticles2D]'s [code]texture[/code] is defined, it will be multiplied by this color. To have particle display color in a [BaseMaterial3D] make sure to set [member BaseMaterial3D.vertex_color_use_as_albedo] to [code]true[/code]. </member> <member name="color_ramp" type="Texture2D" setter="set_color_ramp" getter="get_color_ramp"> Each particle's color will vary along this [GradientTexture]. diff --git a/doc/classes/Path2D.xml b/doc/classes/Path2D.xml index ab266a2f73..57e2091268 100644 --- a/doc/classes/Path2D.xml +++ b/doc/classes/Path2D.xml @@ -15,7 +15,6 @@ <member name="curve" type="Curve2D" setter="set_curve" getter="get_curve"> A [Curve2D] describing the path. </member> - <member name="self_modulate" type="Color" setter="set_self_modulate" getter="get_self_modulate" override="true" default="Color( 0.5, 0.6, 1, 0.7 )" /> </members> <constants> </constants> diff --git a/doc/classes/Path.xml b/doc/classes/Path3D.xml index 801e86ff9e..b97e7efd5d 100644 --- a/doc/classes/Path.xml +++ b/doc/classes/Path3D.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Path" inherits="Spatial" version="4.0"> +<class name="Path3D" inherits="Node3D" version="4.0"> <brief_description> - Contains a [Curve3D] path for [PathFollow] nodes to follow. + Contains a [Curve3D] path for [PathFollow3D] nodes to follow. </brief_description> <description> - Can have [PathFollow] child nodes moving along the [Curve3D]. See [PathFollow] for more information on the usage. - Note that the path is considered as relative to the moved nodes (children of [PathFollow]). As such, the curve should usually start with a zero vector [code](0, 0, 0)[/code]. + Can have [PathFollow3D] child nodes moving along the [Curve3D]. See [PathFollow3D] for more information on the usage. + Note that the path is considered as relative to the moved nodes (children of [PathFollow3D]). As such, the curve should usually start with a zero vector [code](0, 0, 0)[/code]. </description> <tutorials> </tutorials> diff --git a/doc/classes/PathFollow.xml b/doc/classes/PathFollow3D.xml index 85ca5b787f..f405bdedfc 100644 --- a/doc/classes/PathFollow.xml +++ b/doc/classes/PathFollow3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PathFollow" inherits="Spatial" version="4.0"> +<class name="PathFollow3D" inherits="Node3D" version="4.0"> <brief_description> - Point sampler for a [Path]. + Point sampler for a [Path3D]. </brief_description> <description> - This node takes its parent [Path], and returns the coordinates of a point within it, given a distance from the first vertex. + This node takes its parent [Path3D], and returns the coordinates of a point within it, given a distance from the first vertex. It is useful for making other nodes follow a path, without coding the movement pattern. For that, the nodes must be children of this node. The descendant nodes will then move accordingly when setting an offset in this node. </description> <tutorials> @@ -14,7 +14,7 @@ <members> <member name="cubic_interp" type="bool" setter="set_cubic_interpolation" getter="get_cubic_interpolation" default="true"> If [code]true[/code], the position between two cached points is interpolated cubically, and linearly otherwise. - The points along the [Curve3D] of the [Path] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough. + The points along the [Curve3D] of the [Path3D] are precomputed before use, for faster calculations. The point at the requested offset is then calculated interpolating between two adjacent cached points. This may present a problem if the curve makes sharp turns, as the cached points may not follow the curve closely enough. There are two answers to this problem: either increase the number of cached points and increase memory consumption, or make a cubic interpolation between two points at the cost of (slightly) slower calculations. </member> <member name="h_offset" type="float" setter="set_h_offset" getter="get_h_offset" default="0.0"> @@ -26,7 +26,7 @@ <member name="offset" type="float" setter="set_offset" getter="get_offset" default="0.0"> The distance from the first vertex, measured in 3D units along the path. This sets this node's position to a point within the path. </member> - <member name="rotation_mode" type="int" setter="set_rotation_mode" getter="get_rotation_mode" enum="PathFollow.RotationMode" default="3"> + <member name="rotation_mode" type="int" setter="set_rotation_mode" getter="get_rotation_mode" enum="PathFollow3D.RotationMode" default="3"> Allows or forbids rotation on one or more axes, depending on the [enum RotationMode] constants being used. </member> <member name="unit_offset" type="float" setter="set_unit_offset" getter="get_unit_offset" default="0.0"> @@ -38,19 +38,19 @@ </members> <constants> <constant name="ROTATION_NONE" value="0" enum="RotationMode"> - Forbids the PathFollow to rotate. + Forbids the PathFollow3D to rotate. </constant> <constant name="ROTATION_Y" value="1" enum="RotationMode"> - Allows the PathFollow to rotate in the Y axis only. + Allows the PathFollow3D to rotate in the Y axis only. </constant> <constant name="ROTATION_XY" value="2" enum="RotationMode"> - Allows the PathFollow to rotate in both the X, and Y axes. + Allows the PathFollow3D to rotate in both the X, and Y axes. </constant> <constant name="ROTATION_XYZ" value="3" enum="RotationMode"> - Allows the PathFollow to rotate in any axis. + Allows the PathFollow3D to rotate in any axis. </constant> <constant name="ROTATION_ORIENTED" value="4" enum="RotationMode"> - Uses the up vector information in a [Curve3D] to enforce orientation. This rotation mode requires the [Path]'s [member Curve3D.up_vector_enabled] property to be set to [code]true[/code]. + Uses the up vector information in a [Curve3D] to enforce orientation. This rotation mode requires the [Path3D]'s [member Curve3D.up_vector_enabled] property to be set to [code]true[/code]. </constant> </constants> </class> diff --git a/doc/classes/Performance.xml b/doc/classes/Performance.xml index 378b165644..2a0c153267 100644 --- a/doc/classes/Performance.xml +++ b/doc/classes/Performance.xml @@ -95,7 +95,7 @@ Number of islands in the 2D physics engine. </constant> <constant name="PHYSICS_3D_ACTIVE_OBJECTS" value="23" enum="Monitor"> - Number of active [RigidBody] and [VehicleBody] nodes in the game. + Number of active [RigidBody3D] and [VehicleBody3D] nodes in the game. </constant> <constant name="PHYSICS_3D_COLLISION_PAIRS" value="24" enum="Monitor"> Number of collision pairs in the 3D physics engine. diff --git a/doc/classes/PhysicalBone.xml b/doc/classes/PhysicalBone.xml deleted file mode 100644 index bb31f03c18..0000000000 --- a/doc/classes/PhysicalBone.xml +++ /dev/null @@ -1,79 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicalBone" inherits="PhysicsBody" version="4.0"> - <brief_description> - </brief_description> - <description> - </description> - <tutorials> - </tutorials> - <methods> - <method name="apply_central_impulse"> - <return type="void"> - </return> - <argument index="0" name="impulse" type="Vector3"> - </argument> - <description> - </description> - </method> - <method name="apply_impulse"> - <return type="void"> - </return> - <argument index="0" name="position" type="Vector3"> - </argument> - <argument index="1" name="impulse" type="Vector3"> - </argument> - <description> - </description> - </method> - <method name="get_bone_id" qualifiers="const"> - <return type="int"> - </return> - <description> - </description> - </method> - <method name="get_simulate_physics"> - <return type="bool"> - </return> - <description> - </description> - </method> - <method name="is_simulating_physics"> - <return type="bool"> - </return> - <description> - </description> - </method> - </methods> - <members> - <member name="body_offset" type="Transform" setter="set_body_offset" getter="get_body_offset" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )"> - </member> - <member name="bounce" type="float" setter="set_bounce" getter="get_bounce" default="0.0"> - </member> - <member name="friction" type="float" setter="set_friction" getter="get_friction" default="1.0"> - </member> - <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale" default="1.0"> - </member> - <member name="joint_offset" type="Transform" setter="set_joint_offset" getter="get_joint_offset" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )"> - </member> - <member name="joint_type" type="int" setter="set_joint_type" getter="get_joint_type" enum="PhysicalBone.JointType" default="0"> - </member> - <member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0"> - </member> - <member name="weight" type="float" setter="set_weight" getter="get_weight" default="9.8"> - </member> - </members> - <constants> - <constant name="JOINT_TYPE_NONE" value="0" enum="JointType"> - </constant> - <constant name="JOINT_TYPE_PIN" value="1" enum="JointType"> - </constant> - <constant name="JOINT_TYPE_CONE" value="2" enum="JointType"> - </constant> - <constant name="JOINT_TYPE_HINGE" value="3" enum="JointType"> - </constant> - <constant name="JOINT_TYPE_SLIDER" value="4" enum="JointType"> - </constant> - <constant name="JOINT_TYPE_6DOF" value="5" enum="JointType"> - </constant> - </constants> -</class> diff --git a/doc/classes/PhysicalBone3D.xml b/doc/classes/PhysicalBone3D.xml new file mode 100644 index 0000000000..58930aae37 --- /dev/null +++ b/doc/classes/PhysicalBone3D.xml @@ -0,0 +1,138 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicalBone3D" inherits="PhysicsBody3D" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="apply_central_impulse"> + <return type="void"> + </return> + <argument index="0" name="impulse" type="Vector3"> + </argument> + <description> + </description> + </method> + <method name="apply_impulse"> + <return type="void"> + </return> + <argument index="0" name="position" type="Vector3"> + </argument> + <argument index="1" name="impulse" type="Vector3"> + </argument> + <description> + </description> + </method> + <method name="get_axis_lock" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="axis" type="int" enum="PhysicsServer3D.BodyAxis"> + </argument> + <description> + </description> + </method> + <method name="get_bone_id" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_simulate_physics"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="is_simulating_physics"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="set_axis_lock"> + <return type="void"> + </return> + <argument index="0" name="axis" type="int" enum="PhysicsServer3D.BodyAxis"> + </argument> + <argument index="1" name="lock" type="bool"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="-1.0"> + Damps the body's rotation if greater than [code]0[/code]. + </member> + <member name="axis_lock_angular_x" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false"> + Lock the body's rotation in the X axis. + </member> + <member name="axis_lock_angular_y" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false"> + Lock the body's rotation in the Y axis. + </member> + <member name="axis_lock_angular_z" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false"> + Lock the body's rotation in the Z axis. + </member> + <member name="axis_lock_linear_x" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false"> + Lock the body's movement in the X axis. + </member> + <member name="axis_lock_linear_y" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false"> + Lock the body's movement in the Y axis. + </member> + <member name="axis_lock_linear_z" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false"> + Lock the body's movement in the Z axis. + </member> + <member name="body_offset" type="Transform" setter="set_body_offset" getter="get_body_offset" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )"> + Sets the body's transform. + </member> + <member name="bounce" type="float" setter="set_bounce" getter="get_bounce" default="0.0"> + The body's bounciness. Values range from [code]0[/code] (no bounce) to [code]1[/code] (full bounciness). + </member> + <member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep" default="true"> + If [code]true[/code], the body is deactivated when there is no movement, so it will not take part in the simulation until it is awaken by an external force. + </member> + <member name="friction" type="float" setter="set_friction" getter="get_friction" default="1.0"> + The body's friction, from [code]0[/code] (frictionless) to [code]1[/code] (max friction). + </member> + <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale" default="1.0"> + This is multiplied by the global 3D gravity setting found in [b]Project > Project Settings > Physics > 3d[/b] to produce the body's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object. + </member> + <member name="joint_offset" type="Transform" setter="set_joint_offset" getter="get_joint_offset" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )"> + Sets the joint's transform. + </member> + <member name="joint_rotation" type="Vector3" setter="set_joint_rotation" getter="get_joint_rotation"> + Sets the joint's rotation in radians. + </member> + <member name="joint_rotation_degrees" type="Vector3" setter="set_joint_rotation_degrees" getter="get_joint_rotation_degrees" default="Vector3( 0, 0, 0 )"> + Sets the joint's rotation in degrees. + </member> + <member name="joint_type" type="int" setter="set_joint_type" getter="get_joint_type" enum="PhysicalBone3D.JointType" default="0"> + Sets the joint type. See [enum JointType] for possible values. + </member> + <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="-1.0"> + Damps the body's movement if greater than [code]0[/code]. + </member> + <member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0"> + The body's mass. + </member> + <member name="weight" type="float" setter="set_weight" getter="get_weight" default="9.8"> + The body's weight based on its mass and the global 3D gravity. Global values are set in [b]Project > Project Settings > Physics > 3d[/b]. + </member> + </members> + <constants> + <constant name="JOINT_TYPE_NONE" value="0" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_PIN" value="1" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_CONE" value="2" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_HINGE" value="3" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_SLIDER" value="4" enum="JointType"> + </constant> + <constant name="JOINT_TYPE_6DOF" value="5" enum="JointType"> + </constant> + </constants> +</class> diff --git a/doc/classes/PhysicalSkyMaterial.xml b/doc/classes/PhysicalSkyMaterial.xml new file mode 100644 index 0000000000..89b43158dc --- /dev/null +++ b/doc/classes/PhysicalSkyMaterial.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="PhysicalSkyMaterial" inherits="Material" version="4.0"> + <brief_description> + [Sky] [Material] used for a physically based sky. + </brief_description> + <description> + The [PhysicalSkyMaterial] uses the Preetham analytic daylight model to draw a sky based on physical properties. This results in a substantially more realistic sky than the [ProceduralSkyMaterial], but it is slightly slower and less flexible. + The [PhysicalSkyMaterial] only supports one sun. The color, energy, and direction of the sun are taken from the first [DirectionalLight3D] in the scene tree. + As it is based on a daylight model, the sky fades to black as the sunset ends. If you want a full day/night cycle, you will have to add a night sky by converting this to a [ShaderMaterial] and adding a night sky directly into the resulting shader. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="dither_strength" type="float" setter="set_dither_strength" getter="get_dither_strength" default="1.0"> + Sets the amount of dithering to use. Dithering helps reduce banding that appears from the smooth changes in color in the sky. Use the lowest value possible, higher amounts may add fuzziness to the sky. + </member> + <member name="exposure" type="float" setter="set_exposure" getter="get_exposure" default="0.1"> + Sets the exposure of the sky. Higher exposure values make the entire sky brighter. + </member> + <member name="ground_color" type="Color" setter="set_ground_color" getter="get_ground_color" default="Color( 1, 1, 1, 1 )"> + Modulates the [Color] on the bottom half of the sky to represent the ground. + </member> + <member name="mie_coefficient" type="float" setter="set_mie_coefficient" getter="get_mie_coefficient" default="0.005"> + Controls the strength of mie scattering for the sky. Mie scattering results from light colliding with larger particles (like water). On earth, mie scattering results in a whiteish color around the sun and horizon. + </member> + <member name="mie_color" type="Color" setter="set_mie_color" getter="get_mie_color" default="Color( 0.36, 0.56, 0.82, 1 )"> + Controls the [Color] of the mie scattering effect. While not physically accurate, this allows for the creation of alien looking planets. + </member> + <member name="mie_eccentricity" type="float" setter="set_mie_eccentricity" getter="get_mie_eccentricity" default="0.8"> + Controls the direction of the mie scattering. A value of [code]1[/code] means that when light hits a particle it passing through straight forward. A value of [code]-1[/code] means that all light is scatter backwards. + </member> + <member name="rayleigh_coefficient" type="float" setter="set_rayleigh_coefficient" getter="get_rayleigh_coefficient" default="2.0"> + Controls the strength of the rayleigh scattering. Rayleigh scattering results from light colliding with small particles. It is responsible for the blue color of the sky. + </member> + <member name="rayleigh_color" type="Color" setter="set_rayleigh_color" getter="get_rayleigh_color" default="Color( 0.056, 0.14, 0.3, 1 )"> + Controls the [Color] of the rayleigh scattering. While not physically accurate, this allows for the creation of alien looking planets. For example, setting this to a red [Color] results in a mars looking atmosphere with a corresponding blue sunset. + </member> + <member name="sun_disk_scale" type="float" setter="set_sun_disk_scale" getter="get_sun_disk_scale" default="1.0"> + Sets the size of the sun disk. Default value is based on Sol's perceived size from Earth. + </member> + <member name="turbidity" type="float" setter="set_turbidity" getter="get_turbidity" default="10.0"> + Sets the thickness of the atmosphere. High turbidity creates a foggy looking atmosphere, while a low turbidity results in a clearer atmosphere. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/Physics2DDirectBodyStateSW.xml b/doc/classes/Physics2DDirectBodyStateSW.xml deleted file mode 100644 index 11f1140ca8..0000000000 --- a/doc/classes/Physics2DDirectBodyStateSW.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DDirectBodyStateSW" inherits="Physics2DDirectBodyState" version="4.0"> - <brief_description> - Software implementation of [Physics2DDirectBodyState]. - </brief_description> - <description> - Software implementation of [Physics2DDirectBodyState]. This object exposes no new methods or properties and should not be used, as [Physics2DDirectBodyState] selects the best implementation available. - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <constants> - </constants> -</class> diff --git a/doc/classes/Physics2DServerSW.xml b/doc/classes/Physics2DServerSW.xml deleted file mode 100644 index 1e4531ed66..0000000000 --- a/doc/classes/Physics2DServerSW.xml +++ /dev/null @@ -1,15 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DServerSW" inherits="Physics2DServer" version="4.0"> - <brief_description> - Software implementation of [Physics2DServer]. - </brief_description> - <description> - This class exposes no new methods or properties and should not be used, as [Physics2DServer] automatically selects the best implementation available. - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <constants> - </constants> -</class> diff --git a/doc/classes/PhysicsBody2D.xml b/doc/classes/PhysicsBody2D.xml index 28d6ce7048..6afbd1ee8e 100644 --- a/doc/classes/PhysicsBody2D.xml +++ b/doc/classes/PhysicsBody2D.xml @@ -20,7 +20,7 @@ </description> </method> <method name="get_collision_exceptions"> - <return type="Array"> + <return type="PhysicsBody2D[]"> </return> <description> Returns an array of nodes that were added as collision exceptions for this body. diff --git a/doc/classes/PhysicsBody.xml b/doc/classes/PhysicsBody3D.xml index c0927a5b53..2301a07a5c 100644 --- a/doc/classes/PhysicsBody.xml +++ b/doc/classes/PhysicsBody3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsBody" inherits="CollisionObject" version="4.0"> +<class name="PhysicsBody3D" inherits="CollisionObject3D" version="4.0"> <brief_description> Base class for all objects affected by physics in 3D space. </brief_description> <description> - PhysicsBody is an abstract base class for implementing a physics body. All *Body types inherit from it. + PhysicsBody3D is an abstract base class for implementing a physics body. All *Body types inherit from it. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html</link> @@ -20,7 +20,7 @@ </description> </method> <method name="get_collision_exceptions"> - <return type="Array"> + <return type="PhysicsBody3D[]"> </return> <description> Returns an array of nodes that were added as collision exceptions for this body. diff --git a/doc/classes/Physics2DDirectBodyState.xml b/doc/classes/PhysicsDirectBodyState2D.xml index d9d402ac9a..46205fecd1 100644 --- a/doc/classes/Physics2DDirectBodyState.xml +++ b/doc/classes/PhysicsDirectBodyState2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DDirectBodyState" inherits="Object" version="4.0"> +<class name="PhysicsDirectBodyState2D" inherits="Object" version="4.0"> <brief_description> - Direct access object to a physics body in the [Physics2DServer]. + Direct access object to a physics body in the [PhysicsServer2D]. </brief_description> <description> - Provides direct access to a physics body in the [Physics2DServer], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody2D._integrate_forces]. + Provides direct access to a physics body in the [PhysicsServer2D], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody2D._integrate_forces]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/ray-casting.html</link> @@ -119,7 +119,7 @@ <argument index="0" name="contact_idx" type="int"> </argument> <description> - Returns the collided shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + Returns the collided shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method PhysicsServer2D.shape_set_data]. </description> </method> <method name="get_contact_collider_velocity_at_position" qualifiers="const"> @@ -167,7 +167,7 @@ </description> </method> <method name="get_space_state"> - <return type="Physics2DDirectSpaceState"> + <return type="PhysicsDirectSpaceState2D"> </return> <description> Returns the current state of the space, useful for queries. diff --git a/doc/classes/PhysicsDirectBodyState.xml b/doc/classes/PhysicsDirectBodyState3D.xml index 24cf4961be..1ee520fe5f 100644 --- a/doc/classes/PhysicsDirectBodyState.xml +++ b/doc/classes/PhysicsDirectBodyState3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsDirectBodyState" inherits="Object" version="4.0"> +<class name="PhysicsDirectBodyState3D" inherits="Object" version="4.0"> <brief_description> - Direct access object to a physics body in the [PhysicsServer]. + Direct access object to a physics body in the [PhysicsServer3D]. </brief_description> <description> - Provides direct access to a physics body in the [PhysicsServer], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody._integrate_forces]. + Provides direct access to a physics body in the [PhysicsServer3D], allowing safe changes to physics properties. This object is passed via the direct state callback of rigid/character bodies, and is intended for changing the direct state of that body. See [method RigidBody3D._integrate_forces]. </description> <tutorials> </tutorials> @@ -128,7 +128,7 @@ </return> <description> Returns the number of contacts this body has with other bodies. - [b]Note:[/b] By default, this returns 0 unless bodies are configured to monitor contacts. See [member RigidBody.contact_monitor]. + [b]Note:[/b] By default, this returns 0 unless bodies are configured to monitor contacts. See [member RigidBody3D.contact_monitor]. </description> </method> <method name="get_contact_impulse" qualifiers="const"> @@ -168,7 +168,7 @@ </description> </method> <method name="get_space_state"> - <return type="PhysicsDirectSpaceState"> + <return type="PhysicsDirectSpaceState3D"> </return> <description> Returns the current state of the space, useful for queries. diff --git a/doc/classes/Physics2DDirectSpaceState.xml b/doc/classes/PhysicsDirectSpaceState2D.xml index 662a823d84..d85d7794dd 100644 --- a/doc/classes/Physics2DDirectSpaceState.xml +++ b/doc/classes/PhysicsDirectSpaceState2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DDirectSpaceState" inherits="Object" version="4.0"> +<class name="PhysicsDirectSpaceState2D" inherits="Object" version="4.0"> <brief_description> - Direct access object to a space in the [Physics2DServer]. + Direct access object to a space in the [PhysicsServer2D]. </brief_description> <description> - Direct access object to a space in the [Physics2DServer]. It's used mainly to do queries against objects and areas residing in a given space. + Direct access object to a space in the [PhysicsServer2D]. It's used mainly to do queries against objects and areas residing in a given space. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/ray-casting.html</link> @@ -13,35 +13,35 @@ <method name="cast_motion"> <return type="Array"> </return> - <argument index="0" name="shape" type="Physics2DShapeQueryParameters"> + <argument index="0" name="shape" type="PhysicsShapeQueryParameters2D"> </argument> <description> Checks how far the shape can travel toward a point. If the shape can not move, the array will be empty. - [b]Note:[/b] Both the shape and the motion are supplied through a [Physics2DShapeQueryParameters] object. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [code][1, 1][/code]. + [b]Note:[/b] Both the shape and the motion are supplied through a [PhysicsShapeQueryParameters2D] object. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [code][1, 1][/code]. </description> </method> <method name="collide_shape"> <return type="Array"> </return> - <argument index="0" name="shape" type="Physics2DShapeQueryParameters"> + <argument index="0" name="shape" type="PhysicsShapeQueryParameters2D"> </argument> <argument index="1" name="max_results" type="int" default="32"> </argument> <description> - Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters2D] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. </description> </method> <method name="get_rest_info"> <return type="Dictionary"> </return> - <argument index="0" name="shape" type="Physics2DShapeQueryParameters"> + <argument index="0" name="shape" type="PhysicsShapeQueryParameters2D"> </argument> <description> - Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. If it collides with more than one shape, the nearest one is selected. If the shape did not intersect anything, then an empty dictionary is returned instead. + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters2D] object, against the space. If it collides with more than one shape, the nearest one is selected. If the shape did not intersect anything, then an empty dictionary is returned instead. [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object. The returned object is a dictionary containing the following fields: [code]collider_id[/code]: The colliding object's ID. [code]linear_velocity[/code]: The colliding object's velocity [Vector2]. If the object is an [Area2D], the result is [code](0, 0)[/code]. - [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method PhysicsServer2D.shape_set_data]. [code]normal[/code]: The object's surface normal at the intersection point. [code]point[/code]: The intersection point. [code]rid[/code]: The intersecting object's [RID]. @@ -67,10 +67,10 @@ Checks whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. - [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method PhysicsServer2D.shape_set_data]. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. - Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody]s or [Area]s, respectively. + Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, respectively. </description> </method> <method name="intersect_point_on_canvas"> @@ -112,28 +112,28 @@ Intersects a ray in a given space. The returned object is a dictionary with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. - [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method PhysicsServer2D.shape_set_data]. [code]normal[/code]: The object's surface normal at the intersection point. [code]position[/code]: The intersection point. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. If the ray did not intersect anything, then an empty dictionary is returned instead. - Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody]s or [Area]s, respectively. + Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody2D]s or [Area2D]s, respectively. </description> </method> <method name="intersect_shape"> <return type="Array"> </return> - <argument index="0" name="shape" type="Physics2DShapeQueryParameters"> + <argument index="0" name="shape" type="PhysicsShapeQueryParameters2D"> </argument> <argument index="1" name="max_results" type="int" default="32"> </argument> <description> - Checks the intersections of a shape, given through a [Physics2DShapeQueryParameters] object, against the space. + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters2D] object, against the space. [b]Note:[/b] This method does not take into account the [code]motion[/code] property of the object. The intersected shapes are returned in an array containing dictionaries with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. - [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method Physics2DServer.shape_set_data]. + [code]metadata[/code]: The intersecting shape's metadata. This metadata is different from [method Object.get_meta], and is set with [method PhysicsServer2D.shape_set_data]. [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. The number of intersections can be limited with the [code]max_results[/code] parameter, to reduce the processing time. diff --git a/doc/classes/PhysicsDirectSpaceState.xml b/doc/classes/PhysicsDirectSpaceState3D.xml index a6172805e9..ea094dcd90 100644 --- a/doc/classes/PhysicsDirectSpaceState.xml +++ b/doc/classes/PhysicsDirectSpaceState3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsDirectSpaceState" inherits="Object" version="4.0"> +<class name="PhysicsDirectSpaceState3D" inherits="Object" version="4.0"> <brief_description> - Direct access object to a space in the [PhysicsServer]. + Direct access object to a space in the [PhysicsServer3D]. </brief_description> <description> - Direct access object to a space in the [PhysicsServer]. It's used mainly to do queries against objects and areas residing in a given space. + Direct access object to a space in the [PhysicsServer3D]. It's used mainly to do queries against objects and areas residing in a given space. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/ray-casting.html</link> @@ -13,35 +13,35 @@ <method name="cast_motion"> <return type="Array"> </return> - <argument index="0" name="shape" type="PhysicsShapeQueryParameters"> + <argument index="0" name="shape" type="PhysicsShapeQueryParameters3D"> </argument> <argument index="1" name="motion" type="Vector3"> </argument> <description> Checks whether the shape can travel to a point. The method will return an array with two floats between 0 and 1, both representing a fraction of [code]motion[/code]. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be [code][1, 1][/code]. - If the shape can not move, the returned array will be [code][0, 0][/code] under Bullet, and empty under GodotPhysics. + If the shape can not move, the returned array will be [code][0, 0][/code] under Bullet, and empty under GodotPhysics3D. </description> </method> <method name="collide_shape"> <return type="Array"> </return> - <argument index="0" name="shape" type="PhysicsShapeQueryParameters"> + <argument index="0" name="shape" type="PhysicsShapeQueryParameters3D"> </argument> <argument index="1" name="max_results" type="int" default="32"> </argument> <description> - Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. The resulting array contains a list of points where the shape intersects another. Like with [method intersect_shape], the number of returned results can be limited to save processing time. </description> </method> <method name="get_rest_info"> <return type="Dictionary"> </return> - <argument index="0" name="shape" type="PhysicsShapeQueryParameters"> + <argument index="0" name="shape" type="PhysicsShapeQueryParameters3D"> </argument> <description> - Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. If it collides with more than one shape, the nearest one is selected. The returned object is a dictionary containing the following fields: + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. If it collides with more than one shape, the nearest one is selected. The returned object is a dictionary containing the following fields: [code]collider_id[/code]: The colliding object's ID. - [code]linear_velocity[/code]: The colliding object's velocity [Vector3]. If the object is an [Area], the result is [code](0, 0, 0)[/code]. + [code]linear_velocity[/code]: The colliding object's velocity [Vector3]. If the object is an [Area3D], the result is [code](0, 0, 0)[/code]. [code]normal[/code]: The object's surface normal at the intersection point. [code]point[/code]: The intersection point. [code]rid[/code]: The intersecting object's [RID]. @@ -73,18 +73,18 @@ [code]rid[/code]: The intersecting object's [RID]. [code]shape[/code]: The shape index of the colliding shape. If the ray did not intersect anything, then an empty dictionary is returned instead. - Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody]s or [Area]s, respectively. + Additionally, the method can take an [code]exclude[/code] array of objects or [RID]s that are to be excluded from collisions, a [code]collision_mask[/code] bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with [PhysicsBody3D]s or [Area3D]s, respectively. </description> </method> <method name="intersect_shape"> <return type="Array"> </return> - <argument index="0" name="shape" type="PhysicsShapeQueryParameters"> + <argument index="0" name="shape" type="PhysicsShapeQueryParameters3D"> </argument> <argument index="1" name="max_results" type="int" default="32"> </argument> <description> - Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields: + Checks the intersections of a shape, given through a [PhysicsShapeQueryParameters3D] object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields: [code]collider[/code]: The colliding object. [code]collider_id[/code]: The colliding object's ID. [code]rid[/code]: The intersecting object's [RID]. diff --git a/doc/classes/PhysicsMaterial.xml b/doc/classes/PhysicsMaterial.xml index 84e7f2b275..6410626496 100644 --- a/doc/classes/PhysicsMaterial.xml +++ b/doc/classes/PhysicsMaterial.xml @@ -4,7 +4,7 @@ A material for physics properties. </brief_description> <description> - Provides a means of modifying the collision properties of a [PhysicsBody]. + Provides a means of modifying the collision properties of a [PhysicsBody3D]. </description> <tutorials> </tutorials> diff --git a/doc/classes/Physics2DServer.xml b/doc/classes/PhysicsServer2D.xml index 4fac27a82b..9da739e57a 100644 --- a/doc/classes/Physics2DServer.xml +++ b/doc/classes/PhysicsServer2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DServer" inherits="Object" version="4.0"> +<class name="PhysicsServer2D" inherits="Object" version="4.0"> <brief_description> Server interface for low-level 2D physics access. </brief_description> <description> - Physics2DServer is the server responsible for all 2D physics. It can create many kinds of physics objects, but does not insert them on the node tree. + PhysicsServer2D is the server responsible for all 2D physics. It can create many kinds of physics objects, but does not insert them on the node tree. </description> <tutorials> </tutorials> @@ -83,7 +83,7 @@ </return> <argument index="0" name="area" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.AreaParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.AreaParameter"> </argument> <description> Returns an area parameter value. See [enum AreaParameter] for a list of available parameters. @@ -130,7 +130,7 @@ </description> </method> <method name="area_get_space_override_mode" qualifiers="const"> - <return type="int" enum="Physics2DServer.AreaSpaceOverrideMode"> + <return type="int" enum="PhysicsServer2D.AreaSpaceOverrideMode"> </return> <argument index="0" name="area" type="RID"> </argument> @@ -165,7 +165,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <description> </description> @@ -199,7 +199,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <description> Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters: @@ -225,7 +225,7 @@ </return> <argument index="0" name="area" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.AreaParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.AreaParameter"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -288,7 +288,7 @@ </return> <argument index="0" name="area" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="Physics2DServer.AreaSpaceOverrideMode"> + <argument index="1" name="mode" type="int" enum="PhysicsServer2D.AreaSpaceOverrideMode"> </argument> <description> Sets the space override mode for the area. See [enum AreaSpaceOverrideMode] for a list of available modes. @@ -461,7 +461,7 @@ </description> </method> <method name="body_get_continuous_collision_detection_mode" qualifiers="const"> - <return type="int" enum="Physics2DServer.CCDMode"> + <return type="int" enum="PhysicsServer2D.CCDMode"> </return> <argument index="0" name="body" type="RID"> </argument> @@ -470,12 +470,12 @@ </description> </method> <method name="body_get_direct_state"> - <return type="Physics2DDirectBodyState"> + <return type="PhysicsDirectBodyState2D"> </return> <argument index="0" name="body" type="RID"> </argument> <description> - Returns the [Physics2DDirectBodyState] of the body. + Returns the [PhysicsDirectBodyState2D] of the body. </description> </method> <method name="body_get_max_contacts_reported" qualifiers="const"> @@ -488,7 +488,7 @@ </description> </method> <method name="body_get_mode" qualifiers="const"> - <return type="int" enum="Physics2DServer.BodyMode"> + <return type="int" enum="PhysicsServer2D.BodyMode"> </return> <argument index="0" name="body" type="RID"> </argument> @@ -510,7 +510,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.BodyParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.BodyParameter"> </argument> <description> Returns the value of a body parameter. See [enum BodyParameter] for a list of available parameters. @@ -572,7 +572,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="state" type="int" enum="Physics2DServer.BodyState"> + <argument index="1" name="state" type="int" enum="PhysicsServer2D.BodyState"> </argument> <description> Returns a body state. @@ -647,7 +647,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="Physics2DServer.CCDMode"> + <argument index="1" name="mode" type="int" enum="PhysicsServer2D.CCDMode"> </argument> <description> Sets the continuous collision detection mode using one of the [enum CCDMode] constants. @@ -661,7 +661,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <argument index="3" name="userdata" type="Variant" default="null"> </argument> @@ -685,7 +685,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="Physics2DServer.BodyMode"> + <argument index="1" name="mode" type="int" enum="PhysicsServer2D.BodyMode"> </argument> <description> Sets the body mode using one of the [enum BodyMode] constants. @@ -707,7 +707,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.BodyParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.BodyParameter"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -798,7 +798,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="state" type="int" enum="Physics2DServer.BodyState"> + <argument index="1" name="state" type="int" enum="PhysicsServer2D.BodyState"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -819,10 +819,10 @@ </argument> <argument index="4" name="margin" type="float" default="0.08"> </argument> - <argument index="5" name="result" type="Physics2DTestMotionResult" default="null"> + <argument index="5" name="result" type="PhysicsTestMotionResult2D" default="null"> </argument> <description> - Returns [code]true[/code] if a collision would result from moving in the given direction from a given point in space. Margin increases the size of the shapes involved in the collision detection. [Physics2DTestMotionResult] can be passed to return additional information in. + Returns [code]true[/code] if a collision would result from moving in the given direction from a given point in space. Margin increases the size of the shapes involved in the collision detection. [PhysicsTestMotionResult2D] can be passed to return additional information in. </description> </method> <method name="capsule_shape_create"> @@ -869,7 +869,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.DampedStringParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.DampedStringParam"> </argument> <description> Returns the value of a damped spring joint parameter. @@ -880,7 +880,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.DampedStringParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.DampedStringParam"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -894,13 +894,13 @@ <argument index="0" name="rid" type="RID"> </argument> <description> - Destroys any of the objects created by Physics2DServer. If the [RID] passed is not one of the objects that can be created by Physics2DServer, an error will be sent to the console. + Destroys any of the objects created by PhysicsServer2D. If the [RID] passed is not one of the objects that can be created by PhysicsServer2D, an error will be sent to the console. </description> </method> <method name="get_process_info"> <return type="int"> </return> - <argument index="0" name="process_info" type="int" enum="Physics2DServer.ProcessInfo"> + <argument index="0" name="process_info" type="int" enum="PhysicsServer2D.ProcessInfo"> </argument> <description> Returns information about the current state of the 2D physics engine. See [enum ProcessInfo] for a list of available states. @@ -928,14 +928,14 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.JointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.JointParam"> </argument> <description> Returns the value of a joint parameter. </description> </method> <method name="joint_get_type" qualifiers="const"> - <return type="int" enum="Physics2DServer.JointType"> + <return type="int" enum="PhysicsServer2D.JointType"> </return> <argument index="0" name="joint" type="RID"> </argument> @@ -948,7 +948,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.JointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.JointParam"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -1012,7 +1012,7 @@ </description> </method> <method name="shape_get_type" qualifiers="const"> - <return type="int" enum="Physics2DServer.ShapeType"> + <return type="int" enum="PhysicsServer2D.ShapeType"> </return> <argument index="0" name="shape" type="RID"> </argument> @@ -1039,12 +1039,12 @@ </description> </method> <method name="space_get_direct_state"> - <return type="Physics2DDirectSpaceState"> + <return type="PhysicsDirectSpaceState2D"> </return> <argument index="0" name="space" type="RID"> </argument> <description> - Returns the state of a space, a [Physics2DDirectSpaceState]. This object can be used to make collision/intersection queries. + Returns the state of a space, a [PhysicsDirectSpaceState2D]. This object can be used to make collision/intersection queries. </description> </method> <method name="space_get_param" qualifiers="const"> @@ -1052,7 +1052,7 @@ </return> <argument index="0" name="space" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.SpaceParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.SpaceParameter"> </argument> <description> Returns the value of a space parameter. @@ -1083,7 +1083,7 @@ </return> <argument index="0" name="space" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="Physics2DServer.SpaceParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer2D.SpaceParameter"> </argument> <argument index="2" name="value" type="float"> </argument> diff --git a/doc/classes/PhysicsServer.xml b/doc/classes/PhysicsServer3D.xml index d54a907d3d..e9e1552c92 100644 --- a/doc/classes/PhysicsServer.xml +++ b/doc/classes/PhysicsServer3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsServer" inherits="Object" version="4.0"> +<class name="PhysicsServer3D" inherits="Object" version="4.0"> <brief_description> Server interface for low-level physics access. </brief_description> <description> - PhysicsServer is the server responsible for all 3D physics. It can create many kinds of physics objects, but does not insert them on the node tree. + PhysicsServer3D is the server responsible for all 3D physics. It can create many kinds of physics objects, but does not insert them on the node tree. </description> <tutorials> </tutorials> @@ -48,7 +48,7 @@ <return type="RID"> </return> <description> - Creates an [Area]. + Creates an [Area3D]. </description> </method> <method name="area_get_object_instance_id" qualifiers="const"> @@ -65,7 +65,7 @@ </return> <argument index="0" name="area" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.AreaParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.AreaParameter"> </argument> <description> Returns an area parameter value. A list of available parameters is on the [enum AreaParameter] constants. @@ -112,7 +112,7 @@ </description> </method> <method name="area_get_space_override_mode" qualifiers="const"> - <return type="int" enum="PhysicsServer.AreaSpaceOverrideMode"> + <return type="int" enum="PhysicsServer3D.AreaSpaceOverrideMode"> </return> <argument index="0" name="area" type="RID"> </argument> @@ -156,7 +156,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <description> </description> @@ -190,7 +190,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <description> Sets the function to call when any body/area enters or exits the area. This callback will be called for any object interacting with the area, and takes five parameters: @@ -216,7 +216,7 @@ </return> <argument index="0" name="area" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.AreaParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.AreaParameter"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -289,7 +289,7 @@ </return> <argument index="0" name="area" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="PhysicsServer.AreaSpaceOverrideMode"> + <argument index="1" name="mode" type="int" enum="PhysicsServer3D.AreaSpaceOverrideMode"> </argument> <description> Sets the space override mode for the area. The modes are described in the [enum AreaSpaceOverrideMode] constants. @@ -421,7 +421,7 @@ <method name="body_create"> <return type="RID"> </return> - <argument index="0" name="mode" type="int" enum="PhysicsServer.BodyMode" default="2"> + <argument index="0" name="mode" type="int" enum="PhysicsServer3D.BodyMode" default="2"> </argument> <argument index="1" name="init_sleeping" type="bool" default="false"> </argument> @@ -449,12 +449,12 @@ </description> </method> <method name="body_get_direct_state"> - <return type="PhysicsDirectBodyState"> + <return type="PhysicsDirectBodyState3D"> </return> <argument index="0" name="body" type="RID"> </argument> <description> - Returns the [PhysicsDirectBodyState] of the body. + Returns the [PhysicsDirectBodyState3D] of the body. </description> </method> <method name="body_get_kinematic_safe_margin" qualifiers="const"> @@ -475,7 +475,7 @@ </description> </method> <method name="body_get_mode" qualifiers="const"> - <return type="int" enum="PhysicsServer.BodyMode"> + <return type="int" enum="PhysicsServer3D.BodyMode"> </return> <argument index="0" name="body" type="RID"> </argument> @@ -497,7 +497,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.BodyParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.BodyParameter"> </argument> <description> Returns the value of a body parameter. A list of available parameters is on the [enum BodyParameter] constants. @@ -548,7 +548,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="state" type="int" enum="PhysicsServer.BodyState"> + <argument index="1" name="state" type="int" enum="PhysicsServer3D.BodyState"> </argument> <description> Returns a body state. @@ -559,7 +559,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="axis" type="int" enum="PhysicsServer.BodyAxis"> + <argument index="1" name="axis" type="int" enum="PhysicsServer3D.BodyAxis"> </argument> <description> </description> @@ -619,7 +619,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="axis" type="int" enum="PhysicsServer.BodyAxis"> + <argument index="1" name="axis" type="int" enum="PhysicsServer3D.BodyAxis"> </argument> <argument index="2" name="lock" type="bool"> </argument> @@ -678,7 +678,7 @@ </argument> <argument index="1" name="receiver" type="Object"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <argument index="3" name="userdata" type="Variant" default="null"> </argument> @@ -712,7 +712,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="PhysicsServer.BodyMode"> + <argument index="1" name="mode" type="int" enum="PhysicsServer3D.BodyMode"> </argument> <description> Sets the body mode, from one of the [enum BodyMode] constants. @@ -734,7 +734,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.BodyParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.BodyParameter"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -807,7 +807,7 @@ </return> <argument index="0" name="body" type="RID"> </argument> - <argument index="1" name="state" type="int" enum="PhysicsServer.BodyState"> + <argument index="1" name="state" type="int" enum="PhysicsServer3D.BodyState"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -820,7 +820,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.ConeTwistJointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.ConeTwistJointParam"> </argument> <description> Gets a cone_twist_joint parameter (see [enum ConeTwistJointParam] constants). @@ -831,7 +831,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.ConeTwistJointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.ConeTwistJointParam"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -845,7 +845,7 @@ <argument index="0" name="rid" type="RID"> </argument> <description> - Destroys any of the objects created by PhysicsServer. If the [RID] passed is not one of the objects that can be created by PhysicsServer, an error will be sent to the console. + Destroys any of the objects created by PhysicsServer3D. If the [RID] passed is not one of the objects that can be created by PhysicsServer3D, an error will be sent to the console. </description> </method> <method name="generic_6dof_joint_get_flag"> @@ -855,7 +855,7 @@ </argument> <argument index="1" name="axis" type="int" enum="Vector3.Axis"> </argument> - <argument index="2" name="flag" type="int" enum="PhysicsServer.G6DOFJointAxisFlag"> + <argument index="2" name="flag" type="int" enum="PhysicsServer3D.G6DOFJointAxisFlag"> </argument> <description> Gets a generic_6_DOF_joint flag (see [enum G6DOFJointAxisFlag] constants). @@ -868,7 +868,7 @@ </argument> <argument index="1" name="axis" type="int" enum="Vector3.Axis"> </argument> - <argument index="2" name="param" type="int" enum="PhysicsServer.G6DOFJointAxisParam"> + <argument index="2" name="param" type="int" enum="PhysicsServer3D.G6DOFJointAxisParam"> </argument> <description> Gets a generic_6_DOF_joint parameter (see [enum G6DOFJointAxisParam] constants). @@ -881,7 +881,7 @@ </argument> <argument index="1" name="axis" type="int" enum="Vector3.Axis"> </argument> - <argument index="2" name="flag" type="int" enum="PhysicsServer.G6DOFJointAxisFlag"> + <argument index="2" name="flag" type="int" enum="PhysicsServer3D.G6DOFJointAxisFlag"> </argument> <argument index="3" name="enable" type="bool"> </argument> @@ -896,7 +896,7 @@ </argument> <argument index="1" name="axis" type="int" enum="Vector3.Axis"> </argument> - <argument index="2" name="param" type="int" enum="PhysicsServer.G6DOFJointAxisParam"> + <argument index="2" name="param" type="int" enum="PhysicsServer3D.G6DOFJointAxisParam"> </argument> <argument index="3" name="value" type="float"> </argument> @@ -907,7 +907,7 @@ <method name="get_process_info"> <return type="int"> </return> - <argument index="0" name="process_info" type="int" enum="PhysicsServer.ProcessInfo"> + <argument index="0" name="process_info" type="int" enum="PhysicsServer3D.ProcessInfo"> </argument> <description> Returns an Info defined by the [enum ProcessInfo] input given. @@ -918,7 +918,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="flag" type="int" enum="PhysicsServer.HingeJointFlag"> + <argument index="1" name="flag" type="int" enum="PhysicsServer3D.HingeJointFlag"> </argument> <description> Gets a hinge_joint flag (see [enum HingeJointFlag] constants). @@ -929,7 +929,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.HingeJointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.HingeJointParam"> </argument> <description> Gets a hinge_joint parameter (see [enum HingeJointParam]). @@ -940,7 +940,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="flag" type="int" enum="PhysicsServer.HingeJointFlag"> + <argument index="1" name="flag" type="int" enum="PhysicsServer3D.HingeJointFlag"> </argument> <argument index="2" name="enabled" type="bool"> </argument> @@ -953,7 +953,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.HingeJointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.HingeJointParam"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -973,7 +973,7 @@ <argument index="3" name="local_ref_B" type="Transform"> </argument> <description> - Creates a [ConeTwistJoint]. + Creates a [ConeTwistJoint3D]. </description> </method> <method name="joint_create_generic_6dof"> @@ -988,7 +988,7 @@ <argument index="3" name="local_ref_B" type="Transform"> </argument> <description> - Creates a [Generic6DOFJoint]. + Creates a [Generic6DOFJoint3D]. </description> </method> <method name="joint_create_hinge"> @@ -1003,7 +1003,7 @@ <argument index="3" name="hinge_B" type="Transform"> </argument> <description> - Creates a [HingeJoint]. + Creates a [HingeJoint3D]. </description> </method> <method name="joint_create_pin"> @@ -1018,7 +1018,7 @@ <argument index="3" name="local_B" type="Vector3"> </argument> <description> - Creates a [PinJoint]. + Creates a [PinJoint3D]. </description> </method> <method name="joint_create_slider"> @@ -1033,7 +1033,7 @@ <argument index="3" name="local_ref_B" type="Transform"> </argument> <description> - Creates a [SliderJoint]. + Creates a [SliderJoint3D]. </description> </method> <method name="joint_get_solver_priority" qualifiers="const"> @@ -1042,16 +1042,16 @@ <argument index="0" name="joint" type="RID"> </argument> <description> - Gets the priority value of the Joint. + Gets the priority value of the Joint3D. </description> </method> <method name="joint_get_type" qualifiers="const"> - <return type="int" enum="PhysicsServer.JointType"> + <return type="int" enum="PhysicsServer3D.JointType"> </return> <argument index="0" name="joint" type="RID"> </argument> <description> - Returns the type of the Joint. + Returns the type of the Joint3D. </description> </method> <method name="joint_set_solver_priority"> @@ -1062,7 +1062,7 @@ <argument index="1" name="priority" type="int"> </argument> <description> - Sets the priority value of the Joint. + Sets the priority value of the Joint3D. </description> </method> <method name="pin_joint_get_local_a" qualifiers="const"> @@ -1088,7 +1088,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.PinJointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.PinJointParam"> </argument> <description> Gets a pin_joint parameter (see [enum PinJointParam] constants). @@ -1121,7 +1121,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.PinJointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.PinJointParam"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -1141,7 +1141,7 @@ <method name="shape_create"> <return type="RID"> </return> - <argument index="0" name="type" type="int" enum="PhysicsServer.ShapeType"> + <argument index="0" name="type" type="int" enum="PhysicsServer3D.ShapeType"> </argument> <description> Creates a shape of a type from [enum ShapeType]. Does not assign it to a body or an area. To do so, you must use [method area_set_shape] or [method body_set_shape]. @@ -1157,7 +1157,7 @@ </description> </method> <method name="shape_get_type" qualifiers="const"> - <return type="int" enum="PhysicsServer.ShapeType"> + <return type="int" enum="PhysicsServer3D.ShapeType"> </return> <argument index="0" name="shape" type="RID"> </argument> @@ -1181,7 +1181,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.SliderJointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.SliderJointParam"> </argument> <description> Gets a slider_joint parameter (see [enum SliderJointParam] constants). @@ -1192,7 +1192,7 @@ </return> <argument index="0" name="joint" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.SliderJointParam"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.SliderJointParam"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -1208,12 +1208,12 @@ </description> </method> <method name="space_get_direct_state"> - <return type="PhysicsDirectSpaceState"> + <return type="PhysicsDirectSpaceState3D"> </return> <argument index="0" name="space" type="RID"> </argument> <description> - Returns the state of a space, a [PhysicsDirectSpaceState]. This object can be used to make collision/intersection queries. + Returns the state of a space, a [PhysicsDirectSpaceState3D]. This object can be used to make collision/intersection queries. </description> </method> <method name="space_get_param" qualifiers="const"> @@ -1221,7 +1221,7 @@ </return> <argument index="0" name="space" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.SpaceParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.SpaceParameter"> </argument> <description> Returns the value of a space parameter. @@ -1252,7 +1252,7 @@ </return> <argument index="0" name="space" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="PhysicsServer.SpaceParameter"> + <argument index="1" name="param" type="int" enum="PhysicsServer3D.SpaceParameter"> </argument> <argument index="2" name="value" type="float"> </argument> @@ -1263,19 +1263,19 @@ </methods> <constants> <constant name="JOINT_PIN" value="0" enum="JointType"> - The [Joint] is a [PinJoint]. + The [Joint3D] is a [PinJoint3D]. </constant> <constant name="JOINT_HINGE" value="1" enum="JointType"> - The [Joint] is a [HingeJoint]. + The [Joint3D] is a [HingeJoint3D]. </constant> <constant name="JOINT_SLIDER" value="2" enum="JointType"> - The [Joint] is a [SliderJoint]. + The [Joint3D] is a [SliderJoint3D]. </constant> <constant name="JOINT_CONE_TWIST" value="3" enum="JointType"> - The [Joint] is a [ConeTwistJoint]. + The [Joint3D] is a [ConeTwistJoint3D]. </constant> <constant name="JOINT_6DOF" value="4" enum="JointType"> - The [Joint] is a [Generic6DOFJoint]. + The [Joint3D] is a [Generic6DOFJoint3D]. </constant> <constant name="PIN_JOINT_BIAS" value="0" enum="PinJointParam"> The strength with which the pinned objects try to stay in positional relation to each other. @@ -1286,7 +1286,7 @@ The higher, the stronger. </constant> <constant name="PIN_JOINT_IMPULSE_CLAMP" value="2" enum="PinJointParam"> - If above 0, this value is the maximum value for an impulse that this Joint puts on its ends. + If above 0, this value is the maximum value for an impulse that this Joint3D puts on its ends. </constant> <constant name="HINGE_JOINT_BIAS" value="0" enum="HingeJointParam"> The speed with which the two bodies get pulled together when they move in different directions. @@ -1388,8 +1388,8 @@ </constant> <constant name="CONE_TWIST_JOINT_SWING_SPAN" value="0" enum="ConeTwistJointParam"> Swing is rotation from side to side, around the axis perpendicular to the twist axis. - The swing span defines, how much rotation will not get corrected allong the swing axis. - Could be defined as looseness in the [ConeTwistJoint]. + The swing span defines, how much rotation will not get corrected along the swing axis. + Could be defined as looseness in the [ConeTwistJoint3D]. If below 0.05, this behavior is locked. </constant> <constant name="CONE_TWIST_JOINT_TWIST_SPAN" value="1" enum="ConeTwistJointParam"> @@ -1401,7 +1401,7 @@ The higher, the faster. </constant> <constant name="CONE_TWIST_JOINT_SOFTNESS" value="3" enum="ConeTwistJointParam"> - The ease with which the Joint twists, if it's too low, it takes more force to twist the joint. + The ease with which the Joint3D twists, if it's too low, it takes more force to twist the joint. </constant> <constant name="CONE_TWIST_JOINT_RELAXATION" value="4" enum="ConeTwistJointParam"> Defines, how fast the swing- and twist-speed-difference on both sides gets synced. @@ -1467,31 +1467,31 @@ If [code]set[/code] there is a linear motor on this axis that targets a specific velocity. </constant> <constant name="SHAPE_PLANE" value="0" enum="ShapeType"> - The [Shape] is a [PlaneShape]. + The [Shape3D] is a [WorldMarginShape3D]. </constant> <constant name="SHAPE_RAY" value="1" enum="ShapeType"> - The [Shape] is a [RayShape]. + The [Shape3D] is a [RayShape3D]. </constant> <constant name="SHAPE_SPHERE" value="2" enum="ShapeType"> - The [Shape] is a [SphereShape]. + The [Shape3D] is a [SphereShape3D]. </constant> <constant name="SHAPE_BOX" value="3" enum="ShapeType"> - The [Shape] is a [BoxShape]. + The [Shape3D] is a [BoxShape3D]. </constant> <constant name="SHAPE_CAPSULE" value="4" enum="ShapeType"> - The [Shape] is a [CapsuleShape]. + The [Shape3D] is a [CapsuleShape3D]. </constant> <constant name="SHAPE_CYLINDER" value="5" enum="ShapeType"> - The [Shape] is a [CylinderShape]. + The [Shape3D] is a [CylinderShape3D]. </constant> <constant name="SHAPE_CONVEX_POLYGON" value="6" enum="ShapeType"> - The [Shape] is a [ConvexPolygonShape]. + The [Shape3D] is a [ConvexPolygonShape3D]. </constant> <constant name="SHAPE_CONCAVE_POLYGON" value="7" enum="ShapeType"> - The [Shape] is a [ConcavePolygonShape]. + The [Shape3D] is a [ConcavePolygonShape3D]. </constant> <constant name="SHAPE_HEIGHTMAP" value="8" enum="ShapeType"> - The [Shape] is a [HeightMapShape]. + The [Shape3D] is a [HeightMapShape3D]. </constant> <constant name="SHAPE_CUSTOM" value="9" enum="ShapeType"> This constant is used internally by the engine. Any attempt to create this kind of shape results in an error. diff --git a/doc/classes/Physics2DShapeQueryParameters.xml b/doc/classes/PhysicsShapeQueryParameters2D.xml index 392ccbd10a..9a162dabbb 100644 --- a/doc/classes/Physics2DShapeQueryParameters.xml +++ b/doc/classes/PhysicsShapeQueryParameters2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DShapeQueryParameters" inherits="Reference" version="4.0"> +<class name="PhysicsShapeQueryParameters2D" inherits="Reference" version="4.0"> <brief_description> Parameters to be sent to a 2D shape physics query. </brief_description> <description> - This class contains the shape and other parameters for 2D intersection/collision queries. See also [Physics2DShapeQueryResult]. + This class contains the shape and other parameters for 2D intersection/collision queries. See also [PhysicsShapeQueryResult2D]. </description> <tutorials> </tutorials> diff --git a/doc/classes/PhysicsShapeQueryParameters.xml b/doc/classes/PhysicsShapeQueryParameters3D.xml index 829a1d1bf0..6606cfbc59 100644 --- a/doc/classes/PhysicsShapeQueryParameters.xml +++ b/doc/classes/PhysicsShapeQueryParameters3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsShapeQueryParameters" inherits="Reference" version="4.0"> +<class name="PhysicsShapeQueryParameters3D" inherits="Reference" version="4.0"> <brief_description> Parameters to be sent to a 3D shape physics query. </brief_description> <description> - This class contains the shape and other parameters for 3D intersection/collision queries. See also [PhysicsShapeQueryResult]. + This class contains the shape and other parameters for 3D intersection/collision queries. See also [PhysicsShapeQueryResult3D]. </description> <tutorials> </tutorials> @@ -15,16 +15,16 @@ <argument index="0" name="shape" type="Resource"> </argument> <description> - Sets the [Shape] that will be used for collision/intersection queries. + Sets the [Shape3D] that will be used for collision/intersection queries. </description> </method> </methods> <members> <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false"> - If [code]true[/code], the query will take [Area]s into account. + If [code]true[/code], the query will take [Area3D]s into account. </member> <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true"> - If [code]true[/code], the query will take [PhysicsBody]s into account. + If [code]true[/code], the query will take [PhysicsBody3D]s into account. </member> <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="2147483647"> The physics layer(s) the query will take into account (as a bitmask). diff --git a/doc/classes/Physics2DShapeQueryResult.xml b/doc/classes/PhysicsShapeQueryResult2D.xml index 359a716bee..227683cc33 100644 --- a/doc/classes/Physics2DShapeQueryResult.xml +++ b/doc/classes/PhysicsShapeQueryResult2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DShapeQueryResult" inherits="Reference" version="4.0"> +<class name="PhysicsShapeQueryResult2D" inherits="Reference" version="4.0"> <brief_description> - Result of a 2D shape query in [Physics2DServer]. + Result of a 2D shape query in [PhysicsServer2D]. </brief_description> <description> - The result of a 2D shape query in [Physics2DServer]. See also [Physics2DShapeQueryParameters]. + The result of a 2D shape query in [PhysicsServer2D]. See also [PhysicsShapeQueryParameters2D]. </description> <tutorials> </tutorials> @@ -40,7 +40,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the child index of the object's [Shape] that intersected with the shape at index [code]idx[/code]. + Returns the child index of the object's [Shape2D] that intersected with the shape at index [code]idx[/code]. </description> </method> <method name="get_result_rid" qualifiers="const"> diff --git a/doc/classes/PhysicsShapeQueryResult.xml b/doc/classes/PhysicsShapeQueryResult3D.xml index ea6dc2c39e..4555c4e242 100644 --- a/doc/classes/PhysicsShapeQueryResult.xml +++ b/doc/classes/PhysicsShapeQueryResult3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PhysicsShapeQueryResult" inherits="Reference" version="4.0"> +<class name="PhysicsShapeQueryResult3D" inherits="Reference" version="4.0"> <brief_description> - Result of a 3D shape query in [PhysicsServer]. + Result of a 3D shape query in [PhysicsServer3D]. </brief_description> <description> - The result of a 3D shape query in [PhysicsServer]. See also [PhysicsShapeQueryParameters]. + The result of a 3D shape query in [PhysicsServer3D]. See also [PhysicsShapeQueryParameters3D]. </description> <tutorials> </tutorials> @@ -40,7 +40,7 @@ <argument index="0" name="idx" type="int"> </argument> <description> - Returns the child index of the object's [Shape] that intersected with the shape at index [code]idx[/code]. + Returns the child index of the object's [Shape3D] that intersected with the shape at index [code]idx[/code]. </description> </method> <method name="get_result_rid" qualifiers="const"> diff --git a/doc/classes/Physics2DTestMotionResult.xml b/doc/classes/PhysicsTestMotionResult2D.xml index 9e8c03580f..301cff2885 100644 --- a/doc/classes/Physics2DTestMotionResult.xml +++ b/doc/classes/PhysicsTestMotionResult2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Physics2DTestMotionResult" inherits="Reference" version="4.0"> +<class name="PhysicsTestMotionResult2D" inherits="Reference" version="4.0"> <brief_description> </brief_description> <description> diff --git a/doc/classes/PinJoint2D.xml b/doc/classes/PinJoint2D.xml index 020babdf40..42155a7f25 100644 --- a/doc/classes/PinJoint2D.xml +++ b/doc/classes/PinJoint2D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PinJoint2D" inherits="Joint2D" version="4.0"> <brief_description> - Pin Joint for 2D shapes. + Pin joint for 2D shapes. </brief_description> <description> - Pin Joint for 2D rigid bodies. It pins two bodies (rigid or static) together. + Pin joint for 2D rigid bodies. It pins two bodies (rigid or static) together. </description> <tutorials> </tutorials> diff --git a/doc/classes/PinJoint.xml b/doc/classes/PinJoint3D.xml index de4cb9d98a..0af1e60839 100644 --- a/doc/classes/PinJoint.xml +++ b/doc/classes/PinJoint3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PinJoint" inherits="Joint" version="4.0"> +<class name="PinJoint3D" inherits="Joint3D" version="4.0"> <brief_description> Pin joint for 3D shapes. </brief_description> @@ -12,19 +12,21 @@ <method name="get_param" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="PinJoint.Param"> + <argument index="0" name="param" type="int" enum="PinJoint3D.Param"> </argument> <description> + Returns the value of the specified parameter. </description> </method> <method name="set_param"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="PinJoint.Param"> + <argument index="0" name="param" type="int" enum="PinJoint3D.Param"> </argument> <argument index="1" name="value" type="float"> </argument> <description> + Sets the value of the specified parameter. </description> </method> </methods> @@ -36,7 +38,7 @@ The force with which the pinned objects stay in velocity relation to each other. The higher, the stronger. </member> <member name="params/impulse_clamp" type="float" setter="set_param" getter="get_param" default="0.0"> - If above 0, this value is the maximum value for an impulse that this Joint produces. + If above 0, this value is the maximum value for an impulse that this Joint3D produces. </member> </members> <constants> @@ -47,7 +49,7 @@ The force with which the pinned objects stay in velocity relation to each other. The higher, the stronger. </constant> <constant name="PARAM_IMPULSE_CLAMP" value="2" enum="Param"> - If above 0, this value is the maximum value for an impulse that this Joint produces. + If above 0, this value is the maximum value for an impulse that this Joint3D produces. </constant> </constants> </class> diff --git a/doc/classes/Plane.xml b/doc/classes/Plane.xml index 8f0043fb86..292acd8b5d 100644 --- a/doc/classes/Plane.xml +++ b/doc/classes/Plane.xml @@ -77,7 +77,7 @@ </return> <argument index="0" name="point" type="Vector3"> </argument> - <argument index="1" name="epsilon" type="float" default="0.00001"> + <argument index="1" name="epsilon" type="float" default="1e-05"> </argument> <description> Returns [code]true[/code] if [code]point[/code] is inside the plane (by a very minimum [code]epsilon[/code] threshold). diff --git a/doc/classes/Polygon2D.xml b/doc/classes/Polygon2D.xml index 2a408e277a..13332ca4f0 100644 --- a/doc/classes/Polygon2D.xml +++ b/doc/classes/Polygon2D.xml @@ -14,15 +14,17 @@ </return> <argument index="0" name="path" type="NodePath"> </argument> - <argument index="1" name="weights" type="PackedRealArray"> + <argument index="1" name="weights" type="PackedFloat32Array"> </argument> <description> + Adds a bone with the specified [code]path[/code] and [code]weights[/code]. </description> </method> <method name="clear_bones"> <return type="void"> </return> <description> + Removes all bones from this [Polygon2D]. </description> </method> <method name="erase_bone"> @@ -31,12 +33,14 @@ <argument index="0" name="index" type="int"> </argument> <description> + Removes the specified bone from this [Polygon2D]. </description> </method> <method name="get_bone_count" qualifiers="const"> <return type="int"> </return> <description> + Returns the number of bones in this [Polygon2D]. </description> </method> <method name="get_bone_path" qualifiers="const"> @@ -45,14 +49,16 @@ <argument index="0" name="index" type="int"> </argument> <description> + Returns the path to the node associated with the specified bone. </description> </method> <method name="get_bone_weights" qualifiers="const"> - <return type="PackedRealArray"> + <return type="PackedFloat32Array"> </return> <argument index="0" name="index" type="int"> </argument> <description> + Returns the height values of the specified bone. </description> </method> <method name="set_bone_path"> @@ -63,6 +69,7 @@ <argument index="1" name="path" type="NodePath"> </argument> <description> + Sets the path to the node associated with the specified bone. </description> </method> <method name="set_bone_weights"> @@ -70,9 +77,10 @@ </return> <argument index="0" name="index" type="int"> </argument> - <argument index="1" name="weights" type="PackedRealArray"> + <argument index="1" name="weights" type="PackedFloat32Array"> </argument> <description> + Sets the weight values for the specified bone. </description> </method> </methods> diff --git a/doc/classes/PolygonPathFinder.xml b/doc/classes/PolygonPathFinder.xml index 0b535159a7..49453d32ac 100644 --- a/doc/classes/PolygonPathFinder.xml +++ b/doc/classes/PolygonPathFinder.xml @@ -72,7 +72,7 @@ </return> <argument index="0" name="points" type="PackedVector2Array"> </argument> - <argument index="1" name="connections" type="PackedIntArray"> + <argument index="1" name="connections" type="PackedInt32Array"> </argument> <description> </description> diff --git a/doc/classes/Popup.xml b/doc/classes/Popup.xml index 483e262f60..6f77f3371d 100644 --- a/doc/classes/Popup.xml +++ b/doc/classes/Popup.xml @@ -1,81 +1,23 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Popup" inherits="Control" version="4.0"> +<class name="Popup" inherits="Window" version="4.0"> <brief_description> Base container control for popups and dialogs. </brief_description> <description> - Popup is a base [Control] used to show dialogs and popups. It's a subwindow and modal by default (see [Control]) and has helpers for custom popup behavior. All popup methods ensure correct placement within the viewport. + Popup is a base [Control] used to show dialogs and popups. It's a subwindow and modal by default (see [Control]) and has helpers for custom popup behavior. </description> <tutorials> </tutorials> <methods> - <method name="popup"> - <return type="void"> - </return> - <argument index="0" name="bounds" type="Rect2" default="Rect2( 0, 0, 0, 0 )"> - </argument> - <description> - Popup (show the control in modal form). - </description> - </method> - <method name="popup_centered"> - <return type="void"> - </return> - <argument index="0" name="size" type="Vector2" default="Vector2( 0, 0 )"> - </argument> - <description> - Popup (show the control in modal form) in the center of the screen relative to its current canvas transform, at the current size, or at a size determined by [code]size[/code]. - </description> - </method> - <method name="popup_centered_clamped"> - <return type="void"> - </return> - <argument index="0" name="size" type="Vector2" default="Vector2( 0, 0 )"> - </argument> - <argument index="1" name="fallback_ratio" type="float" default="0.75"> - </argument> - <description> - Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, clamping the size to [code]size[/code], then ensuring the popup is no larger than the viewport size multiplied by [code]fallback_ratio[/code]. - </description> - </method> - <method name="popup_centered_minsize"> - <return type="void"> - </return> - <argument index="0" name="minsize" type="Vector2" default="Vector2( 0, 0 )"> - </argument> - <description> - Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, ensuring the size is never smaller than [code]minsize[/code]. - </description> - </method> - <method name="popup_centered_ratio"> - <return type="void"> - </return> - <argument index="0" name="ratio" type="float" default="0.75"> - </argument> - <description> - Popup (show the control in modal form) in the center of the screen relative to the current canvas transform, scaled at a ratio of size of the screen. - </description> - </method> - <method name="set_as_minsize"> - <return type="void"> - </return> - <description> - Shrink popup to keep to the minimum size of content. - </description> - </method> </methods> <members> - <member name="popup_exclusive" type="bool" setter="set_exclusive" getter="is_exclusive" default="false"> - If [code]true[/code], the popup will not be hidden when a click event occurs outside of it, or when it receives the [code]ui_cancel[/code] action event. - </member> + <member name="borderless" type="bool" setter="set_flag" getter="get_flag" override="true" default="true" /> + <member name="transient" type="bool" setter="set_transient" getter="is_transient" override="true" default="true" /> + <member name="unresizable" type="bool" setter="set_flag" getter="get_flag" override="true" default="true" /> <member name="visible" type="bool" setter="set_visible" getter="is_visible" override="true" default="false" /> + <member name="wrap_controls" type="bool" setter="set_wrap_controls" getter="is_wrapping_controls" override="true" default="true" /> </members> <signals> - <signal name="about_to_show"> - <description> - Emitted when a popup is about to be shown. This is often used in [PopupMenu] to clear the list of options then create a new one according to the current context. - </description> - </signal> <signal name="popup_hide"> <description> Emitted when a popup is hidden. @@ -83,11 +25,5 @@ </signal> </signals> <constants> - <constant name="NOTIFICATION_POST_POPUP" value="80"> - Notification sent right after the popup is shown. - </constant> - <constant name="NOTIFICATION_POPUP_HIDE" value="81"> - Notification sent right after the popup is hidden. - </constant> </constants> </class> diff --git a/doc/classes/PopupDialog.xml b/doc/classes/PopupDialog.xml deleted file mode 100644 index a8fd9c1b7d..0000000000 --- a/doc/classes/PopupDialog.xml +++ /dev/null @@ -1,20 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="PopupDialog" inherits="Popup" version="4.0"> - <brief_description> - Base class for popup dialogs. - </brief_description> - <description> - PopupDialog is a base class for popup dialogs, along with [WindowDialog]. - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <constants> - </constants> - <theme_items> - <theme_item name="panel" type="StyleBox"> - Sets a custom [StyleBox] for the panel of the [PopupDialog]. - </theme_item> - </theme_items> -</class> diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml index 8dda33f624..569da5c58b 100644 --- a/doc/classes/PopupMenu.xml +++ b/doc/classes/PopupMenu.xml @@ -330,13 +330,6 @@ Returns the tooltip associated with the specified index index [code]idx[/code]. </description> </method> - <method name="is_hide_on_window_lose_focus" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the popup will be hidden when the window loses focus or not. - </description> - </method> <method name="is_item_checkable" qualifiers="const"> <return type="bool"> </return> @@ -404,15 +397,6 @@ [b]Note:[/b] The indices of items after the removed item will be shifted by one. </description> </method> - <method name="set_hide_on_window_lose_focus"> - <return type="void"> - </return> - <argument index="0" name="enable" type="bool"> - </argument> - <description> - Hides the [PopupMenu] when the window loses focus. - </description> - </method> <method name="set_item_accelerator"> <return type="void"> </return> @@ -604,7 +588,6 @@ <member name="allow_search" type="bool" setter="set_allow_search" getter="get_allow_search" default="false"> If [code]true[/code], allows to navigate [PopupMenu] with letter keys. </member> - <member name="focus_mode" type="int" setter="set_focus_mode" getter="get_focus_mode" override="true" enum="Control.FocusMode" default="2" /> <member name="hide_on_checkable_item_selection" type="bool" setter="set_hide_on_checkable_item_selection" getter="is_hide_on_checkable_item_selection" default="true"> If [code]true[/code], hides the [PopupMenu] when a checkbox or radio button is selected. </member> diff --git a/doc/classes/PopupPanel.xml b/doc/classes/PopupPanel.xml index a3dd722f81..72045c5559 100644 --- a/doc/classes/PopupPanel.xml +++ b/doc/classes/PopupPanel.xml @@ -4,7 +4,7 @@ Class for displaying popups with a panel background. </brief_description> <description> - Class for displaying popups with a panel background. In some cases it might be simpler to use than [Popup], since it provides a configurable background. If you are making windows, better check [WindowDialog]. + Class for displaying popups with a panel background. In some cases it might be simpler to use than [Popup], since it provides a configurable background. If you are making windows, better check [Window]. </description> <tutorials> </tutorials> @@ -14,6 +14,7 @@ </constants> <theme_items> <theme_item name="panel" type="StyleBox"> + The background panel style of this [PopupPanel]. </theme_item> </theme_items> </class> diff --git a/doc/classes/Position3D.xml b/doc/classes/Position3D.xml index 6dce8a91c6..ca61a57483 100644 --- a/doc/classes/Position3D.xml +++ b/doc/classes/Position3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Position3D" inherits="Spatial" version="4.0"> +<class name="Position3D" inherits="Node3D" version="4.0"> <brief_description> Generic 3D position hint for editing. </brief_description> <description> - Generic 3D position hint for editing. It's just like a plain [Spatial], but it displays as a cross in the 3D editor at all times. + Generic 3D position hint for editing. It's just like a plain [Node3D], but it displays as a cross in the 3D editor at all times. </description> <tutorials> </tutorials> diff --git a/doc/classes/ProceduralSky.xml b/doc/classes/ProceduralSky.xml deleted file mode 100644 index 9a61fac63a..0000000000 --- a/doc/classes/ProceduralSky.xml +++ /dev/null @@ -1,84 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="ProceduralSky" inherits="Sky" version="4.0"> - <brief_description> - Type of [Sky] that is generated procedurally based on user input parameters. - </brief_description> - <description> - ProceduralSky provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly, the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky. - The ProceduralSky is updated on the CPU after the parameters change. It is stored in a texture and then displayed as a background in the scene. This makes it relatively unsuitable for real-time updates during gameplay. However, with a small enough texture size, it can still be updated relatively frequently, as it is updated on a background thread when multi-threading is available. - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <members> - <member name="ground_bottom_color" type="Color" setter="set_ground_bottom_color" getter="get_ground_bottom_color" default="Color( 0.156863, 0.184314, 0.211765, 1 )"> - Color of the ground at the bottom. - </member> - <member name="ground_curve" type="float" setter="set_ground_curve" getter="get_ground_curve" default="0.02"> - How quickly the [member ground_horizon_color] fades into the [member ground_bottom_color]. - </member> - <member name="ground_energy" type="float" setter="set_ground_energy" getter="get_ground_energy" default="1.0"> - Amount of energy contribution from the ground. - </member> - <member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color" default="Color( 0.423529, 0.396078, 0.372549, 1 )"> - Color of the ground at the horizon. - </member> - <member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve" default="0.09"> - How quickly the [member sky_horizon_color] fades into the [member sky_top_color]. - </member> - <member name="sky_energy" type="float" setter="set_sky_energy" getter="get_sky_energy" default="1.0"> - Amount of energy contribution from the sky. - </member> - <member name="sky_horizon_color" type="Color" setter="set_sky_horizon_color" getter="get_sky_horizon_color" default="Color( 0.839216, 0.917647, 0.980392, 1 )"> - Color of the sky at the horizon. - </member> - <member name="sky_top_color" type="Color" setter="set_sky_top_color" getter="get_sky_top_color" default="Color( 0.647059, 0.839216, 0.945098, 1 )"> - Color of the sky at the top. - </member> - <member name="sun_angle_max" type="float" setter="set_sun_angle_max" getter="get_sun_angle_max" default="100.0"> - Distance from center of sun where it fades out completely. - </member> - <member name="sun_angle_min" type="float" setter="set_sun_angle_min" getter="get_sun_angle_min" default="1.0"> - Distance from sun where it goes from solid to starting to fade. - </member> - <member name="sun_color" type="Color" setter="set_sun_color" getter="get_sun_color" default="Color( 1, 1, 1, 1 )"> - The sun's color. - </member> - <member name="sun_curve" type="float" setter="set_sun_curve" getter="get_sun_curve" default="0.05"> - How quickly the sun fades away between [member sun_angle_min] and [member sun_angle_max]. - </member> - <member name="sun_energy" type="float" setter="set_sun_energy" getter="get_sun_energy" default="1.0"> - Amount of energy contribution from the sun. - </member> - <member name="sun_latitude" type="float" setter="set_sun_latitude" getter="get_sun_latitude" default="35.0"> - The sun's height using polar coordinates. - </member> - <member name="sun_longitude" type="float" setter="set_sun_longitude" getter="get_sun_longitude" default="0.0"> - The direction of the sun using polar coordinates. - </member> - <member name="texture_size" type="int" setter="set_texture_size" getter="get_texture_size" enum="ProceduralSky.TextureSize" default="2"> - Size of [Texture2D] that the ProceduralSky will generate. The size is set using [enum TextureSize]. - </member> - </members> - <constants> - <constant name="TEXTURE_SIZE_256" value="0" enum="TextureSize"> - Sky texture will be 256x128. - </constant> - <constant name="TEXTURE_SIZE_512" value="1" enum="TextureSize"> - Sky texture will be 512x256. - </constant> - <constant name="TEXTURE_SIZE_1024" value="2" enum="TextureSize"> - Sky texture will be 1024x512. This is the default size. - </constant> - <constant name="TEXTURE_SIZE_2048" value="3" enum="TextureSize"> - Sky texture will be 2048x1024. - </constant> - <constant name="TEXTURE_SIZE_4096" value="4" enum="TextureSize"> - Sky texture will be 4096x2048. - </constant> - <constant name="TEXTURE_SIZE_MAX" value="5" enum="TextureSize"> - Represents the size of the [enum TextureSize] enum. - </constant> - </constants> -</class> diff --git a/doc/classes/ProceduralSkyMaterial.xml b/doc/classes/ProceduralSkyMaterial.xml new file mode 100644 index 0000000000..d3e1dbca27 --- /dev/null +++ b/doc/classes/ProceduralSkyMaterial.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="ProceduralSkyMaterial" inherits="Material" version="4.0"> + <brief_description> + A [Material] used with [Sky] to generate a background based on user input parameters. + </brief_description> + <description> + ProceduralSkyMaterial provides a way to create an effective background quickly by defining procedural parameters for the sun, the sky and the ground. The sky and ground are very similar, they are defined by a color at the horizon, another color, and finally an easing curve to interpolate between these two colors. Similarly, the sun is described by a position in the sky, a color, and an easing curve. However, the sun also defines a minimum and maximum angle, these two values define at what distance the easing curve begins and ends from the sun, and thus end up defining the size of the sun in the sky. + The [ProceduralSkyMaterial] uses a lightweight shader to draw the sky and is thus suited for real time updates. When you do not need a quick sky that is not realistic, this is a good option. + The [ProceduralSkyMaterial] supports up to 4 suns. Each sun takes its color, energy, and direction from the corresponding [DirectionalLight3D] in the scene. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="ground_bottom_color" type="Color" setter="set_ground_bottom_color" getter="get_ground_bottom_color" default="Color( 0.12, 0.12, 0.13, 1 )"> + Color of the ground at the bottom. Blends with [member ground_horizon_color]. + </member> + <member name="ground_curve" type="float" setter="set_ground_curve" getter="get_ground_curve" default="0.02"> + How quickly the [member ground_horizon_color] fades into the [member ground_bottom_color]. + </member> + <member name="ground_energy" type="float" setter="set_ground_energy" getter="get_ground_energy" default="1.0"> + Amount of energy contribution from the ground. + </member> + <member name="ground_horizon_color" type="Color" setter="set_ground_horizon_color" getter="get_ground_horizon_color" default="Color( 0.37, 0.33, 0.31, 1 )"> + Color of the ground at the horizon. Blends with [member ground_bottom_color]. + </member> + <member name="sky_curve" type="float" setter="set_sky_curve" getter="get_sky_curve" default="0.09"> + How quickly the [member sky_horizon_color] fades into the [member sky_top_color]. + </member> + <member name="sky_energy" type="float" setter="set_sky_energy" getter="get_sky_energy" default="1.0"> + Amount of energy contribution from the sky. + </member> + <member name="sky_horizon_color" type="Color" setter="set_sky_horizon_color" getter="get_sky_horizon_color" default="Color( 0.55, 0.69, 0.81, 1 )"> + Color of the sky at the horizon. Blends with [member sky_top_color]. + </member> + <member name="sky_top_color" type="Color" setter="set_sky_top_color" getter="get_sky_top_color" default="Color( 0.35, 0.46, 0.71, 1 )"> + Color of the sky at the top. Blends with [member sky_horizon_color]. + </member> + <member name="sun_angle_max" type="float" setter="set_sun_angle_max" getter="get_sun_angle_max" default="100.0"> + Distance from center of sun where it fades out completely. + </member> + <member name="sun_curve" type="float" setter="set_sun_curve" getter="get_sun_curve" default="0.05"> + How quickly the sun fades away between the edge of the sun disk and [member sun_angle_max]. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/ProgressBar.xml b/doc/classes/ProgressBar.xml index e94299a5b8..c957d6f182 100644 --- a/doc/classes/ProgressBar.xml +++ b/doc/classes/ProgressBar.xml @@ -21,14 +21,19 @@ </constants> <theme_items> <theme_item name="bg" type="StyleBox"> + The style of the background. </theme_item> <theme_item name="fg" type="StyleBox"> + The style of the progress (i.e. the part that fills the bar). </theme_item> <theme_item name="font" type="Font"> + Font used to draw the fill percentage if [member percent_visible] is [code]true[/code]. </theme_item> <theme_item name="font_color" type="Color" default="Color( 0.94, 0.94, 0.94, 1 )"> + The color of the text. </theme_item> <theme_item name="font_color_shadow" type="Color" default="Color( 0, 0, 0, 1 )"> + The color of the text's shadow. </theme_item> </theme_items> </class> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 236931f877..9e917fb4dd 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -179,9 +179,6 @@ </method> </methods> <members> - <member name="android/modules" type="String" setter="" getter="" default=""""> - Comma-separated list of custom Android modules (which must have been built in the Android export templates) using their Java package path, e.g. [code]org/godotengine/org/GodotPaymentV3,org/godotengine/godot/MyCustomSingleton"[/code]. - </member> <member name="application/boot_splash/bg_color" type="Color" setter="" getter="" default="Color( 0.14, 0.14, 0.14, 1 )"> Background color for the boot splash. </member> @@ -205,7 +202,7 @@ Icon used for the project, set when project loads. Exporters will also use this icon when possible. </member> <member name="application/config/macos_native_icon" type="String" setter="" getter="" default=""""> - Icon set in [code].icns[/code] format used on macOS to set the game's icon. This is done automatically on start by calling [method OS.set_native_icon]. + Icon set in [code].icns[/code] format used on macOS to set the game's icon. This is done automatically on start by calling [method DisplayServer.set_native_icon]. </member> <member name="application/config/name" type="String" setter="" getter="" default=""""> 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. @@ -218,7 +215,7 @@ If [code]true[/code], the project will save user data to its own user directory (see [member application/config/custom_user_dir_name]). This setting is only effective on desktop platforms. A name must be set in the [member application/config/custom_user_dir_name] setting for this to take effect. If [code]false[/code], the project will save user data to [code](OS user data directory)/Godot/app_userdata/(project name)[/code]. </member> <member name="application/config/windows_native_icon" type="String" setter="" getter="" default=""""> - Icon set in [code].ico[/code] format used on Windows to set the game's icon. This is done automatically on start by calling [method OS.set_native_icon]. + Icon set in [code].ico[/code] format used on Windows to set the game's icon. This is done automatically on start by calling [method DisplayServer.set_native_icon]. </member> <member name="application/run/disable_stderr" type="bool" setter="" getter="" default="false"> If [code]true[/code], disables printing to standard error in an exported build. @@ -263,19 +260,19 @@ Setting to hardcode audio delay when playing video. Best to leave this untouched unless you know what you are doing. </member> <member name="compression/formats/gzip/compression_level" type="int" setter="" getter="" default="-1"> - Default compression level for gzip. Affects compressed scenes and resources. + The default compression level for gzip. Affects compressed scenes and resources. Higher levels result in smaller files at the cost of compression speed. Decompression speed is mostly unaffected by the compression level. [code]-1[/code] uses the default gzip compression level, which is identical to [code]6[/code] but could change in the future due to underlying zlib updates. </member> <member name="compression/formats/zlib/compression_level" type="int" setter="" getter="" default="-1"> - Default compression level for Zlib. Affects compressed scenes and resources. + The default compression level for Zlib. Affects compressed scenes and resources. Higher levels result in smaller files at the cost of compression speed. Decompression speed is mostly unaffected by the compression level. [code]-1[/code] uses the default gzip compression level, which is identical to [code]6[/code] but could change in the future due to underlying zlib updates. </member> <member name="compression/formats/zstd/compression_level" type="int" setter="" getter="" default="3"> - Default compression level for Zstandard. Affects compressed scenes and resources. + The default compression level for Zstandard. Affects compressed scenes and resources. Higher levels result in smaller files at the cost of compression speed. Decompression speed is mostly unaffected by the compression level. </member> <member name="compression/formats/zstd/long_distance_matching" type="bool" setter="" getter="" default="false"> - Enables long-distance matching in Zstandard. + Enables [url=https://github.com/facebook/zstd/releases/tag/v1.3.2]long-distance matching[/url] in Zstandard. </member> <member name="compression/formats/zstd/window_log_size" type="int" setter="" getter="" default="27"> - Largest size limit (in power of 2) allowed when compressing using long-distance matching with Zstandard. + Largest size limit (in power of 2) allowed when compressing using long-distance matching with Zstandard. Higher values can result in better compression, but will require more memory when compressing and decompressing. </member> <member name="debug/gdscript/completion/autocomplete_setters_and_getters" type="bool" setter="" getter="" default="false"> If [code]true[/code], displays getters and setters in autocompletion results in the script editor. This setting is meant to be used when porting old projects (Godot 2), as using member variables is the preferred style from Godot 3 onwards. @@ -429,12 +426,6 @@ <member name="display/window/ios/hide_home_indicator" type="bool" setter="" getter="" default="true"> If [code]true[/code], the home indicator is hidden automatically. This only affects iOS devices without a physical home button. </member> - <member name="display/window/per_pixel_transparency/allowed" type="bool" setter="" getter="" default="false"> - If [code]true[/code], allows per-pixel transparency in a desktop window. This affects performance, so leave it on [code]false[/code] unless you need it. - </member> - <member name="display/window/per_pixel_transparency/enabled" type="bool" setter="" getter="" default="false"> - Sets the window background to transparent when it starts. - </member> <member name="display/window/size/always_on_top" type="bool" setter="" getter="" default="false"> Force the window to be always on top. </member> @@ -827,17 +818,17 @@ </member> <member name="mono/unhandled_exception_policy" type="int" setter="" getter="" default="0"> </member> - <member name="network/limits/debugger_stdout/max_chars_per_second" type="int" setter="" getter="" default="2048"> + <member name="network/limits/debugger/max_chars_per_second" type="int" setter="" getter="" default="32768"> Maximum amount of characters allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. </member> - <member name="network/limits/debugger_stdout/max_errors_per_second" type="int" setter="" getter="" default="100"> - Maximum number of errors allowed to be sent as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. + <member name="network/limits/debugger/max_errors_per_second" type="int" setter="" getter="" default="400"> + Maximum number of errors allowed to be sent from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. </member> - <member name="network/limits/debugger_stdout/max_messages_per_frame" type="int" setter="" getter="" default="10"> - Maximum amount of messages allowed to send as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. + <member name="network/limits/debugger/max_queued_messages" type="int" setter="" getter="" default="2048"> + Maximum amount of messages in the debugger queue. Over this value, content is dropped. This helps to limit the debugger memory usage. </member> - <member name="network/limits/debugger_stdout/max_warnings_per_second" type="int" setter="" getter="" default="100"> - Maximum number of warnings allowed to be sent as output from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. + <member name="network/limits/debugger/max_warnings_per_second" type="int" setter="" getter="" default="400"> + Maximum number of warnings allowed to be sent from the debugger. Over this value, content is dropped. This helps not to stall the debugger connection. </member> <member name="network/limits/packet_peer_stream/max_buffer_po2" type="int" setter="" getter="" default="16"> Default size of packet peer stream for deserializing Godot data. Over this size, data is dropped. @@ -901,7 +892,7 @@ [b]Note:[/b] This property is only read when the project starts. To change the default gravity at runtime, use the following code sample: [codeblock] # Set the default gravity strength to 98. - Physics2DServer.area_set_param(get_viewport().find_world_2d().get_space(), Physics2DServer.AREA_PARAM_GRAVITY, 98) + PhysicsServer2D.area_set_param(get_viewport().find_world_2d().get_space(), PhysicsServer2D.AREA_PARAM_GRAVITY, 98) [/codeblock] </member> <member name="physics/2d/default_gravity_vector" type="Vector2" setter="" getter="" default="Vector2( 0, 1 )"> @@ -909,7 +900,7 @@ [b]Note:[/b] This property is only read when the project starts. To change the default gravity vector at runtime, use the following code sample: [codeblock] # Set the default gravity direction to `Vector2(0, 1)`. - Physics2DServer.area_set_param(get_viewport().find_world_2d().get_space(), Physics2DServer.AREA_PARAM_GRAVITY_VECTOR, Vector2(0, 1)) + PhysicsServer2D.area_set_param(get_viewport().find_world_2d().get_space(), PhysicsServer2D.AREA_PARAM_GRAVITY_VECTOR, Vector2(0, 1)) [/codeblock] </member> <member name="physics/2d/default_linear_damp" type="float" setter="" getter="" default="0.1"> @@ -920,23 +911,23 @@ </member> <member name="physics/2d/physics_engine" type="String" setter="" getter="" default=""DEFAULT""> Sets which physics engine to use for 2D physics. - "DEFAULT" and "GodotPhysics" are the same, as there is currently no alternative 2D physics server implemented. + "DEFAULT" and "GodotPhysics2D" are the same, as there is currently no alternative 2D physics server implemented. </member> <member name="physics/2d/sleep_threshold_angular" type="float" setter="" getter="" default="0.139626"> - Threshold angular velocity under which a 2D physics body will be considered inactive. See [constant Physics2DServer.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]. + Threshold angular velocity under which a 2D physics body will be considered inactive. See [constant PhysicsServer2D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD]. </member> <member name="physics/2d/sleep_threshold_linear" type="float" setter="" getter="" default="2.0"> - Threshold linear velocity under which a 2D physics body will be considered inactive. See [constant Physics2DServer.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]. + Threshold linear velocity under which a 2D physics body will be considered inactive. See [constant PhysicsServer2D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD]. </member> <member name="physics/2d/thread_model" type="int" setter="" getter="" default="1"> Sets whether physics is run on the main thread or a separate one. Running the server on a thread increases performance, but restricts API access to only physics process. [b]Warning:[/b] As of Godot 3.2, there are mixed reports about the use of a Multi-Threaded thread model for physics. Be sure to assess whether it does give you extra performance and no regressions when using it. </member> <member name="physics/2d/time_before_sleep" type="float" setter="" getter="" default="0.5"> - Time (in seconds) of inactivity before which a 2D physics body will put to sleep. See [constant Physics2DServer.SPACE_PARAM_BODY_TIME_TO_SLEEP]. + Time (in seconds) of inactivity before which a 2D physics body will put to sleep. See [constant PhysicsServer2D.SPACE_PARAM_BODY_TIME_TO_SLEEP]. </member> <member name="physics/3d/active_soft_world" type="bool" setter="" getter="" default="true"> - Sets whether the 3D physics world will be created with support for [SoftBody] physics. Only applies to the Bullet physics engine. + Sets whether the 3D physics world will be created with support for [SoftBody3D] physics. Only applies to the Bullet physics engine. </member> <member name="physics/3d/default_angular_damp" type="float" setter="" getter="" default="0.1"> The default angular damp in 3D. @@ -946,7 +937,7 @@ [b]Note:[/b] This property is only read when the project starts. To change the default gravity at runtime, use the following code sample: [codeblock] # Set the default gravity strength to 9.8. - PhysicsServer.area_set_param(get_viewport().find_world().get_space(), PhysicsServer.AREA_PARAM_GRAVITY, 9.8) + PhysicsServer3D.area_set_param(get_viewport().find_world().get_space(), PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8) [/codeblock] </member> <member name="physics/3d/default_gravity_vector" type="Vector3" setter="" getter="" default="Vector3( 0, -1, 0 )"> @@ -954,7 +945,7 @@ [b]Note:[/b] This property is only read when the project starts. To change the default gravity vector at runtime, use the following code sample: [codeblock] # Set the default gravity direction to `Vector3(0, -1, 0)`. - PhysicsServer.area_set_param(get_viewport().find_world().get_space(), PhysicsServer.AREA_PARAM_GRAVITY_VECTOR, Vector3(0, -1, 0)) + PhysicsServer3D.area_set_param(get_viewport().find_world().get_space(), PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR, Vector3(0, -1, 0)) [/codeblock] </member> <member name="physics/3d/default_linear_damp" type="float" setter="" getter="" default="0.1"> @@ -962,23 +953,27 @@ </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 "GodotPhysics" engine is still supported as an alternative. + "DEFAULT" is currently the [url=https://bulletphysics.org]Bullet[/url] physics engine. The "GodotPhysics3D" engine is still supported as an alternative. </member> <member name="physics/common/enable_object_picking" type="bool" setter="" getter="" default="true"> Enables [member Viewport.physics_object_picking] on the root viewport. </member> <member name="physics/common/physics_fps" type="int" setter="" getter="" default="60"> - Frames per second used in the physics. Physics always needs a fixed amount of frames per second. + The number of fixed iterations per second. This controls how often physics simulation and [method Node._physics_process] methods are run. + [b]Note:[/b] This property is only read when the project starts. To change the physics FPS at runtime, set [member Engine.iterations_per_second] instead. </member> <member name="physics/common/physics_jitter_fix" type="float" setter="" getter="" default="0.5"> Fix to improve physics jitter, specially on monitors where refresh rate is different than the physics FPS. + [b]Note:[/b] This property is only read when the project starts. To change the physics FPS at runtime, set [member Engine.physics_jitter_fix] instead. </member> <member name="rendering/environment/default_clear_color" type="Color" setter="" getter="" default="Color( 0.3, 0.3, 0.3, 1 )"> - Default background clear color. Overridable per [Viewport] using its [Environment]. See [member Environment.background_mode] and [member Environment.background_color] in particular. To change this default color programmatically, use [method VisualServer.set_default_clear_color]. + Default background clear color. Overridable per [Viewport] using its [Environment]. See [member Environment.background_mode] and [member Environment.background_color] in particular. To change this default color programmatically, use [method RenderingServer.set_default_clear_color]. </member> <member name="rendering/environment/default_environment" type="String" setter="" getter="" default=""""> [Environment] that will be used as a fallback environment in case a scene does not specify its own environment. The default environment is loaded in at scene load time regardless of whether you have set an environment or not. If you do not rely on the fallback environment, it is best to delete [code]default_env.tres[/code], or to specify a different default environment here. </member> + <member name="rendering/high_end/global_shader_variables_buffer_size" type="int" setter="" getter="" default="65536"> + </member> <member name="rendering/limits/rendering/max_renderable_elements" type="int" setter="" getter="" default="128000"> Max amount of elements renderable in a frame. If more than this are visible per frame, they will be dropped. Keep in mind elements refer to mesh surfaces and not meshes themselves. </member> @@ -989,6 +984,15 @@ <member name="rendering/quality/2d/use_pixel_snap" type="bool" setter="" getter="" default="false"> If [code]true[/code], forces snapping of polygons to pixels in 2D rendering. May help in some pixel art styles. </member> + <member name="rendering/quality/depth_of_field/depth_of_field_bokeh_quality" type="int" setter="" getter="" default="2"> + Sets the quality of the depth of field effect. Higher quality takes more samples, which is slower but looks smoother. + </member> + <member name="rendering/quality/depth_of_field/depth_of_field_bokeh_shape" type="int" setter="" getter="" default="1"> + Sets the depth of field shape. Can be Box, Hexagon, or Circle. Box is the fastest. Circle is the most realistic, but also the most expensive to compute. + </member> + <member name="rendering/quality/depth_of_field/depth_of_field_use_jitter" type="bool" setter="" getter="" default="false"> + If [code]true[/code], jitters DOF samples to make effect slightly blurrier and hide lines created from low sample rates. This can result in a slightly grainy appearance when used with a low number of samples. + </member> <member name="rendering/quality/depth_prepass/disable_for_vendors" type="String" setter="" getter="" default=""PowerVR,Mali,Adreno,Apple""> Disables depth pre-pass for some GPU vendors (usually mobile), as their architecture already does this. </member> @@ -1001,32 +1005,29 @@ <member name="rendering/quality/directional_shadow/size.mobile" type="int" setter="" getter="" default="2048"> Lower-end override for [member rendering/quality/directional_shadow/size] on mobile devices, due to performance concerns or driver support. </member> - <member name="rendering/quality/driver/driver_name" type="String" setter="" getter="" default=""Vulkan""> - The video driver to use ("GLES2" or "Vulkan"). - [b]Note:[/b] The backend in use can be overridden at runtime via the [code]--video-driver[/code] command line argument. In such cases, this property is not updated, so use [method OS.get_current_video_driver] to query it at run-time. - </member> - <member name="rendering/quality/filters/depth_of_field_bokeh_quality" type="int" setter="" getter="" default="2"> + <member name="rendering/quality/directional_shadow/soft_shadow_quality" type="int" setter="" getter="" default="2"> + Quality setting for shadows cast by [DirectionalLight3D]s. Higher quality settings use more samples when reading from shadow maps and are thus slower. Low quality settings may result in shadows looking grainy. </member> - <member name="rendering/quality/filters/depth_of_field_bokeh_shape" type="int" setter="" getter="" default="1"> + <member name="rendering/quality/directional_shadow/soft_shadow_quality.mobile" type="int" setter="" getter="" default="0"> + Lower-end override for [member rendering/quality/directional_shadow/soft_shadow_quality] on mobile devices, due to performance concerns or driver support. </member> - <member name="rendering/quality/filters/depth_of_field_use_jitter" type="bool" setter="" getter="" default="false"> - </member> - <member name="rendering/quality/filters/max_anisotropy" type="int" setter="" getter="" default="4"> - </member> - <member name="rendering/quality/filters/msaa" type="int" setter="" getter="" default="0"> - Sets the number of MSAA samples to use. MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware. - [b]Note:[/b] MSAA is not available on HTML5 export using the GLES2 backend. - </member> - <member name="rendering/quality/filters/screen_space_roughness_limiter" type="int" setter="" getter="" default="0"> - </member> - <member name="rendering/quality/filters/screen_space_roughness_limiter_curve" type="float" setter="" getter="" default="1.0"> - </member> - <member name="rendering/quality/filters/use_nearest_mipmap_filter" type="bool" setter="" getter="" default="false"> - If [code]true[/code], uses nearest-neighbor mipmap filtering when using mipmaps (also called "bilinear filtering"), which will result in visible seams appearing between mipmap stages. This may increase performance in mobile as less memory bandwidth is used. If [code]false[/code], linear mipmap filtering (also called "trilinear filtering") is used. + <member name="rendering/quality/driver/driver_name" type="String" setter="" getter="" default=""Vulkan""> + The video driver to use ("GLES2" or "Vulkan"). + [b]Note:[/b] The backend in use can be overridden at runtime via the [code]--rendering-driver[/code] command line argument. + [b]FIXME:[/b] No longer valid after DisplayServer split: + In such cases, this property is not updated, so use [code]OS.get_current_video_driver[/code] to query it at run-time. </member> <member name="rendering/quality/gi_probes/anisotropic" type="bool" setter="" getter="" default="false"> + If [code]true[/code], take additional samples when rendering objects affected by a [GIProbe] to reduce artifacts from only sampling in one direction. </member> <member name="rendering/quality/gi_probes/quality" type="int" setter="" getter="" default="1"> + Sets the number of cone samples taken when rendering objects affected by [GIProbe]s. + </member> + <member name="rendering/quality/glow/upscale_mode" type="int" setter="" getter="" default="1"> + Sets how the glow effect is upscaled before being copied onto the screen. Linear is faster, but looks blocky. Bicubic is slower but looks smooth. + </member> + <member name="rendering/quality/glow/upscale_mode.mobile" type="int" setter="" getter="" default="0"> + Lower-end override for [member rendering/quality/glow/upscale_mode] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/intended_usage/framebuffer_allocation" type="int" setter="" getter="" default="2"> Strategy used for framebuffer allocation. The simpler it is, the less resources it uses (but the less features it supports). If set to "2D Without Sampling" or "3D Without Effects", sample buffers will not be allocated. This means [code]SCREEN_TEXTURE[/code] and [code]DEPTH_TEXTURE[/code] will not be available in shaders and post-processing effects will not be available in the [Environment]. @@ -1035,27 +1036,49 @@ Lower-end override for [member rendering/quality/intended_usage/framebuffer_allocation] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/reflection_atlas/reflection_count" type="int" setter="" getter="" default="64"> + Number of cubemaps to store in the reflection atlas. The number of [ReflectionProbe]s in a scene will be limited by this amount. A higher number requires more VRAM. </member> <member name="rendering/quality/reflection_atlas/reflection_size" type="int" setter="" getter="" default="256"> + Size of cubemap faces for [ReflectionProbe]s. A higher number requires more VRAM and may make reflection probe updating slower. </member> <member name="rendering/quality/reflection_atlas/reflection_size.mobile" type="int" setter="" getter="" default="128"> + Lower-end override for [member rendering/quality/reflection_atlas/reflection_size] on mobile devices, due to performance concerns or driver support. + </member> + <member name="rendering/quality/reflections/fast_filter_high_quality" type="bool" setter="" getter="" default="false"> + Use a higher quality variant of the fast filtering algorithm. Significantly slower than using default quality, but results in smoother reflections. Should only be used when the scene is especially detailed. </member> <member name="rendering/quality/reflections/ggx_samples" type="int" setter="" getter="" default="1024"> + Sets the number of samples to take when using importance sampling for [Sky]s and [ReflectionProbe]s. A higher value will result in smoother, higher quality reflections, but increases time to calculate radiance maps. In general, fewer samples are needed for simpler, low dynamic range environments while more samples are needed for HDR environments and environments with a high level of detail. </member> <member name="rendering/quality/reflections/ggx_samples.mobile" type="int" setter="" getter="" default="128"> + Lower-end override for [member rendering/quality/reflections/ggx_samples] on mobile devices, due to performance concerns or driver support. </member> - <member name="rendering/quality/reflections/ggx_samples_realtime" type="int" setter="" getter="" default="64"> - </member> - <member name="rendering/quality/reflections/ggx_samples_realtime.mobile" type="int" setter="" getter="" default="16"> - </member> - <member name="rendering/quality/reflections/roughness_layers" type="int" setter="" getter="" default="6"> + <member name="rendering/quality/reflections/roughness_layers" type="int" setter="" getter="" default="8"> + Limits the number of layers to use in radiance maps when using importance sampling. A lower number will be slightly faster and take up less VRAM. </member> <member name="rendering/quality/reflections/texture_array_reflections" type="bool" setter="" getter="" default="true"> - If [code]true[/code], uses texture arrays instead of mipmaps for reflection probes and panorama backgrounds (sky). This reduces jitter noise on reflections, but costs more performance and memory. + If [code]true[/code], uses texture arrays instead of mipmaps for reflection probes and panorama backgrounds (sky). This reduces jitter noise and upscaling artifacts on reflections, but is significantly slower to compute and uses [member rendering/quality/reflections/roughness_layers] times more memory. </member> <member name="rendering/quality/reflections/texture_array_reflections.mobile" type="bool" setter="" getter="" default="false"> Lower-end override for [member rendering/quality/reflections/texture_array_reflections] on mobile devices, due to performance concerns or driver support. </member> + <member name="rendering/quality/screen_filters/msaa" type="int" setter="" getter="" default="0"> + Sets the number of MSAA samples to use. MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware. + [b]Note:[/b] MSAA is not available on HTML5 export using the GLES2 backend. + </member> + <member name="rendering/quality/screen_filters/screen_space_aa" type="int" setter="" getter="" default="0"> + Sets the screen-space antialiasing mode for the default screen [Viewport]. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry. + Another way to combat specular aliasing is to enable [member rendering/quality/screen_filters/screen_space_roughness_limiter]. + </member> + <member name="rendering/quality/screen_filters/screen_space_roughness_limiter" type="int" setter="" getter="" default="0"> + Enables the screen-space roughness limiter which increases material roughness in areas with a high normal frequency (i.e. when normals change a lot from pixel to pixel). This helps to reduce the amount of specular aliasing in a scene. Specular aliasing looks like random bright pixels that occur in reflections. + </member> + <member name="rendering/quality/screen_filters/screen_space_roughness_limiter_curve" type="float" setter="" getter="" default="1.0"> + Curves the amount of the roughness limited effect. A higher value limits the effect to very sharply curved surfaces, while a lower threshold extends the effect to smoother surfaces. + </member> + <member name="rendering/quality/screen_space_reflection/roughness_quality" type="int" setter="" getter="" default="1"> + Sets the quality for rough screen-space reflections. Turning off will make all screen space reflections sharp, while higher values make rough reflections look better. + </member> <member name="rendering/quality/shading/force_blinn_over_ggx" type="bool" setter="" getter="" default="false"> If [code]true[/code], uses faster but lower-quality Blinn model to generate blurred reflections instead of the GGX model. </member> @@ -1092,15 +1115,33 @@ <member name="rendering/quality/shadow_atlas/size.mobile" type="int" setter="" getter="" default="2048"> Lower-end override for [member rendering/quality/shadow_atlas/size] on mobile devices, due to performance concerns or driver support. </member> - <member name="rendering/quality/shadows/filter_mode" type="int" setter="" getter="" default="1"> - Shadow filter mode. Higher-quality settings result in smoother shadows that flicker less when moving. "Disabled" is the fastest option, but also has the lowest quality. "PCF5" is smoother but is also slower. "PCF13" is the smoothest option, but is also the slowest. + <member name="rendering/quality/shadows/soft_shadow_quality" type="int" setter="" getter="" default="2"> + Quality setting for shadows cast by [OmniLight3D]s and [SpotLight3D]s. Higher quality settings use more samples when reading from shadow maps and are thus slower. Low quality settings may result in shadows looking grainy. </member> - <member name="rendering/quality/shadows/filter_mode.mobile" type="int" setter="" getter="" default="0"> - Lower-end override for [member rendering/quality/shadows/filter_mode] on mobile devices, due to performance concerns or driver support. + <member name="rendering/quality/shadows/soft_shadow_quality.mobile" type="int" setter="" getter="" default="0"> + Lower-end override for [member rendering/quality/shadows/soft_shadow_quality] on mobile devices, due to performance concerns or driver support. </member> <member name="rendering/quality/ssao/half_size" type="bool" setter="" getter="" default="false"> + If [code]true[/code], screen-space ambient occlusion will be rendered at half size and then upscaled before being added to the scene. This is significantly faster but may miss small details. </member> <member name="rendering/quality/ssao/quality" type="int" setter="" getter="" default="1"> + Sets the quality of the screen-space ambient occlusion effect. Higher values take more samples and so will result in better quality, at the cost of performance. + </member> + <member name="rendering/quality/subsurface_scattering/subsurface_scattering_depth_scale" type="float" setter="" getter="" default="0.01"> + Scales the depth over which the subsurface scattering effect is applied. A high value may allow light to scatter into a part of the mesh or another mesh that is close in screen space but far in depth. + </member> + <member name="rendering/quality/subsurface_scattering/subsurface_scattering_quality" type="int" setter="" getter="" default="1"> + Sets the quality of the subsurface scattering effect. Higher values are slower but look nicer. + </member> + <member name="rendering/quality/subsurface_scattering/subsurface_scattering_scale" type="float" setter="" getter="" default="0.05"> + Scales the distance over which samples are taken for subsurface scattering effect. Changing this does not impact performance, but higher values will result in significant artifacts as the samples will become obviously spread out. A lower value results in a smaller spread of scattered light. + </member> + <member name="rendering/quality/texture_filters/max_anisotropy" type="int" setter="" getter="" default="4"> + Sets the maximum number of samples to take when using anisotropic filtering on textures. A higher sample count will result in sharper textures at oblique angles, but is more expensive to compute. + Only power of two values are valid ([code]1[/code], [code]2[/code], [code]4[/code], [code]8[/code], [code]16[/code]). A value of [code]1[/code] forcibly disables anisotropic filtering, even on materials where it is enabled. + </member> + <member name="rendering/quality/texture_filters/use_nearest_mipmap_filter" type="bool" setter="" getter="" default="false"> + If [code]true[/code], uses nearest-neighbor mipmap filtering when using mipmaps (also called "bilinear filtering"), which will result in visible seams appearing between mipmap stages. This may increase performance in mobile as less memory bandwidth is used. If [code]false[/code], linear mipmap filtering (also called "trilinear filtering") is used. </member> <member name="rendering/threads/thread_model" type="int" setter="" getter="" default="1"> Thread model for rendering. Rendering on a thread can vastly improve performance, but synchronizing to the main thread can cause a bit more jitter. @@ -1128,6 +1169,9 @@ </member> <member name="rendering/vulkan/staging_buffer/texture_upload_region_size_px" type="int" setter="" getter="" default="64"> </member> + <member name="world/2d/cell_size" type="int" setter="" getter="" default="100"> + Cell size used for the 2D hash grid that [VisibilityNotifier2D] uses. + </member> </members> <constants> </constants> diff --git a/doc/classes/ProximityGroup.xml b/doc/classes/ProximityGroup3D.xml index dee1a3daf0..1714c1ec8d 100644 --- a/doc/classes/ProximityGroup.xml +++ b/doc/classes/ProximityGroup3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ProximityGroup" inherits="Spatial" version="4.0"> +<class name="ProximityGroup3D" inherits="Node3D" version="4.0"> <brief_description> General-purpose proximity detection node. </brief_description> @@ -21,7 +21,7 @@ </method> </methods> <members> - <member name="dispatch_mode" type="int" setter="set_dispatch_mode" getter="get_dispatch_mode" enum="ProximityGroup.DispatchMode" default="0"> + <member name="dispatch_mode" type="int" setter="set_dispatch_mode" getter="get_dispatch_mode" enum="ProximityGroup3D.DispatchMode" default="0"> </member> <member name="grid_radius" type="Vector3" setter="set_grid_radius" getter="get_grid_radius" default="Vector3( 1, 1, 1 )"> </member> diff --git a/doc/classes/Quat.xml b/doc/classes/Quat.xml index f11f20f1f9..327fa882e5 100644 --- a/doc/classes/Quat.xml +++ b/doc/classes/Quat.xml @@ -132,6 +132,8 @@ </description> </method> <method name="set_axis_angle"> + <return type="void"> + </return> <argument index="0" name="axis" type="Vector3"> </argument> <argument index="1" name="angle" type="float"> @@ -141,6 +143,8 @@ </description> </method> <method name="set_euler"> + <return type="void"> + </return> <argument index="0" name="euler" type="Vector3"> </argument> <description> diff --git a/doc/classes/RDAttachmentFormat.xml b/doc/classes/RDAttachmentFormat.xml new file mode 100644 index 0000000000..4ee7b9b28e --- /dev/null +++ b/doc/classes/RDAttachmentFormat.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDAttachmentFormat" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="format" type="int" setter="set_format" getter="get_format" enum="RenderingDevice.DataFormat" default="36"> + </member> + <member name="samples" type="int" setter="set_samples" getter="get_samples" enum="RenderingDevice.TextureSamples" default="0"> + </member> + <member name="usage_flags" type="int" setter="set_usage_flags" getter="get_usage_flags" default="0"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDPipelineColorBlendState.xml b/doc/classes/RDPipelineColorBlendState.xml new file mode 100644 index 0000000000..adc6f1f6a3 --- /dev/null +++ b/doc/classes/RDPipelineColorBlendState.xml @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDPipelineColorBlendState" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="attachments" type="RDPipelineColorBlendStateAttachment[]" setter="set_attachments" getter="get_attachments" default="[ ]"> + </member> + <member name="blend_constant" type="Color" setter="set_blend_constant" getter="get_blend_constant" default="Color( 0, 0, 0, 1 )"> + </member> + <member name="enable_logic_op" type="bool" setter="set_enable_logic_op" getter="get_enable_logic_op" default="false"> + </member> + <member name="logic_op" type="int" setter="set_logic_op" getter="get_logic_op" enum="RenderingDevice.LogicOperation" default="0"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDPipelineColorBlendStateAttachment.xml b/doc/classes/RDPipelineColorBlendStateAttachment.xml new file mode 100644 index 0000000000..7f118b5f0b --- /dev/null +++ b/doc/classes/RDPipelineColorBlendStateAttachment.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDPipelineColorBlendStateAttachment" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="set_as_mix"> + <return type="void"> + </return> + <description> + </description> + </method> + </methods> + <members> + <member name="alpha_blend_op" type="int" setter="set_alpha_blend_op" getter="get_alpha_blend_op" enum="RenderingDevice.BlendOperation" default="0"> + </member> + <member name="color_blend_op" type="int" setter="set_color_blend_op" getter="get_color_blend_op" enum="RenderingDevice.BlendOperation" default="0"> + </member> + <member name="dst_alpha_blend_factor" type="int" setter="set_dst_alpha_blend_factor" getter="get_dst_alpha_blend_factor" enum="RenderingDevice.BlendFactor" default="0"> + </member> + <member name="dst_color_blend_factor" type="int" setter="set_dst_color_blend_factor" getter="get_dst_color_blend_factor" enum="RenderingDevice.BlendFactor" default="0"> + </member> + <member name="enable_blend" type="bool" setter="set_enable_blend" getter="get_enable_blend" default="false"> + </member> + <member name="src_alpha_blend_factor" type="int" setter="set_src_alpha_blend_factor" getter="get_src_alpha_blend_factor" enum="RenderingDevice.BlendFactor" default="0"> + </member> + <member name="src_color_blend_factor" type="int" setter="set_src_color_blend_factor" getter="get_src_color_blend_factor" enum="RenderingDevice.BlendFactor" default="0"> + </member> + <member name="write_a" type="bool" setter="set_write_a" getter="get_write_a" default="true"> + </member> + <member name="write_b" type="bool" setter="set_write_b" getter="get_write_b" default="true"> + </member> + <member name="write_g" type="bool" setter="set_write_g" getter="get_write_g" default="true"> + </member> + <member name="write_r" type="bool" setter="set_write_r" getter="get_write_r" default="true"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDPipelineDepthStencilState.xml b/doc/classes/RDPipelineDepthStencilState.xml new file mode 100644 index 0000000000..562ff52819 --- /dev/null +++ b/doc/classes/RDPipelineDepthStencilState.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDPipelineDepthStencilState" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="back_op_compare" type="int" setter="set_back_op_compare" getter="get_back_op_compare" enum="RenderingDevice.CompareOperator" default="7"> + </member> + <member name="back_op_compare_mask" type="int" setter="set_back_op_compare_mask" getter="get_back_op_compare_mask" default="0"> + </member> + <member name="back_op_depth_fail" type="int" setter="set_back_op_depth_fail" getter="get_back_op_depth_fail" enum="RenderingDevice.StencilOperation" default="1"> + </member> + <member name="back_op_fail" type="int" setter="set_back_op_fail" getter="get_back_op_fail" enum="RenderingDevice.StencilOperation" default="1"> + </member> + <member name="back_op_pass" type="int" setter="set_back_op_pass" getter="get_back_op_pass" enum="RenderingDevice.StencilOperation" default="1"> + </member> + <member name="back_op_reference" type="int" setter="set_back_op_reference" getter="get_back_op_reference" default="0"> + </member> + <member name="back_op_write_mask" type="int" setter="set_back_op_write_mask" getter="get_back_op_write_mask" default="0"> + </member> + <member name="depth_compare_operator" type="int" setter="set_depth_compare_operator" getter="get_depth_compare_operator" enum="RenderingDevice.CompareOperator" default="7"> + </member> + <member name="depth_range_max" type="float" setter="set_depth_range_max" getter="get_depth_range_max" default="0.0"> + </member> + <member name="depth_range_min" type="float" setter="set_depth_range_min" getter="get_depth_range_min" default="0.0"> + </member> + <member name="enable_depth_range" type="bool" setter="set_enable_depth_range" getter="get_enable_depth_range" default="false"> + </member> + <member name="enable_depth_test" type="bool" setter="set_enable_depth_test" getter="get_enable_depth_test" default="false"> + </member> + <member name="enable_depth_write" type="bool" setter="set_enable_depth_write" getter="get_enable_depth_write" default="false"> + </member> + <member name="enable_stencil" type="bool" setter="set_enable_stencil" getter="get_enable_stencil" default="false"> + </member> + <member name="front_op_compare" type="int" setter="set_front_op_compare" getter="get_front_op_compare" enum="RenderingDevice.CompareOperator" default="7"> + </member> + <member name="front_op_compare_mask" type="int" setter="set_front_op_compare_mask" getter="get_front_op_compare_mask" default="0"> + </member> + <member name="front_op_depth_fail" type="int" setter="set_front_op_depth_fail" getter="get_front_op_depth_fail" enum="RenderingDevice.StencilOperation" default="1"> + </member> + <member name="front_op_fail" type="int" setter="set_front_op_fail" getter="get_front_op_fail" enum="RenderingDevice.StencilOperation" default="1"> + </member> + <member name="front_op_pass" type="int" setter="set_front_op_pass" getter="get_front_op_pass" enum="RenderingDevice.StencilOperation" default="1"> + </member> + <member name="front_op_reference" type="int" setter="set_front_op_reference" getter="get_front_op_reference" default="0"> + </member> + <member name="front_op_write_mask" type="int" setter="set_front_op_write_mask" getter="get_front_op_write_mask" default="0"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDPipelineMultisampleState.xml b/doc/classes/RDPipelineMultisampleState.xml new file mode 100644 index 0000000000..4658c7d9ba --- /dev/null +++ b/doc/classes/RDPipelineMultisampleState.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDPipelineMultisampleState" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="enable_alpha_to_coverage" type="bool" setter="set_enable_alpha_to_coverage" getter="get_enable_alpha_to_coverage" default="false"> + </member> + <member name="enable_alpha_to_one" type="bool" setter="set_enable_alpha_to_one" getter="get_enable_alpha_to_one" default="false"> + </member> + <member name="enable_sample_shading" type="bool" setter="set_enable_sample_shading" getter="get_enable_sample_shading" default="false"> + </member> + <member name="min_sample_shading" type="float" setter="set_min_sample_shading" getter="get_min_sample_shading" default="0.0"> + </member> + <member name="sample_count" type="int" setter="set_sample_count" getter="get_sample_count" enum="RenderingDevice.TextureSamples" default="0"> + </member> + <member name="sample_masks" type="int[]" setter="set_sample_masks" getter="get_sample_masks" default="[ ]"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDPipelineRasterizationState.xml b/doc/classes/RDPipelineRasterizationState.xml new file mode 100644 index 0000000000..5064dd6deb --- /dev/null +++ b/doc/classes/RDPipelineRasterizationState.xml @@ -0,0 +1,37 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDPipelineRasterizationState" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="cull_mode" type="int" setter="set_cull_mode" getter="get_cull_mode" enum="RenderingDevice.PolygonCullMode" default="0"> + </member> + <member name="depth_bias_clamp" type="float" setter="set_depth_bias_clamp" getter="get_depth_bias_clamp" default="0.0"> + </member> + <member name="depth_bias_constant_factor" type="float" setter="set_depth_bias_constant_factor" getter="get_depth_bias_constant_factor" default="0.0"> + </member> + <member name="depth_bias_enable" type="bool" setter="set_depth_bias_enable" getter="get_depth_bias_enable" default="false"> + </member> + <member name="depth_bias_slope_factor" type="float" setter="set_depth_bias_slope_factor" getter="get_depth_bias_slope_factor" default="0.0"> + </member> + <member name="discard_primitives" type="bool" setter="set_discard_primitives" getter="get_discard_primitives" default="false"> + </member> + <member name="enable_depth_clamp" type="bool" setter="set_enable_depth_clamp" getter="get_enable_depth_clamp" default="false"> + </member> + <member name="front_face" type="int" setter="set_front_face" getter="get_front_face" enum="RenderingDevice.PolygonFrontFace" default="0"> + </member> + <member name="line_width" type="float" setter="set_line_width" getter="get_line_width" default="1.0"> + </member> + <member name="patch_control_points" type="int" setter="set_patch_control_points" getter="get_patch_control_points" default="1"> + </member> + <member name="wireframe" type="bool" setter="set_wireframe" getter="get_wireframe" default="false"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDSamplerState.xml b/doc/classes/RDSamplerState.xml new file mode 100644 index 0000000000..ab31960b7c --- /dev/null +++ b/doc/classes/RDSamplerState.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDSamplerState" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="anisotropy_max" type="float" setter="set_anisotropy_max" getter="get_anisotropy_max" default="1.0"> + </member> + <member name="border_color" type="int" setter="set_border_color" getter="get_border_color" enum="RenderingDevice.SamplerBorderColor" default="2"> + </member> + <member name="compare_op" type="int" setter="set_compare_op" getter="get_compare_op" enum="RenderingDevice.CompareOperator" default="7"> + </member> + <member name="enable_compare" type="bool" setter="set_enable_compare" getter="get_enable_compare" default="false"> + </member> + <member name="lod_bias" type="float" setter="set_lod_bias" getter="get_lod_bias" default="0.0"> + </member> + <member name="mag_filter" type="int" setter="set_mag_filter" getter="get_mag_filter" enum="RenderingDevice.SamplerFilter" default="0"> + </member> + <member name="max_lod" type="float" setter="set_max_lod" getter="get_max_lod" default="1e+20"> + </member> + <member name="min_filter" type="int" setter="set_min_filter" getter="get_min_filter" enum="RenderingDevice.SamplerFilter" default="0"> + </member> + <member name="min_lod" type="float" setter="set_min_lod" getter="get_min_lod" default="0.0"> + </member> + <member name="mip_filter" type="int" setter="set_mip_filter" getter="get_mip_filter" enum="RenderingDevice.SamplerFilter" default="0"> + </member> + <member name="repeat_u" type="int" setter="set_repeat_u" getter="get_repeat_u" enum="RenderingDevice.SamplerRepeatMode" default="2"> + </member> + <member name="repeat_v" type="int" setter="set_repeat_v" getter="get_repeat_v" enum="RenderingDevice.SamplerRepeatMode" default="2"> + </member> + <member name="repeat_w" type="int" setter="set_repeat_w" getter="get_repeat_w" enum="RenderingDevice.SamplerRepeatMode" default="2"> + </member> + <member name="unnormalized_uvw" type="bool" setter="set_unnormalized_uvw" getter="get_unnormalized_uvw" default="false"> + </member> + <member name="use_anisotropy" type="bool" setter="set_use_anisotropy" getter="get_use_anisotropy" default="false"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDShaderBytecode.xml b/doc/classes/RDShaderBytecode.xml new file mode 100644 index 0000000000..7a3501004e --- /dev/null +++ b/doc/classes/RDShaderBytecode.xml @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDShaderBytecode" inherits="Resource" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="get_stage_bytecode" qualifiers="const"> + <return type="PackedByteArray"> + </return> + <argument index="0" name="stage" type="int" enum="RenderingDevice.ShaderStage"> + </argument> + <description> + </description> + </method> + <method name="get_stage_compile_error" qualifiers="const"> + <return type="String"> + </return> + <argument index="0" name="stage" type="int" enum="RenderingDevice.ShaderStage"> + </argument> + <description> + </description> + </method> + <method name="set_stage_bytecode"> + <return type="void"> + </return> + <argument index="0" name="stage" type="int" enum="RenderingDevice.ShaderStage"> + </argument> + <argument index="1" name="bytecode" type="PackedByteArray"> + </argument> + <description> + </description> + </method> + <method name="set_stage_compile_error"> + <return type="void"> + </return> + <argument index="0" name="stage" type="int" enum="RenderingDevice.ShaderStage"> + </argument> + <argument index="1" name="compile_error" type="String"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="bytecode_compute" type="PackedByteArray" setter="set_stage_bytecode" getter="get_stage_bytecode" default="PackedByteArray( )"> + </member> + <member name="bytecode_fragment" type="PackedByteArray" setter="set_stage_bytecode" getter="get_stage_bytecode" default="PackedByteArray( )"> + </member> + <member name="bytecode_tesselation_control" type="PackedByteArray" setter="set_stage_bytecode" getter="get_stage_bytecode" default="PackedByteArray( )"> + </member> + <member name="bytecode_tesselation_evaluation" type="PackedByteArray" setter="set_stage_bytecode" getter="get_stage_bytecode" default="PackedByteArray( )"> + </member> + <member name="bytecode_vertex" type="PackedByteArray" setter="set_stage_bytecode" getter="get_stage_bytecode" default="PackedByteArray( )"> + </member> + <member name="compile_error_compute" type="String" setter="set_stage_compile_error" getter="get_stage_compile_error" default=""""> + </member> + <member name="compile_error_fragment" type="String" setter="set_stage_compile_error" getter="get_stage_compile_error" default=""""> + </member> + <member name="compile_error_tesselation_control" type="String" setter="set_stage_compile_error" getter="get_stage_compile_error" default=""""> + </member> + <member name="compile_error_tesselation_evaluation" type="String" setter="set_stage_compile_error" getter="get_stage_compile_error" default=""""> + </member> + <member name="compile_error_vertex" type="String" setter="set_stage_compile_error" getter="get_stage_compile_error" default=""""> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDShaderFile.xml b/doc/classes/RDShaderFile.xml new file mode 100644 index 0000000000..14e70d53ea --- /dev/null +++ b/doc/classes/RDShaderFile.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDShaderFile" inherits="Resource" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="get_bytecode" qualifiers="const"> + <return type="RDShaderBytecode"> + </return> + <argument index="0" name="version" type="StringName" default="@"""> + </argument> + <description> + </description> + </method> + <method name="get_version_list" qualifiers="const"> + <return type="PackedStringArray"> + </return> + <description> + </description> + </method> + <method name="set_bytecode"> + <return type="void"> + </return> + <argument index="0" name="bytecode" type="RDShaderBytecode"> + </argument> + <argument index="1" name="version" type="StringName" default="@"""> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="base_error" type="String" setter="set_base_error" getter="get_base_error" default=""""> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDShaderSource.xml b/doc/classes/RDShaderSource.xml new file mode 100644 index 0000000000..c1cfd34bb7 --- /dev/null +++ b/doc/classes/RDShaderSource.xml @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDShaderSource" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="get_stage_source" qualifiers="const"> + <return type="String"> + </return> + <argument index="0" name="stage" type="int" enum="RenderingDevice.ShaderStage"> + </argument> + <description> + </description> + </method> + <method name="set_stage_source"> + <return type="void"> + </return> + <argument index="0" name="stage" type="int" enum="RenderingDevice.ShaderStage"> + </argument> + <argument index="1" name="source" type="String"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="language" type="int" setter="set_language" getter="get_language" enum="RenderingDevice.ShaderLanguage" default="0"> + </member> + <member name="source_compute" type="String" setter="set_stage_source" getter="get_stage_source" default=""""> + </member> + <member name="source_fragment" type="String" setter="set_stage_source" getter="get_stage_source" default=""""> + </member> + <member name="source_tesselation_control" type="String" setter="set_stage_source" getter="get_stage_source" default=""""> + </member> + <member name="source_tesselation_evaluation" type="String" setter="set_stage_source" getter="get_stage_source" default=""""> + </member> + <member name="source_vertex" type="String" setter="set_stage_source" getter="get_stage_source" default=""""> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDTextureFormat.xml b/doc/classes/RDTextureFormat.xml new file mode 100644 index 0000000000..664d4cadff --- /dev/null +++ b/doc/classes/RDTextureFormat.xml @@ -0,0 +1,49 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDTextureFormat" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="add_shareable_format"> + <return type="void"> + </return> + <argument index="0" name="format" type="int" enum="RenderingDevice.DataFormat"> + </argument> + <description> + </description> + </method> + <method name="remove_shareable_format"> + <return type="void"> + </return> + <argument index="0" name="format" type="int" enum="RenderingDevice.DataFormat"> + </argument> + <description> + </description> + </method> + </methods> + <members> + <member name="array_layers" type="int" setter="set_array_layers" getter="get_array_layers" default="1"> + </member> + <member name="depth" type="int" setter="set_depth" getter="get_depth" default="1"> + </member> + <member name="format" type="int" setter="set_format" getter="get_format" enum="RenderingDevice.DataFormat" default="8"> + </member> + <member name="height" type="int" setter="set_height" getter="get_height" default="1"> + </member> + <member name="mipmaps" type="int" setter="set_mipmaps" getter="get_mipmaps" default="1"> + </member> + <member name="samples" type="int" setter="set_samples" getter="get_samples" enum="RenderingDevice.TextureSamples" default="0"> + </member> + <member name="type" type="int" setter="set_type" getter="get_type" enum="RenderingDevice.TextureType" default="1"> + </member> + <member name="usage_bits" type="int" setter="set_usage_bits" getter="get_usage_bits" default="0"> + </member> + <member name="width" type="int" setter="set_width" getter="get_width" default="1"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDTextureView.xml b/doc/classes/RDTextureView.xml new file mode 100644 index 0000000000..73b2a7ae4a --- /dev/null +++ b/doc/classes/RDTextureView.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDTextureView" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="format_override" type="int" setter="set_format_override" getter="get_format_override" enum="RenderingDevice.DataFormat" default="226"> + </member> + <member name="swizzle_a" type="int" setter="set_swizzle_a" getter="get_swizzle_a" enum="RenderingDevice.TextureSwizzle" default="6"> + </member> + <member name="swizzle_b" type="int" setter="set_swizzle_b" getter="get_swizzle_b" enum="RenderingDevice.TextureSwizzle" default="5"> + </member> + <member name="swizzle_g" type="int" setter="set_swizzle_g" getter="get_swizzle_g" enum="RenderingDevice.TextureSwizzle" default="4"> + </member> + <member name="swizzle_r" type="int" setter="set_swizzle_r" getter="get_swizzle_r" enum="RenderingDevice.TextureSwizzle" default="3"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDUniform.xml b/doc/classes/RDUniform.xml new file mode 100644 index 0000000000..e5bace32af --- /dev/null +++ b/doc/classes/RDUniform.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDUniform" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="add_id"> + <return type="void"> + </return> + <argument index="0" name="id" type="RID"> + </argument> + <description> + </description> + </method> + <method name="clear_ids"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="get_ids" qualifiers="const"> + <return type="Array"> + </return> + <description> + </description> + </method> + </methods> + <members> + <member name="binding" type="int" setter="set_binding" getter="get_binding" default="0"> + </member> + <member name="type" type="int" setter="set_type" getter="get_type" enum="RenderingDevice.UniformType" default="3"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RDVertexAttribute.xml b/doc/classes/RDVertexAttribute.xml new file mode 100644 index 0000000000..56fe40b51d --- /dev/null +++ b/doc/classes/RDVertexAttribute.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="RDVertexAttribute" inherits="Reference" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="format" type="int" setter="set_format" getter="get_format" enum="RenderingDevice.DataFormat" default="226"> + </member> + <member name="frequency" type="int" setter="set_frequency" getter="get_frequency" enum="RenderingDevice.VertexFrequency" default="0"> + </member> + <member name="location" type="int" setter="set_location" getter="get_location" default="0"> + </member> + <member name="offset" type="int" setter="set_offset" getter="get_offset" default="0"> + </member> + <member name="stride" type="int" setter="set_stride" getter="get_stride" default="0"> + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/RID.xml b/doc/classes/RID.xml index 77c608fccb..644c427120 100644 --- a/doc/classes/RID.xml +++ b/doc/classes/RID.xml @@ -4,7 +4,7 @@ Handle for a [Resource]'s unique ID. </brief_description> <description> - The RID type is used to access the unique integer ID of a resource. They are opaque, which means they do not grant access to the associated resource by themselves. They are used by and with the low-level Server classes such as [VisualServer]. + The RID type is used to access the unique integer ID of a resource. They are opaque, which means they do not grant access to the associated resource by themselves. They are used by and with the low-level Server classes such as [RenderingServer]. </description> <tutorials> </tutorials> diff --git a/doc/classes/RayCast.xml b/doc/classes/RayCast3D.xml index 65f632ba74..08c6d6f40c 100644 --- a/doc/classes/RayCast.xml +++ b/doc/classes/RayCast3D.xml @@ -1,14 +1,14 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RayCast" inherits="Spatial" version="4.0"> +<class name="RayCast3D" inherits="Node3D" version="4.0"> <brief_description> Query the closest object intersecting a ray. </brief_description> <description> A RayCast represents a line from its origin to its destination position, [code]cast_to[/code]. It is used to query the 3D space in order to find the closest object along the path of the ray. - RayCast can ignore some objects by adding them to the exception list via [code]add_exception[/code] or by setting proper filtering with collision layers and masks. - RayCast can be configured to report collisions with [Area]s ([member collide_with_areas]) and/or [PhysicsBody]s ([member collide_with_bodies]). + RayCast3D can ignore some objects by adding them to the exception list via [code]add_exception[/code] or by setting proper filtering with collision layers and masks. + RayCast3D can be configured to report collisions with [Area3D]s ([member collide_with_areas]) and/or [PhysicsBody3D]s ([member collide_with_bodies]). Only enabled raycasts will be able to query the space and report collisions. - RayCast calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame), use [method force_raycast_update] after adjusting the raycast. + RayCast3D calculates intersection every physics frame (see [Node]), and the result is cached so it can be used later until the next frame. If multiple queries are required between physics frames (or during the same frame), use [method force_raycast_update] after adjusting the raycast. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/ray-casting.html</link> @@ -130,10 +130,10 @@ The ray's destination point, relative to the RayCast's [code]position[/code]. </member> <member name="collide_with_areas" type="bool" setter="set_collide_with_areas" getter="is_collide_with_areas_enabled" default="false"> - If [code]true[/code], collision with [Area]s will be reported. + If [code]true[/code], collision with [Area3D]s will be reported. </member> <member name="collide_with_bodies" type="bool" setter="set_collide_with_bodies" getter="is_collide_with_bodies_enabled" default="true"> - If [code]true[/code], collision with [PhysicsBody]s will be reported. + If [code]true[/code], collision with [PhysicsBody3D]s will be reported. </member> <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> The ray's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. @@ -142,7 +142,7 @@ If [code]true[/code], collisions will be reported. </member> <member name="exclude_parent" type="bool" setter="set_exclude_parent_body" getter="get_exclude_parent_body" default="true"> - If [code]true[/code], collisions will be ignored for this RayCast's immediate parent. + If [code]true[/code], collisions will be ignored for this RayCast3D's immediate parent. </member> </members> <constants> diff --git a/doc/classes/RayShape.xml b/doc/classes/RayShape3D.xml index 87a642f779..9839044c30 100644 --- a/doc/classes/RayShape.xml +++ b/doc/classes/RayShape3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RayShape" inherits="Shape" version="4.0"> +<class name="RayShape3D" inherits="Shape3D" version="4.0"> <brief_description> Ray shape for 3D collisions. </brief_description> <description> - Ray shape for 3D collisions, which can be set into a [PhysicsBody] or [Area]. 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. + 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. </description> <tutorials> </tutorials> diff --git a/doc/classes/Rect2.xml b/doc/classes/Rect2.xml index e32b19ff00..dbf461cdf1 100644 --- a/doc/classes/Rect2.xml +++ b/doc/classes/Rect2.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Rect2" version="4.0"> <brief_description> - 2D axis-aligned bounding box. + 2D axis-aligned bounding box using floating point coordinates. </brief_description> <description> - Rect2 consists of a position, a size, and several utility functions. It is typically used for fast overlap tests. + [Rect2] consists of a position, a size, and several utility functions. It is typically used for fast overlap tests. + It uses floating point coordinates. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> @@ -36,6 +37,15 @@ Constructs a [Rect2] by x, y, width, and height. </description> </method> + <method name="Rect2"> + <return type="Rect2"> + </return> + <argument index="0" name="from" type="Rect2i"> + </argument> + <description> + Constructs a [Rect2] from a [Rect2i]. + </description> + </method> <method name="abs"> <return type="Rect2"> </return> @@ -133,8 +143,11 @@ </return> <argument index="0" name="b" type="Rect2"> </argument> + <argument index="1" name="include_borders" type="bool" default="false"> + </argument> <description> - Returns [code]true[/code] if the [Rect2] overlaps with another. + Returns [code]true[/code] if the [Rect2] overlaps with [code]b[/code] (i.e. they have at least one point in common). + If [code]include_borders[/code] is [code]true[/code], they will also be considered overlapping if their borders touch, even without intersection. </description> </method> <method name="is_equal_approx"> diff --git a/doc/classes/Rect2i.xml b/doc/classes/Rect2i.xml new file mode 100644 index 0000000000..2e8be384c1 --- /dev/null +++ b/doc/classes/Rect2i.xml @@ -0,0 +1,52 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Rect2i" version="4.0"> + <brief_description> + 2D axis-aligned bounding box using integer coordinates. + </brief_description> + <description> + [Rect2i] consists of a position, a size, and several utility functions. It is typically used for fast overlap tests. + It uses integer coordinates. + </description> + <tutorials> + <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> + </tutorials> + <methods> + <method name="Rect2i"> + <return type="Rect2i"> + </return> + <argument index="0" name="position" type="Vector2"> + </argument> + <argument index="1" name="size" type="Vector2"> + </argument> + <description> + Constructs a [Rect2i] by position and size. + </description> + </method> + <method name="Rect2i"> + <return type="Rect2i"> + </return> + <argument index="0" name="x" type="int"> + </argument> + <argument index="1" name="y" type="int"> + </argument> + <argument index="2" name="width" type="int"> + </argument> + <argument index="3" name="height" type="int"> + </argument> + <description> + Constructs a [Rect2i] by x, y, width, and height. + </description> + </method> + <method name="Rect2i"> + <return type="Rect2i"> + </return> + <argument index="0" name="from" type="Rect2"> + </argument> + <description> + Constructs a new [Rect2i] from [Rect2]. The floating point coordinates will be truncated. + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/ReflectionProbe.xml b/doc/classes/ReflectionProbe.xml index 9c7a645fec..84f87c3e71 100644 --- a/doc/classes/ReflectionProbe.xml +++ b/doc/classes/ReflectionProbe.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ReflectionProbe" inherits="VisualInstance" version="4.0"> +<class name="ReflectionProbe" inherits="VisualInstance3D" version="4.0"> <brief_description> Captures its surroundings to create reflections. </brief_description> <description> - Capture its surroundings as a dual parabolid image, and stores versions of it with increasing levels of blur to simulate different material roughnesses. + Captures its surroundings as a cubemap, and stores versions of it with increasing levels of blur to simulate different material roughnesses. The [ReflectionProbe] is used to create high-quality reflections at the cost of performance. It can be combined with [GIProbe]s and Screen Space Reflections to achieve high quality reflections. [ReflectionProbe]s render all objects within their [member cull_mask], so updating them can be quite expensive. It is best to update them once with the important static objects and then leave them. </description> <tutorials> @@ -17,7 +17,7 @@ If [code]true[/code], enables box projection. This makes reflections look more correct in rectangle-shaped rooms by offsetting the reflection center depending on the camera's location. </member> <member name="cull_mask" type="int" setter="set_cull_mask" getter="get_cull_mask" default="1048575"> - Sets the cull mask which determines what objects are drawn by this probe. Every [VisualInstance] with a layer included in this cull mask will be rendered by the probe. It is best to only include large objects which are likely to take up a lot of space in the reflection in order to save on rendering cost. + Sets the cull mask which determines what objects are drawn by this probe. Every [VisualInstance3D] with a layer included in this cull mask will be rendered by the probe. It is best to only include large objects which are likely to take up a lot of space in the reflection in order to save on rendering cost. </member> <member name="enable_shadows" type="bool" setter="set_enable_shadows" getter="are_shadows_enabled" default="false"> If [code]true[/code], computes shadows in the reflection probe. This makes the reflection probe slower to render; you may want to disable this if using the [constant UPDATE_ALWAYS] [member update_mode]. @@ -52,7 +52,7 @@ </members> <constants> <constant name="UPDATE_ONCE" value="0" enum="UpdateMode"> - Update the probe once on the next frame. + Update the probe once on the next frame. The corresponding radiance map will be generated over the following six frames. This is slower to update than [constant UPDATE_ALWAYS] but can result in higher quality reflections. </constant> <constant name="UPDATE_ALWAYS" value="1" enum="UpdateMode"> Update the probe every frame. This is needed when you want to capture dynamic objects. However, it results in an increased render time. Use [constant UPDATE_ONCE] whenever possible. diff --git a/doc/classes/RemoteTransform.xml b/doc/classes/RemoteTransform3D.xml index feb6ac1841..bd3da2aea9 100644 --- a/doc/classes/RemoteTransform.xml +++ b/doc/classes/RemoteTransform3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RemoteTransform" inherits="Spatial" version="4.0"> +<class name="RemoteTransform3D" inherits="Node3D" version="4.0"> <brief_description> - RemoteTransform pushes its own [Transform] to another [Spatial] derived Node in the scene. + RemoteTransform3D pushes its own [Transform] to another [Node3D] derived Node in the scene. </brief_description> <description> - RemoteTransform pushes its own [Transform] to another [Spatial] derived Node (called the remote node) in the scene. + RemoteTransform3D pushes its own [Transform] to another [Node3D] derived Node (called the remote node) in the scene. It can be set to update another Node's position, rotation and/or scale. It can use either global or local coordinates. </description> <tutorials> @@ -14,13 +14,13 @@ <return type="void"> </return> <description> - [RemoteTransform] caches the remote node. It may not notice if the remote node disappears; [method force_update_cache] forces it to update the cache again. + [RemoteTransform3D] caches the remote node. It may not notice if the remote node disappears; [method force_update_cache] forces it to update the cache again. </description> </method> </methods> <members> <member name="remote_path" type="NodePath" setter="set_remote_node" getter="get_remote_node" default="NodePath("")"> - The [NodePath] to the remote node, relative to the RemoteTransform's position in the scene. + The [NodePath] to the remote node, relative to the RemoteTransform3D's position in the scene. </member> <member name="update_position" type="bool" setter="set_update_position" getter="get_update_position" default="true"> If [code]true[/code], the remote node's position is updated. diff --git a/doc/classes/RenderingDevice.xml b/doc/classes/RenderingDevice.xml index 2615f0a2e9..8a44d213e8 100644 --- a/doc/classes/RenderingDevice.xml +++ b/doc/classes/RenderingDevice.xml @@ -7,7 +7,1593 @@ <tutorials> </tutorials> <methods> + <method name="buffer_get_data"> + <return type="PackedByteArray"> + </return> + <argument index="0" name="buffer" type="RID"> + </argument> + <description> + </description> + </method> + <method name="buffer_update"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="buffer" type="RID"> + </argument> + <argument index="1" name="offset" type="int"> + </argument> + <argument index="2" name="size_bytes" type="int"> + </argument> + <argument index="3" name="data" type="PackedByteArray"> + </argument> + <argument index="4" name="sync_with_draw" type="bool" default="true"> + </argument> + <description> + </description> + </method> + <method name="capture_timestamp"> + <return type="void"> + </return> + <argument index="0" name="name" type="String"> + </argument> + <argument index="1" name="sync_to_draw" type="bool"> + </argument> + <description> + </description> + </method> + <method name="compute_list_add_barrier"> + <return type="void"> + </return> + <argument index="0" name="compute_list" type="int"> + </argument> + <description> + </description> + </method> + <method name="compute_list_begin"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="compute_list_bind_compute_pipeline"> + <return type="void"> + </return> + <argument index="0" name="compute_list" type="int"> + </argument> + <argument index="1" name="compute_pipeline" type="RID"> + </argument> + <description> + </description> + </method> + <method name="compute_list_bind_uniform_set"> + <return type="void"> + </return> + <argument index="0" name="compute_list" type="int"> + </argument> + <argument index="1" name="uniform_set" type="RID"> + </argument> + <argument index="2" name="set_index" type="int"> + </argument> + <description> + </description> + </method> + <method name="compute_list_dispatch"> + <return type="void"> + </return> + <argument index="0" name="compute_list" type="int"> + </argument> + <argument index="1" name="x_groups" type="int"> + </argument> + <argument index="2" name="y_groups" type="int"> + </argument> + <argument index="3" name="z_groups" type="int"> + </argument> + <description> + </description> + </method> + <method name="compute_list_end"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="compute_list_set_push_constant"> + <return type="void"> + </return> + <argument index="0" name="compute_list" type="int"> + </argument> + <argument index="1" name="buffer" type="PackedByteArray"> + </argument> + <argument index="2" name="size_bytes" type="int"> + </argument> + <description> + </description> + </method> + <method name="compute_pipeline_create"> + <return type="RID"> + </return> + <argument index="0" name="shader" type="RID"> + </argument> + <description> + </description> + </method> + <method name="compute_pipeline_is_valid"> + <return type="bool"> + </return> + <argument index="0" name="compute_pieline" type="RID"> + </argument> + <description> + </description> + </method> + <method name="create_local_device"> + <return type="RenderingDevice"> + </return> + <description> + </description> + </method> + <method name="draw_list_begin"> + <return type="int"> + </return> + <argument index="0" name="framebuffer" type="RID"> + </argument> + <argument index="1" name="initial_color_action" type="int" enum="RenderingDevice.InitialAction"> + </argument> + <argument index="2" name="final_color_action" type="int" enum="RenderingDevice.FinalAction"> + </argument> + <argument index="3" name="initial_depth_action" type="int" enum="RenderingDevice.InitialAction"> + </argument> + <argument index="4" name="final_depth_action" type="int" enum="RenderingDevice.FinalAction"> + </argument> + <argument index="5" name="clear_color_values" type="PackedColorArray" default="PackedColorArray( )"> + </argument> + <argument index="6" name="clear_depth" type="float" default="1.0"> + </argument> + <argument index="7" name="clear_stencil" type="int" default="0"> + </argument> + <argument index="8" name="region" type="Rect2" default="Rect2i( 0, 0, 0, 0 )"> + </argument> + <description> + </description> + </method> + <method name="draw_list_begin_for_screen"> + <return type="int"> + </return> + <argument index="0" name="screen" type="int" default="0"> + </argument> + <argument index="1" name="clear_color" type="Color" default="Color( 0, 0, 0, 1 )"> + </argument> + <description> + </description> + </method> + <method name="draw_list_begin_split"> + <return type="PackedInt64Array"> + </return> + <argument index="0" name="framebuffer" type="RID"> + </argument> + <argument index="1" name="splits" type="int"> + </argument> + <argument index="2" name="initial_color_action" type="int" enum="RenderingDevice.InitialAction"> + </argument> + <argument index="3" name="final_color_action" type="int" enum="RenderingDevice.FinalAction"> + </argument> + <argument index="4" name="initial_depth_action" type="int" enum="RenderingDevice.InitialAction"> + </argument> + <argument index="5" name="final_depth_action" type="int" enum="RenderingDevice.FinalAction"> + </argument> + <argument index="6" name="clear_color_values" type="PackedColorArray" default="PackedColorArray( )"> + </argument> + <argument index="7" name="clear_depth" type="float" default="1.0"> + </argument> + <argument index="8" name="clear_stencil" type="int" default="0"> + </argument> + <argument index="9" name="region" type="Rect2" default="Rect2i( 0, 0, 0, 0 )"> + </argument> + <description> + </description> + </method> + <method name="draw_list_bind_index_array"> + <return type="void"> + </return> + <argument index="0" name="draw_list" type="int"> + </argument> + <argument index="1" name="index_array" type="RID"> + </argument> + <description> + </description> + </method> + <method name="draw_list_bind_render_pipeline"> + <return type="void"> + </return> + <argument index="0" name="draw_list" type="int"> + </argument> + <argument index="1" name="render_pipeline" type="RID"> + </argument> + <description> + </description> + </method> + <method name="draw_list_bind_uniform_set"> + <return type="void"> + </return> + <argument index="0" name="draw_list" type="int"> + </argument> + <argument index="1" name="uniform_set" type="RID"> + </argument> + <argument index="2" name="set_index" type="int"> + </argument> + <description> + </description> + </method> + <method name="draw_list_bind_vertex_array"> + <return type="void"> + </return> + <argument index="0" name="draw_list" type="int"> + </argument> + <argument index="1" name="vertex_array" type="RID"> + </argument> + <description> + </description> + </method> + <method name="draw_list_disable_scissor"> + <return type="void"> + </return> + <argument index="0" name="draw_list" type="int"> + </argument> + <description> + </description> + </method> + <method name="draw_list_draw"> + <return type="void"> + </return> + <argument index="0" name="draw_list" type="int"> + </argument> + <argument index="1" name="use_indices" type="bool"> + </argument> + <argument index="2" name="instances" type="int"> + </argument> + <argument index="3" name="procedural_vertex_count" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="draw_list_enable_scissor"> + <return type="void"> + </return> + <argument index="0" name="draw_list" type="int"> + </argument> + <argument index="1" name="rect" type="Rect2" default="Rect2i( 0, 0, 0, 0 )"> + </argument> + <description> + </description> + </method> + <method name="draw_list_end"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="draw_list_set_push_constant"> + <return type="void"> + </return> + <argument index="0" name="draw_list" type="int"> + </argument> + <argument index="1" name="buffer" type="PackedByteArray"> + </argument> + <argument index="2" name="size_bytes" type="int"> + </argument> + <description> + </description> + </method> + <method name="framebuffer_create"> + <return type="RID"> + </return> + <argument index="0" name="textures" type="Array"> + </argument> + <argument index="1" name="validate_with_format" type="int" default="-1"> + </argument> + <description> + </description> + </method> + <method name="framebuffer_format_create"> + <return type="int"> + </return> + <argument index="0" name="attachments" type="RDAttachmentFormat[]"> + </argument> + <description> + </description> + </method> + <method name="framebuffer_format_get_texture_samples"> + <return type="int" enum="RenderingDevice.TextureSamples"> + </return> + <argument index="0" name="format" type="int"> + </argument> + <description> + </description> + </method> + <method name="framebuffer_get_format"> + <return type="int"> + </return> + <argument index="0" name="framebuffer" type="RID"> + </argument> + <description> + </description> + </method> + <method name="free"> + <return type="void"> + </return> + <argument index="0" name="rid" type="RID"> + </argument> + <description> + </description> + </method> + <method name="get_captured_timestamp_cpu_time" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_captured_timestamp_gpu_time" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_captured_timestamp_name" qualifiers="const"> + <return type="String"> + </return> + <argument index="0" name="index" type="int"> + </argument> + <description> + </description> + </method> + <method name="get_captured_timestamps_count" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_captured_timestamps_frame" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="get_frame_delay" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="index_array_create"> + <return type="RID"> + </return> + <argument index="0" name="index_buffer" type="RID"> + </argument> + <argument index="1" name="index_offset" type="int"> + </argument> + <argument index="2" name="index_count" type="int"> + </argument> + <description> + </description> + </method> + <method name="index_buffer_create"> + <return type="RID"> + </return> + <argument index="0" name="size_indices" type="int"> + </argument> + <argument index="1" name="format" type="int" enum="RenderingDevice.IndexBufferFormat"> + </argument> + <argument index="2" name="data" type="PackedByteArray" default="PackedByteArray( )"> + </argument> + <argument index="3" name="arg3" type="bool" default="false"> + </argument> + <description> + </description> + </method> + <method name="limit_get"> + <return type="int"> + </return> + <argument index="0" name="limit" type="int" enum="RenderingDevice.Limit"> + </argument> + <description> + </description> + </method> + <method name="render_pipeline_create"> + <return type="RID"> + </return> + <argument index="0" name="shader" type="RID"> + </argument> + <argument index="1" name="framebuffer_format" type="int"> + </argument> + <argument index="2" name="vertex_format" type="int"> + </argument> + <argument index="3" name="primitive" type="int" enum="RenderingDevice.RenderPrimitive"> + </argument> + <argument index="4" name="rasterization_state" type="RDPipelineRasterizationState"> + </argument> + <argument index="5" name="multisample_state" type="RDPipelineMultisampleState"> + </argument> + <argument index="6" name="stencil_state" type="RDPipelineDepthStencilState"> + </argument> + <argument index="7" name="color_blend_state" type="RDPipelineColorBlendState"> + </argument> + <argument index="8" name="dynamic_state_flags" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="render_pipeline_is_valid"> + <return type="bool"> + </return> + <argument index="0" name="render_pipeline" type="RID"> + </argument> + <description> + </description> + </method> + <method name="sampler_create"> + <return type="RID"> + </return> + <argument index="0" name="state" type="RDSamplerState"> + </argument> + <description> + </description> + </method> + <method name="screen_get_framebuffer_format" qualifiers="const"> + <return type="int"> + </return> + <description> + </description> + </method> + <method name="screen_get_height" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="screen" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="screen_get_width" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="screen" type="int" default="0"> + </argument> + <description> + </description> + </method> + <method name="shader_compile_from_source"> + <return type="RDShaderBytecode"> + </return> + <argument index="0" name="shader_source" type="RDShaderSource"> + </argument> + <argument index="1" name="allow_cache" type="bool" default="true"> + </argument> + <description> + </description> + </method> + <method name="shader_create"> + <return type="RID"> + </return> + <argument index="0" name="shader_data" type="RDShaderBytecode"> + </argument> + <description> + </description> + </method> + <method name="shader_get_vertex_input_attribute_mask"> + <return type="int"> + </return> + <argument index="0" name="shader" type="RID"> + </argument> + <description> + </description> + </method> + <method name="storage_buffer_create"> + <return type="RID"> + </return> + <argument index="0" name="size_bytes" type="int"> + </argument> + <argument index="1" name="data" type="PackedByteArray" default="PackedByteArray( )"> + </argument> + <description> + </description> + </method> + <method name="submit"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="sync"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="texture_buffer_create"> + <return type="RID"> + </return> + <argument index="0" name="size_bytes" type="int"> + </argument> + <argument index="1" name="format" type="int" enum="RenderingDevice.DataFormat"> + </argument> + <argument index="2" name="data" type="PackedByteArray" default="PackedByteArray( )"> + </argument> + <description> + </description> + </method> + <method name="texture_clear"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="texture" type="RID"> + </argument> + <argument index="1" name="color" type="Color"> + </argument> + <argument index="2" name="base_mipmap" type="int"> + </argument> + <argument index="3" name="mipmap_count" type="int"> + </argument> + <argument index="4" name="base_layer" type="int"> + </argument> + <argument index="5" name="layer_count" type="int"> + </argument> + <argument index="6" name="sync_with_draw" type="bool" default="false"> + </argument> + <description> + </description> + </method> + <method name="texture_copy"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="from_texture" type="RID"> + </argument> + <argument index="1" name="to_texture" type="RID"> + </argument> + <argument index="2" name="from_pos" type="Vector3"> + </argument> + <argument index="3" name="to_pos" type="Vector3"> + </argument> + <argument index="4" name="size" type="Vector3"> + </argument> + <argument index="5" name="src_mipmap" type="int"> + </argument> + <argument index="6" name="dst_mipmap" type="int"> + </argument> + <argument index="7" name="src_layer" type="int"> + </argument> + <argument index="8" name="dst_layer" type="int"> + </argument> + <argument index="9" name="sync_with_draw" type="bool" default="false"> + </argument> + <description> + </description> + </method> + <method name="texture_create"> + <return type="RID"> + </return> + <argument index="0" name="format" type="RDTextureFormat"> + </argument> + <argument index="1" name="view" type="RDTextureView"> + </argument> + <argument index="2" name="data" type="PackedByteArray[]" default="[ ]"> + </argument> + <description> + </description> + </method> + <method name="texture_create_shared"> + <return type="RID"> + </return> + <argument index="0" name="view" type="RDTextureView"> + </argument> + <argument index="1" name="with_texture" type="RID"> + </argument> + <description> + </description> + </method> + <method name="texture_create_shared_from_slice"> + <return type="RID"> + </return> + <argument index="0" name="view" type="RDTextureView"> + </argument> + <argument index="1" name="with_texture" type="RID"> + </argument> + <argument index="2" name="layer" type="int"> + </argument> + <argument index="3" name="mipmap" type="int"> + </argument> + <argument index="4" name="slice_type" type="int" enum="RenderingDevice.TextureSliceType" default="0"> + </argument> + <description> + </description> + </method> + <method name="texture_get_data"> + <return type="PackedByteArray"> + </return> + <argument index="0" name="texture" type="RID"> + </argument> + <argument index="1" name="layer" type="int"> + </argument> + <description> + </description> + </method> + <method name="texture_is_format_supported_for_usage" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="format" type="int" enum="RenderingDevice.DataFormat"> + </argument> + <argument index="1" name="usage_flags" type="int"> + </argument> + <description> + </description> + </method> + <method name="texture_is_shared"> + <return type="bool"> + </return> + <argument index="0" name="texture" type="RID"> + </argument> + <description> + </description> + </method> + <method name="texture_is_valid"> + <return type="bool"> + </return> + <argument index="0" name="texture" type="RID"> + </argument> + <description> + </description> + </method> + <method name="texture_resolve_multisample"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="from_texture" type="RID"> + </argument> + <argument index="1" name="to_texture" type="RID"> + </argument> + <argument index="2" name="sync_with_draw" type="bool" default="false"> + </argument> + <description> + </description> + </method> + <method name="texture_update"> + <return type="int" enum="Error"> + </return> + <argument index="0" name="texture" type="RID"> + </argument> + <argument index="1" name="layer" type="int"> + </argument> + <argument index="2" name="data" type="PackedByteArray"> + </argument> + <argument index="3" name="sync_with_draw" type="bool" default="false"> + </argument> + <description> + </description> + </method> + <method name="uniform_buffer_create"> + <return type="RID"> + </return> + <argument index="0" name="size_bytes" type="int"> + </argument> + <argument index="1" name="data" type="PackedByteArray" default="PackedByteArray( )"> + </argument> + <description> + </description> + </method> + <method name="uniform_set_create"> + <return type="RID"> + </return> + <argument index="0" name="uniforms" type="Array"> + </argument> + <argument index="1" name="shader" type="RID"> + </argument> + <argument index="2" name="shader_set" type="int"> + </argument> + <description> + </description> + </method> + <method name="uniform_set_is_valid"> + <return type="bool"> + </return> + <argument index="0" name="uniform_set" type="RID"> + </argument> + <description> + </description> + </method> + <method name="vertex_buffer_create"> + <return type="RID"> + </return> + <argument index="0" name="size_bytes" type="int"> + </argument> + <argument index="1" name="data" type="PackedByteArray" default="PackedByteArray( )"> + </argument> + <description> + </description> + </method> + <method name="vertex_format_create"> + <return type="int"> + </return> + <argument index="0" name="vertex_descriptions" type="RDVertexAttribute[]"> + </argument> + <description> + </description> + </method> </methods> <constants> + <constant name="DATA_FORMAT_R4G4_UNORM_PACK8" value="0" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R4G4B4A4_UNORM_PACK16" value="1" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B4G4R4A4_UNORM_PACK16" value="2" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R5G6B5_UNORM_PACK16" value="3" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B5G6R5_UNORM_PACK16" value="4" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R5G5B5A1_UNORM_PACK16" value="5" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B5G5R5A1_UNORM_PACK16" value="6" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A1R5G5B5_UNORM_PACK16" value="7" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8_UNORM" value="8" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8_SNORM" value="9" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8_USCALED" value="10" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8_SSCALED" value="11" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8_UINT" value="12" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8_SINT" value="13" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8_SRGB" value="14" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8_UNORM" value="15" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8_SNORM" value="16" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8_USCALED" value="17" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8_SSCALED" value="18" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8_UINT" value="19" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8_SINT" value="20" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8_SRGB" value="21" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8_UNORM" value="22" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8_SNORM" value="23" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8_USCALED" value="24" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8_SSCALED" value="25" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8_UINT" value="26" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8_SINT" value="27" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8_SRGB" value="28" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8_UNORM" value="29" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8_SNORM" value="30" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8_USCALED" value="31" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8_SSCALED" value="32" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8_UINT" value="33" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8_SINT" value="34" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8_SRGB" value="35" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8A8_UNORM" value="36" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8A8_SNORM" value="37" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8A8_USCALED" value="38" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8A8_SSCALED" value="39" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8A8_UINT" value="40" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8A8_SINT" value="41" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R8G8B8A8_SRGB" value="42" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8A8_UNORM" value="43" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8A8_SNORM" value="44" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8A8_USCALED" value="45" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8A8_SSCALED" value="46" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8A8_UINT" value="47" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8A8_SINT" value="48" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8A8_SRGB" value="49" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A8B8G8R8_UNORM_PACK32" value="50" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A8B8G8R8_SNORM_PACK32" value="51" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A8B8G8R8_USCALED_PACK32" value="52" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A8B8G8R8_SSCALED_PACK32" value="53" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A8B8G8R8_UINT_PACK32" value="54" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A8B8G8R8_SINT_PACK32" value="55" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A8B8G8R8_SRGB_PACK32" value="56" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2R10G10B10_UNORM_PACK32" value="57" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2R10G10B10_SNORM_PACK32" value="58" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2R10G10B10_USCALED_PACK32" value="59" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2R10G10B10_SSCALED_PACK32" value="60" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2R10G10B10_UINT_PACK32" value="61" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2R10G10B10_SINT_PACK32" value="62" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2B10G10R10_UNORM_PACK32" value="63" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2B10G10R10_SNORM_PACK32" value="64" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2B10G10R10_USCALED_PACK32" value="65" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2B10G10R10_SSCALED_PACK32" value="66" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2B10G10R10_UINT_PACK32" value="67" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_A2B10G10R10_SINT_PACK32" value="68" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16_UNORM" value="69" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16_SNORM" value="70" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16_USCALED" value="71" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16_SSCALED" value="72" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16_UINT" value="73" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16_SINT" value="74" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16_SFLOAT" value="75" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16_UNORM" value="76" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16_SNORM" value="77" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16_USCALED" value="78" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16_SSCALED" value="79" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16_UINT" value="80" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16_SINT" value="81" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16_SFLOAT" value="82" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16_UNORM" value="83" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16_SNORM" value="84" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16_USCALED" value="85" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16_SSCALED" value="86" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16_UINT" value="87" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16_SINT" value="88" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16_SFLOAT" value="89" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16A16_UNORM" value="90" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16A16_SNORM" value="91" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16A16_USCALED" value="92" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16A16_SSCALED" value="93" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16A16_UINT" value="94" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16A16_SINT" value="95" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R16G16B16A16_SFLOAT" value="96" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32_UINT" value="97" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32_SINT" value="98" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32_SFLOAT" value="99" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32_UINT" value="100" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32_SINT" value="101" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32_SFLOAT" value="102" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32B32_UINT" value="103" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32B32_SINT" value="104" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32B32_SFLOAT" value="105" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32B32A32_UINT" value="106" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32B32A32_SINT" value="107" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R32G32B32A32_SFLOAT" value="108" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64_UINT" value="109" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64_SINT" value="110" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64_SFLOAT" value="111" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64_UINT" value="112" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64_SINT" value="113" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64_SFLOAT" value="114" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64B64_UINT" value="115" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64B64_SINT" value="116" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64B64_SFLOAT" value="117" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64B64A64_UINT" value="118" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64B64A64_SINT" value="119" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R64G64B64A64_SFLOAT" value="120" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B10G11R11_UFLOAT_PACK32" value="121" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_E5B9G9R9_UFLOAT_PACK32" value="122" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_D16_UNORM" value="123" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_X8_D24_UNORM_PACK32" value="124" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_D32_SFLOAT" value="125" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_S8_UINT" value="126" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_D16_UNORM_S8_UINT" value="127" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_D24_UNORM_S8_UINT" value="128" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_D32_SFLOAT_S8_UINT" value="129" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC1_RGB_UNORM_BLOCK" value="130" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC1_RGB_SRGB_BLOCK" value="131" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC1_RGBA_UNORM_BLOCK" value="132" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC1_RGBA_SRGB_BLOCK" value="133" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC2_UNORM_BLOCK" value="134" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC2_SRGB_BLOCK" value="135" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC3_UNORM_BLOCK" value="136" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC3_SRGB_BLOCK" value="137" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC4_UNORM_BLOCK" value="138" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC4_SNORM_BLOCK" value="139" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC5_UNORM_BLOCK" value="140" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC5_SNORM_BLOCK" value="141" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC6H_UFLOAT_BLOCK" value="142" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC6H_SFLOAT_BLOCK" value="143" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC7_UNORM_BLOCK" value="144" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_BC7_SRGB_BLOCK" value="145" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ETC2_R8G8B8_UNORM_BLOCK" value="146" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ETC2_R8G8B8_SRGB_BLOCK" value="147" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK" value="148" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK" value="149" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK" value="150" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK" value="151" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_EAC_R11_UNORM_BLOCK" value="152" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_EAC_R11_SNORM_BLOCK" value="153" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_EAC_R11G11_UNORM_BLOCK" value="154" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_EAC_R11G11_SNORM_BLOCK" value="155" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_4x4_UNORM_BLOCK" value="156" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_4x4_SRGB_BLOCK" value="157" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_5x4_UNORM_BLOCK" value="158" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_5x4_SRGB_BLOCK" value="159" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_5x5_UNORM_BLOCK" value="160" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_5x5_SRGB_BLOCK" value="161" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_6x5_UNORM_BLOCK" value="162" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_6x5_SRGB_BLOCK" value="163" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_6x6_UNORM_BLOCK" value="164" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_6x6_SRGB_BLOCK" value="165" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_8x5_UNORM_BLOCK" value="166" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_8x5_SRGB_BLOCK" value="167" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_8x6_UNORM_BLOCK" value="168" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_8x6_SRGB_BLOCK" value="169" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_8x8_UNORM_BLOCK" value="170" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_8x8_SRGB_BLOCK" value="171" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_10x5_UNORM_BLOCK" value="172" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_10x5_SRGB_BLOCK" value="173" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_10x6_UNORM_BLOCK" value="174" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_10x6_SRGB_BLOCK" value="175" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_10x8_UNORM_BLOCK" value="176" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_10x8_SRGB_BLOCK" value="177" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_10x10_UNORM_BLOCK" value="178" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_10x10_SRGB_BLOCK" value="179" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_12x10_UNORM_BLOCK" value="180" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_12x10_SRGB_BLOCK" value="181" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_12x12_UNORM_BLOCK" value="182" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_ASTC_12x12_SRGB_BLOCK" value="183" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G8B8G8R8_422_UNORM" value="184" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B8G8R8G8_422_UNORM" value="185" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G8_B8_R8_3PLANE_420_UNORM" value="186" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G8_B8R8_2PLANE_420_UNORM" value="187" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G8_B8_R8_3PLANE_422_UNORM" value="188" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G8_B8R8_2PLANE_422_UNORM" value="189" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G8_B8_R8_3PLANE_444_UNORM" value="190" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R10X6_UNORM_PACK16" value="191" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R10X6G10X6_UNORM_2PACK16" value="192" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16" value="193" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16" value="194" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16" value="195" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16" value="196" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16" value="197" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16" value="198" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16" value="199" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16" value="200" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R12X4_UNORM_PACK16" value="201" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R12X4G12X4_UNORM_2PACK16" value="202" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16" value="203" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16" value="204" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16" value="205" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16" value="206" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16" value="207" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16" value="208" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16" value="209" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16" value="210" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G16B16G16R16_422_UNORM" value="211" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_B16G16R16G16_422_UNORM" value="212" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G16_B16_R16_3PLANE_420_UNORM" value="213" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G16_B16R16_2PLANE_420_UNORM" value="214" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G16_B16_R16_3PLANE_422_UNORM" value="215" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G16_B16R16_2PLANE_422_UNORM" value="216" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_G16_B16_R16_3PLANE_444_UNORM" value="217" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG" value="218" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG" value="219" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG" value="220" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG" value="221" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG" value="222" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG" value="223" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG" value="224" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG" value="225" enum="DataFormat"> + </constant> + <constant name="DATA_FORMAT_MAX" value="226" enum="DataFormat"> + </constant> + <constant name="TEXTURE_TYPE_1D" value="0" enum="TextureType"> + </constant> + <constant name="TEXTURE_TYPE_2D" value="1" enum="TextureType"> + </constant> + <constant name="TEXTURE_TYPE_3D" value="2" enum="TextureType"> + </constant> + <constant name="TEXTURE_TYPE_CUBE" value="3" enum="TextureType"> + </constant> + <constant name="TEXTURE_TYPE_1D_ARRAY" value="4" enum="TextureType"> + </constant> + <constant name="TEXTURE_TYPE_2D_ARRAY" value="5" enum="TextureType"> + </constant> + <constant name="TEXTURE_TYPE_CUBE_ARRAY" value="6" enum="TextureType"> + </constant> + <constant name="TEXTURE_TYPE_MAX" value="7" enum="TextureType"> + </constant> + <constant name="TEXTURE_SAMPLES_1" value="0" enum="TextureSamples"> + </constant> + <constant name="TEXTURE_SAMPLES_2" value="1" enum="TextureSamples"> + </constant> + <constant name="TEXTURE_SAMPLES_4" value="2" enum="TextureSamples"> + </constant> + <constant name="TEXTURE_SAMPLES_8" value="3" enum="TextureSamples"> + </constant> + <constant name="TEXTURE_SAMPLES_16" value="4" enum="TextureSamples"> + </constant> + <constant name="TEXTURE_SAMPLES_32" value="5" enum="TextureSamples"> + </constant> + <constant name="TEXTURE_SAMPLES_64" value="6" enum="TextureSamples"> + </constant> + <constant name="TEXTURE_SAMPLES_MAX" value="7" enum="TextureSamples"> + </constant> + <constant name="TEXTURE_USAGE_SAMPLING_BIT" value="1" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_COLOR_ATTACHMENT_BIT" value="2" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT" value="4" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_STORAGE_BIT" value="8" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_STORAGE_ATOMIC_BIT" value="16" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_CPU_READ_BIT" value="32" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_CAN_UPDATE_BIT" value="64" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_CAN_COPY_FROM_BIT" value="128" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_CAN_COPY_TO_BIT" value="256" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_USAGE_RESOLVE_ATTACHMENT_BIT" value="512" enum="TextureUsageBits"> + </constant> + <constant name="TEXTURE_SWIZZLE_IDENTITY" value="0" enum="TextureSwizzle"> + </constant> + <constant name="TEXTURE_SWIZZLE_ZERO" value="1" enum="TextureSwizzle"> + </constant> + <constant name="TEXTURE_SWIZZLE_ONE" value="2" enum="TextureSwizzle"> + </constant> + <constant name="TEXTURE_SWIZZLE_R" value="3" enum="TextureSwizzle"> + </constant> + <constant name="TEXTURE_SWIZZLE_G" value="4" enum="TextureSwizzle"> + </constant> + <constant name="TEXTURE_SWIZZLE_B" value="5" enum="TextureSwizzle"> + </constant> + <constant name="TEXTURE_SWIZZLE_A" value="6" enum="TextureSwizzle"> + </constant> + <constant name="TEXTURE_SWIZZLE_MAX" value="7" enum="TextureSwizzle"> + </constant> + <constant name="TEXTURE_SLICE_2D" value="0" enum="TextureSliceType"> + </constant> + <constant name="TEXTURE_SLICE_CUBEMAP" value="1" enum="TextureSliceType"> + </constant> + <constant name="TEXTURE_SLICE_3D" value="2" enum="TextureSliceType"> + </constant> + <constant name="SAMPLER_FILTER_NEAREST" value="0" enum="SamplerFilter"> + </constant> + <constant name="SAMPLER_FILTER_LINEAR" value="1" enum="SamplerFilter"> + </constant> + <constant name="SAMPLER_REPEAT_MODE_REPEAT" value="0" enum="SamplerRepeatMode"> + </constant> + <constant name="SAMPLER_REPEAT_MODE_MIRRORED_REPEAT" value="1" enum="SamplerRepeatMode"> + </constant> + <constant name="SAMPLER_REPEAT_MODE_CLAMP_TO_EDGE" value="2" enum="SamplerRepeatMode"> + </constant> + <constant name="SAMPLER_REPEAT_MODE_CLAMP_TO_BORDER" value="3" enum="SamplerRepeatMode"> + </constant> + <constant name="SAMPLER_REPEAT_MODE_MIRROR_CLAMP_TO_EDGE" value="4" enum="SamplerRepeatMode"> + </constant> + <constant name="SAMPLER_REPEAT_MODE_MAX" value="5" enum="SamplerRepeatMode"> + </constant> + <constant name="SAMPLER_BORDER_COLOR_FLOAT_TRANSPARENT_BLACK" value="0" enum="SamplerBorderColor"> + </constant> + <constant name="SAMPLER_BORDER_COLOR_INT_TRANSPARENT_BLACK" value="1" enum="SamplerBorderColor"> + </constant> + <constant name="SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_BLACK" value="2" enum="SamplerBorderColor"> + </constant> + <constant name="SAMPLER_BORDER_COLOR_INT_OPAQUE_BLACK" value="3" enum="SamplerBorderColor"> + </constant> + <constant name="SAMPLER_BORDER_COLOR_FLOAT_OPAQUE_WHITE" value="4" enum="SamplerBorderColor"> + </constant> + <constant name="SAMPLER_BORDER_COLOR_INT_OPAQUE_WHITE" value="5" enum="SamplerBorderColor"> + </constant> + <constant name="SAMPLER_BORDER_COLOR_MAX" value="6" enum="SamplerBorderColor"> + </constant> + <constant name="VERTEX_FREQUENCY_VERTEX" value="0" enum="VertexFrequency"> + </constant> + <constant name="VERTEX_FREQUENCY_INSTANCE" value="1" enum="VertexFrequency"> + </constant> + <constant name="INDEX_BUFFER_FORMAT_UINT16" value="0" enum="IndexBufferFormat"> + </constant> + <constant name="INDEX_BUFFER_FORMAT_UINT32" value="1" enum="IndexBufferFormat"> + </constant> + <constant name="UNIFORM_TYPE_SAMPLER" value="0" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_SAMPLER_WITH_TEXTURE" value="1" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_TEXTURE" value="2" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_IMAGE" value="3" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_TEXTURE_BUFFER" value="4" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_SAMPLER_WITH_TEXTURE_BUFFER" value="5" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_IMAGE_BUFFER" value="6" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_UNIFORM_BUFFER" value="7" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_STORAGE_BUFFER" value="8" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_INPUT_ATTACHMENT" value="9" enum="UniformType"> + </constant> + <constant name="UNIFORM_TYPE_MAX" value="10" enum="UniformType"> + </constant> + <constant name="RENDER_PRIMITIVE_POINTS" value="0" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_LINES" value="1" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_LINES_WITH_ADJACENCY" value="2" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_LINESTRIPS" value="3" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_LINESTRIPS_WITH_ADJACENCY" value="4" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_TRIANGLES" value="5" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_TRIANGLES_WITH_ADJACENCY" value="6" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_TRIANGLE_STRIPS" value="7" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_AJACENCY" value="8" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_TRIANGLE_STRIPS_WITH_RESTART_INDEX" value="9" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_TESSELATION_PATCH" value="10" enum="RenderPrimitive"> + </constant> + <constant name="RENDER_PRIMITIVE_MAX" value="11" enum="RenderPrimitive"> + </constant> + <constant name="POLYGON_CULL_DISABLED" value="0" enum="PolygonCullMode"> + </constant> + <constant name="POLYGON_CULL_FRONT" value="1" enum="PolygonCullMode"> + </constant> + <constant name="POLYGON_CULL_BACK" value="2" enum="PolygonCullMode"> + </constant> + <constant name="POLYGON_FRONT_FACE_CLOCKWISE" value="0" enum="PolygonFrontFace"> + </constant> + <constant name="POLYGON_FRONT_FACE_COUNTER_CLOCKWISE" value="1" enum="PolygonFrontFace"> + </constant> + <constant name="STENCIL_OP_KEEP" value="0" enum="StencilOperation"> + </constant> + <constant name="STENCIL_OP_ZERO" value="1" enum="StencilOperation"> + </constant> + <constant name="STENCIL_OP_REPLACE" value="2" enum="StencilOperation"> + </constant> + <constant name="STENCIL_OP_INCREMENT_AND_CLAMP" value="3" enum="StencilOperation"> + </constant> + <constant name="STENCIL_OP_DECREMENT_AND_CLAMP" value="4" enum="StencilOperation"> + </constant> + <constant name="STENCIL_OP_INVERT" value="5" enum="StencilOperation"> + </constant> + <constant name="STENCIL_OP_INCREMENT_AND_WRAP" value="6" enum="StencilOperation"> + </constant> + <constant name="STENCIL_OP_DECREMENT_AND_WRAP" value="7" enum="StencilOperation"> + </constant> + <constant name="STENCIL_OP_MAX" value="8" enum="StencilOperation"> + </constant> + <constant name="COMPARE_OP_NEVER" value="0" enum="CompareOperator"> + </constant> + <constant name="COMPARE_OP_LESS" value="1" enum="CompareOperator"> + </constant> + <constant name="COMPARE_OP_EQUAL" value="2" enum="CompareOperator"> + </constant> + <constant name="COMPARE_OP_LESS_OR_EQUAL" value="3" enum="CompareOperator"> + </constant> + <constant name="COMPARE_OP_GREATER" value="4" enum="CompareOperator"> + </constant> + <constant name="COMPARE_OP_NOT_EQUAL" value="5" enum="CompareOperator"> + </constant> + <constant name="COMPARE_OP_GREATER_OR_EQUAL" value="6" enum="CompareOperator"> + </constant> + <constant name="COMPARE_OP_ALWAYS" value="7" enum="CompareOperator"> + </constant> + <constant name="COMPARE_OP_MAX" value="8" enum="CompareOperator"> + </constant> + <constant name="LOGIC_OP_CLEAR" value="0" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_AND" value="1" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_AND_REVERSE" value="2" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_COPY" value="3" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_AND_INVERTED" value="4" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_NO_OP" value="5" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_XOR" value="6" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_OR" value="7" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_NOR" value="8" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_EQUIVALENT" value="9" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_INVERT" value="10" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_OR_REVERSE" value="11" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_COPY_INVERTED" value="12" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_OR_INVERTED" value="13" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_NAND" value="14" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_SET" value="15" enum="LogicOperation"> + </constant> + <constant name="LOGIC_OP_MAX" value="16" enum="LogicOperation"> + </constant> + <constant name="BLEND_FACTOR_ZERO" value="0" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE" value="1" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_SRC_COLOR" value="2" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE_MINUS_SRC_COLOR" value="3" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_DST_COLOR" value="4" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE_MINUS_DST_COLOR" value="5" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_SRC_ALPHA" value="6" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE_MINUS_SRC_ALPHA" value="7" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_DST_ALPHA" value="8" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE_MINUS_DST_ALPHA" value="9" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_CONSTANT_COLOR" value="10" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR" value="11" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_CONSTANT_ALPHA" value="12" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA" value="13" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_SRC_ALPHA_SATURATE" value="14" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_SRC1_COLOR" value="15" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE_MINUS_SRC1_COLOR" value="16" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_SRC1_ALPHA" value="17" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_ONE_MINUS_SRC1_ALPHA" value="18" enum="BlendFactor"> + </constant> + <constant name="BLEND_FACTOR_MAX" value="19" enum="BlendFactor"> + </constant> + <constant name="BLEND_OP_ADD" value="0" enum="BlendOperation"> + </constant> + <constant name="BLEND_OP_SUBTRACT" value="1" enum="BlendOperation"> + </constant> + <constant name="BLEND_OP_REVERSE_SUBTRACT" value="2" enum="BlendOperation"> + </constant> + <constant name="BLEND_OP_MINIMUM" value="3" enum="BlendOperation"> + </constant> + <constant name="BLEND_OP_MAXIMUM" value="4" enum="BlendOperation"> + </constant> + <constant name="BLEND_OP_MAX" value="5" enum="BlendOperation"> + </constant> + <constant name="DYNAMIC_STATE_LINE_WIDTH" value="1" enum="PipelineDynamicStateFlags"> + </constant> + <constant name="DYNAMIC_STATE_DEPTH_BIAS" value="2" enum="PipelineDynamicStateFlags"> + </constant> + <constant name="DYNAMIC_STATE_BLEND_CONSTANTS" value="4" enum="PipelineDynamicStateFlags"> + </constant> + <constant name="DYNAMIC_STATE_DEPTH_BOUNDS" value="8" enum="PipelineDynamicStateFlags"> + </constant> + <constant name="DYNAMIC_STATE_STENCIL_COMPARE_MASK" value="16" enum="PipelineDynamicStateFlags"> + </constant> + <constant name="DYNAMIC_STATE_STENCIL_WRITE_MASK" value="32" enum="PipelineDynamicStateFlags"> + </constant> + <constant name="DYNAMIC_STATE_STENCIL_REFERENCE" value="64" enum="PipelineDynamicStateFlags"> + </constant> + <constant name="INITIAL_ACTION_CLEAR" value="0" enum="InitialAction"> + </constant> + <constant name="INITIAL_ACTION_KEEP" value="1" enum="InitialAction"> + </constant> + <constant name="INITIAL_ACTION_DROP" value="2" enum="InitialAction"> + </constant> + <constant name="INITIAL_ACTION_CONTINUE" value="3" enum="InitialAction"> + </constant> + <constant name="INITIAL_ACTION_MAX" value="4" enum="InitialAction"> + </constant> + <constant name="FINAL_ACTION_READ" value="0" enum="FinalAction"> + </constant> + <constant name="FINAL_ACTION_DISCARD" value="1" enum="FinalAction"> + </constant> + <constant name="FINAL_ACTION_CONTINUE" value="2" enum="FinalAction"> + </constant> + <constant name="FINAL_ACTION_MAX" value="3" enum="FinalAction"> + </constant> + <constant name="SHADER_STAGE_VERTEX" value="0" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_FRAGMENT" value="1" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_TESSELATION_CONTROL" value="2" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_TESSELATION_EVALUATION" value="3" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_COMPUTE" value="4" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_MAX" value="5" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_VERTEX_BIT" value="1" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_FRAGMENT_BIT" value="2" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_TESSELATION_CONTROL_BIT" value="4" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_TESSELATION_EVALUATION_BIT" value="8" enum="ShaderStage"> + </constant> + <constant name="SHADER_STAGE_COMPUTE_BIT" value="16" enum="ShaderStage"> + </constant> + <constant name="SHADER_LANGUAGE_GLSL" value="0" enum="ShaderLanguage"> + </constant> + <constant name="SHADER_LANGUAGE_HLSL" value="1" enum="ShaderLanguage"> + </constant> + <constant name="LIMIT_MAX_BOUND_UNIFORM_SETS" value="0" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_FRAMEBUFFER_COLOR_ATTACHMENTS" value="1" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_TEXTURES_PER_UNIFORM_SET" value="2" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_SAMPLERS_PER_UNIFORM_SET" value="3" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_STORAGE_BUFFERS_PER_UNIFORM_SET" value="4" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_STORAGE_IMAGES_PER_UNIFORM_SET" value="5" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_UNIFORM_BUFFERS_PER_UNIFORM_SET" value="6" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_DRAW_INDEXED_INDEX" value="7" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_FRAMEBUFFER_HEIGHT" value="8" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_FRAMEBUFFER_WIDTH" value="9" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_TEXTURE_ARRAY_LAYERS" value="10" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_TEXTURE_SIZE_1D" value="11" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_TEXTURE_SIZE_2D" value="12" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_TEXTURE_SIZE_3D" value="13" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_TEXTURE_SIZE_CUBE" value="14" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_TEXTURES_PER_SHADER_STAGE" value="15" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_SAMPLERS_PER_SHADER_STAGE" value="16" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_STORAGE_BUFFERS_PER_SHADER_STAGE" value="17" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_STORAGE_IMAGES_PER_SHADER_STAGE" value="18" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_UNIFORM_BUFFERS_PER_SHADER_STAGE" value="19" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_PUSH_CONSTANT_SIZE" value="20" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_UNIFORM_BUFFER_SIZE" value="21" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_VERTEX_INPUT_ATTRIBUTE_OFFSET" value="22" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_VERTEX_INPUT_ATTRIBUTES" value="23" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_VERTEX_INPUT_BINDINGS" value="24" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_VERTEX_INPUT_BINDING_STRIDE" value="25" enum="Limit"> + </constant> + <constant name="LIMIT_MIN_UNIFORM_BUFFER_OFFSET_ALIGNMENT" value="26" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_COMPUTE_SHARED_MEMORY_SIZE" value="27" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_X" value="28" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Y" value="29" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_COMPUTE_WORKGROUP_COUNT_Z" value="30" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_COMPUTE_WORKGROUP_INVOCATIONS" value="31" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_X" value="32" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Y" value="33" enum="Limit"> + </constant> + <constant name="LIMIT_MAX_COMPUTE_WORKGROUP_SIZE_Z" value="34" enum="Limit"> + </constant> + <constant name="INVALID_ID" value="-1"> + </constant> + <constant name="INVALID_FORMAT_ID" value="-1"> + </constant> </constants> </class> diff --git a/doc/classes/VisualServer.xml b/doc/classes/RenderingServer.xml index c0b3691e09..4e0762a68b 100644 --- a/doc/classes/VisualServer.xml +++ b/doc/classes/RenderingServer.xml @@ -1,15 +1,15 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualServer" inherits="Object" version="4.0"> +<class name="RenderingServer" inherits="Object" version="4.0"> <brief_description> Server for anything visible. </brief_description> <description> - Server for anything visible. The visual server is the API backend for everything visible. The whole scene system mounts on it to display. - The visual server is completely opaque, the internals are entirely implementation specific and cannot be accessed. - The visual server can be used to bypass the scene system entirely. + Server for anything visible. The rendering server is the API backend for everything visible. The whole scene system mounts on it to display. + The rendering server is completely opaque, the internals are entirely implementation specific and cannot be accessed. + The rendering server can be used to bypass the scene system entirely. Resources are created using the [code]*_create[/code] functions. All objects are drawn to a viewport. You can use the [Viewport] attached to the [SceneTree] or you can create one yourself with [method viewport_create]. When using a custom scenario or canvas, the scenario or canvas needs to be attached to the viewport using [method viewport_set_scenario] or [method viewport_attach_canvas]. - In 3D, all visual objects must be associated with a scenario. The scenario is a visual representation of the world. If accessing the visual server from a running game, the scenario can be accessed from the scene tree from any [Spatial] node with [method Spatial.get_world]. Otherwise, a scenario can be created with [method scenario_create]. + In 3D, all visual objects must be associated with a scenario. The scenario is a visual representation of the world. If accessing the rendering server from a running game, the scenario can be accessed from the scene tree from any [Node3D] node with [method Node3D.get_world]. Otherwise, a scenario can be created with [method scenario_create]. Similarly in 2D, a canvas is needed to draw all canvas items. In 3D, all visible objects are comprised of a resource and an instance. A resource can be a mesh, a particle system, a light, or any other 3D object. In order to be visible resources must be attached to an instance using [method instance_set_base]. The instance must also be attached to the scenario using [method instance_set_scenario] in order to be visible. In 2D, all visible objects are some form of canvas item. In order to be visible, a canvas item needs to be the child of a canvas attached to a viewport, or it needs to be the child of another canvas item that is eventually attached to the canvas. @@ -52,8 +52,8 @@ <return type="RID"> </return> <description> - Creates a camera and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]camera_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a camera and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]camera_*[/code] RenderingServer functions. + 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="camera_set_cull_mask"> @@ -64,7 +64,7 @@ <argument index="1" name="layers" type="int"> </argument> <description> - Sets the cull mask associated with this camera. The cull mask describes which 3D layers are rendered by this camera. Equivalent to [member Camera.cull_mask]. + Sets the cull mask associated with this camera. The cull mask describes which 3D layers are rendered by this camera. Equivalent to [member Camera3D.cull_mask]. </description> </method> <method name="camera_set_environment"> @@ -75,7 +75,7 @@ <argument index="1" name="env" type="RID"> </argument> <description> - Sets the environment used by this camera. Equivalent to [member Camera.environment]. + Sets the environment used by this camera. Equivalent to [member Camera3D.environment]. </description> </method> <method name="camera_set_frustum"> @@ -144,15 +144,15 @@ <argument index="1" name="enable" type="bool"> </argument> <description> - If [code]true[/code], preserves the horizontal aspect ratio which is equivalent to [constant Camera.KEEP_WIDTH]. If [code]false[/code], preserves the vertical aspect ratio which is equivalent to [constant Camera.KEEP_HEIGHT]. + If [code]true[/code], preserves the horizontal aspect ratio which is equivalent to [constant Camera3D.KEEP_WIDTH]. If [code]false[/code], preserves the vertical aspect ratio which is equivalent to [constant Camera3D.KEEP_HEIGHT]. </description> </method> <method name="canvas_create"> <return type="RID"> </return> <description> - Creates a canvas and returns the assigned [RID]. It can be accessed with the RID that is returned. This RID will be used in all [code]canvas_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a canvas and returns the assigned [RID]. It can be accessed with the RID that is returned. This RID will be used in all [code]canvas_*[/code] RenderingServer functions. + 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_clear"> @@ -247,8 +247,8 @@ <return type="RID"> </return> <description> - Creates a canvas light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]canvas_light_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a canvas light and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]canvas_light_*[/code] RenderingServer functions. + 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_light_occluder_attach_to_canvas"> @@ -266,8 +266,8 @@ <return type="RID"> </return> <description> - Creates a light occluder and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]canvas_light_ocluder_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a light occluder and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]canvas_light_ocluder_*[/code] RenderingServer functions. + 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_light_occluder_set_enabled"> @@ -398,7 +398,7 @@ </return> <argument index="0" name="light" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="VisualServer.CanvasLightMode"> + <argument index="1" name="mode" type="int" enum="RenderingServer.CanvasLightMode"> </argument> <description> The mode of the light, see [enum CanvasLightMode] constants. @@ -453,7 +453,7 @@ </return> <argument index="0" name="light" type="RID"> </argument> - <argument index="1" name="filter" type="int" enum="VisualServer.CanvasLightShadowFilter"> + <argument index="1" name="filter" type="int" enum="RenderingServer.CanvasLightShadowFilter"> </argument> <description> Sets the canvas light's shadow's filter, see [enum CanvasLightShadowFilter] constants. @@ -520,8 +520,8 @@ <return type="RID"> </return> <description> - Creates a new light occluder polygon and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]canvas_occluder_polygon_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a new light occluder polygon and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]canvas_occluder_polygon_*[/code] RenderingServer functions. + 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_occluder_polygon_set_cull_mode"> @@ -529,7 +529,7 @@ </return> <argument index="0" name="occluder_polygon" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="VisualServer.CanvasOccluderPolygonCullMode"> + <argument index="1" name="mode" type="int" enum="RenderingServer.CanvasOccluderPolygonCullMode"> </argument> <description> Sets an occluder polygons cull mode. See [enum CanvasOccluderPolygonCullMode] constants. @@ -587,8 +587,8 @@ <return type="RID"> </return> <description> - Creates a directional light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most [code]light_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a directional light and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID can be used in most [code]light_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach this directional light to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -596,8 +596,8 @@ <return type="RID"> </return> <description> - Creates an environment and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]environment_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates an environment and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]environment_*[/code] RenderingServer functions. + 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="environment_set_adjustment"> @@ -626,13 +626,13 @@ </argument> <argument index="1" name="color" type="Color"> </argument> - <argument index="2" name="ambient" type="int" enum="VisualServer.EnvironmentAmbientSource" default="0"> + <argument index="2" name="ambient" type="int" enum="RenderingServer.EnvironmentAmbientSource" default="0"> </argument> <argument index="3" name="energy" type="float" default="1.0"> </argument> <argument index="4" name="sky_contibution" type="float" default="0.0"> </argument> - <argument index="5" name="reflection_source" type="int" enum="VisualServer.EnvironmentReflectionSource" default="0"> + <argument index="5" name="reflection_source" type="int" enum="RenderingServer.EnvironmentReflectionSource" default="0"> </argument> <argument index="6" name="ao_color" type="Color" default="Color( 0, 0, 0, 1 )"> </argument> @@ -644,7 +644,7 @@ </return> <argument index="0" name="env" type="RID"> </argument> - <argument index="1" name="bg" type="int" enum="VisualServer.EnvironmentBG"> + <argument index="1" name="bg" type="int" enum="RenderingServer.EnvironmentBG"> </argument> <description> Sets the [i]BGMode[/i] of the environment. Equivalent to [member Environment.background_mode]. @@ -755,7 +755,7 @@ </argument> <argument index="6" name="bloom_threshold" type="float"> </argument> - <argument index="7" name="blend_mode" type="int" enum="VisualServer.EnvironmentGlowBlendMode"> + <argument index="7" name="blend_mode" type="int" enum="RenderingServer.EnvironmentGlowBlendMode"> </argument> <argument index="8" name="hdr_bleed_threshold" type="float"> </argument> @@ -763,8 +763,6 @@ </argument> <argument index="10" name="hdr_luminance_cap" type="float"> </argument> - <argument index="11" name="bicubic_upscale" type="bool"> - </argument> <description> </description> </method> @@ -818,7 +816,7 @@ </argument> <argument index="6" name="ao_channel_affect" type="float"> </argument> - <argument index="7" name="blur" type="int" enum="VisualServer.EnvironmentSSAOBlur"> + <argument index="7" name="blur" type="int" enum="RenderingServer.EnvironmentSSAOBlur"> </argument> <argument index="8" name="bilateral_sharpness" type="float"> </argument> @@ -840,8 +838,6 @@ </argument> <argument index="5" name="depth_tolerance" type="float"> </argument> - <argument index="6" name="roughness" type="bool"> - </argument> <description> Sets the variables to be used with the "screen space reflections" post-process effect. See [Environment] for more details. </description> @@ -851,7 +847,7 @@ </return> <argument index="0" name="env" type="RID"> </argument> - <argument index="1" name="tone_mapper" type="int" enum="VisualServer.EnvironmentToneMapper"> + <argument index="1" name="tone_mapper" type="int" enum="RenderingServer.EnvironmentToneMapper"> </argument> <argument index="2" name="exposure" type="float"> </argument> @@ -902,13 +898,13 @@ <argument index="0" name="rid" type="RID"> </argument> <description> - Tries to free an object in the VisualServer. + Tries to free an object in the RenderingServer. </description> </method> <method name="get_render_info"> <return type="int"> </return> - <argument index="0" name="info" type="int" enum="VisualServer.RenderInfo"> + <argument index="0" name="info" type="int" enum="RenderingServer.RenderInfo"> </argument> <description> Returns a certain information, see [enum RenderInfo] for options. @@ -951,17 +947,69 @@ Returns the id of a white texture. Creates one if none exists. </description> </method> + <method name="global_variable_add"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="int" enum="RenderingServer.GlobalVariableType"> + </argument> + <argument index="2" name="default_value" type="Variant"> + </argument> + <description> + </description> + </method> + <method name="global_variable_get" qualifiers="const"> + <return type="Variant"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + </description> + </method> + <method name="global_variable_get_list" qualifiers="const"> + <return type="PackedStringArray"> + </return> + <description> + </description> + </method> + <method name="global_variable_get_type" qualifiers="const"> + <return type="int" enum="RenderingServer.GlobalVariableType"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + </description> + </method> + <method name="global_variable_remove"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <description> + </description> + </method> + <method name="global_variable_set"> + <return type="void"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="value" type="Variant"> + </argument> + <description> + </description> + </method> <method name="has_changed" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if changes have been made to the VisualServer's data. [method force_draw] is usually called if this happens. + Returns [code]true[/code] if changes have been made to the RenderingServer's data. [method force_draw] is usually called if this happens. </description> </method> <method name="has_feature" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="feature" type="int" enum="VisualServer.Features"> + <argument index="0" name="feature" type="int" enum="RenderingServer.Features"> </argument> <description> Not yet implemented. Always returns [code]false[/code]. @@ -981,12 +1029,12 @@ </return> <argument index="0" name="immediate" type="RID"> </argument> - <argument index="1" name="primitive" type="int" enum="VisualServer.PrimitiveType"> + <argument index="1" name="primitive" type="int" enum="RenderingServer.PrimitiveType"> </argument> <argument index="2" name="texture" type="RID"> </argument> <description> - Sets up [ImmediateGeometry] internals to prepare for drawing. Equivalent to [method ImmediateGeometry.begin]. + Sets up [ImmediateGeometry3D] internals to prepare for drawing. Equivalent to [method ImmediateGeometry3D.begin]. </description> </method> <method name="immediate_clear"> @@ -995,7 +1043,7 @@ <argument index="0" name="immediate" type="RID"> </argument> <description> - Clears everything that was set up between [method immediate_begin] and [method immediate_end]. Equivalent to [method ImmediateGeometry.clear]. + Clears everything that was set up between [method immediate_begin] and [method immediate_end]. Equivalent to [method ImmediateGeometry3D.clear]. </description> </method> <method name="immediate_color"> @@ -1006,15 +1054,15 @@ <argument index="1" name="color" type="Color"> </argument> <description> - Sets the color to be used with next vertex. Equivalent to [method ImmediateGeometry.set_color]. + Sets the color to be used with next vertex. Equivalent to [method ImmediateGeometry3D.set_color]. </description> </method> <method name="immediate_create"> <return type="RID"> </return> <description> - Creates an immediate geometry and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]immediate_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates an immediate geometry and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]immediate_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach this immediate geometry to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -1024,7 +1072,7 @@ <argument index="0" name="immediate" type="RID"> </argument> <description> - Ends drawing the [ImmediateGeometry] and displays it. Equivalent to [method ImmediateGeometry.end]. + Ends drawing the [ImmediateGeometry3D] and displays it. Equivalent to [method ImmediateGeometry3D.end]. </description> </method> <method name="immediate_get_material" qualifiers="const"> @@ -1033,7 +1081,7 @@ <argument index="0" name="immediate" type="RID"> </argument> <description> - Returns the material assigned to the [ImmediateGeometry]. + Returns the material assigned to the [ImmediateGeometry3D]. </description> </method> <method name="immediate_normal"> @@ -1044,7 +1092,7 @@ <argument index="1" name="normal" type="Vector3"> </argument> <description> - Sets the normal to be used with next vertex. Equivalent to [method ImmediateGeometry.set_normal]. + Sets the normal to be used with next vertex. Equivalent to [method ImmediateGeometry3D.set_normal]. </description> </method> <method name="immediate_set_material"> @@ -1055,7 +1103,7 @@ <argument index="1" name="material" type="RID"> </argument> <description> - Sets the material to be used to draw the [ImmediateGeometry]. + Sets the material to be used to draw the [ImmediateGeometry3D]. </description> </method> <method name="immediate_tangent"> @@ -1066,7 +1114,7 @@ <argument index="1" name="tangent" type="Plane"> </argument> <description> - Sets the tangent to be used with next vertex. Equivalent to [method ImmediateGeometry.set_tangent]. + Sets the tangent to be used with next vertex. Equivalent to [method ImmediateGeometry3D.set_tangent]. </description> </method> <method name="immediate_uv"> @@ -1077,7 +1125,7 @@ <argument index="1" name="tex_uv" type="Vector2"> </argument> <description> - Sets the UV to be used with next vertex. Equivalent to [method ImmediateGeometry.set_uv]. + Sets the UV to be used with next vertex. Equivalent to [method ImmediateGeometry3D.set_uv]. </description> </method> <method name="immediate_uv2"> @@ -1088,7 +1136,7 @@ <argument index="1" name="tex_uv" type="Vector2"> </argument> <description> - Sets the UV2 to be used with next vertex. Equivalent to [method ImmediateGeometry.set_uv2]. + Sets the UV2 to be used with next vertex. Equivalent to [method ImmediateGeometry3D.set_uv2]. </description> </method> <method name="immediate_vertex"> @@ -1099,7 +1147,7 @@ <argument index="1" name="vertex" type="Vector3"> </argument> <description> - Adds the next vertex using the information provided in advance. Equivalent to [method ImmediateGeometry.add_vertex]. + Adds the next vertex using the information provided in advance. Equivalent to [method ImmediateGeometry3D.add_vertex]. </description> </method> <method name="immediate_vertex_2d"> @@ -1110,14 +1158,14 @@ <argument index="1" name="vertex" type="Vector2"> </argument> <description> - Adds the next vertex using the information provided in advance. This is a helper class that calls [method immediate_vertex] under the hood. Equivalent to [method ImmediateGeometry.add_vertex]. + Adds the next vertex using the information provided in advance. This is a helper class that calls [method immediate_vertex] under the hood. Equivalent to [method ImmediateGeometry3D.add_vertex]. </description> </method> <method name="init"> <return type="void"> </return> <description> - Initializes the visual server. This function is called internally by platform-dependent code during engine initialization. If called from a running game, it will not do anything. + Initializes the rendering server. This function is called internally by platform-dependent code during engine initialization. If called from a running game, it will not do anything. </description> </method> <method name="instance_attach_object_instance_id"> @@ -1146,8 +1194,8 @@ <return type="RID"> </return> <description> - Creates a visual instance and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]instance_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a visual instance and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]instance_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. An instance is a way of placing a 3D object in the scenario. Objects like particles, meshes, and reflection probes need to be associated with an instance to be visible in the scenario using [method instance_set_base]. </description> </method> @@ -1159,8 +1207,8 @@ <argument index="1" name="scenario" type="RID"> </argument> <description> - Creates a visual instance, adds it to the VisualServer, and sets both base and scenario. It can be accessed with the RID that is returned. This RID will be used in all [code]instance_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a visual instance, adds it to the RenderingServer, and sets both base and scenario. It can be accessed with the RID that is returned. This RID will be used in all [code]instance_*[/code] RenderingServer functions. + 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="instance_geometry_set_as_instance_lod"> @@ -1179,10 +1227,10 @@ </return> <argument index="0" name="instance" type="RID"> </argument> - <argument index="1" name="shadow_casting_setting" type="int" enum="VisualServer.ShadowCastingSetting"> + <argument index="1" name="shadow_casting_setting" type="int" enum="RenderingServer.ShadowCastingSetting"> </argument> <description> - Sets the shadow casting setting to one of [enum ShadowCastingSetting]. Equivalent to [member GeometryInstance.cast_shadow]. + Sets the shadow casting setting to one of [enum ShadowCastingSetting]. Equivalent to [member GeometryInstance3D.cast_shadow]. </description> </method> <method name="instance_geometry_set_draw_range"> @@ -1207,7 +1255,7 @@ </return> <argument index="0" name="instance" type="RID"> </argument> - <argument index="1" name="flag" type="int" enum="VisualServer.InstanceFlags"> + <argument index="1" name="flag" type="int" enum="RenderingServer.InstanceFlags"> </argument> <argument index="2" name="enabled" type="bool"> </argument> @@ -1223,7 +1271,7 @@ <argument index="1" name="material" type="RID"> </argument> <description> - Sets a material that will override the material for all surfaces on the mesh associated with this instance. Equivalent to [member GeometryInstance.material_override]. + Sets a material that will override the material for all surfaces on the mesh associated with this instance. Equivalent to [member GeometryInstance3D.material_override]. </description> </method> <method name="instance_set_base"> @@ -1234,7 +1282,7 @@ <argument index="1" name="base" type="RID"> </argument> <description> - Sets the base of the instance. A base can be any of the 3D objects that are created in the VisualServer that can be displayed. For example, any of the light types, mesh, multimesh, immediate geometry, particle system, reflection probe, lightmap capture, and the GI probe are all types that can be set as the base of an instance in order to be displayed in the scenario. + Sets the base of the instance. A base can be any of the 3D objects that are created in the RenderingServer that can be displayed. For example, any of the light types, mesh, multimesh, immediate geometry, particle system, reflection probe, lightmap capture, and the GI probe are all types that can be set as the base of an instance in order to be displayed in the scenario. </description> </method> <method name="instance_set_blend_shape_weight"> @@ -1258,7 +1306,7 @@ <argument index="1" name="aabb" type="AABB"> </argument> <description> - Sets a custom AABB to use when culling objects from the view frustum. Equivalent to [method GeometryInstance.set_custom_aabb]. + Sets a custom AABB to use when culling objects from the view frustum. Equivalent to [method GeometryInstance3D.set_custom_aabb]. </description> </method> <method name="instance_set_exterior"> @@ -1280,7 +1328,7 @@ <argument index="1" name="margin" type="float"> </argument> <description> - Sets a margin to increase the size of the AABB when culling objects from the view frustum. This allows you avoid culling objects that fall outside the view frustum. Equivalent to [member GeometryInstance.extra_cull_margin]. + Sets a margin to increase the size of the AABB when culling objects from the view frustum. This allows you avoid culling objects that fall outside the view frustum. Equivalent to [member GeometryInstance3D.extra_cull_margin]. </description> </method> <method name="instance_set_layer_mask"> @@ -1291,7 +1339,7 @@ <argument index="1" name="mask" type="int"> </argument> <description> - Sets the render layers that this instance will be drawn to. Equivalent to [member VisualInstance.layers]. + Sets the render layers that this instance will be drawn to. Equivalent to [member VisualInstance3D.layers]. </description> </method> <method name="instance_set_scenario"> @@ -1315,7 +1363,7 @@ <argument index="2" name="material" type="RID"> </argument> <description> - Sets the material of a specific surface. Equivalent to [method MeshInstance.set_surface_material]. + Sets the material of a specific surface. Equivalent to [method MeshInstance3D.set_surface_material]. </description> </method> <method name="instance_set_transform"> @@ -1326,7 +1374,7 @@ <argument index="1" name="transform" type="Transform"> </argument> <description> - Sets the world space transform of the instance. Equivalent to [member Spatial.transform]. + Sets the world space transform of the instance. Equivalent to [member Node3D.transform]. </description> </method> <method name="instance_set_use_lightmap"> @@ -1350,7 +1398,7 @@ <argument index="1" name="visible" type="bool"> </argument> <description> - Sets whether an instance is drawn or not. Equivalent to [member Spatial.visible]. + Sets whether an instance is drawn or not. Equivalent to [member Node3D.visible]. </description> </method> <method name="instances_cull_aabb" qualifiers="const"> @@ -1361,7 +1409,7 @@ <argument index="1" name="scenario" type="RID"> </argument> <description> - Returns an array of object IDs intersecting with the provided AABB. Only visual 3D nodes are considered, such as [MeshInstance] or [DirectionalLight]. Use [method @GDScript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World] you want to query. This forces an update for all resources queued to update. + Returns an array of object IDs intersecting with the provided AABB. Only visual 3D nodes are considered, such as [MeshInstance3D] or [DirectionalLight3D]. Use [method @GDScript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World3D] you want to query. This forces an update for all resources queued to update. [b]Warning:[/b] This function is primarily intended for editor usage. For in-game use cases, prefer physics collision. </description> </method> @@ -1373,7 +1421,7 @@ <argument index="1" name="scenario" type="RID"> </argument> <description> - Returns an array of object IDs intersecting with the provided convex shape. Only visual 3D nodes are considered, such as [MeshInstance] or [DirectionalLight]. Use [method @GDScript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World] you want to query. This forces an update for all resources queued to update. + Returns an array of object IDs intersecting with the provided convex shape. Only visual 3D nodes are considered, such as [MeshInstance3D] or [DirectionalLight3D]. Use [method @GDScript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World3D] you want to query. This forces an update for all resources queued to update. [b]Warning:[/b] This function is primarily intended for editor usage. For in-game use cases, prefer physics collision. </description> </method> @@ -1387,7 +1435,7 @@ <argument index="2" name="scenario" type="RID"> </argument> <description> - Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as [MeshInstance] or [DirectionalLight]. Use [method @GDScript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World] you want to query. This forces an update for all resources queued to update. + Returns an array of object IDs intersecting with the provided 3D ray. Only visual 3D nodes are considered, such as [MeshInstance3D] or [DirectionalLight3D]. Use [method @GDScript.instance_from_id] to obtain the actual nodes. A scenario RID must be provided, which is available in the [World3D] you want to query. This forces an update for all resources queued to update. [b]Warning:[/b] This function is primarily intended for editor usage. For in-game use cases, prefer physics collision. </description> </method> @@ -1399,7 +1447,7 @@ <argument index="1" name="enable" type="bool"> </argument> <description> - If [code]true[/code], this directional light will blend between shadow map splits resulting in a smoother transition between them. Equivalent to [member DirectionalLight.directional_shadow_blend_splits]. + If [code]true[/code], this directional light will blend between shadow map splits resulting in a smoother transition between them. Equivalent to [member DirectionalLight3D.directional_shadow_blend_splits]. </description> </method> <method name="light_directional_set_shadow_depth_range_mode"> @@ -1407,10 +1455,10 @@ </return> <argument index="0" name="light" type="RID"> </argument> - <argument index="1" name="range_mode" type="int" enum="VisualServer.LightDirectionalShadowDepthRangeMode"> + <argument index="1" name="range_mode" type="int" enum="RenderingServer.LightDirectionalShadowDepthRangeMode"> </argument> <description> - Sets the shadow depth range mode for this directional light. Equivalent to [member DirectionalLight.directional_shadow_depth_range]. See [enum LightDirectionalShadowDepthRangeMode] for options. + Sets the shadow depth range mode for this directional light. Equivalent to [member DirectionalLight3D.directional_shadow_depth_range]. See [enum LightDirectionalShadowDepthRangeMode] for options. </description> </method> <method name="light_directional_set_shadow_mode"> @@ -1418,10 +1466,10 @@ </return> <argument index="0" name="light" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="VisualServer.LightDirectionalShadowMode"> + <argument index="1" name="mode" type="int" enum="RenderingServer.LightDirectionalShadowMode"> </argument> <description> - Sets the shadow mode for this directional light. Equivalent to [member DirectionalLight.directional_shadow_mode]. See [enum LightDirectionalShadowMode] for options. + Sets the shadow mode for this directional light. Equivalent to [member DirectionalLight3D.directional_shadow_mode]. See [enum LightDirectionalShadowMode] for options. </description> </method> <method name="light_omni_set_shadow_mode"> @@ -1429,10 +1477,10 @@ </return> <argument index="0" name="light" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="VisualServer.LightOmniShadowMode"> + <argument index="1" name="mode" type="int" enum="RenderingServer.LightOmniShadowMode"> </argument> <description> - Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual paraboloid is faster but may suffer from artifacts. Equivalent to [member OmniLight.omni_shadow_mode]. + Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual paraboloid is faster but may suffer from artifacts. Equivalent to [member OmniLight3D.omni_shadow_mode]. </description> </method> <method name="light_set_color"> @@ -1443,7 +1491,7 @@ <argument index="1" name="color" type="Color"> </argument> <description> - Sets the color of the light. Equivalent to [member Light.light_color]. + Sets the color of the light. Equivalent to [member Light3D.light_color]. </description> </method> <method name="light_set_cull_mask"> @@ -1454,7 +1502,7 @@ <argument index="1" name="mask" type="int"> </argument> <description> - Sets the cull mask for this Light. Lights only affect objects in the selected layers. Equivalent to [member Light.light_cull_mask]. + Sets the cull mask for this Light3D. Lights only affect objects in the selected layers. Equivalent to [member Light3D.light_cull_mask]. </description> </method> <method name="light_set_negative"> @@ -1465,7 +1513,7 @@ <argument index="1" name="enable" type="bool"> </argument> <description> - If [code]true[/code], light will subtract light instead of adding light. Equivalent to [member Light.light_negative]. + If [code]true[/code], light will subtract light instead of adding light. Equivalent to [member Light3D.light_negative]. </description> </method> <method name="light_set_param"> @@ -1473,12 +1521,12 @@ </return> <argument index="0" name="light" type="RID"> </argument> - <argument index="1" name="param" type="int" enum="VisualServer.LightParam"> + <argument index="1" name="param" type="int" enum="RenderingServer.LightParam"> </argument> <argument index="2" name="value" type="float"> </argument> <description> - Sets the specified light parameter. See [enum LightParam] for options. Equivalent to [method Light.set_param]. + Sets the specified light parameter. See [enum LightParam] for options. Equivalent to [method Light3D.set_param]. </description> </method> <method name="light_set_projector"> @@ -1500,7 +1548,7 @@ <argument index="1" name="enabled" type="bool"> </argument> <description> - If [code]true[/code], reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double sided shadows with [method instance_geometry_set_cast_shadows_setting]. Equivalent to [member Light.shadow_reverse_cull_face]. + If [code]true[/code], reverses the backface culling of the mesh. This can be useful when you have a flat mesh that has a light behind it. If you need to cast a shadow on both sides of the mesh, set the mesh to use double sided shadows with [method instance_geometry_set_cast_shadows_setting]. Equivalent to [member Light3D.shadow_reverse_cull_face]. </description> </method> <method name="light_set_shadow"> @@ -1511,7 +1559,7 @@ <argument index="1" name="enabled" type="bool"> </argument> <description> - If [code]true[/code], light will cast shadows. Equivalent to [member Light.shadow_enabled]. + If [code]true[/code], light will cast shadows. Equivalent to [member Light3D.shadow_enabled]. </description> </method> <method name="light_set_shadow_color"> @@ -1522,7 +1570,7 @@ <argument index="1" name="color" type="Color"> </argument> <description> - Sets the color of the shadow cast by the light. Equivalent to [member Light.shadow_color]. + Sets the color of the shadow cast by the light. Equivalent to [member Light3D.shadow_color]. </description> </method> <method name="light_set_use_gi"> @@ -1540,8 +1588,8 @@ <return type="RID"> </return> <description> - Creates a lightmap capture and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]lightmap_capture_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a lightmap capture and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]lightmap_capture_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach this lightmap capture to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -1662,8 +1710,8 @@ <return type="RID"> </return> <description> - Creates an empty material and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]material_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates an empty material and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]material_*[/code] RenderingServer functions. + 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="material_get_param" qualifiers="const"> @@ -1671,7 +1719,7 @@ </return> <argument index="0" name="material" type="RID"> </argument> - <argument index="1" name="parameter" type="String"> + <argument index="1" name="parameter" type="StringName"> </argument> <description> Returns the value of a certain material's parameter. @@ -1693,7 +1741,7 @@ </return> <argument index="0" name="material" type="RID"> </argument> - <argument index="1" name="parameter" type="String"> + <argument index="1" name="parameter" type="StringName"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -1728,7 +1776,7 @@ </return> <argument index="0" name="mesh" type="RID"> </argument> - <argument index="1" name="primitive" type="int" enum="VisualServer.PrimitiveType"> + <argument index="1" name="primitive" type="int" enum="RenderingServer.PrimitiveType"> </argument> <argument index="2" name="arrays" type="Array"> </argument> @@ -1756,8 +1804,8 @@ <return type="RID"> </return> <description> - Creates a new mesh and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]mesh_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a new mesh and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]mesh_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach this mesh to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -1771,7 +1819,7 @@ </description> </method> <method name="mesh_get_blend_shape_mode" qualifiers="const"> - <return type="int" enum="VisualServer.BlendShapeMode"> + <return type="int" enum="RenderingServer.BlendShapeMode"> </return> <argument index="0" name="mesh" type="RID"> </argument> @@ -1802,7 +1850,7 @@ </return> <argument index="0" name="mesh" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="VisualServer.BlendShapeMode"> + <argument index="1" name="mode" type="int" enum="RenderingServer.BlendShapeMode"> </argument> <description> Sets a mesh's blend shape mode. @@ -1915,7 +1963,7 @@ </argument> <argument index="1" name="instances" type="int"> </argument> - <argument index="2" name="transform_format" type="int" enum="VisualServer.MultimeshTransformFormat"> + <argument index="2" name="transform_format" type="int" enum="RenderingServer.MultimeshTransformFormat"> </argument> <argument index="3" name="color_format" type="bool" default="false"> </argument> @@ -1928,8 +1976,8 @@ <return type="RID"> </return> <description> - Creates a new multimesh on the VisualServer and returns an [RID] handle. This RID will be used in all [code]multimesh_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a new multimesh on the RenderingServer and returns an [RID] handle. This RID will be used in all [code]multimesh_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach this multimesh to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -1943,7 +1991,7 @@ </description> </method> <method name="multimesh_get_buffer" qualifiers="const"> - <return type="PackedRealArray"> + <return type="PackedFloat32Array"> </return> <argument index="0" name="multimesh" type="RID"> </argument> @@ -2078,7 +2126,7 @@ </return> <argument index="0" name="multimesh" type="RID"> </argument> - <argument index="1" name="buffer" type="PackedRealArray"> + <argument index="1" name="buffer" type="PackedFloat32Array"> </argument> <description> </description> @@ -2109,8 +2157,8 @@ <return type="RID"> </return> <description> - Creates a new omni light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most [code]light_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a new omni light and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID can be used in most [code]light_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach this omni light to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -2118,8 +2166,8 @@ <return type="RID"> </return> <description> - Creates a particle system and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]particles_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a particle system and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]particles_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach these particles to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -2129,7 +2177,7 @@ <argument index="0" name="particles" type="RID"> </argument> <description> - Calculates and returns the axis-aligned bounding box that contains all the particles. Equivalent to [method Particles.capture_aabb]. + Calculates and returns the axis-aligned bounding box that contains all the particles. Equivalent to [method GPUParticles3D.capture_aabb]. </description> </method> <method name="particles_get_emitting"> @@ -2165,7 +2213,7 @@ <argument index="0" name="particles" type="RID"> </argument> <description> - Reset the particles on the next update. Equivalent to [method Particles.restart]. + Reset the particles on the next update. Equivalent to [method GPUParticles3D.restart]. </description> </method> <method name="particles_set_amount"> @@ -2176,7 +2224,7 @@ <argument index="1" name="amount" type="int"> </argument> <description> - Sets the number of particles to be drawn and allocates the memory for them. Equivalent to [member Particles.amount]. + Sets the number of particles to be drawn and allocates the memory for them. Equivalent to [member GPUParticles3D.amount]. </description> </method> <method name="particles_set_custom_aabb"> @@ -2187,7 +2235,7 @@ <argument index="1" name="aabb" type="AABB"> </argument> <description> - Sets a custom axis-aligned bounding box for the particle system. Equivalent to [member Particles.visibility_aabb]. + Sets a custom axis-aligned bounding box for the particle system. Equivalent to [member GPUParticles3D.visibility_aabb]. </description> </method> <method name="particles_set_draw_order"> @@ -2195,10 +2243,10 @@ </return> <argument index="0" name="particles" type="RID"> </argument> - <argument index="1" name="order" type="int" enum="VisualServer.ParticlesDrawOrder"> + <argument index="1" name="order" type="int" enum="RenderingServer.ParticlesDrawOrder"> </argument> <description> - Sets the draw order of the particles to one of the named enums from [enum ParticlesDrawOrder]. See [enum ParticlesDrawOrder] for options. Equivalent to [member Particles.draw_order]. + Sets the draw order of the particles to one of the named enums from [enum ParticlesDrawOrder]. See [enum ParticlesDrawOrder] for options. Equivalent to [member GPUParticles3D.draw_order]. </description> </method> <method name="particles_set_draw_pass_mesh"> @@ -2211,7 +2259,7 @@ <argument index="2" name="mesh" type="RID"> </argument> <description> - Sets the mesh to be used for the specified draw pass. Equivalent to [member Particles.draw_pass_1], [member Particles.draw_pass_2], [member Particles.draw_pass_3], and [member Particles.draw_pass_4]. + Sets the mesh to be used for the specified draw pass. Equivalent to [member GPUParticles3D.draw_pass_1], [member GPUParticles3D.draw_pass_2], [member GPUParticles3D.draw_pass_3], and [member GPUParticles3D.draw_pass_4]. </description> </method> <method name="particles_set_draw_passes"> @@ -2222,7 +2270,7 @@ <argument index="1" name="count" type="int"> </argument> <description> - Sets the number of draw passes to use. Equivalent to [member Particles.draw_passes]. + Sets the number of draw passes to use. Equivalent to [member GPUParticles3D.draw_passes]. </description> </method> <method name="particles_set_emission_transform"> @@ -2244,7 +2292,7 @@ <argument index="1" name="emitting" type="bool"> </argument> <description> - If [code]true[/code], particles will emit over time. Setting to false does not reset the particles, but only stops their emission. Equivalent to [member Particles.emitting]. + If [code]true[/code], particles will emit over time. Setting to false does not reset the particles, but only stops their emission. Equivalent to [member GPUParticles3D.emitting]. </description> </method> <method name="particles_set_explosiveness_ratio"> @@ -2255,7 +2303,7 @@ <argument index="1" name="ratio" type="float"> </argument> <description> - Sets the explosiveness ratio. Equivalent to [member Particles.explosiveness]. + Sets the explosiveness ratio. Equivalent to [member GPUParticles3D.explosiveness]. </description> </method> <method name="particles_set_fixed_fps"> @@ -2266,7 +2314,7 @@ <argument index="1" name="fps" type="int"> </argument> <description> - Sets the frame rate that the particle system rendering will be fixed to. Equivalent to [member Particles.fixed_fps]. + Sets the frame rate that the particle system rendering will be fixed to. Equivalent to [member GPUParticles3D.fixed_fps]. </description> </method> <method name="particles_set_fractional_delta"> @@ -2277,7 +2325,7 @@ <argument index="1" name="enable" type="bool"> </argument> <description> - If [code]true[/code], uses fractional delta which smooths the movement of the particles. Equivalent to [member Particles.fract_delta]. + If [code]true[/code], uses fractional delta which smooths the movement of the particles. Equivalent to [member GPUParticles3D.fract_delta]. </description> </method> <method name="particles_set_lifetime"> @@ -2288,7 +2336,7 @@ <argument index="1" name="lifetime" type="float"> </argument> <description> - Sets the lifetime of each particle in the system. Equivalent to [member Particles.lifetime]. + Sets the lifetime of each particle in the system. Equivalent to [member GPUParticles3D.lifetime]. </description> </method> <method name="particles_set_one_shot"> @@ -2299,7 +2347,7 @@ <argument index="1" name="one_shot" type="bool"> </argument> <description> - If [code]true[/code], particles will emit once and then stop. Equivalent to [member Particles.one_shot]. + If [code]true[/code], particles will emit once and then stop. Equivalent to [member GPUParticles3D.one_shot]. </description> </method> <method name="particles_set_pre_process_time"> @@ -2310,7 +2358,7 @@ <argument index="1" name="time" type="float"> </argument> <description> - Sets the preprocess time for the particles animation. This lets you delay starting an animation until after the particles have begun emitting. Equivalent to [member Particles.preprocess]. + Sets the preprocess time for the particles animation. This lets you delay starting an animation until after the particles have begun emitting. Equivalent to [member GPUParticles3D.preprocess]. </description> </method> <method name="particles_set_process_material"> @@ -2321,7 +2369,7 @@ <argument index="1" name="material" type="RID"> </argument> <description> - Sets the material for processing the particles. Note: this is not the material used to draw the materials. Equivalent to [member Particles.process_material]. + Sets the material for processing the particles. Note: this is not the material used to draw the materials. Equivalent to [member GPUParticles3D.process_material]. </description> </method> <method name="particles_set_randomness_ratio"> @@ -2332,7 +2380,7 @@ <argument index="1" name="ratio" type="float"> </argument> <description> - Sets the emission randomness ratio. This randomizes the emission of particles within their phase. Equivalent to [member Particles.randomness]. + Sets the emission randomness ratio. This randomizes the emission of particles within their phase. Equivalent to [member GPUParticles3D.randomness]. </description> </method> <method name="particles_set_speed_scale"> @@ -2343,7 +2391,7 @@ <argument index="1" name="scale" type="float"> </argument> <description> - Sets the speed scale of the particle system. Equivalent to [member Particles.speed_scale]. + Sets the speed scale of the particle system. Equivalent to [member GPUParticles3D.speed_scale]. </description> </method> <method name="particles_set_use_local_coordinates"> @@ -2354,15 +2402,15 @@ <argument index="1" name="enable" type="bool"> </argument> <description> - If [code]true[/code], particles use local coordinates. If [code]false[/code] they use global coordinates. Equivalent to [member Particles.local_coords]. + If [code]true[/code], particles use local coordinates. If [code]false[/code] they use global coordinates. Equivalent to [member GPUParticles3D.local_coords]. </description> </method> <method name="reflection_probe_create"> <return type="RID"> </return> <description> - Creates a reflection probe and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]reflection_probe_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a reflection probe and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]reflection_probe_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach this reflection probe to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -2492,7 +2540,7 @@ </return> <argument index="0" name="probe" type="RID"> </argument> - <argument index="1" name="mode" type="int" enum="VisualServer.ReflectionProbeUpdateMode"> + <argument index="1" name="mode" type="int" enum="RenderingServer.ReflectionProbeUpdateMode"> </argument> <description> Sets how often the reflection probe updates. Can either be once or every frame. See [enum ReflectionProbeUpdateMode] for options. @@ -2503,7 +2551,7 @@ </return> <argument index="0" name="where" type="Object"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <argument index="2" name="userdata" type="Variant"> </argument> @@ -2516,8 +2564,8 @@ <return type="RID"> </return> <description> - Creates a scenario and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]scenario_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a scenario and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]scenario_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. The scenario is the 3D world that all the visual instances exist in. </description> </method> @@ -2526,7 +2574,7 @@ </return> <argument index="0" name="scenario" type="RID"> </argument> - <argument index="1" name="debug_mode" type="int" enum="VisualServer.ScenarioDebugMode"> + <argument index="1" name="debug_mode" type="int" enum="RenderingServer.ScenarioDebugMode"> </argument> <description> Sets the [enum ScenarioDebugMode] for this scenario. See [enum ScenarioDebugMode] for options. @@ -2591,8 +2639,8 @@ <return type="RID"> </return> <description> - Creates an empty shader and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]shader_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates an empty shader and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]shader_*[/code] RenderingServer functions. + 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="shader_get_code" qualifiers="const"> @@ -2609,7 +2657,7 @@ </return> <argument index="0" name="shader" type="RID"> </argument> - <argument index="1" name="name" type="String"> + <argument index="1" name="name" type="StringName"> </argument> <description> Returns a default texture from a shader searched by name. @@ -2620,7 +2668,7 @@ </return> <argument index="0" name="material" type="RID"> </argument> - <argument index="1" name="parameter" type="String"> + <argument index="1" name="parameter" type="StringName"> </argument> <description> </description> @@ -2650,7 +2698,7 @@ </return> <argument index="0" name="shader" type="RID"> </argument> - <argument index="1" name="name" type="String"> + <argument index="1" name="name" type="StringName"> </argument> <argument index="2" name="texture" type="RID"> </argument> @@ -2723,8 +2771,8 @@ <return type="RID"> </return> <description> - Creates a skeleton and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]skeleton_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a skeleton and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]skeleton_*[/code] RenderingServer functions. + 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="skeleton_get_bone_count" qualifiers="const"> @@ -2740,26 +2788,27 @@ <return type="RID"> </return> <description> - Creates an empty sky and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]sky_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates an empty sky and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]sky_*[/code] RenderingServer functions. + 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="sky_set_texture"> + <method name="sky_set_material"> <return type="void"> </return> <argument index="0" name="sky" type="RID"> </argument> - <argument index="1" name="panorama" type="RID"> + <argument index="1" name="material" type="RID"> </argument> <description> + Sets the material that the sky uses to render the background and reflection maps. </description> </method> <method name="spot_light_create"> <return type="RID"> </return> <description> - Creates a spot light and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID can be used in most [code]light_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. + Creates a spot light and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID can be used in most [code]light_*[/code] RenderingServer functions. + Once finished with your RID, you will want to free the RID using the RenderingServer's [method free_rid] static method. To place in a scene, attach this spot light to an instance using [method instance_set_base] using the returned RID. </description> </method> @@ -2811,7 +2860,7 @@ <argument index="2" name="screen" type="int" default="0"> </argument> <description> - Copies viewport to a region of the screen specified by [code]rect[/code]. If [member Viewport.render_direct_to_screen] is [code]true[/code], then viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to. + Copies the viewport to a region of the screen specified by [code]rect[/code]. If [method viewport_set_render_direct_to_screen] is [code]true[/code], then the viewport does not use a framebuffer and the contents of the viewport are rendered directly to screen. However, note that the root viewport is drawn last, therefore it will draw over the screen. Accordingly, you must set the root viewport to an area that does not cover the area that you have attached this viewport to. For example, you can set the root viewport to not render at all with the following code: [codeblock] func _ready(): @@ -2825,17 +2874,8 @@ <return type="RID"> </return> <description> - Creates an empty viewport and adds it to the VisualServer. It can be accessed with the RID that is returned. This RID will be used in all [code]viewport_*[/code] VisualServer functions. - Once finished with your RID, you will want to free the RID using the VisualServer's [method free_rid] static method. - </description> - </method> - <method name="viewport_detach"> - <return type="void"> - </return> - <argument index="0" name="viewport" type="RID"> - </argument> - <description> - Detaches the viewport from the screen. + Creates an empty viewport and adds it to the RenderingServer. It can be accessed with the RID that is returned. This RID will be used in all [code]viewport_*[/code] RenderingServer functions. + 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="viewport_get_render_info"> @@ -2843,7 +2883,7 @@ </return> <argument index="0" name="viewport" type="RID"> </argument> - <argument index="1" name="info" type="int" enum="VisualServer.ViewportRenderInfo"> + <argument index="1" name="info" type="int" enum="RenderingServer.ViewportRenderInfo"> </argument> <description> Returns a viewport's render information. For options, see the [enum ViewportRenderInfo] constants. @@ -2914,7 +2954,7 @@ </return> <argument index="0" name="viewport" type="RID"> </argument> - <argument index="1" name="clear_mode" type="int" enum="VisualServer.ViewportClearMode"> + <argument index="1" name="clear_mode" type="int" enum="RenderingServer.ViewportClearMode"> </argument> <description> Sets the clear mode of a viewport. See [enum ViewportClearMode] for options. @@ -2925,7 +2965,7 @@ </return> <argument index="0" name="viewport" type="RID"> </argument> - <argument index="1" name="draw" type="int" enum="VisualServer.ViewportDebugDraw"> + <argument index="1" name="draw" type="int" enum="RenderingServer.ViewportDebugDraw"> </argument> <description> Sets the debug draw mode of a viewport. See [enum ViewportDebugDraw] for options. @@ -2980,7 +3020,7 @@ </return> <argument index="0" name="viewport" type="RID"> </argument> - <argument index="1" name="msaa" type="int" enum="VisualServer.ViewportMSAA"> + <argument index="1" name="msaa" type="int" enum="RenderingServer.ViewportMSAA"> </argument> <description> Sets the anti-aliasing mode. See [enum ViewportMSAA] for options. @@ -3073,33 +3113,33 @@ </return> <argument index="0" name="viewport" type="RID"> </argument> - <argument index="1" name="update_mode" type="int" enum="VisualServer.ViewportUpdateMode"> + <argument index="1" name="update_mode" type="int" enum="RenderingServer.ViewportUpdateMode"> </argument> <description> Sets when the viewport should be updated. See [enum ViewportUpdateMode] constants for options. </description> </method> - <method name="viewport_set_use_arvr"> + <method name="viewport_set_use_xr"> <return type="void"> </return> <argument index="0" name="viewport" type="RID"> </argument> - <argument index="1" name="use_arvr" type="bool"> + <argument index="1" name="use_xr" type="bool"> </argument> <description> - If [code]true[/code], the viewport uses augmented or virtual reality technologies. See [ARVRInterface]. + If [code]true[/code], the viewport uses augmented or virtual reality technologies. See [XRInterface]. </description> </method> </methods> <signals> <signal name="frame_post_draw"> <description> - Emitted at the end of the frame, after the VisualServer has finished updating all the Viewports. + Emitted at the end of the frame, after the RenderingServer has finished updating all the Viewports. </description> </signal> <signal name="frame_pre_draw"> <description> - Emitted at the beginning of the frame, before the VisualServer updates all the Viewports. + Emitted at the beginning of the frame, before the RenderingServer updates all the Viewports. </description> </signal> </signals> @@ -3122,12 +3162,6 @@ <constant name="MAX_CURSORS" value="8"> Unused enum in Godot 3.x. </constant> - <constant name="MATERIAL_RENDER_PRIORITY_MIN" value="-128"> - The minimum renderpriority of all materials. - </constant> - <constant name="MATERIAL_RENDER_PRIORITY_MAX" value="127"> - The maximum renderpriority of all materials. - </constant> <constant name="TEXTURE_LAYERED_2D_ARRAY" value="0" enum="TextureLayeredType"> </constant> <constant name="TEXTURE_LAYERED_CUBEMAP" value="1" enum="TextureLayeredType"> @@ -3155,9 +3189,18 @@ <constant name="SHADER_PARTICLES" value="2" enum="ShaderMode"> Shader is a particle shader. </constant> - <constant name="SHADER_MAX" value="3" enum="ShaderMode"> + <constant name="SHADER_SKY" value="3" enum="ShaderMode"> + Shader is a sky shader. + </constant> + <constant name="SHADER_MAX" value="4" enum="ShaderMode"> Represents the size of the [enum ShaderMode] enum. </constant> + <constant name="MATERIAL_RENDER_PRIORITY_MIN" value="-128"> + The minimum renderpriority of all materials. + </constant> + <constant name="MATERIAL_RENDER_PRIORITY_MAX" value="127"> + The maximum renderpriority of all materials. + </constant> <constant name="ARRAY_VERTEX" value="0" enum="ArrayType"> Array is a vertex array. </constant> @@ -3233,14 +3276,14 @@ <constant name="ARRAY_COMPRESS_INDEX" value="131072" enum="ArrayFormat"> Flag used to mark a compressed index array. </constant> + <constant name="ARRAY_COMPRESS_DEFAULT" value="31744" enum="ArrayFormat"> + Used to set flags [constant ARRAY_COMPRESS_NORMAL], [constant ARRAY_COMPRESS_TANGENT], [constant ARRAY_COMPRESS_COLOR], [constant ARRAY_COMPRESS_TEX_UV] and [constant ARRAY_COMPRESS_TEX_UV2] quickly. + </constant> <constant name="ARRAY_FLAG_USE_2D_VERTICES" value="262144" enum="ArrayFormat"> Flag used to mark that the array contains 2D vertices. </constant> <constant name="ARRAY_FLAG_USE_DYNAMIC_UPDATE" value="1048576" enum="ArrayFormat"> </constant> - <constant name="ARRAY_COMPRESS_DEFAULT" value="31744" enum="ArrayFormat"> - Used to set flags [constant ARRAY_COMPRESS_NORMAL], [constant ARRAY_COMPRESS_TANGENT], [constant ARRAY_COMPRESS_COLOR], [constant ARRAY_COMPRESS_TEX_UV] and [constant ARRAY_COMPRESS_TEX_UV2] quickly. - </constant> <constant name="PRIMITIVE_POINTS" value="0" enum="PrimitiveType"> Primitive to draw consists of points. </constant> @@ -3291,18 +3334,18 @@ <constant name="LIGHT_PARAM_RANGE" value="3" enum="LightParam"> The light's range. </constant> - <constant name="LIGHT_PARAM_ATTENUATION" value="4" enum="LightParam"> + <constant name="LIGHT_PARAM_SIZE" value="4" enum="LightParam"> + The size of the light when using spot light or omni light. The angular size of the light when using directional light. + </constant> + <constant name="LIGHT_PARAM_ATTENUATION" value="5" enum="LightParam"> The light's attenuation. </constant> - <constant name="LIGHT_PARAM_SPOT_ANGLE" value="5" enum="LightParam"> + <constant name="LIGHT_PARAM_SPOT_ANGLE" value="6" enum="LightParam"> The spotlight's angle. </constant> - <constant name="LIGHT_PARAM_SPOT_ATTENUATION" value="6" enum="LightParam"> + <constant name="LIGHT_PARAM_SPOT_ATTENUATION" value="7" enum="LightParam"> The spotlight's attenuation. </constant> - <constant name="LIGHT_PARAM_CONTACT_SHADOW_SIZE" value="7" enum="LightParam"> - Scales the shadow color. - </constant> <constant name="LIGHT_PARAM_SHADOW_MAX_DISTANCE" value="8" enum="LightParam"> Max distance that shadows will be rendered. </constant> @@ -3316,6 +3359,7 @@ Proportion of shadow atlas occupied by the third split. The fourth split occupies the rest. </constant> <constant name="LIGHT_PARAM_SHADOW_FADE_START" value="12" enum="LightParam"> + Proportion of shadow max distance where the shadow will start to fade out. </constant> <constant name="LIGHT_PARAM_SHADOW_NORMAL_BIAS" value="13" enum="LightParam"> Normal bias used to offset shadow lookup by object normal. Can be used to fix self-shadowing artifacts. @@ -3323,10 +3367,15 @@ <constant name="LIGHT_PARAM_SHADOW_BIAS" value="14" enum="LightParam"> Bias the shadow lookup to fix self-shadowing artifacts. </constant> - <constant name="LIGHT_PARAM_SHADOW_BIAS_SPLIT_SCALE" value="15" enum="LightParam"> - Increases bias on further splits to fix self-shadowing that only occurs far away from the camera. + <constant name="LIGHT_PARAM_SHADOW_PANCAKE_SIZE" value="15" enum="LightParam"> + Sets the size of the directional shadow pancake. The pancake offsets the start of the shadow's camera frustum to provide a higher effective depth resolution for the shadow. However, a high pancake size can cause artifacts in the shadows of large objects that are close to the edge of the frustum. Reducing the pancake size can help. Setting the size to [code]0[/code] turns off the pancaking effect. </constant> - <constant name="LIGHT_PARAM_MAX" value="16" enum="LightParam"> + <constant name="LIGHT_PARAM_SHADOW_BLUR" value="16" enum="LightParam"> + Blurs the edges of the shadow. Can be used to hide pixel artifacts in low resolution shadow maps. A high value can make shadows appear grainy and can cause other unwanted artifacts. Try to keep as near default as possible. + </constant> + <constant name="LIGHT_PARAM_TRANSMITTANCE_BIAS" value="17" enum="LightParam"> + </constant> + <constant name="LIGHT_PARAM_MAX" value="18" enum="LightParam"> Represents the size of the [enum LightParam] enum. </constant> <constant name="LIGHT_OMNI_SHADOW_DUAL_PARABOLOID" value="0" enum="LightOmniShadowMode"> @@ -3356,6 +3405,16 @@ <constant name="REFLECTION_PROBE_UPDATE_ALWAYS" value="1" enum="ReflectionProbeUpdateMode"> Reflection probe will update each frame. This mode is necessary to capture moving objects. </constant> + <constant name="DECAL_TEXTURE_ALBEDO" value="0" enum="DecalTexture"> + </constant> + <constant name="DECAL_TEXTURE_NORMAL" value="1" enum="DecalTexture"> + </constant> + <constant name="DECAL_TEXTURE_ORM" value="2" enum="DecalTexture"> + </constant> + <constant name="DECAL_TEXTURE_EMISSION" value="3" enum="DecalTexture"> + </constant> + <constant name="DECAL_TEXTURE_MAX" value="4" enum="DecalTexture"> + </constant> <constant name="PARTICLES_DRAW_ORDER_INDEX" value="0" enum="ParticlesDrawOrder"> Draw particles in the order that they appear in the particles array. </constant> @@ -3374,7 +3433,9 @@ <constant name="VIEWPORT_UPDATE_WHEN_VISIBLE" value="2" enum="ViewportUpdateMode"> Update the viewport whenever it is visible. </constant> - <constant name="VIEWPORT_UPDATE_ALWAYS" value="3" enum="ViewportUpdateMode"> + <constant name="VIEWPORT_UPDATE_WHEN_PARENT_VISIBLE" value="3" enum="ViewportUpdateMode"> + </constant> + <constant name="VIEWPORT_UPDATE_ALWAYS" value="4" enum="ViewportUpdateMode"> Always update the viewport. </constant> <constant name="VIEWPORT_CLEAR_ALWAYS" value="0" enum="ViewportClearMode"> @@ -3390,22 +3451,24 @@ Multisample antialiasing is disabled. </constant> <constant name="VIEWPORT_MSAA_2X" value="1" enum="ViewportMSAA"> - Multisample antialiasing is set to 2×. + Multisample antialiasing uses 2 samples per pixel. </constant> <constant name="VIEWPORT_MSAA_4X" value="2" enum="ViewportMSAA"> - Multisample antialiasing is set to 4×. + Multisample antialiasing uses 4 samples per pixel. </constant> <constant name="VIEWPORT_MSAA_8X" value="3" enum="ViewportMSAA"> - Multisample antialiasing is set to 8×. + Multisample antialiasing uses 8 samples per pixel. </constant> <constant name="VIEWPORT_MSAA_16X" value="4" enum="ViewportMSAA"> - Multisample antialiasing is set to 16×. + Multisample antialiasing uses 16 samples per pixel. </constant> - <constant name="VIEWPORT_MSAA_EXT_2X" value="5" enum="ViewportMSAA"> - Multisample antialiasing is set to 2× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go). + <constant name="VIEWPORT_MSAA_MAX" value="5" enum="ViewportMSAA"> </constant> - <constant name="VIEWPORT_MSAA_EXT_4X" value="6" enum="ViewportMSAA"> - Multisample antialiasing is set to 4× on external texture. Special mode for GLES2 Android VR (Oculus Quest and Go). + <constant name="VIEWPORT_SCREEN_SPACE_AA_DISABLED" value="0" enum="ViewportScreenSpaceAA"> + </constant> + <constant name="VIEWPORT_SCREEN_SPACE_AA_FXAA" value="1" enum="ViewportScreenSpaceAA"> + </constant> + <constant name="VIEWPORT_SCREEN_SPACE_AA_MAX" value="2" enum="ViewportScreenSpaceAA"> </constant> <constant name="VIEWPORT_RENDER_INFO_OBJECTS_IN_FRAME" value="0" enum="ViewportRenderInfo"> Number of objects drawn in a single frame. @@ -3432,37 +3495,54 @@ Debug draw is disabled. Default setting. </constant> <constant name="VIEWPORT_DEBUG_DRAW_UNSHADED" value="1" enum="ViewportDebugDraw"> - Debug draw sets objects to unshaded. + Objects are displayed without light information. </constant> <constant name="VIEWPORT_DEBUG_DRAW_LIGHTING" value="2" enum="ViewportDebugDraw"> + Objects are displayed with only light information. </constant> <constant name="VIEWPORT_DEBUG_DRAW_OVERDRAW" value="3" enum="ViewportDebugDraw"> - Overwrites clear color to [code](0,0,0,0)[/code]. + Objects are displayed semi-transparent with additive blending so you can see where they are drawing over top of one another. A higher overdraw means you are wasting performance on drawing pixels that are being hidden behind others. </constant> <constant name="VIEWPORT_DEBUG_DRAW_WIREFRAME" value="4" enum="ViewportDebugDraw"> Debug draw draws objects in wireframe. </constant> <constant name="VIEWPORT_DEBUG_DRAW_NORMAL_BUFFER" value="5" enum="ViewportDebugDraw"> + Normal buffer is drawn instead of regular scene so you can see the per-pixel normals that will be used by post-processing effects. </constant> <constant name="VIEWPORT_DEBUG_DRAW_GI_PROBE_ALBEDO" value="6" enum="ViewportDebugDraw"> + Objects are displayed with only the albedo value from [GIProbe]s. </constant> <constant name="VIEWPORT_DEBUG_DRAW_GI_PROBE_LIGHTING" value="7" enum="ViewportDebugDraw"> + Objects are displayed with only the lighting value from [GIProbe]s. </constant> <constant name="VIEWPORT_DEBUG_DRAW_GI_PROBE_EMISSION" value="8" enum="ViewportDebugDraw"> + Objects are displayed with only the emission color from [GIProbe]s. </constant> <constant name="VIEWPORT_DEBUG_DRAW_SHADOW_ATLAS" value="9" enum="ViewportDebugDraw"> + Draws the shadow atlas that stores shadows from [OmniLight3D]s and [SpotLight3D]s in the upper left quadrant of the [Viewport]. </constant> <constant name="VIEWPORT_DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS" value="10" enum="ViewportDebugDraw"> + Draws the shadow atlas that stores shadows from [DirectionalLight3D]s in the upper left quadrant of the [Viewport]. </constant> <constant name="VIEWPORT_DEBUG_DRAW_SCENE_LUMINANCE" value="11" enum="ViewportDebugDraw"> </constant> <constant name="VIEWPORT_DEBUG_DRAW_SSAO" value="12" enum="ViewportDebugDraw"> + Draws the screen space ambient occlusion texture instead of the scene so that you can clearly see how it is affecting objects. In order for this display mode to work, you must have [member Environment.ssao_enabled] set in your [WorldEnvironment]. </constant> <constant name="VIEWPORT_DEBUG_DRAW_ROUGHNESS_LIMITER" value="13" enum="ViewportDebugDraw"> + Draws the roughness limiter post process over the Viewport so you can see where it has an effect. It must be enabled in [member ProjectSettings.rendering/quality/screen_filters/screen_space_roughness_limiter] to work. + </constant> + <constant name="VIEWPORT_DEBUG_DRAW_PSSM_SPLITS" value="14" enum="ViewportDebugDraw"> + Colors each PSSM split for the [DirectionalLight3D]s in the scene a different color so you can see where the splits are. In order they will be colored red, green, blue, yellow. + </constant> + <constant name="VIEWPORT_DEBUG_DRAW_DECAL_ATLAS" value="15" enum="ViewportDebugDraw"> </constant> <constant name="SKY_MODE_QUALITY" value="0" enum="SkyMode"> + Uses high quality importance sampling to process the radiance map. In general, this results in much higher quality than [constant Sky.PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be used if you plan on changing the sky at runtime. If you are finding that the reflection is not blurry enough and is showing sparkles or fireflies, try increasing [member ProjectSettings.rendering/quality/reflections/ggx_samples]. </constant> <constant name="SKY_MODE_REALTIME" value="1" enum="SkyMode"> + Uses the fast filtering algorithm to process the radiance map. In general this results in lower quality, but substantially faster run times. + [b]Note:[/b] The fast filtering algorithm is limited to 256x256 cubemaps, so [member Sky.radiance_size] must be set to [constant Sky.RADIANCE_SIZE_256]. </constant> <constant name="ENV_BG_CLEAR_COLOR" value="0" enum="EnvironmentBG"> Use the clear color as background. @@ -3486,28 +3566,40 @@ Represents the size of the [enum EnvironmentBG] enum. </constant> <constant name="ENV_AMBIENT_SOURCE_BG" value="0" enum="EnvironmentAmbientSource"> + Gather ambient light from whichever source is specified as the background. </constant> <constant name="ENV_AMBIENT_SOURCE_DISABLED" value="1" enum="EnvironmentAmbientSource"> + Disable ambient light. </constant> <constant name="ENV_AMBIENT_SOURCE_COLOR" value="2" enum="EnvironmentAmbientSource"> + Specify a specific [Color] for ambient light. </constant> <constant name="ENV_AMBIENT_SOURCE_SKY" value="3" enum="EnvironmentAmbientSource"> + Gather ambient light from the [Sky] regardless of what the background is. </constant> <constant name="ENV_REFLECTION_SOURCE_BG" value="0" enum="EnvironmentReflectionSource"> + Use the background for reflections. </constant> <constant name="ENV_REFLECTION_SOURCE_DISABLED" value="1" enum="EnvironmentReflectionSource"> + Disable reflections. </constant> <constant name="ENV_REFLECTION_SOURCE_SKY" value="2" enum="EnvironmentReflectionSource"> + Use the [Sky] for reflections regardless of what the background is. </constant> <constant name="ENV_GLOW_BLEND_MODE_ADDITIVE" value="0" enum="EnvironmentGlowBlendMode"> + Additive glow blending mode. Mostly used for particles, glows (bloom), lens flare, bright sources. </constant> <constant name="ENV_GLOW_BLEND_MODE_SCREEN" value="1" enum="EnvironmentGlowBlendMode"> + Screen glow blending mode. Increases brightness, used frequently with bloom. </constant> <constant name="ENV_GLOW_BLEND_MODE_SOFTLIGHT" value="2" enum="EnvironmentGlowBlendMode"> + Soft light glow blending mode. Modifies contrast, exposes shadows and highlights (vivid bloom). </constant> <constant name="ENV_GLOW_BLEND_MODE_REPLACE" value="3" enum="EnvironmentGlowBlendMode"> + Replace glow blending mode. Replaces all pixels' color by the glow value. This can be used to simulate a full-screen blur effect by tweaking the glow parameters to match the original image's brightness. </constant> <constant name="ENV_GLOW_BLEND_MODE_MIX" value="4" enum="EnvironmentGlowBlendMode"> + Mixes the glow with the underlying color to avoid increasing brightness as much while still maintaining a glow effect. </constant> <constant name="ENV_TONE_MAPPER_LINEAR" value="0" enum="EnvironmentToneMapper"> Output color as they came in. @@ -3521,6 +3613,14 @@ <constant name="ENV_TONE_MAPPER_ACES" value="3" enum="EnvironmentToneMapper"> Use the ACES tonemapper. </constant> + <constant name="ENV_SSR_ROUGNESS_QUALITY_DISABLED" value="0" enum="EnvironmentSSRRoughnessQuality"> + </constant> + <constant name="ENV_SSR_ROUGNESS_QUALITY_LOW" value="1" enum="EnvironmentSSRRoughnessQuality"> + </constant> + <constant name="ENV_SSR_ROUGNESS_QUALITY_MEDIUM" value="2" enum="EnvironmentSSRRoughnessQuality"> + </constant> + <constant name="ENV_SSR_ROUGNESS_QUALITY_HIGH" value="3" enum="EnvironmentSSRRoughnessQuality"> + </constant> <constant name="ENV_SSAO_BLUR_DISABLED" value="0" enum="EnvironmentSSAOBlur"> Disables the blur set for SSAO. Will make SSAO look noisier. </constant> @@ -3540,23 +3640,51 @@ Medium quality screen space ambient occlusion. </constant> <constant name="ENV_SSAO_QUALITY_HIGH" value="2" enum="EnvironmentSSAOQuality"> - Highest quality screen space ambient occlusion. + High quality screen space ambient occlusion. </constant> <constant name="ENV_SSAO_QUALITY_ULTRA" value="3" enum="EnvironmentSSAOQuality"> + Highest quality screen space ambient occlusion. + </constant> + <constant name="SUB_SURFACE_SCATTERING_QUALITY_DISABLED" value="0" enum="SubSurfaceScatteringQuality"> + </constant> + <constant name="SUB_SURFACE_SCATTERING_QUALITY_LOW" value="1" enum="SubSurfaceScatteringQuality"> + </constant> + <constant name="SUB_SURFACE_SCATTERING_QUALITY_MEDIUM" value="2" enum="SubSurfaceScatteringQuality"> + </constant> + <constant name="SUB_SURFACE_SCATTERING_QUALITY_HIGH" value="3" enum="SubSurfaceScatteringQuality"> </constant> <constant name="DOF_BLUR_QUALITY_VERY_LOW" value="0" enum="DOFBlurQuality"> + Lowest quality DOF blur. This is the fastest setting, but you may be able to see filtering artifacts. </constant> <constant name="DOF_BLUR_QUALITY_LOW" value="1" enum="DOFBlurQuality"> + Low quality DOF blur. </constant> <constant name="DOF_BLUR_QUALITY_MEDIUM" value="2" enum="DOFBlurQuality"> + Medium quality DOF blur. </constant> <constant name="DOF_BLUR_QUALITY_HIGH" value="3" enum="DOFBlurQuality"> + Highest quality DOF blur. Results in the smoothest looking blur by taking the most samples, but is also significantly slower. </constant> <constant name="DOF_BOKEH_BOX" value="0" enum="DOFBokehShape"> + Calculate the DOF blur using a box filter. The fastest option, but results in obvious lines in blur pattern. </constant> <constant name="DOF_BOKEH_HEXAGON" value="1" enum="DOFBokehShape"> + Calculates DOF blur using a hexagon shaped filter. </constant> <constant name="DOF_BOKEH_CIRCLE" value="2" enum="DOFBokehShape"> + Calculates DOF blur using a circle shaped filter. Best quality and most realistic, but slowest. Use only for areas where a lot of performance can be dedicated to post-processing (e.g. cutscenes). + </constant> + <constant name="SHADOW_QUALITY_HARD" value="0" enum="ShadowQuality"> + </constant> + <constant name="SHADOW_QUALITY_SOFT_LOW" value="1" enum="ShadowQuality"> + </constant> + <constant name="SHADOW_QUALITY_SOFT_MEDIUM" value="2" enum="ShadowQuality"> + </constant> + <constant name="SHADOW_QUALITY_SOFT_HIGH" value="3" enum="ShadowQuality"> + </constant> + <constant name="SHADOW_QUALITY_SOFT_ULTRA" value="4" enum="ShadowQuality"> + </constant> + <constant name="SHADOW_QUALITY_MAX" value="5" enum="ShadowQuality"> </constant> <constant name="SCENARIO_DEBUG_DISABLED" value="0" enum="ScenarioDebugMode"> Do not use a debug mode. @@ -3591,13 +3719,16 @@ <constant name="INSTANCE_REFLECTION_PROBE" value="6" enum="InstanceType"> The instance is a reflection probe. </constant> - <constant name="INSTANCE_GI_PROBE" value="7" enum="InstanceType"> + <constant name="INSTANCE_DECAL" value="7" enum="InstanceType"> + The instance is a decal. + </constant> + <constant name="INSTANCE_GI_PROBE" value="8" enum="InstanceType"> The instance is a GI probe. </constant> - <constant name="INSTANCE_LIGHTMAP_CAPTURE" value="8" enum="InstanceType"> + <constant name="INSTANCE_LIGHTMAP_CAPTURE" value="9" enum="InstanceType"> The instance is a lightmap capture. </constant> - <constant name="INSTANCE_MAX" value="9" enum="InstanceType"> + <constant name="INSTANCE_MAX" value="10" enum="InstanceType"> Represents the size of the [enum InstanceType] enum. </constant> <constant name="INSTANCE_GEOMETRY_MASK" value="30" enum="InstanceType"> @@ -3607,6 +3738,7 @@ Allows the instance to be used in baked lighting. </constant> <constant name="INSTANCE_FLAG_USE_DYNAMIC_GI" value="1" enum="InstanceFlags"> + Allows the instance to be used with dynamic global illumination. </constant> <constant name="INSTANCE_FLAG_DRAW_NEXT_FRAME_IF_VISIBLE" value="2" enum="InstanceFlags"> When set, manually requests to draw geometry on next frame. @@ -3636,30 +3768,43 @@ The nine patch gets filled with tiles where needed and stretches them a bit if needed. </constant> <constant name="CANVAS_ITEM_TEXTURE_FILTER_DEFAULT" value="0" enum="CanvasItemTextureFilter"> + Uses the default filter mode for this [Viewport]. </constant> <constant name="CANVAS_ITEM_TEXTURE_FILTER_NEAREST" value="1" enum="CanvasItemTextureFilter"> + The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized. </constant> <constant name="CANVAS_ITEM_TEXTURE_FILTER_LINEAR" value="2" enum="CanvasItemTextureFilter"> + The texture filter blends between the nearest 4 pixels. Use this when you want to avoid a pixelated style, but do not want mipmaps. </constant> <constant name="CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS" value="3" enum="CanvasItemTextureFilter"> + The texture filter reads from the nearest pixel in the nearest mipmap. The fastest way to read from textures with mipmaps. </constant> <constant name="CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS" value="4" enum="CanvasItemTextureFilter"> + The texture filter blends between the nearest 4 pixels and between the nearest 2 mipmaps. </constant> <constant name="CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC" value="5" enum="CanvasItemTextureFilter"> + The texture filter reads from the nearest pixel, but selects a mipmap based on the angle between the surface and the camera view. This reduces artifacts on surfaces that are almost in line with the camera. </constant> <constant name="CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC" value="6" enum="CanvasItemTextureFilter"> + The texture filter blends between the nearest 4 pixels and selects a mipmap based on the angle between the surface and the camera view. This reduces artifacts on surfaces that are almost in line with the camera. This is the slowest of the filtering options, but results in the highest quality texturing. </constant> <constant name="CANVAS_ITEM_TEXTURE_FILTER_MAX" value="7" enum="CanvasItemTextureFilter"> + Max value for [enum CanvasItemTextureFilter] enum. </constant> <constant name="CANVAS_ITEM_TEXTURE_REPEAT_DEFAULT" value="0" enum="CanvasItemTextureRepeat"> + Uses the default repeat mode for this [Viewport]. </constant> <constant name="CANVAS_ITEM_TEXTURE_REPEAT_DISABLED" value="1" enum="CanvasItemTextureRepeat"> + Disables textures repeating. Instead, when reading UVs outside the 0-1 range, the value will be clamped to the edge of the texture, resulting in a stretched out look at the borders of the texture. </constant> <constant name="CANVAS_ITEM_TEXTURE_REPEAT_ENABLED" value="2" enum="CanvasItemTextureRepeat"> + Enables the texture to repeat when UV coordinates are outside the 0-1 range. If using one of the linear filtering modes, this can result in artifacts at the edges of a texture when the sampler filters across the edges of the texture. </constant> <constant name="CANVAS_ITEM_TEXTURE_REPEAT_MIRROR" value="3" enum="CanvasItemTextureRepeat"> + Flip the texture when repeating so that the edge lines up instead of abruptly changing. </constant> <constant name="CANVAS_ITEM_TEXTURE_REPEAT_MAX" value="4" enum="CanvasItemTextureRepeat"> + Max value for [enum CanvasItemTextureRepeat] enum. </constant> <constant name="CANVAS_LIGHT_MODE_ADD" value="0" enum="CanvasLightMode"> Adds light color additive to the canvas. @@ -3683,6 +3828,7 @@ Use PCF13 filtering to filter canvas light shadows. </constant> <constant name="CANVAS_LIGHT_FILTER_MAX" value="3" enum="CanvasLightShadowFilter"> + Max value of the [enum CanvasLightShadowFilter] enum. </constant> <constant name="CANVAS_OCCLUDER_POLYGON_CULL_DISABLED" value="0" enum="CanvasOccluderPolygonCullMode"> Culling of the canvas occluder is disabled. @@ -3693,6 +3839,64 @@ <constant name="CANVAS_OCCLUDER_POLYGON_CULL_COUNTER_CLOCKWISE" value="2" enum="CanvasOccluderPolygonCullMode"> Culling of the canvas occluder is counterclockwise. </constant> + <constant name="GLOBAL_VAR_TYPE_BOOL" value="0" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_BVEC2" value="1" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_BVEC3" value="2" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_BVEC4" value="3" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_INT" value="4" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_IVEC2" value="5" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_IVEC3" value="6" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_IVEC4" value="7" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_RECT2I" value="8" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_UINT" value="9" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_UVEC2" value="10" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_UVEC3" value="11" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_UVEC4" value="12" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_FLOAT" value="13" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_VEC2" value="14" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_VEC3" value="15" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_VEC4" value="16" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_COLOR" value="17" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_RECT2" value="18" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_MAT2" value="19" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_MAT3" value="20" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_MAT4" value="21" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_TRANSFORM_2D" value="22" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_TRANSFORM" value="23" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_SAMPLER2D" value="24" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_SAMPLER2DARRAY" value="25" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_SAMPLER3D" value="26" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_SAMPLERCUBE" value="27" enum="GlobalVariableType"> + </constant> + <constant name="GLOBAL_VAR_TYPE_MAX" value="28" enum="GlobalVariableType"> + </constant> <constant name="INFO_OBJECTS_IN_FRAME" value="0" enum="RenderInfo"> The amount of objects in the frame. </constant> diff --git a/doc/classes/ResourceFormatLoader.xml b/doc/classes/ResourceFormatLoader.xml index 828f4cd5d1..713f2c1726 100644 --- a/doc/classes/ResourceFormatLoader.xml +++ b/doc/classes/ResourceFormatLoader.xml @@ -43,7 +43,7 @@ <method name="handles_type" qualifiers="virtual"> <return type="bool"> </return> - <argument index="0" name="typename" type="String"> + <argument index="0" name="typename" type="StringName"> </argument> <description> Tells which resource class this loader can load. diff --git a/doc/classes/ResourceFormatLoaderCrypto.xml b/doc/classes/ResourceFormatLoaderCrypto.xml deleted file mode 100644 index fda529fdbd..0000000000 --- a/doc/classes/ResourceFormatLoaderCrypto.xml +++ /dev/null @@ -1,13 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatLoaderCrypto" inherits="ResourceFormatLoader" version="4.0"> - <brief_description> - </brief_description> - <description> - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <constants> - </constants> -</class> diff --git a/doc/classes/ResourceInteractiveLoader.xml b/doc/classes/ResourceInteractiveLoader.xml deleted file mode 100644 index 64e94c4f2d..0000000000 --- a/doc/classes/ResourceInteractiveLoader.xml +++ /dev/null @@ -1,55 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceInteractiveLoader" inherits="Reference" version="4.0"> - <brief_description> - Interactive [Resource] loader. - </brief_description> - <description> - Interactive [Resource] loader. This object is returned by [ResourceLoader] when performing an interactive load. It allows loading resources with high granularity, which makes it mainly useful for displaying loading bars or percentages. - </description> - <tutorials> - </tutorials> - <methods> - <method name="get_resource"> - <return type="Resource"> - </return> - <description> - Returns the loaded resource if the load operation completed successfully, [code]null[/code] otherwise. - </description> - </method> - <method name="get_stage" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the load stage. The total amount of stages can be queried with [method get_stage_count]. - </description> - </method> - <method name="get_stage_count" qualifiers="const"> - <return type="int"> - </return> - <description> - Returns the total amount of stages (calls to [method poll]) needed to completely load this resource. - </description> - </method> - <method name="poll"> - <return type="int" enum="Error"> - </return> - <description> - Polls the loading operation, i.e. loads a data chunk up to the next stage. - Returns [constant OK] if the poll is successful but the load operation has not finished yet (intermediate stage). This means [method poll] will have to be called again until the last stage is completed. - Returns [constant ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource]. - Returns another [enum Error] code if the poll has failed. - </description> - </method> - <method name="wait"> - <return type="int" enum="Error"> - </return> - <description> - Polls the loading operation successively until the resource is completely loaded or a [method poll] fails. - Returns [constant ERR_FILE_EOF] if the load operation has completed successfully. The loaded resource can be obtained by calling [method get_resource]. - Returns another [enum Error] code if a poll has failed, aborting the operation. - </description> - </method> - </methods> - <constants> - </constants> -</class> diff --git a/doc/classes/ResourceLoader.xml b/doc/classes/ResourceLoader.xml index d2a0ac22d6..1cf775f389 100644 --- a/doc/classes/ResourceLoader.xml +++ b/doc/classes/ResourceLoader.xml @@ -48,7 +48,7 @@ </argument> <description> Returns whether a cached resource is available for the given [code]path[/code]. - Once a resource has been loaded by the engine, it is cached in memory for faster access, and future calls to the [method load] or [method load_interactive] methods will use the cached version. The cached resource can be overridden by using [method Resource.take_over_path] on a new resource for that same path. + Once a resource has been loaded by the engine, it is cached in memory for faster access, and future calls to the [method load] method will use the cached version. The cached resource can be overridden by using [method Resource.take_over_path] on a new resource for that same path. </description> </method> <method name="load"> @@ -68,16 +68,39 @@ Returns an empty resource if no ResourceFormatLoader could handle the file. </description> </method> - <method name="load_interactive"> - <return type="ResourceInteractiveLoader"> + <method name="load_threaded_get"> + <return type="Resource"> + </return> + <argument index="0" name="path" type="String"> + </argument> + <description> + Returns the resource loaded by [method load_threaded_request]. + If this is called before the loading thread is done (i.e. [method load_threaded_get_status] is not [constant THREAD_LOAD_LOADED]), the calling thread will be blocked until the resource has finished loading. + </description> + </method> + <method name="load_threaded_get_status"> + <return type="int" enum="ResourceLoader.ThreadLoadStatus"> + </return> + <argument index="0" name="path" type="String"> + </argument> + <argument index="1" name="progress" type="Array" default="[ ]"> + </argument> + <description> + Returns the status of a threaded loading operation started with [method load_threaded_request] for the resource at [code]path[/code]. See [enum ThreadLoadStatus] for possible return values. + An array variable can optionally be passed via [code]progress[/code], and will return a one-element array containing the percentage of completion of the threaded loading. + </description> + </method> + <method name="load_threaded_request"> + <return type="int" enum="Error"> </return> <argument index="0" name="path" type="String"> </argument> <argument index="1" name="type_hint" type="String" default=""""> </argument> + <argument index="2" name="use_sub_threads" type="bool" default="false"> + </argument> <description> - Starts loading a resource interactively. The returned [ResourceInteractiveLoader] object allows to load with high granularity, calling its [method ResourceInteractiveLoader.poll] method successively to load chunks. - An optional [code]type_hint[/code] can be used to further specify the [Resource] type that should be handled by the [ResourceFormatLoader]. + Loads the resource using threads. If [code]use_sub_threads[/code] is [code]true[/code], multiple threads will be used to load the resource, which makes loading faster, but may affect the main thread (and thus cause game slowdowns). </description> </method> <method name="set_abort_on_missing_resources"> @@ -91,5 +114,17 @@ </method> </methods> <constants> + <constant name="THREAD_LOAD_INVALID_RESOURCE" value="0" enum="ThreadLoadStatus"> + The resource is invalid, or has not been loaded with [method load_threaded_request]. + </constant> + <constant name="THREAD_LOAD_IN_PROGRESS" value="1" enum="ThreadLoadStatus"> + The resource is still being loaded. + </constant> + <constant name="THREAD_LOAD_FAILED" value="2" enum="ThreadLoadStatus"> + Some error occurred during loading and it failed. + </constant> + <constant name="THREAD_LOAD_LOADED" value="3" enum="ThreadLoadStatus"> + The resource was loaded successfully and can be accessed via [method load_threaded_get]. + </constant> </constants> </class> diff --git a/doc/classes/ResourcePreloader.xml b/doc/classes/ResourcePreloader.xml index b1e8096c3a..3159a4c424 100644 --- a/doc/classes/ResourcePreloader.xml +++ b/doc/classes/ResourcePreloader.xml @@ -13,7 +13,7 @@ <method name="add_resource"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <argument index="1" name="resource" type="Resource"> </argument> @@ -24,7 +24,7 @@ <method name="get_resource" qualifiers="const"> <return type="Resource"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns the resource associated to [code]name[/code]. @@ -40,7 +40,7 @@ <method name="has_resource" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if the preloader contains a resource associated to [code]name[/code]. @@ -49,7 +49,7 @@ <method name="remove_resource"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Removes the resource associated to [code]name[/code] from the preloader. @@ -58,9 +58,9 @@ <method name="rename_resource"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="newname" type="String"> + <argument index="1" name="newname" type="StringName"> </argument> <description> Renames a resource inside the preloader from [code]name[/code] to [code]newname[/code]. diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml index 5f07133a27..efc0c9d600 100644 --- a/doc/classes/RichTextLabel.xml +++ b/doc/classes/RichTextLabel.xml @@ -409,38 +409,55 @@ </constants> <theme_items> <theme_item name="bold_font" type="Font"> + The font used for bold text. </theme_item> <theme_item name="bold_italics_font" type="Font"> + The font used for bold italics text. </theme_item> <theme_item name="default_color" type="Color" default="Color( 1, 1, 1, 1 )"> + The default text color. </theme_item> <theme_item name="focus" type="StyleBox"> + The background The background used when the [RichTextLabel] is focused. </theme_item> <theme_item name="font_color_selected" type="Color" default="Color( 0.49, 0.49, 0.49, 1 )"> + The color of selected text, used when [member selection_enabled] is [code]true[/code]. </theme_item> <theme_item name="font_color_shadow" type="Color" default="Color( 0, 0, 0, 0 )"> + The color of the font's shadow. </theme_item> <theme_item name="italics_font" type="Font"> + The font used for italics text. </theme_item> <theme_item name="line_separation" type="int" default="1"> + The vertical space between lines. </theme_item> <theme_item name="mono_font" type="Font"> + The font used for monospace text. </theme_item> <theme_item name="normal" type="StyleBox"> + The normal background for the [RichTextLabel]. </theme_item> <theme_item name="normal_font" type="Font"> + The default text font. </theme_item> <theme_item name="selection_color" type="Color" default="Color( 0.1, 0.1, 1, 0.8 )"> + The color of the selection box. </theme_item> <theme_item name="shadow_as_outline" type="int" default="0"> + Boolean value. If 1 ([code]true[/code]), the shadow will be displayed around the whole text as an outline. </theme_item> <theme_item name="shadow_offset_x" type="int" default="1"> + The horizontal offset of the font's shadow. </theme_item> <theme_item name="shadow_offset_y" type="int" default="1"> + The vertical offset of the font's shadow. </theme_item> <theme_item name="table_hseparation" type="int" default="3"> + The horizontal separation of elements in a table. </theme_item> <theme_item name="table_vseparation" type="int" default="3"> + The vertical separation of elements in a table. </theme_item> </theme_items> </class> diff --git a/doc/classes/RigidBody2D.xml b/doc/classes/RigidBody2D.xml index 79c4205f59..8379fc5b58 100644 --- a/doc/classes/RigidBody2D.xml +++ b/doc/classes/RigidBody2D.xml @@ -16,7 +16,7 @@ <method name="_integrate_forces" qualifiers="virtual"> <return type="void"> </return> - <argument index="0" name="state" type="Physics2DDirectBodyState"> + <argument index="0" name="state" type="PhysicsDirectBodyState2D"> </argument> <description> Allows you to read and safely modify the simulation state for the object. Use this instead of [method Node._physics_process] if you need to directly change the body's [code]position[/code] or other physics properties. By default, it works in addition to the usual physics behavior, but [member custom_integrator] allows you to disable the default behavior and write custom force integration for a body. @@ -81,7 +81,7 @@ </description> </method> <method name="get_colliding_bodies" qualifiers="const"> - <return type="Array"> + <return type="Node2D[]"> </return> <description> Returns a list of the bodies colliding with this one. Use [member contacts_reported] to set the maximum number reported. You must also set [member contact_monitor] to [code]true[/code]. @@ -106,10 +106,10 @@ </argument> <argument index="2" name="margin" type="float" default="0.08"> </argument> - <argument index="3" name="result" type="Physics2DTestMotionResult" default="null"> + <argument index="3" name="result" type="PhysicsTestMotionResult2D" default="null"> </argument> <description> - Returns [code]true[/code] if a collision would result from moving in the given vector. [code]margin[/code] increases the size of the shapes involved in the collision detection, and [code]result[/code] is an object of type [Physics2DTestMotionResult], which contains additional information about the collision (should there be one). + Returns [code]true[/code] if a collision would result from moving in the given vector. [code]margin[/code] increases the size of the shapes involved in the collision detection, and [code]result[/code] is an object of type [PhysicsTestMotionResult2D], which contains additional information about the collision (should there be one). </description> </method> </methods> diff --git a/doc/classes/RigidBody.xml b/doc/classes/RigidBody3D.xml index e2b7813361..1db818d6af 100644 --- a/doc/classes/RigidBody.xml +++ b/doc/classes/RigidBody3D.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RigidBody" inherits="PhysicsBody" version="4.0"> +<class name="RigidBody3D" inherits="PhysicsBody3D" version="4.0"> <brief_description> Physics Body whose position is determined through physics simulation in 3D space. </brief_description> <description> - This is the node that implements full 3D physics. This means that you do not control a RigidBody directly. Instead, you can apply forces to it (gravity, impulses, etc.), and the physics simulation will calculate the resulting movement, collision, bouncing, rotating, etc. - A RigidBody has 4 behavior [member mode]s: Rigid, Static, Character, and Kinematic. - [b]Note:[/b] Don't change a RigidBody's position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed Hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop may result in strange behavior. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state. + This is the node that implements full 3D physics. This means that you do not control a RigidBody3D directly. Instead, you can apply forces to it (gravity, impulses, etc.), and the physics simulation will calculate the resulting movement, collision, bouncing, rotating, etc. + A RigidBody3D has 4 behavior [member mode]s: Rigid, Static, Character, and Kinematic. + [b]Note:[/b] Don't change a RigidBody3D's position every frame or very often. Sporadic changes work fine, but physics runs at a different granularity (fixed Hz) than usual rendering (process callback) and maybe even in a separate thread, so changing this from a process loop may result in strange behavior. If you need to directly affect the body's state, use [method _integrate_forces], which allows you to directly access the physics state. If you need to override the default physics behavior, you can write a custom force integration function. See [member custom_integrator]. </description> <tutorials> @@ -16,7 +16,7 @@ <method name="_integrate_forces" qualifiers="virtual"> <return type="void"> </return> - <argument index="0" name="state" type="PhysicsDirectBodyState"> + <argument index="0" name="state" type="PhysicsDirectBodyState3D"> </argument> <description> Called during physics processing, allowing you to read and safely modify the simulation state for the object. By default, it works in addition to the usual physics behavior, but the [member custom_integrator] property allows you to disable the default behavior and do fully custom force integration for a body. @@ -28,7 +28,7 @@ <argument index="0" name="force" type="Vector3"> </argument> <description> - Adds a constant directional force without affecting rotation. + Adds a constant directional force (i.e. acceleration) without affecting rotation. This is equivalent to [code]add_force(force, Vector3(0,0,0))[/code]. </description> </method> @@ -40,7 +40,8 @@ <argument index="1" name="position" type="Vector3"> </argument> <description> - Adds a constant force (i.e. acceleration). + Adds a constant directional force (i.e. acceleration). + The position uses the rotation of the global coordinate system, but is centered at the object's origin. </description> </method> <method name="add_torque"> @@ -85,7 +86,7 @@ <method name="get_axis_lock" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="axis" type="int" enum="PhysicsServer.BodyAxis"> + <argument index="0" name="axis" type="int" enum="PhysicsServer3D.BodyAxis"> </argument> <description> Returns [code]true[/code] if the specified linear or rotational axis is locked. @@ -102,7 +103,7 @@ <method name="set_axis_lock"> <return type="void"> </return> - <argument index="0" name="axis" type="int" enum="PhysicsServer.BodyAxis"> + <argument index="0" name="axis" type="int" enum="PhysicsServer3D.BodyAxis"> </argument> <argument index="1" name="lock" type="bool"> </argument> @@ -122,10 +123,10 @@ </methods> <members> <member name="angular_damp" type="float" setter="set_angular_damp" getter="get_angular_damp" default="-1.0"> - Damps RigidBody's rotational forces. + Damps RigidBody3D's rotational forces. </member> <member name="angular_velocity" type="Vector3" setter="set_angular_velocity" getter="get_angular_velocity" default="Vector3( 0, 0, 0 )"> - RigidBody's rotational velocity. + RigidBody3D's rotational velocity. </member> <member name="axis_lock_angular_x" type="bool" setter="set_axis_lock" getter="get_axis_lock" default="false"> Lock the body's rotation in the X axis. @@ -146,10 +147,10 @@ Lock the body's movement in the Z axis. </member> <member name="can_sleep" type="bool" setter="set_can_sleep" getter="is_able_to_sleep" default="true"> - If [code]true[/code], the RigidBody will not calculate forces and will act as a static body while there is no movement. It will wake up when forces are applied through other collisions or when the [code]apply_impulse[/code] method is used. + If [code]true[/code], the body is deactivated when there is no movement, so it will not take part in the simulation until it is awaken by an external force. </member> <member name="contact_monitor" type="bool" setter="set_contact_monitor" getter="is_contact_monitor_enabled" default="false"> - If [code]true[/code], the RigidBody will emit signals when it collides with another RigidBody. + If [code]true[/code], the RigidBody3D will emit signals when it collides with another RigidBody3D. </member> <member name="contacts_reported" type="int" setter="set_max_contacts_reported" getter="get_max_contacts_reported" default="0"> The maximum contacts to report. Bodies can keep a log of the contacts with other bodies, this is enabled by setting the maximum amount of contacts reported to a number greater than 0. @@ -162,7 +163,7 @@ If [code]true[/code], internal force integration will be disabled (like gravity or air friction) for this body. Other than collision response, the body will only move as determined by the [method _integrate_forces] function, if defined. </member> <member name="gravity_scale" type="float" setter="set_gravity_scale" getter="get_gravity_scale" default="1.0"> - This is multiplied by the global 3D gravity setting found in [b]Project > Project Settings > Physics > 3d[/b] to produce RigidBody's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object. + This is multiplied by the global 3D gravity setting found in [b]Project > Project Settings > Physics > 3d[/b] to produce RigidBody3D's gravity. For example, a value of 1 will be normal gravity, 2 will apply double gravity, and 0.5 will apply half gravity to this object. </member> <member name="linear_damp" type="float" setter="set_linear_damp" getter="get_linear_damp" default="-1.0"> The body's linear damp. Cannot be less than -1.0. If this value is different from -1.0, any linear damp derived from the world or areas will be overridden. @@ -173,7 +174,7 @@ <member name="mass" type="float" setter="set_mass" getter="get_mass" default="1.0"> The body's mass. </member> - <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="RigidBody.Mode" default="0"> + <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="RigidBody3D.Mode" default="0"> The body mode. See [enum Mode] for possible values. </member> <member name="physics_material_override" type="PhysicsMaterial" setter="set_physics_material_override" getter="get_physics_material_override"> @@ -241,13 +242,13 @@ Rigid body mode. This is the "natural" state of a rigid body. It is affected by forces, and can move, rotate, and be affected by user code. </constant> <constant name="MODE_STATIC" value="1" enum="Mode"> - Static mode. The body behaves like a [StaticBody], and can only move by user code. + Static mode. The body behaves like a [StaticBody3D], and can only move by user code. </constant> <constant name="MODE_CHARACTER" value="2" enum="Mode"> Character body mode. This behaves like a rigid body, but can not rotate. </constant> <constant name="MODE_KINEMATIC" value="3" enum="Mode"> - Kinematic body mode. The body behaves like a [KinematicBody], and can only move by user code. + Kinematic body mode. The body behaves like a [KinematicBody3D], and can only move by user code. </constant> </constants> </class> diff --git a/doc/classes/RootMotionView.xml b/doc/classes/RootMotionView.xml index 654e42a3c6..be8d8d0078 100644 --- a/doc/classes/RootMotionView.xml +++ b/doc/classes/RootMotionView.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="RootMotionView" inherits="VisualInstance" version="4.0"> +<class name="RootMotionView" inherits="VisualInstance3D" version="4.0"> <brief_description> </brief_description> <description> diff --git a/doc/classes/SceneState.xml b/doc/classes/SceneState.xml index 2fcb831270..abc429d5fe 100644 --- a/doc/classes/SceneState.xml +++ b/doc/classes/SceneState.xml @@ -37,7 +37,7 @@ </description> </method> <method name="get_connection_method" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -46,7 +46,7 @@ </description> </method> <method name="get_connection_signal" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -117,7 +117,7 @@ </description> </method> <method name="get_node_name" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -157,7 +157,7 @@ </description> </method> <method name="get_node_property_name" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -179,7 +179,7 @@ </description> </method> <method name="get_node_type" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="idx" type="int"> </argument> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index b1d559986c..00ca5c6e9f 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -16,9 +16,9 @@ <method name="call_group" qualifiers="vararg"> <return type="Variant"> </return> - <argument index="0" name="group" type="String"> + <argument index="0" name="group" type="StringName"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <description> Calls [code]method[/code] on each member of the given group. @@ -29,9 +29,9 @@ </return> <argument index="0" name="flags" type="int"> </argument> - <argument index="1" name="group" type="String"> + <argument index="1" name="group" type="StringName"> </argument> - <argument index="2" name="method" type="String"> + <argument index="2" name="method" type="StringName"> </argument> <description> Calls [code]method[/code] on each member of the given group, respecting the given [enum GroupCallFlags]. @@ -83,7 +83,7 @@ </description> </method> <method name="get_network_connected_peers" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <description> Returns the peer IDs of all connected peers of this [SceneTree]'s [member network_peer]. @@ -106,7 +106,7 @@ <method name="get_nodes_in_group"> <return type="Array"> </return> - <argument index="0" name="group" type="String"> + <argument index="0" name="group" type="StringName"> </argument> <description> Returns a list of all nodes assigned to the given group. @@ -122,7 +122,7 @@ <method name="has_group" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if the given group exists. @@ -135,13 +135,6 @@ Returns [code]true[/code] if there is a [member network_peer] set. </description> </method> - <method name="is_input_handled"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if the most recent [InputEvent] was marked as handled with [method set_input_as_handled]. - </description> - </method> <method name="is_network_server" qualifiers="const"> <return type="bool"> </return> @@ -152,7 +145,7 @@ <method name="notify_group"> <return type="void"> </return> - <argument index="0" name="group" type="String"> + <argument index="0" name="group" type="StringName"> </argument> <argument index="1" name="notification" type="int"> </argument> @@ -165,7 +158,7 @@ </return> <argument index="0" name="call_flags" type="int"> </argument> - <argument index="1" name="group" type="String"> + <argument index="1" name="group" type="StringName"> </argument> <argument index="2" name="notification" type="int"> </argument> @@ -212,7 +205,7 @@ <method name="set_group"> <return type="void"> </return> - <argument index="0" name="group" type="String"> + <argument index="0" name="group" type="StringName"> </argument> <argument index="1" name="property" type="String"> </argument> @@ -227,7 +220,7 @@ </return> <argument index="0" name="call_flags" type="int"> </argument> - <argument index="1" name="group" type="String"> + <argument index="1" name="group" type="StringName"> </argument> <argument index="2" name="property" type="String"> </argument> @@ -237,13 +230,6 @@ Sets the given [code]property[/code] to [code]value[/code] on all members of the given group, respecting the given [enum GroupCallFlags]. </description> </method> - <method name="set_input_as_handled"> - <return type="void"> - </return> - <description> - Marks the most recent [InputEvent] as handled. - </description> - </method> <method name="set_quit_on_go_back"> <return type="void"> </return> @@ -251,22 +237,7 @@ </argument> <description> If [code]true[/code], the application quits automatically on going back (e.g. on Android). Enabled by default. - To handle 'Go Back' button when this option is disabled, use [constant MainLoop.NOTIFICATION_WM_GO_BACK_REQUEST]. - </description> - </method> - <method name="set_screen_stretch"> - <return type="void"> - </return> - <argument index="0" name="mode" type="int" enum="SceneTree.StretchMode"> - </argument> - <argument index="1" name="aspect" type="int" enum="SceneTree.StretchAspect"> - </argument> - <argument index="2" name="minsize" type="Vector2"> - </argument> - <argument index="3" name="shrink" type="float" default="1"> - </argument> - <description> - Configures screen stretching to the given [enum StretchMode], [enum StretchAspect], minimum size and [code]shrink[/code] ratio. + To handle 'Go Back' button when this option is disabled, use [constant DisplayServer.WINDOW_EVENT_GO_BACK_REQUEST]. </description> </method> </methods> @@ -301,11 +272,8 @@ <member name="refuse_new_network_connections" type="bool" setter="set_refuse_new_network_connections" getter="is_refusing_new_network_connections" default="false"> If [code]true[/code], the [SceneTree]'s [member network_peer] refuses new incoming connections. </member> - <member name="root" type="Viewport" setter="" getter="get_root"> - The [SceneTree]'s root [Viewport]. - </member> - <member name="use_font_oversampling" type="bool" setter="set_use_font_oversampling" getter="is_using_font_oversampling" default="false"> - If [code]true[/code], font oversampling is used. + <member name="root" type="Window" setter="" getter="get_root"> + The [SceneTree]'s root [Window]. </member> </members> <signals> @@ -328,15 +296,6 @@ Emitted when files are dragged from the OS file manager and dropped in the game window. The arguments are a list of file paths and the identifier of the screen where the drag originated. </description> </signal> - <signal name="global_menu_action"> - <argument index="0" name="id" type="Variant"> - </argument> - <argument index="1" name="meta" type="Variant"> - </argument> - <description> - Emitted whenever global menu item is clicked. - </description> - </signal> <signal name="idle_frame"> <description> Emitted immediately before [method Node._process] is called on every node in the [SceneTree]. @@ -389,11 +348,6 @@ Emitted immediately before [method Node._physics_process] is called on every node in the [SceneTree]. </description> </signal> - <signal name="screen_resized"> - <description> - Emitted when the screen resolution (fullscreen) or window size (windowed) changes. - </description> - </signal> <signal name="server_disconnected"> <description> Emitted whenever this [SceneTree]'s [member network_peer] disconnected from server. Only emitted on clients. @@ -418,29 +372,5 @@ <constant name="GROUP_CALL_UNIQUE" value="4" enum="GroupCallFlags"> Call a group only once even if the call is executed many times. </constant> - <constant name="STRETCH_MODE_DISABLED" value="0" enum="StretchMode"> - No stretching. - </constant> - <constant name="STRETCH_MODE_2D" value="1" enum="StretchMode"> - Render stretching in higher resolution (interpolated). - </constant> - <constant name="STRETCH_MODE_VIEWPORT" value="2" enum="StretchMode"> - Keep the specified display resolution. No interpolation. Content may appear pixelated. - </constant> - <constant name="STRETCH_ASPECT_IGNORE" value="0" enum="StretchAspect"> - Fill the window with the content stretched to cover excessive space. Content may appear stretched. - </constant> - <constant name="STRETCH_ASPECT_KEEP" value="1" enum="StretchAspect"> - Retain the same aspect ratio by padding with black bars on either axis. This prevents distortion. - </constant> - <constant name="STRETCH_ASPECT_KEEP_WIDTH" value="2" enum="StretchAspect"> - Expand vertically. Left/right black bars may appear if the window is too wide. - </constant> - <constant name="STRETCH_ASPECT_KEEP_HEIGHT" value="3" enum="StretchAspect"> - Expand horizontally. Top/bottom black bars may appear if the window is too tall. - </constant> - <constant name="STRETCH_ASPECT_EXPAND" value="4" enum="StretchAspect"> - Expand in both directions, retaining the same aspect ratio. This prevents distortion while avoiding black bars. - </constant> </constants> </class> diff --git a/doc/classes/Script.xml b/doc/classes/Script.xml index 0f07cb83f3..0d94453e52 100644 --- a/doc/classes/Script.xml +++ b/doc/classes/Script.xml @@ -26,7 +26,7 @@ </description> </method> <method name="get_instance_base_type" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <description> Returns the script's base type. @@ -35,39 +35,44 @@ <method name="get_property_default_value"> <return type="Variant"> </return> - <argument index="0" name="property" type="String"> + <argument index="0" name="property" type="StringName"> </argument> <description> + Returns the default value of the specified property. </description> </method> <method name="get_script_constant_map"> <return type="Dictionary"> </return> <description> + Returns a dictionary containing constant names and their values. </description> </method> <method name="get_script_method_list"> <return type="Array"> </return> <description> + Returns the list of methods in this [Script]. </description> </method> <method name="get_script_property_list"> <return type="Array"> </return> <description> + Returns the list of properties in this [Script]. </description> </method> <method name="get_script_signal_list"> <return type="Array"> </return> <description> + Returns the list of user signals defined in this [Script]. </description> </method> <method name="has_script_signal" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="signal_name" type="String"> + <argument index="0" name="signal_name" type="StringName"> </argument> <description> Returns [code]true[/code] if the script, or a base class, defines a signal with the given name. diff --git a/doc/classes/ScriptCreateDialog.xml b/doc/classes/ScriptCreateDialog.xml index 9f16a6ed46..aa60ecb12b 100644 --- a/doc/classes/ScriptCreateDialog.xml +++ b/doc/classes/ScriptCreateDialog.xml @@ -4,7 +4,7 @@ The Editor's popup dialog for creating new [Script] files. </brief_description> <description> - The [ScriptCreateDialog] creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the [method Popup.popup] methods. + The [ScriptCreateDialog] creates script files according to a given template for a given scripting language. The standard use is to configure its fields prior to calling one of the [method Window.popup] methods. [codeblock] func _ready(): dialog.config("Node", "res://new_node.gd") # For in-engine types @@ -33,10 +33,7 @@ </methods> <members> <member name="dialog_hide_on_ok" type="bool" setter="set_hide_on_ok" getter="get_hide_on_ok" override="true" default="false" /> - <member name="margin_bottom" type="float" setter="set_margin" getter="get_margin" override="true" default="232.0" /> - <member name="margin_right" type="float" setter="set_margin" getter="get_margin" override="true" default="361.0" /> - <member name="rect_size" type="Vector2" setter="_set_size" getter="get_size" override="true" default="Vector2( 361, 232 )" /> - <member name="window_title" type="String" setter="set_title" getter="get_title" override="true" default=""Attach Node Script"" /> + <member name="title" type="String" setter="set_title" getter="get_title" override="true" default=""Attach Node Script"" /> </members> <signals> <signal name="script_created"> diff --git a/doc/classes/ScriptEditor.xml b/doc/classes/ScriptEditor.xml index ed401d6853..f0ad781f77 100644 --- a/doc/classes/ScriptEditor.xml +++ b/doc/classes/ScriptEditor.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="ScriptEditor" inherits="PanelContainer" version="4.0"> <brief_description> + Godot editor's script editor. </brief_description> <description> + [b]Note:[/b] This class shouldn't be instantiated directly. Instead, access the singleton using [method EditorInterface.get_script_editor]. </description> <tutorials> </tutorials> diff --git a/doc/classes/ScrollContainer.xml b/doc/classes/ScrollContainer.xml index 0b113bebe5..9c5634f43a 100644 --- a/doc/classes/ScrollContainer.xml +++ b/doc/classes/ScrollContainer.xml @@ -4,7 +4,9 @@ A helper node for displaying scrollable elements such as lists. </brief_description> <description> - A ScrollContainer node meant to contain a [Control] child. ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.rect_min_size] of the Control relative to the ScrollContainer. Works great with a [Panel] control. You can set [code]EXPAND[/code] on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension). + A ScrollContainer node meant to contain a [Control] child. + ScrollContainers will automatically create a scrollbar child ([HScrollBar], [VScrollBar], or both) when needed and will only draw the Control within the ScrollContainer area. Scrollbars will automatically be drawn at the right (for vertical) or bottom (for horizontal) and will enable dragging to move the viewable Control (and its children) within the ScrollContainer. Scrollbars will also automatically resize the grabber based on the [member Control.rect_min_size] of the Control relative to the ScrollContainer. + Works great with a [Panel] control. You can set [code]EXPAND[/code] on the children's size flags, so they will upscale to the ScrollContainer's size if it's larger (scroll is invisible for the chosen dimension). </description> <tutorials> </tutorials> diff --git a/doc/classes/Semaphore.xml b/doc/classes/Semaphore.xml index eca98fb10e..c9745acfcd 100644 --- a/doc/classes/Semaphore.xml +++ b/doc/classes/Semaphore.xml @@ -11,17 +11,24 @@ </tutorials> <methods> <method name="post"> + <return type="void"> + </return> + <description> + Lowers the [Semaphore], allowing one more thread in. + </description> + </method> + <method name="try_wait"> <return type="int" enum="Error"> </return> <description> - Lowers the [Semaphore], allowing one more thread in. Returns [constant OK] on success, [constant ERR_BUSY] otherwise. + Like [method wait], but won't block, so if the value is zero, fails immediately and returns [constant ERR_BUSY]. If non-zero, it returns [constant OK] to report success. </description> </method> <method name="wait"> - <return type="int" enum="Error"> + <return type="void"> </return> <description> - Tries to wait for the [Semaphore], if its value is zero, blocks until non-zero. Returns [constant OK] on success, [constant ERR_BUSY] otherwise. + Waits for the [Semaphore], if its value is zero, blocks until non-zero. </description> </method> </methods> diff --git a/doc/classes/Shader.xml b/doc/classes/Shader.xml index a2fbf5a1b1..109c500a63 100644 --- a/doc/classes/Shader.xml +++ b/doc/classes/Shader.xml @@ -14,7 +14,7 @@ <method name="get_default_texture_param" qualifiers="const"> <return type="Texture2D"> </return> - <argument index="0" name="param" type="String"> + <argument index="0" name="param" type="StringName"> </argument> <description> Returns the texture that is set as default for the specified parameter. @@ -31,7 +31,7 @@ <method name="has_param" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> <description> Returns [code]true[/code] if the shader has this param defined as a uniform in its code. @@ -41,7 +41,7 @@ <method name="set_default_texture_param"> <return type="void"> </return> - <argument index="0" name="param" type="String"> + <argument index="0" name="param" type="StringName"> </argument> <argument index="1" name="texture" type="Texture2D"> </argument> @@ -66,5 +66,8 @@ <constant name="MODE_PARTICLES" value="2" enum="Mode"> Mode used to calculate particle information on a per-particle basis. Not used for drawing. </constant> + <constant name="MODE_SKY" value="3" enum="Mode"> + Mode used for drawing skies. Only works with shaders attached to [Sky] objects. + </constant> </constants> </class> diff --git a/doc/classes/ResourceFormatSaverCrypto.xml b/doc/classes/ShaderGlobalsOverride.xml index 31db8ff4f5..2aa00aa5a9 100644 --- a/doc/classes/ResourceFormatSaverCrypto.xml +++ b/doc/classes/ShaderGlobalsOverride.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ResourceFormatSaverCrypto" inherits="ResourceFormatSaver" version="4.0"> +<class name="ShaderGlobalsOverride" inherits="Node" version="4.0"> <brief_description> </brief_description> <description> diff --git a/doc/classes/ShaderMaterial.xml b/doc/classes/ShaderMaterial.xml index adb30c14d1..7e0e1ce831 100644 --- a/doc/classes/ShaderMaterial.xml +++ b/doc/classes/ShaderMaterial.xml @@ -13,7 +13,7 @@ <method name="get_shader_param" qualifiers="const"> <return type="Variant"> </return> - <argument index="0" name="param" type="String"> + <argument index="0" name="param" type="StringName"> </argument> <description> Returns the current value set for this material of a uniform in the shader. @@ -40,7 +40,7 @@ <method name="set_shader_param"> <return type="void"> </return> - <argument index="0" name="param" type="String"> + <argument index="0" name="param" type="StringName"> </argument> <argument index="1" name="value" type="Variant"> </argument> diff --git a/doc/classes/Shape.xml b/doc/classes/Shape3D.xml index d70d2c09b3..1af6550dc5 100644 --- a/doc/classes/Shape.xml +++ b/doc/classes/Shape3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Shape" inherits="Resource" version="4.0"> +<class name="Shape3D" inherits="Resource" version="4.0"> <brief_description> Base class for all 3D shape resources. </brief_description> <description> - Base class for all 3D shape resources. Nodes that inherit from this can be used as shapes for a [PhysicsBody] or [Area] objects. + Base class for all 3D shape resources. Nodes that inherit from this can be used as shapes for a [PhysicsBody3D] or [Area3D] objects. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/physics_introduction.html</link> diff --git a/doc/classes/Signal.xml b/doc/classes/Signal.xml new file mode 100644 index 0000000000..1a05c02b60 --- /dev/null +++ b/doc/classes/Signal.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Signal" version="4.0"> + <brief_description> + Class representing a signal defined in an object. + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="Signal"> + <return type="Signal"> + </return> + <argument index="0" name="object" type="Object"> + </argument> + <argument index="1" name="signal_name" type="StringName"> + </argument> + <description> + Creates a new signal named [code]signal_name[/code] in the given object. + </description> + </method> + <method name="connect"> + <return type="int"> + </return> + <argument index="0" name="callable" type="Callable"> + </argument> + <argument index="1" name="binds" type="Array" default="[ ]"> + </argument> + <argument index="2" name="flags" type="int" default="0"> + </argument> + <description> + Connects this signal to the specified [Callable], optionally providing binds and connection flags. + </description> + </method> + <method name="disconnect"> + <return type="Variant"> + </return> + <argument index="0" name="callable" type="Callable"> + </argument> + <description> + Disconnects this signal from the specified [Callable]. + </description> + </method> + <method name="emit" qualifiers="vararg"> + <return type="void"> + </return> + <description> + Emits this signal to all connected objects. + </description> + </method> + <method name="get_connections"> + <return type="Array"> + </return> + <description> + Returns the list of [Callable]s connected to this signal. + </description> + </method> + <method name="get_name"> + <return type="StringName"> + </return> + <description> + Returns the name of this signal. + </description> + </method> + <method name="get_object"> + <return type="Object"> + </return> + <description> + Returns the object emitting this signal. + </description> + </method> + <method name="get_object_id"> + <return type="int"> + </return> + <description> + Returns the ID of the object emitting this signal (see [method Object.get_instance_id]). + </description> + </method> + <method name="is_connected"> + <return type="bool"> + </return> + <argument index="0" name="callable" type="Callable"> + </argument> + <description> + Returns [code]true[/code] if the specified [Callable] is connected to this signal. + </description> + </method> + <method name="is_null"> + <return type="bool"> + </return> + <description> + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/Skeleton.xml b/doc/classes/Skeleton3D.xml index eaab4063b8..4460b519fc 100644 --- a/doc/classes/Skeleton.xml +++ b/doc/classes/Skeleton3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Skeleton" inherits="Spatial" version="4.0"> +<class name="Skeleton3D" inherits="Node3D" version="4.0"> <brief_description> Skeleton for characters and animated objects. </brief_description> <description> - Skeleton provides a hierarchical interface for managing bones, including pose, rest and animation (see [Animation]). It can also use ragdoll physics. + Skeleton3D provides a hierarchical interface for managing bones, including pose, rest and animation (see [Animation]). It can also use ragdoll physics. The overall transform of a bone with respect to the skeleton is determined by the following hierarchical order: rest pose, custom pose and pose. Note that "global pose" below refers to the overall transform of the bone with respect to skeleton, so it not the actual global/world transform of the bone. </description> @@ -38,6 +38,12 @@ Clear all the bones in this skeleton. </description> </method> + <method name="clear_bones_global_pose_override"> + <return type="void"> + </return> + <description> + </description> + </method> <method name="find_bone" qualifiers="const"> <return type="int"> </return> @@ -151,7 +157,7 @@ <method name="physical_bones_start_simulation"> <return type="void"> </return> - <argument index="0" name="bones" type="Array" default="[ ]"> + <argument index="0" name="bones" type="StringName[]" default="[ ]"> </argument> <description> </description> diff --git a/doc/classes/SkeletonIK.xml b/doc/classes/SkeletonIK3D.xml index 0f07031708..de83847403 100644 --- a/doc/classes/SkeletonIK.xml +++ b/doc/classes/SkeletonIK3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SkeletonIK" inherits="Node" version="4.0"> +<class name="SkeletonIK3D" inherits="Node" version="4.0"> <brief_description> </brief_description> <description> @@ -8,7 +8,7 @@ </tutorials> <methods> <method name="get_parent_skeleton" qualifiers="const"> - <return type="Skeleton"> + <return type="Skeleton3D"> </return> <description> </description> @@ -45,13 +45,13 @@ </member> <member name="override_tip_basis" type="bool" setter="set_override_tip_basis" getter="is_override_tip_basis" default="true"> </member> - <member name="root_bone" type="String" setter="set_root_bone" getter="get_root_bone" default=""""> + <member name="root_bone" type="StringName" setter="set_root_bone" getter="get_root_bone" default="@"""> </member> <member name="target" type="Transform" setter="set_target_transform" getter="get_target_transform" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )"> </member> <member name="target_node" type="NodePath" setter="set_target_node" getter="get_target_node" default="NodePath("")"> </member> - <member name="tip_bone" type="String" setter="set_tip_bone" getter="get_tip_bone" default=""""> + <member name="tip_bone" type="StringName" setter="set_tip_bone" getter="get_tip_bone" default="@"""> </member> <member name="use_magnet" type="bool" setter="set_use_magnet" getter="is_using_magnet" default="false"> </member> diff --git a/doc/classes/Skin.xml b/doc/classes/Skin.xml index b65d9d8f98..e22feb42f0 100644 --- a/doc/classes/Skin.xml +++ b/doc/classes/Skin.xml @@ -37,6 +37,14 @@ <description> </description> </method> + <method name="get_bind_name" qualifiers="const"> + <return type="StringName"> + </return> + <argument index="0" name="bind_index" type="int"> + </argument> + <description> + </description> + </method> <method name="get_bind_pose" qualifiers="const"> <return type="Transform"> </return> @@ -63,6 +71,16 @@ <description> </description> </method> + <method name="set_bind_name"> + <return type="void"> + </return> + <argument index="0" name="bind_index" type="int"> + </argument> + <argument index="1" name="name" type="StringName"> + </argument> + <description> + </description> + </method> <method name="set_bind_pose"> <return type="void"> </return> diff --git a/doc/classes/Sky.xml b/doc/classes/Sky.xml index 72599a323d..78c75d9c2b 100644 --- a/doc/classes/Sky.xml +++ b/doc/classes/Sky.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Sky" inherits="Resource" version="4.0"> <brief_description> - The base class for [PanoramaSky] and [ProceduralSky]. + Background that uses a [Material] to draw a sky. </brief_description> <description> - The base class for [PanoramaSky] and [ProceduralSky]. + The [Sky] class uses a [Material] to draw the background and update the reflection/radiance cubemaps. </description> <tutorials> </tutorials> @@ -12,12 +12,16 @@ </methods> <members> <member name="process_mode" type="int" setter="set_process_mode" getter="get_process_mode" enum="Sky.ProcessMode" default="0"> + Sets the method for generating the radiance map from the sky. The radiance map is a cubemap with increasingly blurry versions of the sky corresponding to different levels of roughness. Radiance maps can be expensive to calculate. See [enum ProcessMode] for options. </member> - <member name="radiance_size" type="int" setter="set_radiance_size" getter="get_radiance_size" enum="Sky.RadianceSize" default="2"> + <member name="radiance_size" type="int" setter="set_radiance_size" getter="get_radiance_size" enum="Sky.RadianceSize" default="3"> The [Sky]'s radiance map size. The higher the radiance map size, the more detailed the lighting from the [Sky] will be. See [enum RadianceSize] constants for values. [b]Note:[/b] Some hardware will have trouble with higher radiance sizes, especially [constant RADIANCE_SIZE_512] and above. Only use such high values on high-end hardware. </member> + <member name="sky_material" type="Material" setter="set_material" getter="get_material"> + [Material] used to draw the background. Can be [PanoramaSkyMaterial], [ProceduralSkyMaterial], [PhysicalSkyMaterial], or even a [ShaderMaterial] if you want to use your own custom shader. + </member> </members> <constants> <constant name="RADIANCE_SIZE_32" value="0" enum="RadianceSize"> @@ -45,8 +49,11 @@ Represents the size of the [enum RadianceSize] enum. </constant> <constant name="PROCESS_MODE_QUALITY" value="0" enum="ProcessMode"> + Uses high quality importance sampling to process the radiance map. In general, this results in much higher quality than [constant PROCESS_MODE_REALTIME] but takes much longer to generate. This should not be used if you plan on changing the sky at runtime. If you are finding that the reflection is not blurry enough and is showing sparkles or fireflies, try increasing [member ProjectSettings.rendering/quality/reflections/ggx_samples]. </constant> <constant name="PROCESS_MODE_REALTIME" value="1" enum="ProcessMode"> + Uses the fast filtering algorithm to process the radiance map. In general this results in lower quality, but substantially faster run times. + [b]Note:[/b] The fast filtering algorithm is limited to 256x256 cubemaps, so [member radiance_size] must be set to [constant RADIANCE_SIZE_256]. </constant> </constants> </class> diff --git a/doc/classes/SliderJoint.xml b/doc/classes/SliderJoint3D.xml index dc0cf96eb4..efd6353e3c 100644 --- a/doc/classes/SliderJoint.xml +++ b/doc/classes/SliderJoint3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SliderJoint" inherits="Joint" version="4.0"> +<class name="SliderJoint3D" inherits="Joint3D" version="4.0"> <brief_description> Piston kind of slider between two bodies in 3D. </brief_description> @@ -12,7 +12,7 @@ <method name="get_param" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="param" type="int" enum="SliderJoint.Param"> + <argument index="0" name="param" type="int" enum="SliderJoint3D.Param"> </argument> <description> </description> @@ -20,7 +20,7 @@ <method name="set_param"> <return type="void"> </return> - <argument index="0" name="param" type="int" enum="SliderJoint.Param"> + <argument index="0" name="param" type="int" enum="SliderJoint3D.Param"> </argument> <argument index="1" name="value" type="float"> </argument> diff --git a/doc/classes/SoftBody.xml b/doc/classes/SoftBody3D.xml index 46a00fbd67..24d6609900 100644 --- a/doc/classes/SoftBody.xml +++ b/doc/classes/SoftBody3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SoftBody" inherits="MeshInstance" version="4.0"> +<class name="SoftBody3D" inherits="MeshInstance3D" version="4.0"> <brief_description> A soft mesh physics body. </brief_description> @@ -80,12 +80,12 @@ <member name="areaAngular_stiffness" type="float" setter="set_areaAngular_stiffness" getter="get_areaAngular_stiffness" default="0.5"> </member> <member name="collision_layer" type="int" setter="set_collision_layer" getter="get_collision_layer" default="1"> - The physics layers this SoftBody is in. + The physics layers this SoftBody3D is in. Collidable objects can exist in any of 32 different layers. These layers work like a tagging system, and are not visual. A collidable can use these layers to select with which objects it can collide, using the collision_mask property. A contact is detected if object A is in any of the layers that object B scans, or object B is in any layer scanned by object A. </member> <member name="collision_mask" type="int" setter="set_collision_mask" getter="get_collision_mask" default="1"> - The physics layers this SoftBody scans for collisions. + The physics layers this SoftBody3D scans for collisions. </member> <member name="damping_coefficient" type="float" setter="set_damping_coefficient" getter="get_damping_coefficient" default="0.01"> </member> @@ -94,20 +94,20 @@ <member name="linear_stiffness" type="float" setter="set_linear_stiffness" getter="get_linear_stiffness" default="0.5"> </member> <member name="parent_collision_ignore" type="NodePath" setter="set_parent_collision_ignore" getter="get_parent_collision_ignore" default="NodePath("")"> - [NodePath] to a [CollisionObject] this SoftBody should avoid clipping. + [NodePath] to a [CollisionObject3D] this SoftBody3D should avoid clipping. </member> <member name="pose_matching_coefficient" type="float" setter="set_pose_matching_coefficient" getter="get_pose_matching_coefficient" default="0.0"> </member> <member name="pressure_coefficient" type="float" setter="set_pressure_coefficient" getter="get_pressure_coefficient" default="0.0"> </member> <member name="ray_pickable" type="bool" setter="set_ray_pickable" getter="is_ray_pickable" default="true"> - If [code]true[/code], the [SoftBody] will respond to [RayCast]s. + If [code]true[/code], the [SoftBody3D] will respond to [RayCast3D]s. </member> <member name="simulation_precision" type="int" setter="set_simulation_precision" getter="get_simulation_precision" default="5"> Increasing this value will improve the resulting simulation, but can affect performance. Use with care. </member> <member name="total_mass" type="float" setter="set_total_mass" getter="get_total_mass" default="1.0"> - The SoftBody's mass. + The SoftBody3D's mass. </member> <member name="volume_stiffness" type="float" setter="set_volume_stiffness" getter="get_volume_stiffness" default="0.5"> </member> diff --git a/doc/classes/SphereShape.xml b/doc/classes/SphereShape3D.xml index 75dab58c38..1eaf890639 100644 --- a/doc/classes/SphereShape.xml +++ b/doc/classes/SphereShape3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SphereShape" inherits="Shape" version="4.0"> +<class name="SphereShape3D" inherits="Shape3D" version="4.0"> <brief_description> Sphere shape for 3D collisions. </brief_description> <description> - Sphere shape for 3D collisions, which can be set into a [PhysicsBody] or [Area]. This shape is useful for modeling sphere-like 3D objects. + Sphere shape for 3D collisions, which can be set into a [PhysicsBody3D] or [Area3D]. This shape is useful for modeling sphere-like 3D objects. </description> <tutorials> </tutorials> diff --git a/doc/classes/SpotLight.xml b/doc/classes/SpotLight3D.xml index 351d4f8aff..f094818c21 100644 --- a/doc/classes/SpotLight.xml +++ b/doc/classes/SpotLight3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpotLight" inherits="Light" version="4.0"> +<class name="SpotLight3D" inherits="Light3D" version="4.0"> <brief_description> A spotlight, such as a reflector spotlight or a lantern. </brief_description> <description> - A Spotlight is a type of [Light] node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance. This attenuation can be configured by changing the energy, radius and attenuation parameters of [Light]. + A Spotlight is a type of [Light3D] node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance. This attenuation can be configured by changing the energy, radius and attenuation parameters of [Light3D]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/3d/lights_and_shadows.html</link> diff --git a/doc/classes/SpringArm.xml b/doc/classes/SpringArm3D.xml index f426cfc352..8305494c2b 100644 --- a/doc/classes/SpringArm.xml +++ b/doc/classes/SpringArm3D.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpringArm" inherits="Spatial" version="4.0"> +<class name="SpringArm3D" inherits="Node3D" version="4.0"> <brief_description> A helper node, mostly used in 3rd person cameras. </brief_description> <description> - The SpringArm node is a node that casts a ray (or collision shape) along its z axis and moves all its direct children to the collision point, minus a margin. + The SpringArm3D node is a node that casts a ray (or collision shape) along its z axis and moves all its direct children to the collision point, minus a margin. The most common use case for this is to make a 3rd person camera that reacts to collisions in the environment. - The SpringArm will either cast a ray, or if a shape is given, it will cast the shape in the direction of its z axis. - If you use the SpringArm as a camera controller for your player, you might need to exclude the player's collider from the SpringArm's collision check. + The SpringArm3D will either cast a ray, or if a shape is given, it will cast the shape in the direction of its z axis. + If you use the SpringArm3D as a camera controller for your player, you might need to exclude the player's collider from the SpringArm3D's collision check. </description> <tutorials> </tutorials> @@ -18,14 +18,14 @@ <argument index="0" name="RID" type="RID"> </argument> <description> - Adds the object with the given [RID] to the list of objects excluded from the collision check. + Adds the [PhysicsBody3D] object with the given [RID] to the list of [PhysicsBody3D] objects excluded from the collision check. </description> </method> <method name="clear_excluded_objects"> <return type="void"> </return> <description> - Clears the list of objects excluded from the collision check. + Clears the list of [PhysicsBody3D] objects excluded from the collision check. </description> </method> <method name="get_hit_length"> @@ -41,7 +41,7 @@ <argument index="0" name="RID" type="RID"> </argument> <description> - Removes the given [RID] from the list of objects excluded from the collision check. + Removes the given [RID] from the list of [PhysicsBody3D] objects excluded from the collision check. </description> </method> </methods> @@ -50,17 +50,17 @@ The layers against which the collision check shall be done. </member> <member name="margin" type="float" setter="set_margin" getter="get_margin" default="0.01"> - When the collision check is made, a candidate length for the SpringArm is given. - The margin is then subtracted to this length and the translation is applied to the child objects of the SpringArm. - This margin is useful for when the SpringArm has a [Camera] as a child node: without the margin, the [Camera] would be placed on the exact point of collision, while with the margin the [Camera] would be placed close to the point of collision. + When the collision check is made, a candidate length for the SpringArm3D is given. + The margin is then subtracted to this length and the translation is applied to the child objects of the SpringArm3D. + This margin is useful for when the SpringArm3D has a [Camera3D] as a child node: without the margin, the [Camera3D] would be placed on the exact point of collision, while with the margin the [Camera3D] would be placed close to the point of collision. </member> - <member name="shape" type="Shape" setter="set_shape" getter="get_shape"> - The [Shape] to use for the SpringArm. - When the shape is set, the SpringArm will cast the [Shape] on its z axis instead of performing a ray cast. + <member name="shape" type="Shape3D" setter="set_shape" getter="get_shape"> + The [Shape3D] to use for the SpringArm3D. + When the shape is set, the SpringArm3D will cast the [Shape3D] on its z axis instead of performing a ray cast. </member> <member name="spring_length" type="float" setter="set_length" getter="get_length" default="1.0"> - The maximum extent of the SpringArm. This is used as a length for both the ray and the shape cast used internally to calculate the desired position of the SpringArm's child nodes. - To know more about how to perform a shape cast or a ray cast, please consult the [PhysicsDirectSpaceState] documentation. + The maximum extent of the SpringArm3D. This is used as a length for both the ray and the shape cast used internally to calculate the desired position of the SpringArm3D's child nodes. + To know more about how to perform a shape cast or a ray cast, please consult the [PhysicsDirectSpaceState3D] documentation. </member> </members> <constants> diff --git a/doc/classes/Sprite.xml b/doc/classes/Sprite2D.xml index 89cdae1dff..950fda4e20 100644 --- a/doc/classes/Sprite.xml +++ b/doc/classes/Sprite2D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="Sprite" inherits="Node2D" version="4.0"> +<class name="Sprite2D" inherits="Node2D" version="4.0"> <brief_description> General-purpose sprite node. </brief_description> @@ -13,7 +13,7 @@ <return type="Rect2"> </return> <description> - Returns a [Rect2] representing the Sprite's boundary in local coordinates. Can be used to detect if the Sprite was clicked. Example: + Returns a [Rect2] representing the Sprite2D's boundary in local coordinates. Can be used to detect if the Sprite2D was clicked. Example: [codeblock] func _input(event): if event is InputEventMouseButton and event.pressed and event.button_index == BUTTON_LEFT: @@ -53,7 +53,7 @@ The number of columns in the sprite sheet. </member> <member name="normal_map" type="Texture2D" setter="set_normal_map" getter="get_normal_map"> - The normal map gives depth to the Sprite. + The normal map gives depth to the Sprite2D. </member> <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2( 0, 0 )"> The texture's drawing offset. @@ -68,10 +68,13 @@ The region of the atlas texture to display. [member region_enabled] must be [code]true[/code]. </member> <member name="shininess" type="float" setter="set_shininess" getter="get_shininess" default="1.0"> + Strength of the specular light effect of this [Sprite2D]. </member> <member name="specular_color" type="Color" setter="set_specular_color" getter="get_specular_color" default="Color( 1, 1, 1, 1 )"> + The color of the specular light effect. </member> <member name="specular_map" type="Texture2D" setter="set_specular_map" getter="get_specular_map"> + The specular map is used for more control on the shininess effect. </member> <member name="texture" type="Texture2D" setter="set_texture" getter="get_texture"> [Texture2D] object to draw. diff --git a/doc/classes/Sprite3D.xml b/doc/classes/Sprite3D.xml index 4c12399761..f59d5130c9 100644 --- a/doc/classes/Sprite3D.xml +++ b/doc/classes/Sprite3D.xml @@ -5,6 +5,7 @@ </brief_description> <description> A node that displays a 2D texture in a 3D environment. The texture displayed can be a region from a larger atlas texture, or a frame from a sprite sheet animation. + [b]Note:[/b] There are [url=https://github.com/godotengine/godot/issues/20855]known performance issues[/url] when using [Sprite3D]. Consider using a [MeshInstance3D] with a [QuadMesh] as the mesh instead. You can still have billboarding by enabling billboard properties in the QuadMesh's [StandardMaterial3D]. </description> <tutorials> </tutorials> diff --git a/doc/classes/SpriteBase3D.xml b/doc/classes/SpriteBase3D.xml index aaea4178fb..479dc5f94c 100644 --- a/doc/classes/SpriteBase3D.xml +++ b/doc/classes/SpriteBase3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpriteBase3D" inherits="GeometryInstance" version="4.0"> +<class name="SpriteBase3D" inherits="GeometryInstance3D" version="4.0"> <brief_description> 2D sprite node in 3D environment. </brief_description> @@ -21,12 +21,14 @@ <argument index="0" name="flag" type="int" enum="SpriteBase3D.DrawFlags"> </argument> <description> + Returns the value of the specified flag. </description> </method> <method name="get_item_rect" qualifiers="const"> <return type="Rect2"> </return> <description> + Returns the rectangle representing this sprite. </description> </method> <method name="set_draw_flag"> @@ -37,6 +39,7 @@ <argument index="1" name="enabled" type="bool"> </argument> <description> + If [code]true[/code], the specified flag will be enabled. </description> </method> </methods> @@ -73,7 +76,7 @@ The size of one pixel's width on the sprite to scale it in 3D. </member> <member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false"> - If [code]true[/code], the [Light] in the [Environment] has effects on the sprite. + If [code]true[/code], the [Light3D] in the [Environment] has effects on the sprite. </member> <member name="transparent" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true"> If [code]true[/code], the texture's transparency and the opacity are used to make those parts of the sprite invisible. diff --git a/doc/classes/SpriteFrames.xml b/doc/classes/SpriteFrames.xml index a4f24f0603..6e1e1688f4 100644 --- a/doc/classes/SpriteFrames.xml +++ b/doc/classes/SpriteFrames.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="SpriteFrames" inherits="Resource" version="4.0"> <brief_description> - Sprite frame library for AnimatedSprite. + Sprite frame library for AnimatedSprite2D. </brief_description> <description> - Sprite frame library for [AnimatedSprite]. Contains frames and animation data for playback. + Sprite frame library for [AnimatedSprite2D]. Contains frames and animation data for playback. </description> <tutorials> </tutorials> @@ -12,7 +12,7 @@ <method name="add_animation"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <description> Adds a new animation to the library. @@ -21,7 +21,7 @@ <method name="add_frame"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <argument index="1" name="frame" type="Texture2D"> </argument> @@ -34,7 +34,7 @@ <method name="clear"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <description> Removes all frames from the given animation. @@ -50,7 +50,7 @@ <method name="get_animation_loop" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <description> If [code]true[/code], the given animation will loop. @@ -66,7 +66,7 @@ <method name="get_animation_speed" qualifiers="const"> <return type="float"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <description> The animation's speed in frames per second. @@ -75,7 +75,7 @@ <method name="get_frame" qualifiers="const"> <return type="Texture2D"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <argument index="1" name="idx" type="int"> </argument> @@ -86,7 +86,7 @@ <method name="get_frame_count" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <description> Returns the number of frames in the animation. @@ -95,7 +95,7 @@ <method name="has_animation" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <description> If [code]true[/code], the named animation exists. @@ -104,7 +104,7 @@ <method name="remove_animation"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <description> Removes the given animation. @@ -113,7 +113,7 @@ <method name="remove_frame"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <argument index="1" name="idx" type="int"> </argument> @@ -124,9 +124,9 @@ <method name="rename_animation"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> - <argument index="1" name="newname" type="String"> + <argument index="1" name="newname" type="StringName"> </argument> <description> Changes the animation's name to [code]newname[/code]. @@ -135,7 +135,7 @@ <method name="set_animation_loop"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <argument index="1" name="loop" type="bool"> </argument> @@ -146,7 +146,7 @@ <method name="set_animation_speed"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <argument index="1" name="speed" type="float"> </argument> @@ -157,7 +157,7 @@ <method name="set_frame"> <return type="void"> </return> - <argument index="0" name="anim" type="String"> + <argument index="0" name="anim" type="StringName"> </argument> <argument index="1" name="idx" type="int"> </argument> diff --git a/doc/classes/StaticBody.xml b/doc/classes/StaticBody3D.xml index 280b95d182..c896efc314 100644 --- a/doc/classes/StaticBody.xml +++ b/doc/classes/StaticBody3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="StaticBody" inherits="PhysicsBody" version="4.0"> +<class name="StaticBody3D" inherits="PhysicsBody3D" version="4.0"> <brief_description> Static body for 3D physics. </brief_description> <description> - Static body for 3D physics. A static body is a simple body that is not intended to move. In contrast to [RigidBody], they don't consume any CPU resources as long as they don't move. + Static body for 3D physics. A static body is a simple body that is not intended to move. In contrast to [RigidBody3D], they don't consume any CPU resources as long as they don't move. Additionally, a constant linear or angular velocity can be set for the static body, so even if it doesn't move, it affects other bodies as if it was moving (this is useful for simulating conveyor belts or conveyor wheels). </description> <tutorials> diff --git a/doc/classes/StreamPeerSSL.xml b/doc/classes/StreamPeerSSL.xml index 738d623d02..69e8f67a5e 100644 --- a/doc/classes/StreamPeerSSL.xml +++ b/doc/classes/StreamPeerSSL.xml @@ -72,11 +72,13 @@ A status representing a [StreamPeerSSL] that is disconnected. </constant> <constant name="STATUS_HANDSHAKING" value="1" enum="Status"> + A status representing a [StreamPeerSSL] during handshaking. </constant> <constant name="STATUS_CONNECTED" value="2" enum="Status"> A status representing a [StreamPeerSSL] that is connected to a host. </constant> <constant name="STATUS_ERROR" value="3" enum="Status"> + A status representing a [StreamPeerSSL] in error state. </constant> <constant name="STATUS_ERROR_HOSTNAME_MISMATCH" value="4" enum="Status"> An error status that shows a mismatch in the SSL certificate domain presented by the host and the domain requested for validation. diff --git a/doc/classes/StreamTexture.xml b/doc/classes/StreamTexture.xml index a2d26d3d14..03afcb5b0d 100644 --- a/doc/classes/StreamTexture.xml +++ b/doc/classes/StreamTexture.xml @@ -15,6 +15,7 @@ <argument index="0" name="path" type="String"> </argument> <description> + Loads the texture from the given path. </description> </method> </methods> diff --git a/doc/classes/String.xml b/doc/classes/String.xml index fdf4e780de..a72b8f05d8 100644 --- a/doc/classes/String.xml +++ b/doc/classes/String.xml @@ -49,6 +49,15 @@ <method name="String"> <return type="String"> </return> + <argument index="0" name="from" type="Vector2i"> + </argument> + <description> + Constructs a new String from the given [Vector2i]. + </description> + </method> + <method name="String"> + <return type="String"> + </return> <argument index="0" name="from" type="Rect2"> </argument> <description> @@ -58,6 +67,15 @@ <method name="String"> <return type="String"> </return> + <argument index="0" name="from" type="Rect2i"> + </argument> + <description> + Constructs a new String from the given [Rect2i]. + </description> + </method> + <method name="String"> + <return type="String"> + </return> <argument index="0" name="from" type="Vector3"> </argument> <description> @@ -67,6 +85,15 @@ <method name="String"> <return type="String"> </return> + <argument index="0" name="from" type="Vector3i"> + </argument> + <description> + Constructs a new String from the given [Vector3i]. + </description> + </method> + <method name="String"> + <return type="String"> + </return> <argument index="0" name="from" type="Transform2D"> </argument> <description> @@ -130,6 +157,15 @@ <method name="String"> <return type="String"> </return> + <argument index="0" name="from" type="StringName"> + </argument> + <description> + Constructs a new String from the given [StringName]. + </description> + </method> + <method name="String"> + <return type="String"> + </return> <argument index="0" name="from" type="NodePath"> </argument> <description> @@ -148,6 +184,24 @@ <method name="String"> <return type="String"> </return> + <argument index="0" name="from" type="Callable"> + </argument> + <description> + Constructs a new String from the given [Callable]. + </description> + </method> + <method name="String"> + <return type="String"> + </return> + <argument index="0" name="from" type="Signal"> + </argument> + <description> + Constructs a new String from the given [Signal]. + </description> + </method> + <method name="String"> + <return type="String"> + </return> <argument index="0" name="from" type="Dictionary"> </argument> <description> @@ -175,19 +229,37 @@ <method name="String"> <return type="String"> </return> - <argument index="0" name="from" type="PackedIntArray"> + <argument index="0" name="from" type="PackedInt32Array"> + </argument> + <description> + Constructs a new String from the given [PackedInt32Array]. + </description> + </method> + <method name="String"> + <return type="String"> + </return> + <argument index="0" name="from" type="PackedInt64Array"> + </argument> + <description> + Constructs a new String from the given [PackedInt64Array]. + </description> + </method> + <method name="String"> + <return type="String"> + </return> + <argument index="0" name="from" type="PackedFloat32Array"> </argument> <description> - Constructs a new String from the given [PackedIntArray]. + Constructs a new String from the given [PackedFloat32Array]. </description> </method> <method name="String"> <return type="String"> </return> - <argument index="0" name="from" type="PackedRealArray"> + <argument index="0" name="from" type="PackedFloat64Array"> </argument> <description> - Constructs a new String from the given [PackedRealArray]. + Constructs a new String from the given [PackedFloat64Array]. </description> </method> <method name="String"> @@ -322,6 +394,8 @@ </description> </method> <method name="erase"> + <return type="void"> + </return> <argument index="0" name="position" type="int"> </argument> <argument index="1" name="chars" type="int"> @@ -366,7 +440,7 @@ </return> <argument index="0" name="values" type="Variant"> </argument> - <argument index="1" name="placeholder" type="String" default="{_}"> + <argument index="1" name="placeholder" type="String" default=""{_}""> </argument> <description> Formats the string by replacing all occurrences of [code]placeholder[/code] with [code]values[/code]. @@ -512,7 +586,7 @@ <method name="is_valid_hex_number"> <return type="bool"> </return> - <argument index="0" name="with_prefix" type="bool" default="False"> + <argument index="0" name="with_prefix" type="bool" default="false"> </argument> <description> Returns [code]true[/code] if this string contains a valid hexadecimal number. If [code]with_prefix[/code] is [code]true[/code], then a validity of the hexadecimal number is determined by [code]0x[/code] prefix, for instance: [code]0xDEADC0DE[/code]. @@ -736,7 +810,7 @@ </return> <argument index="0" name="delimiter" type="String"> </argument> - <argument index="1" name="allow_empty" type="bool" default="True"> + <argument index="1" name="allow_empty" type="bool" default="true"> </argument> <argument index="2" name="maxsplit" type="int" default="0"> </argument> @@ -805,7 +879,7 @@ </return> <argument index="0" name="delimiter" type="String"> </argument> - <argument index="1" name="allow_empty" type="bool" default="True"> + <argument index="1" name="allow_empty" type="bool" default="true"> </argument> <argument index="2" name="maxsplit" type="int" default="0"> </argument> @@ -823,11 +897,11 @@ </description> </method> <method name="split_floats"> - <return type="PackedRealArray"> + <return type="PackedFloat32Array"> </return> <argument index="0" name="delimiter" type="String"> </argument> - <argument index="1" name="allow_empty" type="bool" default="True"> + <argument index="1" name="allow_empty" type="bool" default="true"> </argument> <description> Splits the string in floats by using a delimiter string and returns an array of the substrings. @@ -837,9 +911,9 @@ <method name="strip_edges"> <return type="String"> </return> - <argument index="0" name="left" type="bool" default="True"> + <argument index="0" name="left" type="bool" default="true"> </argument> - <argument index="1" name="right" type="bool" default="True"> + <argument index="1" name="right" type="bool" default="true"> </argument> <description> Returns a copy of the string stripped of any non-printable character (including tabulations, spaces and line breaks) at the beginning and the end. The optional arguments are used to toggle stripping on the left and right edges respectively. diff --git a/doc/classes/StringName.xml b/doc/classes/StringName.xml new file mode 100644 index 0000000000..5d8ac6fdcc --- /dev/null +++ b/doc/classes/StringName.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="StringName" version="4.0"> + <brief_description> + An optimized string type for unique names. + </brief_description> + <description> + [StringName]s are immutable strings designed for general-purpose represention 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. + </description> + <tutorials> + </tutorials> + <methods> + <method name="StringName"> + <return type="StringName"> + </return> + <argument index="0" name="from" type="String"> + </argument> + <description> + Creates a new [StringName] from the given [String]. + </description> + </method> + </methods> + <constants> + </constants> +</class> diff --git a/doc/classes/SubViewport.xml b/doc/classes/SubViewport.xml new file mode 100644 index 0000000000..6014762e3d --- /dev/null +++ b/doc/classes/SubViewport.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="SubViewport" inherits="Viewport" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="render_target_clear_mode" type="int" setter="set_clear_mode" getter="get_clear_mode" enum="SubViewport.ClearMode" default="0"> + The clear mode when the sub-viewport is used as a render target. + </member> + <member name="render_target_update_mode" type="int" setter="set_update_mode" getter="get_update_mode" enum="SubViewport.UpdateMode" default="2"> + The update mode when the sub-viewport is used as a render target. + </member> + <member name="size" type="Vector2i" setter="set_size" getter="get_size" default="Vector2i( 0, 0 )"> + The width and height of the sub-viewport. + </member> + <member name="size_2d_override" type="Vector2i" setter="set_size_2d_override" getter="get_size_2d_override" default="Vector2i( 0, 0 )"> + The 2D size override of the sub-viewport. If either the width or height is [code]0[/code], the override is disabled. + </member> + <member name="size_2d_override_stretch" type="bool" setter="set_size_2d_override_stretch" getter="is_size_2d_override_stretch_enabled" default="false"> + If [code]true[/code], the 2D size override affects stretch as well. + </member> + <member name="xr" type="bool" setter="set_use_xr" getter="is_using_xr" default="false"> + If [code]true[/code], the sub-viewport will be used in AR/VR process. + </member> + </members> + <constants> + <constant name="CLEAR_MODE_ALWAYS" value="0" enum="ClearMode"> + Always clear the render target before drawing. + </constant> + <constant name="CLEAR_MODE_NEVER" value="1" enum="ClearMode"> + Never clear the render target. + </constant> + <constant name="CLEAR_MODE_ONLY_NEXT_FRAME" value="2" enum="ClearMode"> + Clear the render target next frame, then switch to [constant CLEAR_MODE_NEVER]. + </constant> + <constant name="UPDATE_DISABLED" value="0" enum="UpdateMode"> + Do not update the render target. + </constant> + <constant name="UPDATE_ONCE" value="1" enum="UpdateMode"> + Update the render target once, then switch to [constant UPDATE_DISABLED]. + </constant> + <constant name="UPDATE_WHEN_VISIBLE" value="2" enum="UpdateMode"> + Update the render target only when it is visible. This is the default value. + </constant> + <constant name="UPDATE_WHEN_PARENT_VISIBLE" value="3" enum="UpdateMode"> + Update the render target only when the its parent is visible. + </constant> + <constant name="UPDATE_ALWAYS" value="4" enum="UpdateMode"> + Always update the render target. + </constant> + </constants> +</class> diff --git a/doc/classes/SubViewportContainer.xml b/doc/classes/SubViewportContainer.xml new file mode 100644 index 0000000000..e6a0bd4866 --- /dev/null +++ b/doc/classes/SubViewportContainer.xml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="SubViewportContainer" inherits="Container" version="4.0"> + <brief_description> + Control for holding [SubViewport]s. + </brief_description> + <description> + A [Container] node that holds a [SubViewport], automatically setting its size. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="stretch" type="bool" setter="set_stretch" getter="is_stretch_enabled" default="false"> + If [code]true[/code], the sub-viewport will be scaled to the control's size. + </member> + <member name="stretch_shrink" type="int" setter="set_stretch_shrink" getter="get_stretch_shrink" default="1"> + Divides the sub-viewport's effective resolution by this value while preserving its scale. This can be used to speed up rendering. + For example, a 1280×720 sub-viewport with [member stretch_shrink] set to [code]2[/code] will be rendered at 640×360 while occupying the same size in the container. + [b]Note:[/b] [member stretch] must be [code]true[/code] for this property to work. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/SurfaceTool.xml b/doc/classes/SurfaceTool.xml index a265d16cd9..eeb6b6cd9d 100644 --- a/doc/classes/SurfaceTool.xml +++ b/doc/classes/SurfaceTool.xml @@ -15,6 +15,8 @@ The above [SurfaceTool] now contains one vertex of a triangle which has a UV coordinate and a specified [Color]. If another vertex were added without calling [method add_uv] or [method add_color], then the last values would be used. Vertex attributes must be passed [b]before[/b] calling [method add_vertex]. Failure to do so will result in an error when committing the vertex information to a mesh. Additionally, the attributes used before the first vertex is added determine the format of the mesh. For example, if you only add UVs to the first vertex, you cannot add color to any of the subsequent vertices. + See also [ArrayMesh], [ImmediateGeometry3D] and [MeshDataTool] for procedural geometry generation. + [b]Note:[/b] Godot uses clockwise [url=https://learnopengl.com/Advanced-OpenGL/Face-culling]winding order[/url] for front faces of triangle primitive modes. </description> <tutorials> </tutorials> @@ -22,7 +24,7 @@ <method name="add_bones"> <return type="void"> </return> - <argument index="0" name="bones" type="PackedIntArray"> + <argument index="0" name="bones" type="PackedInt32Array"> </argument> <description> Adds an array of bones for the next vertex to use. [code]bones[/code] must contain 4 integers. @@ -123,7 +125,7 @@ <method name="add_weights"> <return type="void"> </return> - <argument index="0" name="weights" type="PackedRealArray"> + <argument index="0" name="weights" type="PackedFloat32Array"> </argument> <description> Specifies weight values for next vertex to use. [code]weights[/code] must contain 4 values. diff --git a/doc/classes/TabContainer.xml b/doc/classes/TabContainer.xml index 73b5afe6a7..22e92ae5d9 100644 --- a/doc/classes/TabContainer.xml +++ b/doc/classes/TabContainer.xml @@ -36,10 +36,10 @@ <method name="get_tab_control" qualifiers="const"> <return type="Control"> </return> - <argument index="0" name="idx" type="int"> + <argument index="0" name="tab_idx" type="int"> </argument> <description> - Returns the currently visible tab's [Control] node. + Returns the [Control] node from the tab at index [code]tab_idx[/code]. </description> </method> <method name="get_tab_count" qualifiers="const"> @@ -187,42 +187,52 @@ </constants> <theme_items> <theme_item name="decrement" type="Texture2D"> + Icon for the left arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the first tab is visible), it appears semi-transparent. </theme_item> <theme_item name="decrement_highlight" type="Texture2D"> + Icon for the left arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor. </theme_item> <theme_item name="font" type="Font"> + The font used to draw tab names. </theme_item> <theme_item name="font_color_bg" type="Color" default="Color( 0.69, 0.69, 0.69, 1 )"> + Font color of inactive tabs. </theme_item> <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )"> + Font color of disabled tabs. </theme_item> <theme_item name="font_color_fg" type="Color" default="Color( 0.94, 0.94, 0.94, 1 )"> + Font color of the currently selected tab. </theme_item> <theme_item name="hseparation" type="int" default="4"> + Horizontal separation between tabs. </theme_item> <theme_item name="increment" type="Texture2D"> + Icon for the right arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the last tab is visible) it appears semi-transparent. </theme_item> <theme_item name="increment_highlight" type="Texture2D"> - </theme_item> - <theme_item name="label_valign_bg" type="int" default="2"> - </theme_item> - <theme_item name="label_valign_fg" type="int" default="0"> + Icon for the right arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor. </theme_item> <theme_item name="menu" type="Texture2D"> + The icon for the menu button (see [method set_popup]). </theme_item> <theme_item name="menu_highlight" type="Texture2D"> + The icon for the menu button (see [method set_popup]) when it's being hovered with the cursor. </theme_item> <theme_item name="panel" type="StyleBox"> + The style for the background fill. </theme_item> <theme_item name="side_margin" type="int" default="8"> + The space at the left and right edges of the tab bar. </theme_item> <theme_item name="tab_bg" type="StyleBox"> + The style of inactive tabs. </theme_item> <theme_item name="tab_disabled" type="StyleBox"> + The style of disabled tabs. </theme_item> <theme_item name="tab_fg" type="StyleBox"> - </theme_item> - <theme_item name="top_margin" type="int" default="24"> + The style of the currently selected tab. </theme_item> </theme_items> </class> diff --git a/doc/classes/Tabs.xml b/doc/classes/Tabs.xml index 266a733f8f..3fc1db9dc6 100644 --- a/doc/classes/Tabs.xml +++ b/doc/classes/Tabs.xml @@ -262,42 +262,51 @@ </constants> <theme_items> <theme_item name="button" type="StyleBox"> + Background of the close button when it's being hovered with the cursor. </theme_item> <theme_item name="button_pressed" type="StyleBox"> + Background of the close button when it's being pressed. </theme_item> <theme_item name="close" type="Texture2D"> + The icon for the close button (see [member tab_close_display_policy]). </theme_item> <theme_item name="decrement" type="Texture2D"> + Icon for the left arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the first tab is visible), it appears semi-transparent. </theme_item> <theme_item name="decrement_highlight" type="Texture2D"> + Icon for the left arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor. </theme_item> <theme_item name="font" type="Font"> + The font used to draw tab names. </theme_item> <theme_item name="font_color_bg" type="Color" default="Color( 0.69, 0.69, 0.69, 1 )"> + Font color of inactive tabs. </theme_item> <theme_item name="font_color_disabled" type="Color" default="Color( 0.9, 0.9, 0.9, 0.2 )"> + Font color of disabled tabs. </theme_item> <theme_item name="font_color_fg" type="Color" default="Color( 0.94, 0.94, 0.94, 1 )"> + Font color of the currently selected tab. </theme_item> <theme_item name="hseparation" type="int" default="4"> + The horizontal separation between the tabs. </theme_item> <theme_item name="increment" type="Texture2D"> + Icon for the right arrow button that appears when there are too many tabs to fit in the container width. When the button is disabled (i.e. the last tab is visible) it appears semi-transparent. </theme_item> <theme_item name="increment_highlight" type="Texture2D"> - </theme_item> - <theme_item name="label_valign_bg" type="int" default="2"> - </theme_item> - <theme_item name="label_valign_fg" type="int" default="0"> + Icon for the right arrow button that appears when there are too many tabs to fit in the container width. Used when the button is being hovered with the cursor. </theme_item> <theme_item name="panel" type="StyleBox"> </theme_item> <theme_item name="tab_bg" type="StyleBox"> + The style of an inactive tab. </theme_item> <theme_item name="tab_disabled" type="StyleBox"> + The style of a disabled tab </theme_item> <theme_item name="tab_fg" type="StyleBox"> - </theme_item> - <theme_item name="top_margin" type="int" default="24"> + The style of the currently selected tab. </theme_item> </theme_items> </class> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index 2ab8b939c7..b7cf93d672 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -299,7 +299,7 @@ </description> </method> <method name="search" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="key" type="String"> </argument> @@ -311,7 +311,7 @@ </argument> <description> Perform a search inside the text. Search flags can be specified in the [enum SearchFlags] enum. - Returns an empty [code]PackedIntArray[/code] if no result was found. Otherwise, the result line and column can be accessed at indices specified in the [enum SearchResult] enum, e.g: + Returns an empty [code]PackedInt32Array[/code] if no result was found. Otherwise, the result line and column can be accessed at indices specified in the [enum SearchResult] enum, e.g: [codeblock] var result = search(key, flags, line, column) if result.size() > 0: @@ -433,6 +433,7 @@ </member> <member name="mouse_default_cursor_shape" type="int" setter="set_default_cursor_shape" getter="get_default_cursor_shape" override="true" enum="Control.CursorShape" default="1" /> <member name="override_selected_font_color" type="bool" setter="set_override_selected_font_color" getter="is_overriding_selected_font_color" default="false"> + If [code]true[/code], custom [code]font_color_selected[/code] will be used for selected text. </member> <member name="readonly" type="bool" setter="set_readonly" getter="is_readonly" default="false"> If [code]true[/code], read-only mode is enabled. Existing text cannot be modified and new text cannot be added. @@ -502,6 +503,12 @@ <description> </description> </signal> + <signal name="symbol_validate"> + <argument index="0" name="symbol" type="String"> + </argument> + <description> + </description> + </signal> <signal name="text_changed"> <description> Emitted when the text changes. @@ -605,6 +612,7 @@ <theme_item name="font_color_readonly" type="Color" default="Color( 0.88, 0.88, 0.88, 0.5 )"> </theme_item> <theme_item name="font_color_selected" type="Color" default="Color( 0, 0, 0, 1 )"> + Sets the [Color] of the selected text. [member override_selected_font_color] has to be enabled. </theme_item> <theme_item name="function_color" type="Color" default="Color( 0.4, 0.64, 0.81, 1 )"> </theme_item> diff --git a/doc/classes/Texture2D.xml b/doc/classes/Texture2D.xml index 63cdb0d90a..ffe806cef7 100644 --- a/doc/classes/Texture2D.xml +++ b/doc/classes/Texture2D.xml @@ -4,7 +4,7 @@ Texture for 2D and 3D. </brief_description> <description> - A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D [Sprite] or GUI [Control]. + A texture works by registering an image in the video hardware, which then can be used in 3D models or 2D [Sprite2D] or GUI [Control]. Textures are often created by loading them from a file. See [method @GDScript.load]. [Texture2D] is a base for other resources. It cannot be used directly. </description> @@ -28,12 +28,12 @@ </argument> <argument index="6" name="specular_color_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> </argument> - <argument index="7" name="texture_filter" type="int" enum="VisualServer.CanvasItemTextureFilter" default="0"> + <argument index="7" name="texture_filter" type="int" enum="RenderingServer.CanvasItemTextureFilter" default="0"> </argument> - <argument index="8" name="texture_repeat" type="int" enum="VisualServer.CanvasItemTextureRepeat" default="0"> + <argument index="8" name="texture_repeat" type="int" enum="RenderingServer.CanvasItemTextureRepeat" default="0"> </argument> <description> - Draws the texture using a [CanvasItem] with the [VisualServer] API at the specified [code]position[/code]. + Draws the texture using a [CanvasItem] with the [RenderingServer] API at the specified [code]position[/code]. </description> </method> <method name="draw_rect" qualifiers="const"> @@ -55,12 +55,12 @@ </argument> <argument index="7" name="specular_color_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> </argument> - <argument index="8" name="texture_filter" type="int" enum="VisualServer.CanvasItemTextureFilter" default="0"> + <argument index="8" name="texture_filter" type="int" enum="RenderingServer.CanvasItemTextureFilter" default="0"> </argument> - <argument index="9" name="texture_repeat" type="int" enum="VisualServer.CanvasItemTextureRepeat" default="0"> + <argument index="9" name="texture_repeat" type="int" enum="RenderingServer.CanvasItemTextureRepeat" default="0"> </argument> <description> - Draws the texture using a [CanvasItem] with the [VisualServer] API. + Draws the texture using a [CanvasItem] with the [RenderingServer] API. </description> </method> <method name="draw_rect_region" qualifiers="const"> @@ -82,14 +82,14 @@ </argument> <argument index="7" name="specular_color_shininess" type="Color" default="Color( 1, 1, 1, 1 )"> </argument> - <argument index="8" name="texture_filter" type="int" enum="VisualServer.CanvasItemTextureFilter" default="0"> + <argument index="8" name="texture_filter" type="int" enum="RenderingServer.CanvasItemTextureFilter" default="0"> </argument> - <argument index="9" name="texture_repeat" type="int" enum="VisualServer.CanvasItemTextureRepeat" default="0"> + <argument index="9" name="texture_repeat" type="int" enum="RenderingServer.CanvasItemTextureRepeat" default="0"> </argument> <argument index="10" name="clip_uv" type="bool" default="true"> </argument> <description> - Draws a part of the texture using a [CanvasItem] with the [VisualServer] API. + Draws a part of the texture using a [CanvasItem] with the [RenderingServer] API. </description> </method> <method name="get_data" qualifiers="const"> diff --git a/doc/classes/Theme.xml b/doc/classes/Theme.xml index 45f49e7b31..70a4eda867 100644 --- a/doc/classes/Theme.xml +++ b/doc/classes/Theme.xml @@ -21,9 +21,9 @@ <method name="clear_color"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Clears the [Color] at [code]name[/code] if the theme has [code]type[/code]. @@ -32,9 +32,9 @@ <method name="clear_constant"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Clears the constant at [code]name[/code] if the theme has [code]type[/code]. @@ -43,9 +43,9 @@ <method name="clear_font"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Clears the [Font] at [code]name[/code] if the theme has [code]type[/code]. @@ -54,9 +54,9 @@ <method name="clear_icon"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Clears the icon at [code]name[/code] if the theme has [code]type[/code]. @@ -65,9 +65,9 @@ <method name="clear_stylebox"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Clears [StyleBox] at [code]name[/code] if the theme has [code]type[/code]. @@ -92,9 +92,9 @@ <method name="get_color" qualifiers="const"> <return type="Color"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns the [Color] at [code]name[/code] if the theme has [code]type[/code]. @@ -112,9 +112,9 @@ <method name="get_constant" qualifiers="const"> <return type="int"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns the constant at [code]name[/code] if the theme has [code]type[/code]. @@ -132,9 +132,9 @@ <method name="get_font" qualifiers="const"> <return type="Font"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns the [Font] at [code]name[/code] if the theme has [code]type[/code]. @@ -152,9 +152,9 @@ <method name="get_icon" qualifiers="const"> <return type="Texture2D"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns the icon [Texture2D] at [code]name[/code] if the theme has [code]type[/code]. @@ -172,9 +172,9 @@ <method name="get_stylebox" qualifiers="const"> <return type="StyleBox"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns the icon [StyleBox] at [code]name[/code] if the theme has [code]type[/code]. @@ -208,9 +208,9 @@ <method name="has_color" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns [code]true[/code] if [Color] with [code]name[/code] is in [code]type[/code]. @@ -220,9 +220,9 @@ <method name="has_constant" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns [code]true[/code] if constant with [code]name[/code] is in [code]type[/code]. @@ -232,9 +232,9 @@ <method name="has_font" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns [code]true[/code] if [Font] with [code]name[/code] is in [code]type[/code]. @@ -244,9 +244,9 @@ <method name="has_icon" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns [code]true[/code] if icon [Texture2D] with [code]name[/code] is in [code]type[/code]. @@ -256,9 +256,9 @@ <method name="has_stylebox" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <description> Returns [code]true[/code] if [StyleBox] with [code]name[/code] is in [code]type[/code]. @@ -268,9 +268,9 @@ <method name="set_color"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <argument index="2" name="color" type="Color"> </argument> @@ -282,9 +282,9 @@ <method name="set_constant"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <argument index="2" name="constant" type="int"> </argument> @@ -296,9 +296,9 @@ <method name="set_font"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <argument index="2" name="font" type="Font"> </argument> @@ -310,9 +310,9 @@ <method name="set_icon"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <argument index="2" name="texture" type="Texture2D"> </argument> @@ -324,9 +324,9 @@ <method name="set_stylebox"> <return type="void"> </return> - <argument index="0" name="name" type="String"> + <argument index="0" name="name" type="StringName"> </argument> - <argument index="1" name="type" type="String"> + <argument index="1" name="type" type="StringName"> </argument> <argument index="2" name="texture" type="StyleBox"> </argument> diff --git a/doc/classes/Thread.xml b/doc/classes/Thread.xml index f616a9d9b1..4d6e89fa6f 100644 --- a/doc/classes/Thread.xml +++ b/doc/classes/Thread.xml @@ -29,14 +29,14 @@ </return> <argument index="0" name="instance" type="Object"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <argument index="2" name="userdata" type="Variant" default="null"> </argument> <argument index="3" name="priority" type="int" enum="Thread.Priority" default="1"> </argument> <description> - Starts a new [Thread] that runs [code]method[/code] on object [code]instance[/code] with [code]userdata[/code] passed as an argument. The [code]priority[/code] of the [Thread] can be changed by passing a value from the [enum Priority] enum. + Starts a new [Thread] that runs [code]method[/code] on object [code]instance[/code] with [code]userdata[/code] passed as an argument. Even if no userdata is passed, [code]method[/code] must accept one argument and it will be null. The [code]priority[/code] of the [Thread] can be changed by passing a value from the [enum Priority] enum. Returns [constant OK] on success, or [constant ERR_CANT_CREATE] on failure. </description> </method> diff --git a/doc/classes/TileMap.xml b/doc/classes/TileMap.xml index 1db1142aa0..bfe6983f06 100644 --- a/doc/classes/TileMap.xml +++ b/doc/classes/TileMap.xml @@ -43,7 +43,7 @@ <argument index="1" name="y" type="int"> </argument> <description> - Returns the coordinate of the autotile variation in the tileset. Returns a zero vector if the cell doesn't have autotiling. + Returns the coordinate (subtile column and row) of the autotile variation in the tileset. Returns a zero vector if the cell doesn't have autotiling. </description> </method> <method name="get_cellv" qualifiers="const"> @@ -74,14 +74,14 @@ </description> </method> <method name="get_used_cells" qualifiers="const"> - <return type="Array"> + <return type="Vector2i[]"> </return> <description> Returns a [Vector2] array with the positions of all cells containing a tile from the tileset (i.e. a tile index different from [code]-1[/code]). </description> </method> <method name="get_used_cells_by_id" qualifiers="const"> - <return type="Array"> + <return type="Vector2i[]"> </return> <argument index="0" name="id" type="int"> </argument> @@ -161,7 +161,7 @@ <description> Sets the tile index for the cell given by a Vector2. An index of [code]-1[/code] clears the cell. - Optionally, the tile can also be flipped, transposed, or given autotile coordinates. + Optionally, the tile can also be flipped, transposed, or given autotile coordinates. The autotile coordinate refers to the column and row of the subtile. [b]Note:[/b] Data such as navigation polygons and collision shapes are not immediately updated for performance reasons. If you need these to be immediately updated, you can call [method update_dirty_quadrants]. Overriding this method also overrides it internally, allowing custom logic to be implemented when tiles are placed/removed: diff --git a/doc/classes/Translation.xml b/doc/classes/Translation.xml index c0c5a3ffbd..11245195bf 100644 --- a/doc/classes/Translation.xml +++ b/doc/classes/Translation.xml @@ -14,9 +14,9 @@ <method name="add_message"> <return type="void"> </return> - <argument index="0" name="src_message" type="String"> + <argument index="0" name="src_message" type="StringName"> </argument> - <argument index="1" name="xlated_message" type="String"> + <argument index="1" name="xlated_message" type="StringName"> </argument> <description> Adds a message if nonexistent, followed by its translation. @@ -25,16 +25,16 @@ <method name="erase_message"> <return type="void"> </return> - <argument index="0" name="src_message" type="String"> + <argument index="0" name="src_message" type="StringName"> </argument> <description> Erases a message. </description> </method> <method name="get_message" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> - <argument index="0" name="src_message" type="String"> + <argument index="0" name="src_message" type="StringName"> </argument> <description> Returns a message's translation. diff --git a/doc/classes/TranslationServer.xml b/doc/classes/TranslationServer.xml index 8a2a8b9768..aaf7a4d160 100644 --- a/doc/classes/TranslationServer.xml +++ b/doc/classes/TranslationServer.xml @@ -69,9 +69,9 @@ </description> </method> <method name="translate" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> - <argument index="0" name="message" type="String"> + <argument index="0" name="message" type="StringName"> </argument> <description> Returns the current locale's translation for the given message (key). diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index 5fa24100ae..b01ba3850f 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -313,6 +313,7 @@ </signal> <signal name="item_custom_button_pressed"> <description> + Emitted when a custom button is pressed (i.e. in a [constant TreeItem.CELL_MODE_CUSTOM] mode cell). </description> </signal> <signal name="item_double_clicked"> diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index e4d2af0c6e..84aa3a3686 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -23,14 +23,13 @@ <argument index="4" name="tooltip" type="String" default=""""> </argument> <description> - Adds a button with [Texture2D] [code]button[/code] at column [code]column[/code]. The [code]button_idx[/code] index is used to identify the button when calling other methods. If not specified, the next available index is used, which may be retrieved by calling [method get_button_count] immediately after this method. Optionally, the button can be [code]disabled[/code] and have a [code]tooltip - [/code]. + Adds a button with [Texture2D] [code]button[/code] at column [code]column[/code]. The [code]button_idx[/code] index is used to identify the button when calling other methods. If not specified, the next available index is used, which may be retrieved by calling [method get_button_count] immediately after this method. Optionally, the button can be [code]disabled[/code] and have a [code]tooltip[/code]. </description> </method> <method name="call_recursive" qualifiers="vararg"> <return type="Variant"> </return> - <argument index="0" name="method" type="String"> + <argument index="0" name="method" type="StringName"> </argument> <description> Calls the [code]method[/code] on the actual TreeItem and its children recursively. Pass parameters as a comma separated list. @@ -452,7 +451,7 @@ </argument> <argument index="1" name="object" type="Object"> </argument> - <argument index="2" name="callback" type="String"> + <argument index="2" name="callback" type="StringName"> </argument> <description> Sets the given column's custom draw callback to [code]callback[/code] method on [code]object[/code]. diff --git a/doc/classes/Tween.xml b/doc/classes/Tween.xml index e60dc07e99..f9320ac55e 100644 --- a/doc/classes/Tween.xml +++ b/doc/classes/Tween.xml @@ -6,7 +6,7 @@ <description> Tweens are useful for animations requiring a numerical property to be interpolated over a range of values. The name [i]tween[/i] comes from [i]in-betweening[/i], an animation technique where you specify [i]keyframes[/i] and the computer interpolates the frames that appear between them. [Tween] is more suited than [AnimationPlayer] for animations where you don't know the final values in advance. For example, interpolating a dynamically-chosen camera zoom value is best done with a [Tween] node; it would be difficult to do the same thing with an [AnimationPlayer] node. - Here is a brief usage example that causes a 2D node to move smoothly between two positions: + Here is a brief usage example that makes a 2D node move smoothly between two positions: [codeblock] var tween = get_node("Tween") tween.interpolate_property($Node2D, "position", @@ -15,23 +15,24 @@ tween.start() [/codeblock] Many methods require a property name, such as [code]"position"[/code] above. You can find the correct property name by hovering over the property in the Inspector. You can also provide the components of a property directly by using [code]"property:component"[/code] (eg. [code]position:x[/code]), where it would only apply to that particular component. - Many of the methods accept [code]trans_type[/code] and [code]ease_type[/code]. The first accepts an [enum TransitionType] constant, and refers to the way the timing of the animation is handled (see [code]http://easings.net/[/code] for some examples). The second accepts an [enum EaseType] constant, and controls the where [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum TransitionType] constants with [constant EASE_IN_OUT], and use the one that looks best. + Many of the methods accept [code]trans_type[/code] and [code]ease_type[/code]. The first accepts an [enum TransitionType] constant, and refers to the way the timing of the animation is handled (see [url=https://easings.net/]easings.net[/url] for some examples). The second accepts an [enum EaseType] constant, and controls the where [code]trans_type[/code] is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different [enum TransitionType] constants with [constant EASE_IN_OUT], and use the one that looks best. + [b][url=https://raw.githubusercontent.com/godotengine/godot-docs/master/img/tween_cheatsheet.png]Tween easing and transition types cheatsheet[/url][/b] </description> <tutorials> </tutorials> <methods> <method name="follow_method"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <argument index="2" name="initial_val" type="Variant"> </argument> <argument index="3" name="target" type="Object"> </argument> - <argument index="4" name="target_method" type="String"> + <argument index="4" name="target_method" type="StringName"> </argument> <argument index="5" name="duration" type="float"> </argument> @@ -47,7 +48,7 @@ </description> </method> <method name="follow_property"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> @@ -80,7 +81,7 @@ </description> </method> <method name="interpolate_callback"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> @@ -103,7 +104,7 @@ </description> </method> <method name="interpolate_deferred_callback"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> @@ -126,11 +127,11 @@ </description> </method> <method name="interpolate_method"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <argument index="2" name="initial_val" type="Variant"> </argument> @@ -150,7 +151,7 @@ </description> </method> <method name="interpolate_property"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> @@ -182,61 +183,61 @@ </description> </method> <method name="remove"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="key" type="String" default=""""> + <argument index="1" name="key" type="StringName" default=""""> </argument> <description> Stops animation and removes a tween, given its object and property/method pair. By default, all tweens are removed, unless [code]key[/code] is specified. </description> </method> <method name="remove_all"> - <return type="bool"> + <return type="void"> </return> <description> Stops animation and removes all tweens. </description> </method> <method name="reset"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="key" type="String" default=""""> + <argument index="1" name="key" type="StringName" default=""""> </argument> <description> Resets a tween to its initial value (the one given, not the one before the tween), given its object and property/method pair. By default, all tweens are removed, unless [code]key[/code] is specified. </description> </method> <method name="reset_all"> - <return type="bool"> + <return type="void"> </return> <description> Resets all tweens to their initial values (the ones given, not those before the tween). </description> </method> <method name="resume"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="key" type="String" default=""""> + <argument index="1" name="key" type="StringName" default=""""> </argument> <description> Continues animating a stopped tween, given its object and property/method pair. By default, all tweens are resumed, unless [code]key[/code] is specified. </description> </method> <method name="resume_all"> - <return type="bool"> + <return type="void"> </return> <description> Continues animating all stopped tweens. </description> </method> <method name="seek"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="time" type="float"> </argument> @@ -254,40 +255,40 @@ </description> </method> <method name="start"> - <return type="bool"> + <return type="void"> </return> <description> Starts the tween. You can define animations both before and after this. </description> </method> <method name="stop"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="key" type="String" default=""""> + <argument index="1" name="key" type="StringName" default=""""> </argument> <description> Stops a tween, given its object and property/method pair. By default, all tweens are stopped, unless [code]key[/code] is specified. </description> </method> <method name="stop_all"> - <return type="bool"> + <return type="void"> </return> <description> Stops animating all tweens. </description> </method> <method name="targeting_method"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <argument index="2" name="initial" type="Object"> </argument> - <argument index="3" name="initial_method" type="String"> + <argument index="3" name="initial_method" type="StringName"> </argument> <argument index="4" name="final_val" type="Variant"> </argument> @@ -305,7 +306,7 @@ </description> </method> <method name="targeting_property"> - <return type="bool"> + <return type="void"> </return> <argument index="0" name="object" type="Object"> </argument> diff --git a/doc/classes/UndoRedo.xml b/doc/classes/UndoRedo.xml index 06fcb1ca03..2cc3e974e2 100644 --- a/doc/classes/UndoRedo.xml +++ b/doc/classes/UndoRedo.xml @@ -36,7 +36,7 @@ </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <description> Register a method that will be called when the action is committed. @@ -47,7 +47,7 @@ </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="property" type="String"> + <argument index="1" name="property" type="StringName"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -69,7 +69,7 @@ </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="method" type="String"> + <argument index="1" name="method" type="StringName"> </argument> <description> Register a method that will be called when the action is undone. @@ -80,7 +80,7 @@ </return> <argument index="0" name="object" type="Object"> </argument> - <argument index="1" name="property" type="String"> + <argument index="1" name="property" type="StringName"> </argument> <argument index="2" name="value" type="Variant"> </argument> @@ -155,7 +155,7 @@ Returns [code]true[/code] if an "undo" action is available. </description> </method> - <method name="is_commiting_action" qualifiers="const"> + <method name="is_committing_action" qualifiers="const"> <return type="bool"> </return> <description> diff --git a/doc/classes/VSeparator.xml b/doc/classes/VSeparator.xml index 19e995b9bc..52f31b1da7 100644 --- a/doc/classes/VSeparator.xml +++ b/doc/classes/VSeparator.xml @@ -14,8 +14,10 @@ </constants> <theme_items> <theme_item name="separation" type="int" default="4"> + The width of the area covered by the separator. Effectively works like a minimum width. </theme_item> <theme_item name="separator" type="StyleBox"> + The style for the separator line. Works best with [StyleBoxLine] (remember to enable [member StyleBoxLine.vertical]). </theme_item> </theme_items> </class> diff --git a/doc/classes/VSlider.xml b/doc/classes/VSlider.xml index cbc4ac1a13..9394d6b430 100644 --- a/doc/classes/VSlider.xml +++ b/doc/classes/VSlider.xml @@ -18,16 +18,24 @@ </constants> <theme_items> <theme_item name="grabber" type="Texture2D"> + The texture for the grabber (the draggable element). </theme_item> <theme_item name="grabber_area" type="StyleBox"> + The background of the area below the grabber. + </theme_item> + <theme_item name="grabber_area_highlight" type="StyleBox"> </theme_item> <theme_item name="grabber_disabled" type="Texture2D"> + The texture for the grabber when it's disabled. </theme_item> <theme_item name="grabber_highlight" type="Texture2D"> + The texture for the grabber when it's focused. </theme_item> <theme_item name="slider" type="StyleBox"> + The background for the whole slider. Determines the width of the [code]grabber_area[/code]. </theme_item> <theme_item name="tick" type="Texture2D"> + The texture for the ticks, visible when [member Slider.tick_count] is greater than 0. </theme_item> </theme_items> </class> diff --git a/doc/classes/VSplitContainer.xml b/doc/classes/VSplitContainer.xml index 0e659408d7..18b515e7ce 100644 --- a/doc/classes/VSplitContainer.xml +++ b/doc/classes/VSplitContainer.xml @@ -14,12 +14,15 @@ </constants> <theme_items> <theme_item name="autohide" type="int" default="1"> + Boolean value. If 1 ([code]true[/code]), the grabber will hide automatically when it isn't under the cursor. If 0 ([code]false[/code]), it's always visible. </theme_item> <theme_item name="bg" type="StyleBox"> </theme_item> <theme_item name="grabber" type="Texture2D"> + The icon used for the grabber drawn in the middle area. </theme_item> <theme_item name="separation" type="int" default="12"> + The space between sides of the container. </theme_item> </theme_items> </class> diff --git a/doc/classes/Vector2.xml b/doc/classes/Vector2.xml index 4eef103d1f..7b02a1a4c9 100644 --- a/doc/classes/Vector2.xml +++ b/doc/classes/Vector2.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Vector2" version="4.0"> <brief_description> - Vector used for 2D math. + Vector used for 2D math using floating point coordinates. </brief_description> <description> 2-element structure that can be used to represent positions in 2D space or any other pair of numeric values. + It uses floating point coordinates. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> @@ -13,12 +14,21 @@ <method name="Vector2"> <return type="Vector2"> </return> + <argument index="0" name="from" type="Vector2i"> + </argument> + <description> + Constructs a new [Vector2] from [Vector2i]. + </description> + </method> + <method name="Vector2"> + <return type="Vector2"> + </return> <argument index="0" name="x" type="float"> </argument> <argument index="1" name="y" type="float"> </argument> <description> - Constructs a new Vector2 from the given [code]x[/code] and [code]y[/code]. + Constructs a new [Vector2] from the given [code]x[/code] and [code]y[/code]. </description> </method> <method name="abs"> diff --git a/doc/classes/Vector2i.xml b/doc/classes/Vector2i.xml new file mode 100644 index 0000000000..a516eb01dd --- /dev/null +++ b/doc/classes/Vector2i.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Vector2i" version="4.0"> + <brief_description> + Vector used for 2D math using integer coordinates. + </brief_description> + <description> + 2-element structure that can be used to represent positions in 2D space or any other pair of numeric values. + It uses integer coordinates. + </description> + <tutorials> + <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> + </tutorials> + <methods> + <method name="Vector2i"> + <return type="Vector2i"> + </return> + <argument index="0" name="x" type="int"> + </argument> + <argument index="1" name="y" type="int"> + </argument> + <description> + Constructs a new [Vector2i] from the given [code]x[/code] and [code]y[/code]. + </description> + </method> + <method name="Vector2i"> + <return type="Vector2i"> + </return> + <argument index="0" name="from" type="Vector2"> + </argument> + <description> + Constructs a new [Vector2i] from [Vector2]. The floating point coordinates will be truncated. + </description> + </method> + </methods> + <constants> + <constant name="AXIS_X" value="0"> + Enumerated value for the X axis. + </constant> + <constant name="AXIS_Y" value="1"> + Enumerated value for the Y axis. + </constant> + <constant name="ZERO" value="Vector2i( 0, 0 )"> + Zero vector. + </constant> + <constant name="ONE" value="Vector2i( 1, 1 )"> + One vector. + </constant> + <constant name="LEFT" value="Vector2i( -1, 0 )"> + Left unit vector. + </constant> + <constant name="RIGHT" value="Vector2i( 1, 0 )"> + Right unit vector. + </constant> + <constant name="UP" value="Vector2i( 0, -1 )"> + Up unit vector. + </constant> + <constant name="DOWN" value="Vector2i( 0, 1 )"> + Down unit vector. + </constant> + </constants> +</class> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index 7ae89cc450..600c03ba7d 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="Vector3" version="4.0"> <brief_description> - Vector used for 3D math. + Vector used for 3D math using floating point coordinates. </brief_description> <description> 3-element structure that can be used to represent positions in 3D space or any other pair of numeric values. + It uses floating point coordinates. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> @@ -13,6 +14,15 @@ <method name="Vector3"> <return type="Vector3"> </return> + <argument index="0" name="from" type="Vector3i"> + </argument> + <description> + Constructs a new [Vector3] from [Vector3i]. + </description> + </method> + <method name="Vector3"> + <return type="Vector3"> + </return> <argument index="0" name="x" type="float"> </argument> <argument index="1" name="y" type="float"> @@ -20,7 +30,7 @@ <argument index="2" name="z" type="float"> </argument> <description> - Returns a Vector3 with the given components. + Returns a [Vector3] with the given components. </description> </method> <method name="abs"> diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml new file mode 100644 index 0000000000..4f5a658b89 --- /dev/null +++ b/doc/classes/Vector3i.xml @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Vector3i" version="4.0"> + <brief_description> + Vector used for 3D math using integer coordinates. + </brief_description> + <description> + 3-element structure that can be used to represent positions in 3D space or any other pair of numeric values. + It uses integer coordinates. + </description> + <tutorials> + <link>https://docs.godotengine.org/en/latest/tutorials/math/index.html</link> + </tutorials> + <methods> + <method name="Vector3i"> + <return type="Vector3i"> + </return> + <argument index="0" name="x" type="int"> + </argument> + <argument index="1" name="y" type="int"> + </argument> + <argument index="2" name="z" type="int"> + </argument> + <description> + Returns a [Vector3i] with the given components. + </description> + </method> + <method name="Vector3i"> + <return type="Vector3i"> + </return> + <argument index="0" name="from" type="Vector3"> + </argument> + <description> + Constructs a new [Vector3i] from [Vector3]. The floating point coordinates will be truncated. + </description> + </method> + </methods> + <constants> + <constant name="AXIS_X" value="0"> + Enumerated value for the X axis. + </constant> + <constant name="AXIS_Y" value="1"> + Enumerated value for the Y axis. + </constant> + <constant name="AXIS_Z" value="2"> + Enumerated value for the Z axis. + </constant> + <constant name="ZERO" value="Vector3i( 0, 0, 0 )"> + Zero vector. + </constant> + <constant name="ONE" value="Vector3i( 1, 1, 1 )"> + One vector. + </constant> + <constant name="LEFT" value="Vector3i( -1, 0, 0 )"> + Left unit vector. + </constant> + <constant name="RIGHT" value="Vector3i( 1, 0, 0 )"> + Right unit vector. + </constant> + <constant name="UP" value="Vector3i( 0, 1, 0 )"> + Up unit vector. + </constant> + <constant name="DOWN" value="Vector3i( 0, -1, 0 )"> + Down unit vector. + </constant> + <constant name="FORWARD" value="Vector3i( 0, 0, -1 )"> + Forward unit vector. + </constant> + <constant name="BACK" value="Vector3i( 0, 0, 1 )"> + Back unit vector. + </constant> + </constants> +</class> diff --git a/doc/classes/VehicleBody.xml b/doc/classes/VehicleBody3D.xml index 74879419a1..b8b85ff605 100644 --- a/doc/classes/VehicleBody.xml +++ b/doc/classes/VehicleBody3D.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VehicleBody" inherits="RigidBody" version="4.0"> +<class name="VehicleBody3D" inherits="RigidBody3D" version="4.0"> <brief_description> Physics body that simulates the behavior of a car. </brief_description> <description> - This node implements all the physics logic needed to simulate a car. It is based on the raycast vehicle system commonly found in physics engines. You will need to add a [CollisionShape] for the main body of your vehicle and add [VehicleWheel] nodes for the wheels. You should also add a [MeshInstance] to this node for the 3D model of your car but this model should not include meshes for the wheels. You should control the vehicle by using the [member brake], [member engine_force], and [member steering] properties and not change the position or orientation of this node directly. - [b]Note:[/b] The origin point of your VehicleBody will determine the center of gravity of your vehicle so it is better to keep this low and move the [CollisionShape] and [MeshInstance] upwards. + This node implements all the physics logic needed to simulate a car. It is based on the raycast vehicle system commonly found in physics engines. You will need to add a [CollisionShape3D] for the main body of your vehicle and add [VehicleWheel3D] nodes for the wheels. You should also add a [MeshInstance3D] to this node for the 3D model of your car but this model should not include meshes for the wheels. You should control the vehicle by using the [member brake], [member engine_force], and [member steering] properties and not change the position or orientation of this node directly. + [b]Note:[/b] The origin point of your VehicleBody3D will determine the center of gravity of your vehicle so it is better to keep this low and move the [CollisionShape3D] and [MeshInstance3D] upwards. </description> <tutorials> </tutorials> @@ -13,16 +13,16 @@ </methods> <members> <member name="brake" type="float" setter="set_brake" getter="get_brake" default="0.0"> - Slows down the vehicle by applying a braking force. The vehicle is only slowed down if the wheels are in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the [member RigidBody.mass] of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking. + Slows down the vehicle by applying a braking force. The vehicle is only slowed down if the wheels are in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the [member RigidBody3D.mass] of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking. </member> <member name="engine_force" type="float" setter="set_engine_force" getter="get_engine_force" default="0.0"> - Accelerates the vehicle by applying an engine force. The vehicle is only speed up if the wheels that have [member VehicleWheel.use_as_traction] set to [code]true[/code] and are in contact with a surface. The [member RigidBody.mass] of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration. + Accelerates the vehicle by applying an engine force. The vehicle is only speed up if the wheels that have [member VehicleWheel3D.use_as_traction] set to [code]true[/code] and are in contact with a surface. The [member RigidBody3D.mass] of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration. [b]Note:[/b] The simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears. A negative value will result in the vehicle reversing. </member> <member name="mass" type="float" setter="set_mass" getter="get_mass" override="true" default="40.0" /> <member name="steering" type="float" setter="set_steering" getter="get_steering" default="0.0"> - The steering angle for the vehicle. Setting this to a non-zero value will result in the vehicle turning when it's moving. Wheels that have [member VehicleWheel.use_as_steering] set to [code]true[/code] will automatically be rotated. + The steering angle for the vehicle. Setting this to a non-zero value will result in the vehicle turning when it's moving. Wheels that have [member VehicleWheel3D.use_as_steering] set to [code]true[/code] will automatically be rotated. </member> <member name="weight" type="float" setter="set_weight" getter="get_weight" override="true" default="392.0" /> </members> diff --git a/doc/classes/VehicleWheel.xml b/doc/classes/VehicleWheel3D.xml index 1a6a226fd1..c71d797eff 100644 --- a/doc/classes/VehicleWheel.xml +++ b/doc/classes/VehicleWheel3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VehicleWheel" inherits="Spatial" version="4.0"> +<class name="VehicleWheel3D" inherits="Node3D" version="4.0"> <brief_description> Physics object that simulates the behavior of a wheel. </brief_description> <description> - This node needs to be used as a child node of [VehicleBody] and simulates the behavior of one of its wheels. This node also acts as a collider to detect if the wheel is touching a surface. + This node needs to be used as a child node of [VehicleBody3D] and simulates the behavior of one of its wheels. This node also acts as a collider to detect if the wheel is touching a surface. </description> <tutorials> </tutorials> @@ -33,7 +33,7 @@ </methods> <members> <member name="brake" type="float" setter="set_brake" getter="get_brake" default="0.0"> - Slows down the wheel by applying a braking force. The wheel is only slowed down if it is in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the [member RigidBody.mass] of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking. + Slows down the wheel by applying a braking force. The wheel is only slowed down if it is in contact with a surface. The force you need to apply to adequately slow down your vehicle depends on the [member RigidBody3D.mass] of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 30 range for hard braking. </member> <member name="damping_compression" type="float" setter="set_damping_compression" getter="get_damping_compression" default="0.83"> The damping applied to the spring when the spring is being compressed. This value should be between 0.0 (no damping) and 1.0. A value of 0.0 means the car will keep bouncing as the spring keeps its energy. A good value for this is around 0.3 for a normal car, 0.5 for a race car. @@ -42,7 +42,7 @@ The damping applied to the spring when relaxing. This value should be between 0.0 (no damping) and 1.0. This value should always be slightly higher than the [member damping_compression] property. For a [member damping_compression] value of 0.3, try a relaxation value of 0.5. </member> <member name="engine_force" type="float" setter="set_engine_force" getter="get_engine_force" default="0.0"> - Accelerates the wheel by applying an engine force. The wheel is only speed up if it is in contact with a surface. The [member RigidBody.mass] of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration. + Accelerates the wheel by applying an engine force. The wheel is only speed up if it is in contact with a surface. The [member RigidBody3D.mass] of the vehicle has an effect on the acceleration of the vehicle. For a vehicle with a mass set to 1000, try a value in the 25 - 50 range for acceleration. [b]Note:[/b] The simulation does not take the effect of gears into account, you will need to add logic for this if you wish to simulate gears. A negative value will result in the wheel reversing. </member> @@ -50,7 +50,7 @@ The steering angle for the wheel. Setting this to a non-zero value will result in the vehicle turning when it's moving. </member> <member name="suspension_max_force" type="float" setter="set_suspension_max_force" getter="get_suspension_max_force" default="6000.0"> - The maximum force the spring can resist. This value should be higher than a quarter of the [member RigidBody.mass] of the [VehicleBody] or the spring will not carry the weight of the vehicle. Good results are often obtained by a value that is about 3× to 4× this number. + The maximum force the spring can resist. This value should be higher than a quarter of the [member RigidBody3D.mass] of the [VehicleBody3D] or the spring will not carry the weight of the vehicle. Good results are often obtained by a value that is about 3× to 4× this number. </member> <member name="suspension_stiffness" type="float" setter="set_suspension_stiffness" getter="get_suspension_stiffness" default="5.88"> This value defines the stiffness of the suspension. Use a value lower than 50 for an off-road car, a value between 50 and 100 for a race car and try something around 200 for something like a Formula 1 car. @@ -59,10 +59,10 @@ This is the distance the suspension can travel. As Godot units are equivalent to meters, keep this setting relatively low. Try a value between 0.1 and 0.3 depending on the type of car. </member> <member name="use_as_steering" type="bool" setter="set_use_as_steering" getter="is_used_as_steering" default="false"> - If [code]true[/code], this wheel will be turned when the car steers. This value is used in conjunction with [member VehicleBody.steering] and ignored if you are using the per-wheel [member steering] value instead. + If [code]true[/code], this wheel will be turned when the car steers. This value is used in conjunction with [member VehicleBody3D.steering] and ignored if you are using the per-wheel [member steering] value instead. </member> <member name="use_as_traction" type="bool" setter="set_use_as_traction" getter="is_used_as_traction" default="false"> - If [code]true[/code], this wheel transfers engine force to the ground to propel the vehicle forward. This value is used in conjunction with [member VehicleBody.engine_force] and ignored if you are using the per-wheel [member engine_force] value instead. + If [code]true[/code], this wheel transfers engine force to the ground to propel the vehicle forward. This value is used in conjunction with [member VehicleBody3D.engine_force] and ignored if you are using the per-wheel [member engine_force] value instead. </member> <member name="wheel_friction_slip" type="float" setter="set_friction_slip" getter="get_friction_slip" default="10.5"> This determines how much grip this wheel has. It is combined with the friction setting of the surface the wheel is in contact with. 0.0 means no grip, 1.0 is normal grip. For a drift car setup, try setting the grip of the rear wheels slightly lower than the front wheels, or use a lower value to simulate tire wear. diff --git a/doc/classes/SpatialVelocityTracker.xml b/doc/classes/VelocityTracker3D.xml index 7a4e0c054a..98f7533c76 100644 --- a/doc/classes/SpatialVelocityTracker.xml +++ b/doc/classes/VelocityTracker3D.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="SpatialVelocityTracker" inherits="Reference" version="4.0"> +<class name="VelocityTracker3D" inherits="Reference" version="4.0"> <brief_description> </brief_description> <description> diff --git a/doc/classes/VideoPlayer.xml b/doc/classes/VideoPlayer.xml index d2b9af4580..91c8ad0a77 100644 --- a/doc/classes/VideoPlayer.xml +++ b/doc/classes/VideoPlayer.xml @@ -58,7 +58,7 @@ <member name="buffering_msec" type="int" setter="set_buffering_msec" getter="get_buffering_msec" default="500"> Amount of time in milliseconds to store in buffer while playing. </member> - <member name="bus" type="String" setter="set_bus" getter="get_bus" default=""Master""> + <member name="bus" type="StringName" setter="set_bus" getter="get_bus" default="@"Master""> Audio bus to use for sound playback. </member> <member name="expand" type="bool" setter="set_expand" getter="has_expand" default="true"> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 0632be28e1..a2d53f8e0c 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -4,9 +4,9 @@ Creates a sub-view into the screen. </brief_description> <description> - A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera 3D nodes will render on it too. + A Viewport creates a different view into the screen, or a sub-view inside another viewport. Children 2D Nodes will display on it, and children Camera3D 3D nodes will render on it too. Optionally, a viewport can have its own 2D or 3D world, so they don't share what they draw with other viewports. - If a viewport is a child of a [ViewportContainer], it will automatically take up its size, otherwise it must be set manually. + If a viewport is a child of a [SubViewportContainer], it will automatically take up its size, otherwise it must be set manually. Viewports can also choose to be audio listeners, so they generate positional audio depending on a 2D or 3D camera child of it. Also, viewports can be assigned to different screens in case the devices have multiple screens. Finally, viewports can also behave as render targets, in which case they will not be visible unless the associated texture is used to draw. @@ -17,7 +17,7 @@ </tutorials> <methods> <method name="find_world" qualifiers="const"> - <return type="World"> + <return type="World3D"> </return> <description> Returns the 3D world of the viewport, or if none the world of the parent viewport. @@ -31,7 +31,7 @@ </description> </method> <method name="get_camera" qualifiers="const"> - <return type="Camera"> + <return type="Camera3D"> </return> <description> Returns the active 3D camera. @@ -44,13 +44,6 @@ Returns the total transform of the viewport. </description> </method> - <method name="get_modal_stack_top" qualifiers="const"> - <return type="Control"> - </return> - <description> - Returns the topmost modal in the stack. - </description> - </method> <method name="get_mouse_position" qualifiers="const"> <return type="Vector2"> </return> @@ -76,13 +69,6 @@ Returns the [enum ShadowAtlasQuadrantSubdiv] of the specified quadrant. </description> </method> - <method name="get_size_override" qualifiers="const"> - <return type="Vector2"> - </return> - <description> - Returns the size override set with [method set_size_override]. - </description> - </method> <method name="get_texture" qualifiers="const"> <return type="ViewportTexture"> </return> @@ -99,7 +85,7 @@ <return type="RID"> </return> <description> - Returns the viewport's RID from the [VisualServer]. + Returns the viewport's RID from the [RenderingServer]. </description> </method> <method name="get_visible_rect" qualifiers="const"> @@ -116,13 +102,6 @@ Returns the drag data from the GUI, that was previously returned by [method Control.get_drag_data]. </description> </method> - <method name="gui_has_modal_stack" qualifiers="const"> - <return type="bool"> - </return> - <description> - Returns [code]true[/code] if there are visible modals on-screen. - </description> - </method> <method name="gui_is_dragging" qualifiers="const"> <return type="bool"> </return> @@ -133,31 +112,31 @@ <method name="input"> <return type="void"> </return> - <argument index="0" name="local_event" type="InputEvent"> + <argument index="0" name="event" type="InputEvent"> + </argument> + <argument index="1" name="in_local_coords" type="bool" default="false"> </argument> <description> </description> </method> - <method name="is_input_handled" qualifiers="const"> - <return type="bool"> + <method name="input_text"> + <return type="void"> </return> + <argument index="0" name="text" type="String"> + </argument> <description> </description> </method> - <method name="is_size_override_enabled" qualifiers="const"> + <method name="is_embedding_subwindows" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if the size override is enabled. See [method set_size_override]. </description> </method> - <method name="set_attach_to_screen_rect"> - <return type="void"> + <method name="is_input_handled" qualifiers="const"> + <return type="bool"> </return> - <argument index="0" name="rect" type="Rect2"> - </argument> <description> - Attaches this [Viewport] to the root [Viewport] with the specified rectangle. This bypasses the need for another node to display this [Viewport] but makes you responsible for updating the position of this [Viewport] manually. </description> </method> <method name="set_input_as_handled"> @@ -178,23 +157,12 @@ Sets the number of subdivisions to use in the specified quadrant. A higher number of subdivisions allows you to have more shadows in the scene at once, but reduces the quality of the shadows. A good practice is to have quadrants with a varying number of subdivisions and to have as few subdivisions as possible. </description> </method> - <method name="set_size_override"> - <return type="void"> - </return> - <argument index="0" name="enable" type="bool"> - </argument> - <argument index="1" name="size" type="Vector2" default="Vector2( -1, -1 )"> - </argument> - <argument index="2" name="margin" type="Vector2" default="Vector2( 0, 0 )"> - </argument> - <description> - Sets the size override of the viewport. If the [code]enable[/code] parameter is [code]true[/code] the override is used, otherwise it uses the default size. If the size parameter is [code](-1, -1)[/code], it won't update the size. - </description> - </method> <method name="unhandled_input"> <return type="void"> </return> - <argument index="0" name="local_event" type="InputEvent"> + <argument index="0" name="event" type="InputEvent"> + </argument> + <argument index="1" name="in_local_coords" type="bool" default="false"> </argument> <description> </description> @@ -217,9 +185,6 @@ </method> </methods> <members> - <member name="arvr" type="bool" setter="set_use_arvr" getter="use_arvr" default="false"> - If [code]true[/code], the viewport will be used in AR/VR process. - </member> <member name="audio_listener_enable_2d" type="bool" setter="set_as_audio_listener_2d" getter="is_audio_listener_2d" default="false"> If [code]true[/code], the viewport will process 2D audio streams. </member> @@ -227,8 +192,10 @@ If [code]true[/code], the viewport will process 3D audio streams. </member> <member name="canvas_item_default_texture_filter" type="int" setter="set_default_canvas_item_texture_filter" getter="get_default_canvas_item_texture_filter" enum="Viewport.DefaultCanvasItemTextureFilter" default="1"> + Sets the default filter mode used by [CanvasItem]s in this Viewport. See [enum DefaultCanvasItemTextureFilter] for options. </member> <member name="canvas_item_default_texture_repeat" type="int" setter="set_default_canvas_item_texture_repeat" getter="get_default_canvas_item_texture_repeat" enum="Viewport.DefaultCanvasItemTextureRepeat" default="0"> + Sets the default repeat mode used by [CanvasItem]s in this Viewport. See [enum DefaultCanvasItemTextureRepeat] for options. </member> <member name="canvas_transform" type="Transform2D" setter="set_canvas_transform" getter="get_canvas_transform"> The canvas transform of the viewport, useful for changing the on-screen positions of all child [CanvasItem]s. This is relative to the global canvas transform of the viewport. @@ -242,6 +209,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 event. </member> + <member name="gui_embed_subwindows" type="bool" setter="set_embed_subwindows_hint" getter="get_embed_subwindows_hint" default="false"> + </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. </member> @@ -251,19 +220,13 @@ The multisample anti-aliasing mode. A higher number results in smoother edges at the cost of significantly worse performance. A value of 4 is best unless targeting very high-end systems. </member> <member name="own_world" type="bool" setter="set_use_own_world" getter="is_using_own_world" default="false"> - If [code]true[/code], the viewport will use [World] defined in [code]world[/code] property. + If [code]true[/code], the viewport will use [World3D] defined in [code]world[/code] property. </member> <member name="physics_object_picking" type="bool" setter="set_physics_object_picking" getter="get_physics_object_picking" default="false"> If [code]true[/code], the objects rendered by viewport become subjects of mouse picking process. </member> - <member name="render_direct_to_screen" type="bool" setter="set_use_render_direct_to_screen" getter="is_using_render_direct_to_screen" default="false"> - If [code]true[/code], renders the Viewport directly to the screen instead of to the root viewport. Only available in GLES2. This is a low-level optimization and should not be used in most cases. If used, reading from the Viewport or from [code]SCREEN_TEXTURE[/code] becomes unavailable. For more information see [method VisualServer.viewport_set_render_direct_to_screen]. - </member> - <member name="render_target_clear_mode" type="int" setter="set_clear_mode" getter="get_clear_mode" enum="Viewport.ClearMode" default="0"> - The clear mode when viewport used as a render target. - </member> - <member name="render_target_update_mode" type="int" setter="set_update_mode" getter="get_update_mode" enum="Viewport.UpdateMode" default="2"> - The update mode when viewport used as a render target. + <member name="screen_space_aa" type="int" setter="set_screen_space_aa" getter="get_screen_space_aa" enum="Viewport.ScreenSpaceAA" default="0"> + Sets the screen-space antialiasing method used. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry. </member> <member name="shadow_atlas_quad_0" type="int" setter="set_shadow_atlas_quadrant_subdiv" getter="get_shadow_atlas_quadrant_subdiv" enum="Viewport.ShadowAtlasQuadrantSubdiv" default="2"> The subdivision amount of the first quadrant on the shadow atlas. @@ -281,17 +244,11 @@ The shadow atlas' resolution (used for omni and spot lights). The value will be rounded up to the nearest power of 2. [b]Note:[/b] If this is set to 0, shadows won't be visible. Since user-created viewports default to a value of 0, this value must be set above 0 manually. </member> - <member name="size" type="Vector2" setter="set_size" getter="get_size" default="Vector2( 0, 0 )"> - The width and height of viewport. - </member> - <member name="size_override_stretch" type="bool" setter="set_size_override_stretch" getter="is_size_override_stretch_enabled" default="false"> - If [code]true[/code], the size override affects stretch as well. - </member> <member name="transparent_bg" type="bool" setter="set_transparent_background" getter="has_transparent_background" default="false"> If [code]true[/code], the viewport should render its background as transparent. </member> - <member name="world" type="World" setter="set_world" getter="get_world"> - The custom [World] which can be used as 3D environment source. + <member name="world" type="World3D" setter="set_world" getter="get_world"> + The custom [World3D] which can be used as 3D environment source. </member> <member name="world_2d" type="World2D" setter="set_world_2d" getter="get_world_2d"> The custom [World2D] which can be used as 2D environment source. @@ -307,23 +264,11 @@ </signal> <signal name="size_changed"> <description> - Emitted when the size of the viewport is changed, whether by [method set_size_override], resize of window, or some other means. + Emitted when the size of the viewport is changed, whether by resizing of window, or some other means. </description> </signal> </signals> <constants> - <constant name="UPDATE_DISABLED" value="0" enum="UpdateMode"> - Do not update the render target. - </constant> - <constant name="UPDATE_ONCE" value="1" enum="UpdateMode"> - Update the render target once, then switch to [constant UPDATE_DISABLED]. - </constant> - <constant name="UPDATE_WHEN_VISIBLE" value="2" enum="UpdateMode"> - Update the render target only when it is visible. This is the default value. - </constant> - <constant name="UPDATE_ALWAYS" value="3" enum="UpdateMode"> - Always update the render target. - </constant> <constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_DISABLED" value="0" enum="ShadowAtlasQuadrantSubdiv"> This quadrant will not be used. </constant> @@ -348,6 +293,33 @@ <constant name="SHADOW_ATLAS_QUADRANT_SUBDIV_MAX" value="7" enum="ShadowAtlasQuadrantSubdiv"> Represents the size of the [enum ShadowAtlasQuadrantSubdiv] enum. </constant> + <constant name="MSAA_DISABLED" value="0" enum="MSAA"> + Multisample antialiasing mode disabled. This is the default value, and also the fastest setting. + </constant> + <constant name="MSAA_2X" value="1" enum="MSAA"> + Use 2x Multisample Antialiasing. + </constant> + <constant name="MSAA_4X" value="2" enum="MSAA"> + Use 4x Multisample Antialiasing. + </constant> + <constant name="MSAA_8X" value="3" enum="MSAA"> + Use 8x Multisample Antialiasing. Likely unsupported on low-end and older hardware. + </constant> + <constant name="MSAA_16X" value="4" enum="MSAA"> + Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end hardware. + </constant> + <constant name="MSAA_MAX" value="5" enum="MSAA"> + Represents the size of the [enum MSAA] enum. + </constant> + <constant name="SCREEN_SPACE_AA_DISABLED" value="0" enum="ScreenSpaceAA"> + Do not perform any antialiasing in the full screen post-process. + </constant> + <constant name="SCREEN_SPACE_AA_FXAA" value="1" enum="ScreenSpaceAA"> + Use fast approximate antialiasing. FXAA is a popular screen-space antialising method, which is fast but will make the image look blurry, especially at lower resolutions. It can still work relatively well at large resolutions such as 1440p and 4K. + </constant> + <constant name="SCREEN_SPACE_AA_MAX" value="2" enum="ScreenSpaceAA"> + Represents the size of the [enum ScreenSpaceAA] enum. + </constant> <constant name="RENDER_INFO_OBJECTS_IN_FRAME" value="0" enum="RenderInfo"> Amount of objects in frame. </constant> @@ -375,67 +347,71 @@ <constant name="DEBUG_DRAW_UNSHADED" value="1" enum="DebugDraw"> Objects are displayed without light information. </constant> + <constant name="DEBUG_DRAW_LIGHTING" value="2" enum="DebugDraw"> + </constant> <constant name="DEBUG_DRAW_OVERDRAW" value="3" enum="DebugDraw"> - Objected are displayed semi-transparent with additive blending so you can see where they intersect. + Objects are displayed semi-transparent with additive blending so you can see where they are drawing over top of one another. A higher overdraw means you are wasting performance on drawing pixels that are being hidden behind others. </constant> <constant name="DEBUG_DRAW_WIREFRAME" value="4" enum="DebugDraw"> Objects are displayed in wireframe style. </constant> + <constant name="DEBUG_DRAW_NORMAL_BUFFER" value="5" enum="DebugDraw"> + </constant> <constant name="DEBUG_DRAW_GI_PROBE_ALBEDO" value="6" enum="DebugDraw"> + Objects are displayed with only the albedo value from [GIProbe]s. </constant> <constant name="DEBUG_DRAW_GI_PROBE_LIGHTING" value="7" enum="DebugDraw"> + Objects are displayed with only the lighting value from [GIProbe]s. </constant> <constant name="DEBUG_DRAW_GI_PROBE_EMISSION" value="8" enum="DebugDraw"> + Objects are displayed with only the emission color from [GIProbe]s. </constant> <constant name="DEBUG_DRAW_SHADOW_ATLAS" value="9" enum="DebugDraw"> + Draws the shadow atlas that stores shadows from [OmniLight3D]s and [SpotLight3D]s in the upper left quadrant of the [Viewport]. </constant> <constant name="DEBUG_DRAW_DIRECTIONAL_SHADOW_ATLAS" value="10" enum="DebugDraw"> + Draws the shadow atlas that stores shadows from [DirectionalLight3D]s in the upper left quadrant of the [Viewport]. </constant> <constant name="DEBUG_DRAW_SCENE_LUMINANCE" value="11" enum="DebugDraw"> </constant> <constant name="DEBUG_DRAW_SSAO" value="12" enum="DebugDraw"> + Draws the screen-space ambient occlusion texture instead of the scene so that you can clearly see how it is affecting objects. In order for this display mode to work, you must have [member Environment.ssao_enabled] set in your [WorldEnvironment]. </constant> - <constant name="MSAA_DISABLED" value="0" enum="MSAA"> - Multisample anti-aliasing mode disabled. This is the default value. - </constant> - <constant name="MSAA_2X" value="1" enum="MSAA"> - Use 2x Multisample Antialiasing. - </constant> - <constant name="MSAA_4X" value="2" enum="MSAA"> - Use 4x Multisample Antialiasing. - </constant> - <constant name="MSAA_8X" value="3" enum="MSAA"> - Use 8x Multisample Antialiasing. Likely unsupported on low-end and older hardware. - </constant> - <constant name="MSAA_16X" value="4" enum="MSAA"> - Use 16x Multisample Antialiasing. Likely unsupported on medium and low-end hardware. - </constant> - <constant name="CLEAR_MODE_ALWAYS" value="0" enum="ClearMode"> - Always clear the render target before drawing. + <constant name="DEBUG_DRAW_ROUGHNESS_LIMITER" value="13" enum="DebugDraw"> + Draws the roughness limiter post process over the Viewport so you can see where it has an effect. It must be enabled in [member ProjectSettings.rendering/quality/screen_filters/screen_space_roughness_limiter] to work. </constant> - <constant name="CLEAR_MODE_NEVER" value="1" enum="ClearMode"> - Never clear the render target. + <constant name="DEBUG_DRAW_PSSM_SPLITS" value="14" enum="DebugDraw"> + Colors each PSSM split for the [DirectionalLight3D]s in the scene a different color so you can see where the splits are. In order, they will be colored red, green, blue, and yellow. </constant> - <constant name="CLEAR_MODE_ONLY_NEXT_FRAME" value="2" enum="ClearMode"> - Clear the render target next frame, then switch to [constant CLEAR_MODE_NEVER]. + <constant name="DEBUG_DRAW_DECAL_ATLAS" value="15" enum="DebugDraw"> + Draws the decal atlas used by [Decal]s and light projector textures in the upper left quadrant of the [Viewport]. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST" value="0" enum="DefaultCanvasItemTextureFilter"> + The texture filter reads from the nearest pixel only. The simplest and fastest method of filtering, but the texture will look pixelized. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR" value="1" enum="DefaultCanvasItemTextureFilter"> + The texture filter blends between the nearest 4 pixels. Use this when you want to avoid a pixelated style, but do not want mipmaps. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_LINEAR_WITH_MIPMAPS" value="2" enum="DefaultCanvasItemTextureFilter"> + The texture filter reads from the nearest pixel in the nearest mipmap. The fastest way to read from textures with mipmaps. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_NEAREST_WITH_MIPMAPS" value="3" enum="DefaultCanvasItemTextureFilter"> + The texture filter blends between the nearest 4 pixels and between the nearest 2 mipmaps. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_FILTER_MAX" value="4" enum="DefaultCanvasItemTextureFilter"> + Max value for [enum DefaultCanvasItemTextureFilter] enum. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_DISABLED" value="0" enum="DefaultCanvasItemTextureRepeat"> + Disables textures repeating. Instead, when reading UVs outside the 0-1 range, the value will be clamped to the edge of the texture, resulting in a stretched out look at the borders of the texture. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_ENABLED" value="1" enum="DefaultCanvasItemTextureRepeat"> + Enables the texture to repeat when UV coordinates are outside the 0-1 range. If using one of the linear filtering modes, this can result in artifacts at the edges of a texture when the sampler filters across the edges of the texture. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_MIRROR" value="2" enum="DefaultCanvasItemTextureRepeat"> + Flip the texture when repeating so that the edge lines up instead of abruptly changing. </constant> <constant name="DEFAULT_CANVAS_ITEM_TEXTURE_REPEAT_MAX" value="3" enum="DefaultCanvasItemTextureRepeat"> + Max value for [enum DefaultCanvasItemTextureRepeat] enum. </constant> </constants> </class> diff --git a/doc/classes/ViewportContainer.xml b/doc/classes/ViewportContainer.xml deleted file mode 100644 index d2fbb85305..0000000000 --- a/doc/classes/ViewportContainer.xml +++ /dev/null @@ -1,25 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="ViewportContainer" inherits="Container" version="4.0"> - <brief_description> - Control for holding [Viewport]s. - </brief_description> - <description> - A [Container] node that holds a [Viewport], automatically setting its size. - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <members> - <member name="stretch" type="bool" setter="set_stretch" getter="is_stretch_enabled" default="false"> - If [code]true[/code], the viewport will be scaled to the control's size. - </member> - <member name="stretch_shrink" type="int" setter="set_stretch_shrink" getter="get_stretch_shrink" default="1"> - Divides the viewport's effective resolution by this value while preserving its scale. This can be used to speed up rendering. - For example, a 1280×720 viewport with [member stretch_shrink] set to [code]2[/code] will be rendered at 640×360 while occupying the same size in the container. - [b]Note:[/b] [member stretch] must be [code]true[/code] for this property to work. - </member> - </members> - <constants> - </constants> -</class> diff --git a/doc/classes/VisibilityEnabler2D.xml b/doc/classes/VisibilityEnabler2D.xml index 98c3e5d78d..a5abf16a8d 100644 --- a/doc/classes/VisibilityEnabler2D.xml +++ b/doc/classes/VisibilityEnabler2D.xml @@ -1,10 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VisibilityEnabler2D" inherits="VisibilityNotifier2D" version="4.0"> <brief_description> - Enables certain nodes only when visible. + Enables certain nodes only when approximately visible. </brief_description> <description> The VisibilityEnabler2D will disable [RigidBody2D], [AnimationPlayer], and other nodes when they are not visible. It will only affect nodes with the same root node as the VisibilityEnabler2D, and the root node itself. + [b]Note:[/b] For performance reasons, VisibilityEnabler2D uses an approximate heuristic with precision determined by [member ProjectSettings.world/2d/cell_size]. If you need exact visibility checking, use another method such as adding an [Area2D] node as a child of a [Camera2D] node. + [b]Note:[/b] VisibilityEnabler2D will not affect nodes added after scene initialization. </description> <tutorials> </tutorials> @@ -35,13 +37,13 @@ If [code]true[/code], [RigidBody2D] nodes will be paused. </member> <member name="pause_animated_sprites" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true"> - If [code]true[/code], [AnimatedSprite] nodes will be paused. + If [code]true[/code], [AnimatedSprite2D] nodes will be paused. </member> <member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true"> If [code]true[/code], [AnimationPlayer] nodes will be paused. </member> <member name="pause_particles" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true"> - If [code]true[/code], [Particles2D] nodes will be paused. + If [code]true[/code], [GPUParticles2D] nodes will be paused. </member> <member name="physics_process_parent" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="false"> If [code]true[/code], the parent's [method Node._physics_process] will be stopped. @@ -58,7 +60,7 @@ This enabler will freeze [RigidBody2D] nodes. </constant> <constant name="ENABLER_PAUSE_PARTICLES" value="2" enum="Enabler"> - This enabler will stop [Particles2D] nodes. + This enabler will stop [GPUParticles2D] nodes. </constant> <constant name="ENABLER_PARENT_PROCESS" value="3" enum="Enabler"> This enabler will stop the parent's _process function. @@ -67,7 +69,7 @@ This enabler will stop the parent's _physics_process function. </constant> <constant name="ENABLER_PAUSE_ANIMATED_SPRITES" value="5" enum="Enabler"> - This enabler will stop [AnimatedSprite] nodes animations. + This enabler will stop [AnimatedSprite2D] nodes animations. </constant> <constant name="ENABLER_MAX" value="6" enum="Enabler"> Represents the size of the [enum Enabler] enum. diff --git a/doc/classes/VisibilityEnabler.xml b/doc/classes/VisibilityEnabler3D.xml index 82b952fda6..342a37e7a4 100644 --- a/doc/classes/VisibilityEnabler.xml +++ b/doc/classes/VisibilityEnabler3D.xml @@ -1,10 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisibilityEnabler" inherits="VisibilityNotifier" version="4.0"> +<class name="VisibilityEnabler3D" inherits="VisibilityNotifier3D" version="4.0"> <brief_description> - Enables certain nodes only when visible. + Enables certain nodes only when approximately visible. </brief_description> <description> - The VisibilityEnabler will disable [RigidBody] and [AnimationPlayer] nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler itself. + The VisibilityEnabler3D will disable [RigidBody3D] and [AnimationPlayer] nodes when they are not visible. It will only affect other nodes within the same scene as the VisibilityEnabler3D itself. + [b]Note:[/b] VisibilityEnabler3D uses an approximate heuristic for performance reasons. It doesn't take walls and other occlusion into account. If you need exact visibility checking, use another method such as adding an [Area3D] node as a child of a [Camera3D] node. + [b]Note:[/b] VisibilityEnabler3D will not affect nodes added after scene initialization. </description> <tutorials> </tutorials> @@ -12,7 +14,7 @@ <method name="is_enabler_enabled" qualifiers="const"> <return type="bool"> </return> - <argument index="0" name="enabler" type="int" enum="VisibilityEnabler.Enabler"> + <argument index="0" name="enabler" type="int" enum="VisibilityEnabler3D.Enabler"> </argument> <description> Returns whether the enabler identified by given [enum Enabler] constant is active. @@ -21,7 +23,7 @@ <method name="set_enabler"> <return type="void"> </return> - <argument index="0" name="enabler" type="int" enum="VisibilityEnabler.Enabler"> + <argument index="0" name="enabler" type="int" enum="VisibilityEnabler3D.Enabler"> </argument> <argument index="1" name="enabled" type="bool"> </argument> @@ -32,7 +34,7 @@ </methods> <members> <member name="freeze_bodies" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true"> - If [code]true[/code], [RigidBody] nodes will be paused. + If [code]true[/code], [RigidBody3D] nodes will be paused. </member> <member name="pause_animations" type="bool" setter="set_enabler" getter="is_enabler_enabled" default="true"> If [code]true[/code], [AnimationPlayer] nodes will be paused. @@ -43,7 +45,7 @@ This enabler will pause [AnimationPlayer] nodes. </constant> <constant name="ENABLER_FREEZE_BODIES" value="1" enum="Enabler"> - This enabler will freeze [RigidBody] nodes. + This enabler will freeze [RigidBody3D] nodes. </constant> <constant name="ENABLER_MAX" value="2" enum="Enabler"> Represents the size of the [enum Enabler] enum. diff --git a/doc/classes/VisibilityNotifier2D.xml b/doc/classes/VisibilityNotifier2D.xml index f2a4a59d77..391163ef94 100644 --- a/doc/classes/VisibilityNotifier2D.xml +++ b/doc/classes/VisibilityNotifier2D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VisibilityNotifier2D" inherits="Node2D" version="4.0"> <brief_description> - Detects when the node is visible on screen. + Detects approximately when the node is visible on screen. </brief_description> <description> The VisibilityNotifier2D detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a viewport. + [b]Note:[/b] For performance reasons, VisibilityNotifier2D uses an approximate heuristic with precision determined by [member ProjectSettings.world/2d/cell_size]. If you need exact visibility checking, use another method such as adding an [Area2D] node as a child of a [Camera2D] node. </description> <tutorials> </tutorials> diff --git a/doc/classes/VisibilityNotifier.xml b/doc/classes/VisibilityNotifier3D.xml index 6161017884..eb7bb91f26 100644 --- a/doc/classes/VisibilityNotifier.xml +++ b/doc/classes/VisibilityNotifier3D.xml @@ -1,10 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisibilityNotifier" inherits="Spatial" version="4.0"> +<class name="VisibilityNotifier3D" inherits="Node3D" version="4.0"> <brief_description> - Detects when the node is visible on screen. + Detects approximately when the node is visible on screen. </brief_description> <description> - The VisibilityNotifier detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a [Camera]'s view. + The VisibilityNotifier3D detects when it is visible on the screen. It also notifies when its bounding rectangle enters or exits the screen or a [Camera3D]'s view. + [b]Note:[/b] VisibilityNotifier3D uses an approximate heuristic for performance reasons. It doesn't take walls and other occlusion into account. If you need exact visibility checking, use another method such as adding an [Area3D] node as a child of a [Camera3D] node. </description> <tutorials> </tutorials> @@ -20,32 +21,32 @@ </methods> <members> <member name="aabb" type="AABB" setter="set_aabb" getter="get_aabb" default="AABB( -1, -1, -1, 2, 2, 2 )"> - The VisibilityNotifier's bounding box. + The VisibilityNotifier3D's bounding box. </member> </members> <signals> <signal name="camera_entered"> - <argument index="0" name="camera" type="Camera"> + <argument index="0" name="camera" type="Camera3D"> </argument> <description> - Emitted when the VisibilityNotifier enters a [Camera]'s view. + Emitted when the VisibilityNotifier3D enters a [Camera3D]'s view. </description> </signal> <signal name="camera_exited"> - <argument index="0" name="camera" type="Camera"> + <argument index="0" name="camera" type="Camera3D"> </argument> <description> - Emitted when the VisibilityNotifier exits a [Camera]'s view. + Emitted when the VisibilityNotifier3D exits a [Camera3D]'s view. </description> </signal> <signal name="screen_entered"> <description> - Emitted when the VisibilityNotifier enters the screen. + Emitted when the VisibilityNotifier3D enters the screen. </description> </signal> <signal name="screen_exited"> <description> - Emitted when the VisibilityNotifier exits the screen. + Emitted when the VisibilityNotifier3D exits the screen. </description> </signal> </signals> diff --git a/doc/classes/VisualInstance.xml b/doc/classes/VisualInstance3D.xml index 1bbd5cb64d..6451b3f330 100644 --- a/doc/classes/VisualInstance.xml +++ b/doc/classes/VisualInstance3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualInstance" inherits="Spatial" version="4.0"> +<class name="VisualInstance3D" inherits="Node3D" version="4.0"> <brief_description> Parent of all visual 3D nodes. </brief_description> <description> - The [VisualInstance] is used to connect a resource to a visual representation. All visual 3D nodes inherit from the [VisualInstance]. In general, you should not access the [VisualInstance] properties directly as they are accessed and managed by the nodes that inherit from [VisualInstance]. [VisualInstance] is the node representation of the [VisualServer] instance. + The [VisualInstance3D] is used to connect a resource to a visual representation. All visual 3D nodes inherit from the [VisualInstance3D]. In general, you should not access the [VisualInstance3D] properties directly as they are accessed and managed by the nodes that inherit from [VisualInstance3D]. [VisualInstance3D] is the node representation of the [RenderingServer] instance. </description> <tutorials> </tutorials> @@ -13,21 +13,21 @@ <return type="AABB"> </return> <description> - Returns the [AABB] (also known as the bounding box) for this [VisualInstance]. + Returns the [AABB] (also known as the bounding box) for this [VisualInstance3D]. </description> </method> <method name="get_base" qualifiers="const"> <return type="RID"> </return> <description> - Returns the RID of the resource associated with this [VisualInstance]. For example, if the Node is a [MeshInstance], this will return the RID of the associated [Mesh]. + Returns the RID of the resource associated with this [VisualInstance3D]. For example, if the Node is a [MeshInstance3D], this will return the RID of the associated [Mesh]. </description> </method> <method name="get_instance" qualifiers="const"> <return type="RID"> </return> <description> - Returns the RID of this instance. This RID is the same as the RID returned by [method VisualServer.instance_create]. This RID is needed if you want to call [VisualServer] functions directly on this [VisualInstance]. + Returns the RID of this instance. This RID is the same as the RID returned by [method RenderingServer.instance_create]. This RID is needed if you want to call [RenderingServer] functions directly on this [VisualInstance3D]. </description> </method> <method name="get_layer_mask_bit" qualifiers="const"> @@ -43,8 +43,8 @@ <return type="AABB"> </return> <description> - Returns the transformed [AABB] (also known as the bounding box) for this [VisualInstance]. - Transformed in this case means the [AABB] plus the position, rotation, and scale of the [Spatial]'s [Transform]. + Returns the transformed [AABB] (also known as the bounding box) for this [VisualInstance3D]. + Transformed in this case means the [AABB] plus the position, rotation, and scale of the [Node3D]'s [Transform]. </description> </method> <method name="set_base"> @@ -53,7 +53,7 @@ <argument index="0" name="base" type="RID"> </argument> <description> - Sets the resource that is instantiated by this [VisualInstance], which changes how the engine handles the [VisualInstance] under the hood. Equivalent to [method VisualServer.instance_set_base]. + Sets the resource that is instantiated by this [VisualInstance3D], which changes how the engine handles the [VisualInstance3D] under the hood. Equivalent to [method RenderingServer.instance_set_base]. </description> </method> <method name="set_layer_mask_bit"> @@ -70,8 +70,8 @@ </methods> <members> <member name="layers" type="int" setter="set_layer_mask" getter="get_layer_mask" default="1"> - The render layer(s) this [VisualInstance] is drawn on. - This object will only be visible for [Camera]s whose cull mask includes the render object this [VisualInstance] is set to. + 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> </members> <constants> diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml index 99ba665979..40b0f52469 100644 --- a/doc/classes/VisualShader.xml +++ b/doc/classes/VisualShader.xml @@ -22,6 +22,7 @@ <argument index="3" name="id" type="int"> </argument> <description> + Adds the specified node to the shader. </description> </method> <method name="can_connect_nodes" qualifiers="const"> @@ -38,6 +39,7 @@ <argument index="4" name="to_port" type="int"> </argument> <description> + Returns [code]true[/code] if the specified nodes and ports can be connected together. </description> </method> <method name="connect_nodes"> @@ -54,6 +56,7 @@ <argument index="4" name="to_port" type="int"> </argument> <description> + Connects the specified nodes and ports. </description> </method> <method name="connect_nodes_forced"> @@ -70,6 +73,7 @@ <argument index="4" name="to_port" type="int"> </argument> <description> + Connects the specified nodes and ports, even if they can't be connected. Such connection is invalid and will not function properly. </description> </method> <method name="disconnect_nodes"> @@ -86,6 +90,7 @@ <argument index="4" name="to_port" type="int"> </argument> <description> + Connects the specified nodes and ports. </description> </method> <method name="get_node" qualifiers="const"> @@ -96,6 +101,7 @@ <argument index="1" name="id" type="int"> </argument> <description> + Returns the shader node instance with specified [code]type[/code] and [code]id[/code]. </description> </method> <method name="get_node_connections" qualifiers="const"> @@ -104,14 +110,16 @@ <argument index="0" name="type" type="int" enum="VisualShader.Type"> </argument> <description> + Returns the list of connected nodes with the specified type. </description> </method> <method name="get_node_list" qualifiers="const"> - <return type="PackedIntArray"> + <return type="PackedInt32Array"> </return> <argument index="0" name="type" type="int" enum="VisualShader.Type"> </argument> <description> + Returns the list of all nodes in the shader with the specified type. </description> </method> <method name="get_node_position" qualifiers="const"> @@ -122,6 +130,7 @@ <argument index="1" name="id" type="int"> </argument> <description> + Returns the position of the specified node within the shader graph. </description> </method> <method name="get_valid_node_id" qualifiers="const"> @@ -146,6 +155,7 @@ <argument index="4" name="to_port" type="int"> </argument> <description> + Returns [code]true[/code] if the specified node and port connection exist. </description> </method> <method name="remove_node"> @@ -156,6 +166,7 @@ <argument index="1" name="id" type="int"> </argument> <description> + Removes the specified node from the shader. </description> </method> <method name="set_mode"> @@ -164,6 +175,7 @@ <argument index="0" name="mode" type="int" enum="Shader.Mode"> </argument> <description> + Sets the mode of this shader. </description> </method> <method name="set_node_position"> @@ -176,20 +188,27 @@ <argument index="2" name="position" type="Vector2"> </argument> <description> + Sets the position of the specified node. </description> </method> </methods> <members> <member name="code" type="String" setter="set_code" getter="get_code" override="true" default=""shader_type spatial;void vertex() {// Output:0}void fragment() {// Output:0}void light() {// Output:0}"" /> <member name="graph_offset" type="Vector2" setter="set_graph_offset" getter="get_graph_offset" default="Vector2( 0, 0 )"> + The offset vector of the whole graph. + </member> + <member name="version" type="String" setter="set_version" getter="get_version" default=""""> </member> </members> <constants> <constant name="TYPE_VERTEX" value="0" enum="Type"> + A vertex shader, operating on vertices. </constant> <constant name="TYPE_FRAGMENT" value="1" enum="Type"> + A fragment shader, operating on fragments (pixels). </constant> <constant name="TYPE_LIGHT" value="2" enum="Type"> + A shader for light calculations. </constant> <constant name="TYPE_MAX" value="3" enum="Type"> Represents the size of the [enum Type] enum. diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml index d3227f421e..28d13a7d32 100644 --- a/doc/classes/VisualShaderNode.xml +++ b/doc/classes/VisualShaderNode.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VisualShaderNode" inherits="Resource" version="4.0"> <brief_description> + Base class for nodes in a visual shader graph. </brief_description> <description> </description> @@ -61,19 +62,22 @@ <constant name="PORT_TYPE_SCALAR" value="0" enum="PortType"> Floating-point scalar. Translated to [code]float[/code] type in shader code. </constant> - <constant name="PORT_TYPE_VECTOR" value="1" enum="PortType"> + <constant name="PORT_TYPE_SCALAR_INT" value="1" enum="PortType"> + Integer scalar. Translated to [code]int[/code] type in shader code. + </constant> + <constant name="PORT_TYPE_VECTOR" value="2" enum="PortType"> 3D vector of floating-point values. Translated to [code]vec3[/code] type in shader code. </constant> - <constant name="PORT_TYPE_BOOLEAN" value="2" enum="PortType"> + <constant name="PORT_TYPE_BOOLEAN" value="3" enum="PortType"> Boolean type. Translated to [code]bool[/code] type in shader code. </constant> - <constant name="PORT_TYPE_TRANSFORM" value="3" enum="PortType"> + <constant name="PORT_TYPE_TRANSFORM" value="4" enum="PortType"> Transform type. Translated to [code]mat4[/code] type in shader code. </constant> - <constant name="PORT_TYPE_SAMPLER" value="4" enum="PortType"> + <constant name="PORT_TYPE_SAMPLER" value="5" enum="PortType"> Sampler type. Translated to reference of sampler uniform in shader code. Can only be used for input ports in non-uniform nodes. </constant> - <constant name="PORT_TYPE_MAX" value="5" enum="PortType"> + <constant name="PORT_TYPE_MAX" value="6" enum="PortType"> Represents the size of the [enum PortType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeCompare.xml b/doc/classes/VisualShaderNodeCompare.xml index f207cba0a5..9c2331edea 100644 --- a/doc/classes/VisualShaderNodeCompare.xml +++ b/doc/classes/VisualShaderNodeCompare.xml @@ -25,13 +25,16 @@ <constant name="CTYPE_SCALAR" value="0" enum="ComparisonType"> A floating-point scalar. </constant> - <constant name="CTYPE_VECTOR" value="1" enum="ComparisonType"> + <constant name="CTYPE_SCALAR_INT" value="1" enum="ComparisonType"> + An integer scalar. + </constant> + <constant name="CTYPE_VECTOR" value="2" enum="ComparisonType"> A 3D vector type. </constant> - <constant name="CTYPE_BOOLEAN" value="2" enum="ComparisonType"> + <constant name="CTYPE_BOOLEAN" value="3" enum="ComparisonType"> A boolean type. </constant> - <constant name="CTYPE_TRANSFORM" value="3" enum="ComparisonType"> + <constant name="CTYPE_TRANSFORM" value="4" enum="ComparisonType"> A transform ([code]mat4[/code]) type. </constant> <constant name="FUNC_EQUAL" value="0" enum="Function"> @@ -50,7 +53,7 @@ Comparison for less than ([code]a < b[/code]). Cannot be used if [member type] set to [constant CTYPE_BOOLEAN] or [constant CTYPE_TRANSFORM]. </constant> <constant name="FUNC_LESS_THAN_EQUAL" value="5" enum="Function"> - Comparison for less than or equal ([code]a < b[/code]). Cannot be used if [member type] set to [constant CTYPE_BOOLEAN] or [constant CTYPE_TRANSFORM]. + Comparison for less than or equal ([code]a <= b[/code]). Cannot be used if [member type] set to [constant CTYPE_BOOLEAN] or [constant CTYPE_TRANSFORM]. </constant> <constant name="COND_ALL" value="0" enum="Condition"> The result will be true if all of component in vector satisfy the comparison condition. diff --git a/doc/classes/VisualShaderNodeCustom.xml b/doc/classes/VisualShaderNodeCustom.xml index 0d1bcc754f..5bd8ec38ed 100644 --- a/doc/classes/VisualShaderNodeCustom.xml +++ b/doc/classes/VisualShaderNodeCustom.xml @@ -20,8 +20,8 @@ <return type="String"> </return> <description> - Override this method to define the category of the associated custom node in the Visual Shader Editor's members dialog. - Defining this method is [b]optional[/b]. If not overridden, the node will be filed under the "Custom" category. + Override this method to define the path to the associated custom node in the Visual Shader Editor's members dialog. The path may looks like [code]"MyGame/MyFunctions/Noise"[/code]. + Defining this method is [b]optional[/b]. If not overridden, the node will be filed under the "Addons" category. </description> </method> <method name="_get_code" qualifiers="virtual"> @@ -72,7 +72,7 @@ </description> </method> <method name="_get_input_port_name" qualifiers="virtual"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="port" type="int"> </argument> @@ -108,7 +108,7 @@ </description> </method> <method name="_get_output_port_name" qualifiers="virtual"> - <return type="String"> + <return type="StringName"> </return> <argument index="0" name="port" type="int"> </argument> @@ -135,14 +135,6 @@ Defining this method is [b]optional[/b]. If not overridden, no return icon is shown. </description> </method> - <method name="_get_subcategory" qualifiers="virtual"> - <return type="String"> - </return> - <description> - Override this method to define the subcategory of the associated custom node in the Visual Shader Editor's members dialog. - Defining this method is [b]optional[/b]. If not overridden, the node will be filed under the root of the main category (see [method _get_category]). - </description> - </method> <method name="_is_highend" qualifiers="virtual"> <return type="bool"> </return> diff --git a/doc/classes/VisualShaderNodeFloatConstant.xml b/doc/classes/VisualShaderNodeFloatConstant.xml new file mode 100644 index 0000000000..3ba9ff07d3 --- /dev/null +++ b/doc/classes/VisualShaderNodeFloatConstant.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeFloatConstant" inherits="VisualShaderNode" version="4.0"> + <brief_description> + A scalar floating-point constant to be used within the visual shader graph. + </brief_description> + <description> + Translated to [code]float[/code] in the shader language. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="constant" type="float" setter="set_constant" getter="get_constant" default="0.0"> + A floating-point constant which represents a state of this node. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/VisualShaderNodeFloatFunc.xml b/doc/classes/VisualShaderNodeFloatFunc.xml new file mode 100644 index 0000000000..bb7486e8cf --- /dev/null +++ b/doc/classes/VisualShaderNodeFloatFunc.xml @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeFloatFunc" inherits="VisualShaderNode" version="4.0"> + <brief_description> + A scalar floating-point function to be used within the visual shader graph. + </brief_description> + <description> + Accept a floating-point scalar ([code]x[/code]) to the input port and transform it according to [member function]. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeFloatFunc.Function" default="13"> + A function to be applied to the scalar. See [enum Function] for options. + </member> + </members> + <constants> + <constant name="FUNC_SIN" value="0" enum="Function"> + Returns the sine of the parameter. Translates to [code]sin(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_COS" value="1" enum="Function"> + Returns the cosine of the parameter. Translates to [code]cos(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_TAN" value="2" enum="Function"> + Returns the tangent of the parameter. Translates to [code]tan(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_ASIN" value="3" enum="Function"> + Returns the arc-sine of the parameter. Translates to [code]asin(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_ACOS" value="4" enum="Function"> + Returns the arc-cosine of the parameter. Translates to [code]acos(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_ATAN" value="5" enum="Function"> + Returns the arc-tangent of the parameter. Translates to [code]atan(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_SINH" value="6" enum="Function"> + Returns the hyperbolic sine of the parameter. Translates to [code]sinh(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_COSH" value="7" enum="Function"> + Returns the hyperbolic cosine of the parameter. Translates to [code]cosh(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_TANH" value="8" enum="Function"> + Returns the hyperbolic tangent of the parameter. Translates to [code]tanh(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_LOG" value="9" enum="Function"> + Returns the natural logarithm of the parameter. Translates to [code]log(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_EXP" value="10" enum="Function"> + Returns the natural exponentiation of the parameter. Translates to [code]exp(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_SQRT" value="11" enum="Function"> + Returns the square root of the parameter. Translates to [code]sqrt(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_ABS" value="12" enum="Function"> + Returns the absolute value of the parameter. Translates to [code]abs(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_SIGN" value="13" enum="Function"> + Extracts the sign of the parameter. Translates to [code]sign(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_FLOOR" value="14" enum="Function"> + Finds the nearest integer less than or equal to the parameter. Translates to [code]floor(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_ROUND" value="15" enum="Function"> + Finds the nearest integer to the parameter. Translates to [code]round(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_CEIL" value="16" enum="Function"> + Finds the nearest integer that is greater than or equal to the parameter. Translates to [code]ceil(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_FRAC" value="17" enum="Function"> + Computes the fractional part of the argument. Translates to [code]fract(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_SATURATE" value="18" enum="Function"> + Clamps the value between [code]0.0[/code] and [code]1.0[/code] using [code]min(max(x, 0.0), 1.0)[/code]. + </constant> + <constant name="FUNC_NEGATE" value="19" enum="Function"> + Negates the [code]x[/code] using [code]-(x)[/code]. + </constant> + <constant name="FUNC_ACOSH" value="20" enum="Function"> + Returns the arc-hyperbolic-cosine of the parameter. Translates to [code]acosh(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_ASINH" value="21" enum="Function"> + Returns the arc-hyperbolic-sine of the parameter. Translates to [code]asinh(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_ATANH" value="22" enum="Function"> + Returns the arc-hyperbolic-tangent of the parameter. Translates to [code]atanh(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_DEGREES" value="23" enum="Function"> + Convert a quantity in radians to degrees. Translates to [code]degrees(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_EXP2" value="24" enum="Function"> + Returns 2 raised by the power of the parameter. Translates to [code]exp2(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_INVERSE_SQRT" value="25" enum="Function"> + Returns the inverse of the square root of the parameter. Translates to [code]inversesqrt(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_LOG2" value="26" enum="Function"> + Returns the base 2 logarithm of the parameter. Translates to [code]log2(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_RADIANS" value="27" enum="Function"> + Convert a quantity in degrees to radians. Translates to [code]radians(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_RECIPROCAL" value="28" enum="Function"> + Finds reciprocal value of dividing 1 by [code]x[/code] (i.e. [code]1 / x[/code]). + </constant> + <constant name="FUNC_ROUNDEVEN" value="29" enum="Function"> + Finds the nearest even integer to the parameter. Translates to [code]roundEven(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_TRUNC" value="30" enum="Function"> + Returns a value equal to the nearest integer to [code]x[/code] whose absolute value is not larger than the absolute value of [code]x[/code]. Translates to [code]trunc(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_ONEMINUS" value="31" enum="Function"> + Subtracts scalar [code]x[/code] from 1 (i.e. [code]1 - x[/code]). + </constant> + </constants> +</class> diff --git a/doc/classes/VisualShaderNodeFloatOp.xml b/doc/classes/VisualShaderNodeFloatOp.xml new file mode 100644 index 0000000000..2c9ebabb89 --- /dev/null +++ b/doc/classes/VisualShaderNodeFloatOp.xml @@ -0,0 +1,50 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeFloatOp" inherits="VisualShaderNode" version="4.0"> + <brief_description> + A floating-point scalar operator to be used within the visual shader graph. + </brief_description> + <description> + Applies [member operator] to two floating-point inputs: [code]a[/code] and [code]b[/code]. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeFloatOp.Operator" default="0"> + An operator to be applied to the inputs. See [enum Operator] for options. + </member> + </members> + <constants> + <constant name="OP_ADD" value="0" enum="Operator"> + Sums two numbers using [code]a + b[/code]. + </constant> + <constant name="OP_SUB" value="1" enum="Operator"> + Subtracts two numbers using [code]a - b[/code]. + </constant> + <constant name="OP_MUL" value="2" enum="Operator"> + Multiplies two numbers using [code]a * b[/code]. + </constant> + <constant name="OP_DIV" value="3" enum="Operator"> + Divides two numbers using [code]a / b[/code]. + </constant> + <constant name="OP_MOD" value="4" enum="Operator"> + Calculates the remainder of two numbers. Translates to [code]mod(a, b)[/code] in the Godot Shader Language. + </constant> + <constant name="OP_POW" value="5" enum="Operator"> + Raises the [code]a[/code] to the power of [code]b[/code]. Translates to [code]pow(a, b)[/code] in the Godot Shader Language. + </constant> + <constant name="OP_MAX" value="6" enum="Operator"> + Returns the greater of two numbers. Translates to [code]max(a, b)[/code] in the Godot Shader Language. + </constant> + <constant name="OP_MIN" value="7" enum="Operator"> + Returns the lesser of two numbers. Translates to [code]min(a, b)[/code] in the Godot Shader Language. + </constant> + <constant name="OP_ATAN2" value="8" enum="Operator"> + Returns the arc-tangent of the parameters. Translates to [code]atan(a, b)[/code] in the Godot Shader Language. + </constant> + <constant name="OP_STEP" value="9" enum="Operator"> + Generates a step function by comparing [code]b[/code](x) to [code]a[/code](edge). Returns 0.0 if [code]x[/code] is smaller than [code]edge[/code] and otherwise 1.0. Translates to [code]step(a, b)[/code] in the Godot Shader Language. + </constant> + </constants> +</class> diff --git a/doc/classes/VisualShaderNodeScalarUniform.xml b/doc/classes/VisualShaderNodeFloatUniform.xml index fab766d3f9..33ece8ac1b 100644 --- a/doc/classes/VisualShaderNodeScalarUniform.xml +++ b/doc/classes/VisualShaderNodeFloatUniform.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarUniform" inherits="VisualShaderNodeUniform" version="4.0"> +<class name="VisualShaderNodeFloatUniform" inherits="VisualShaderNodeUniform" version="4.0"> <brief_description> - A scalar uniform to be used within the visual shader graph. + A scalar float uniform to be used within the visual shader graph. </brief_description> <description> Translated to [code]uniform float[/code] in the shader language. @@ -11,7 +11,7 @@ <methods> </methods> <members> - <member name="hint" type="int" setter="set_hint" getter="get_hint" enum="VisualShaderNodeScalarUniform.Hint" default="0"> + <member name="hint" type="int" setter="set_hint" getter="get_hint" enum="VisualShaderNodeFloatUniform.Hint" default="0"> A hint applied to the uniform, which controls the values it can take when set through the inspector. </member> <member name="max" type="float" setter="set_max" getter="get_max" default="1.0"> diff --git a/doc/classes/VisualShaderNodeIf.xml b/doc/classes/VisualShaderNodeIf.xml index 0a8fdcfd4d..ad0b21a370 100644 --- a/doc/classes/VisualShaderNodeIf.xml +++ b/doc/classes/VisualShaderNodeIf.xml @@ -1,8 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VisualShaderNodeIf" inherits="VisualShaderNode" version="4.0"> <brief_description> + Compares two floating-point numbers in order to return a required vector within the visual shader graph. </brief_description> <description> + First two ports are scalar floatin-point numbers to compare, third is tolerance comparison amount and last three ports represents a vectors returned if [code]a == b[/code], [code]a > b[/code] and [code]a < b[/code] respectively. </description> <tutorials> </tutorials> diff --git a/doc/classes/VisualShaderNodeInput.xml b/doc/classes/VisualShaderNodeInput.xml index 1c8d8d84c4..ed629508d0 100644 --- a/doc/classes/VisualShaderNodeInput.xml +++ b/doc/classes/VisualShaderNodeInput.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VisualShaderNodeInput" inherits="VisualShaderNode" version="4.0"> <brief_description> + Represents the input shader parameter within the visual shader graph. </brief_description> <description> </description> @@ -11,16 +12,19 @@ <return type="String"> </return> <description> + Returns a translated name of the current constant in the Godot Shader Language. eg. [code]"ALBEDO"[/code] if the [member input_name] equal to [code]"albedo"[/code]. </description> </method> </methods> <members> <member name="input_name" type="String" setter="set_input_name" getter="get_input_name" default=""[None]""> + One of the several input constants in lower-case style like: "vertex"([/code]VERTEX[code]) or "point_size"([code]POINT_SIZE[/code]). </member> </members> <signals> <signal name="input_type_changed"> <description> + Emitted when input is changed via [member input_name]. </description> </signal> </signals> diff --git a/doc/classes/VisualShaderNodeIntConstant.xml b/doc/classes/VisualShaderNodeIntConstant.xml new file mode 100644 index 0000000000..1c407b21ca --- /dev/null +++ b/doc/classes/VisualShaderNodeIntConstant.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeIntConstant" inherits="VisualShaderNode" version="4.0"> + <brief_description> + A scalar integer constant to be used within the visual shader graph. + </brief_description> + <description> + Translated to [code]int[/code] in the shader language. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="constant" type="int" setter="set_constant" getter="get_constant" default="0"> + An integer constant which represents a state of this node. + </member> + </members> + <constants> + </constants> +</class> diff --git a/doc/classes/VisualShaderNodeIntFunc.xml b/doc/classes/VisualShaderNodeIntFunc.xml new file mode 100644 index 0000000000..5c68c0ec71 --- /dev/null +++ b/doc/classes/VisualShaderNodeIntFunc.xml @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeIntFunc" inherits="VisualShaderNode" version="4.0"> + <brief_description> + A scalar integer function to be used within the visual shader graph. + </brief_description> + <description> + Accept an integer scalar ([code]x[/code]) to the input port and transform it according to [member function]. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeIntFunc.Function" default="3"> + A function to be applied to the scalar. See [enum Function] for options. + </member> + </members> + <constants> + <constant name="FUNC_ABS" value="0" enum="Function"> + Returns the absolute value of the parameter. Translates to [code]abs(x)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_CLAMP" value="1" enum="Function"> + Constrains a parameter between [code]min[/code] and [code]max[/code]. Translates to [code]clamp(x, min, max)[/code] in the Godot Shader Language. + </constant> + <constant name="FUNC_NEGATE" value="2" enum="Function"> + Negates the [code]x[/code] using [code]-(x)[/code]. + </constant> + <constant name="FUNC_SIGN" value="3" enum="Function"> + Extracts the sign of the parameter. Translates to [code]sign(x)[/code] in the Godot Shader Language. + </constant> + </constants> +</class> diff --git a/doc/classes/VisualShaderNodeIntOp.xml b/doc/classes/VisualShaderNodeIntOp.xml new file mode 100644 index 0000000000..fc9a0a9a0a --- /dev/null +++ b/doc/classes/VisualShaderNodeIntOp.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeIntOp" inherits="VisualShaderNode" version="4.0"> + <brief_description> + An integer scalar operator to be used within the visual shader graph. + </brief_description> + <description> + Applies [member operator] to two integer inputs: [code]a[/code] and [code]b[/code]. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeIntOp.Operator" default="0"> + An operator to be applied to the inputs. See [enum Operator] for options. + </member> + </members> + <constants> + <constant name="OP_ADD" value="0" enum="Operator"> + Sums two numbers using [code]a + b[/code]. + </constant> + <constant name="OP_SUB" value="1" enum="Operator"> + Subtracts two numbers using [code]a - b[/code]. + </constant> + <constant name="OP_MUL" value="2" enum="Operator"> + Multiplies two numbers using [code]a * b[/code]. + </constant> + <constant name="OP_DIV" value="3" enum="Operator"> + Divides two numbers using [code]a / b[/code]. + </constant> + <constant name="OP_MOD" value="4" enum="Operator"> + Calculates the remainder of two numbers using [code]a % b[/code]. + </constant> + <constant name="OP_MAX" value="5" enum="Operator"> + Returns the greater of two numbers. Translates to [code]max(a, b)[/code] in the Godot Shader Language. + </constant> + <constant name="OP_MIN" value="6" enum="Operator"> + Returns the lesser of two numbers. Translates to [code]max(a, b)[/code] in the Godot Shader Language. + </constant> + </constants> +</class> diff --git a/doc/classes/VisualShaderNodeIntUniform.xml b/doc/classes/VisualShaderNodeIntUniform.xml new file mode 100644 index 0000000000..8c7c288177 --- /dev/null +++ b/doc/classes/VisualShaderNodeIntUniform.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeIntUniform" inherits="VisualShaderNodeUniform" version="4.0"> + <brief_description> + A scalar integer uniform to be used within the visual shader graph. + </brief_description> + <description> + Translated to [code]uniform int[/code] in the shader language. + </description> + <tutorials> + </tutorials> + <methods> + </methods> + <members> + <member name="hint" type="int" setter="set_hint" getter="get_hint" enum="VisualShaderNodeIntUniform.Hint" default="0"> + A hint applied to the uniform, which controls the values it can take when set through the inspector. + </member> + <member name="max" type="int" setter="set_max" getter="get_max" default="100"> + Minimum value for range hints. Used if [member hint] is set to [constant HINT_RANGE] or [constant HINT_RANGE_STEP]. + </member> + <member name="min" type="int" setter="set_min" getter="get_min" default="0"> + Maximum value for range hints. Used if [member hint] is set to [constant HINT_RANGE] or [constant HINT_RANGE_STEP]. + </member> + <member name="step" type="int" setter="set_step" getter="get_step" default="1"> + Step (increment) value for the range hint with step. Used if [member hint] is set to [constant HINT_RANGE_STEP]. + </member> + </members> + <constants> + <constant name="HINT_NONE" value="0" enum="Hint"> + No hint used. + </constant> + <constant name="HINT_RANGE" value="1" enum="Hint"> + A range hint for scalar value, which limits possible input values between [member min] and [member max]. Translated to [code]hint_range(min, max)[/code] in shader code. + </constant> + <constant name="HINT_RANGE_STEP" value="2" enum="Hint"> + A range hint for scalar value with step, which limits possible input values between [member min] and [member max], with a step (increment) of [member step]). Translated to [code]hint_range(min, max, step)[/code] in shader code. + </constant> + </constants> +</class> diff --git a/doc/classes/VisualShaderNodeScalarFunc.xml b/doc/classes/VisualShaderNodeScalarFunc.xml deleted file mode 100644 index b306d198f6..0000000000 --- a/doc/classes/VisualShaderNodeScalarFunc.xml +++ /dev/null @@ -1,81 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarFunc" inherits="VisualShaderNode" version="4.0"> - <brief_description> - </brief_description> - <description> - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <members> - <member name="function" type="int" setter="set_function" getter="get_function" enum="VisualShaderNodeScalarFunc.Function" default="13"> - </member> - </members> - <constants> - <constant name="FUNC_SIN" value="0" enum="Function"> - </constant> - <constant name="FUNC_COS" value="1" enum="Function"> - </constant> - <constant name="FUNC_TAN" value="2" enum="Function"> - </constant> - <constant name="FUNC_ASIN" value="3" enum="Function"> - </constant> - <constant name="FUNC_ACOS" value="4" enum="Function"> - </constant> - <constant name="FUNC_ATAN" value="5" enum="Function"> - </constant> - <constant name="FUNC_SINH" value="6" enum="Function"> - </constant> - <constant name="FUNC_COSH" value="7" enum="Function"> - </constant> - <constant name="FUNC_TANH" value="8" enum="Function"> - </constant> - <constant name="FUNC_LOG" value="9" enum="Function"> - </constant> - <constant name="FUNC_EXP" value="10" enum="Function"> - </constant> - <constant name="FUNC_SQRT" value="11" enum="Function"> - </constant> - <constant name="FUNC_ABS" value="12" enum="Function"> - </constant> - <constant name="FUNC_SIGN" value="13" enum="Function"> - </constant> - <constant name="FUNC_FLOOR" value="14" enum="Function"> - </constant> - <constant name="FUNC_ROUND" value="15" enum="Function"> - </constant> - <constant name="FUNC_CEIL" value="16" enum="Function"> - </constant> - <constant name="FUNC_FRAC" value="17" enum="Function"> - </constant> - <constant name="FUNC_SATURATE" value="18" enum="Function"> - </constant> - <constant name="FUNC_NEGATE" value="19" enum="Function"> - </constant> - <constant name="FUNC_ACOSH" value="20" enum="Function"> - </constant> - <constant name="FUNC_ASINH" value="21" enum="Function"> - </constant> - <constant name="FUNC_ATANH" value="22" enum="Function"> - </constant> - <constant name="FUNC_DEGREES" value="23" enum="Function"> - </constant> - <constant name="FUNC_EXP2" value="24" enum="Function"> - </constant> - <constant name="FUNC_INVERSE_SQRT" value="25" enum="Function"> - </constant> - <constant name="FUNC_LOG2" value="26" enum="Function"> - </constant> - <constant name="FUNC_RADIANS" value="27" enum="Function"> - </constant> - <constant name="FUNC_RECIPROCAL" value="28" enum="Function"> - </constant> - <constant name="FUNC_ROUNDEVEN" value="29" enum="Function"> - </constant> - <constant name="FUNC_TRUNC" value="30" enum="Function"> - </constant> - <constant name="FUNC_ONEMINUS" value="31" enum="Function"> - </constant> - </constants> -</class> diff --git a/doc/classes/VisualShaderNodeScalarOp.xml b/doc/classes/VisualShaderNodeScalarOp.xml deleted file mode 100644 index f13f16cdd2..0000000000 --- a/doc/classes/VisualShaderNodeScalarOp.xml +++ /dev/null @@ -1,37 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="VisualShaderNodeScalarOp" inherits="VisualShaderNode" version="4.0"> - <brief_description> - </brief_description> - <description> - </description> - <tutorials> - </tutorials> - <methods> - </methods> - <members> - <member name="operator" type="int" setter="set_operator" getter="get_operator" enum="VisualShaderNodeScalarOp.Operator" default="0"> - </member> - </members> - <constants> - <constant name="OP_ADD" value="0" enum="Operator"> - </constant> - <constant name="OP_SUB" value="1" enum="Operator"> - </constant> - <constant name="OP_MUL" value="2" enum="Operator"> - </constant> - <constant name="OP_DIV" value="3" enum="Operator"> - </constant> - <constant name="OP_MOD" value="4" enum="Operator"> - </constant> - <constant name="OP_POW" value="5" enum="Operator"> - </constant> - <constant name="OP_MAX" value="6" enum="Operator"> - </constant> - <constant name="OP_MIN" value="7" enum="Operator"> - </constant> - <constant name="OP_ATAN2" value="8" enum="Operator"> - </constant> - <constant name="OP_STEP" value="9" enum="Operator"> - </constant> - </constants> -</class> diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml new file mode 100644 index 0000000000..e1a0f1f22a --- /dev/null +++ b/doc/classes/Window.xml @@ -0,0 +1,419 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Window" inherits="Viewport" version="4.0"> + <brief_description> + </brief_description> + <description> + </description> + <tutorials> + </tutorials> + <methods> + <method name="can_draw" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="child_controls_changed"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="get_flag" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="flag" type="int" enum="Window.Flags"> + </argument> + <description> + </description> + </method> + <method name="get_real_size" qualifiers="const"> + <return type="Vector2i"> + </return> + <description> + </description> + </method> + <method name="get_theme_color" qualifiers="const"> + <return type="Color"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="get_theme_constant" qualifiers="const"> + <return type="int"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="get_theme_font" qualifiers="const"> + <return type="Font"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="get_theme_icon" qualifiers="const"> + <return type="Texture2D"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="get_theme_stylebox" qualifiers="const"> + <return type="StyleBox"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="grab_focus"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="has_focus" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="has_theme_color" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="has_theme_constant" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="has_theme_font" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="has_theme_icon" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="has_theme_stylebox" qualifiers="const"> + <return type="bool"> + </return> + <argument index="0" name="name" type="StringName"> + </argument> + <argument index="1" name="type" type="StringName" default=""""> + </argument> + <description> + </description> + </method> + <method name="hide"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="is_embedded" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="is_maximize_allowed" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="is_using_font_oversampling" qualifiers="const"> + <return type="bool"> + </return> + <description> + </description> + </method> + <method name="move_to_foreground"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="popup"> + <return type="void"> + </return> + <argument index="0" name="rect" type="Rect2i" default="Rect2i( 0, 0, 0, 0 )"> + </argument> + <description> + </description> + </method> + <method name="popup_centered"> + <return type="void"> + </return> + <argument index="0" name="minsize" type="Vector2i" default="Vector2i( 0, 0 )"> + </argument> + <description> + </description> + </method> + <method name="popup_centered_clamped"> + <return type="void"> + </return> + <argument index="0" name="minsize" type="Vector2i" default="Vector2i( 0, 0 )"> + </argument> + <argument index="1" name="fallback_ratio" type="float" default="0.75"> + </argument> + <description> + </description> + </method> + <method name="popup_centered_ratio"> + <return type="void"> + </return> + <argument index="0" name="ratio" type="float" default="0.8"> + </argument> + <description> + </description> + </method> + <method name="popup_on_parent"> + <return type="void"> + </return> + <argument index="0" name="parent_rect" type="Rect2i"> + </argument> + <description> + </description> + </method> + <method name="request_attention"> + <return type="void"> + </return> + <description> + </description> + </method> + <method name="set_flag"> + <return type="void"> + </return> + <argument index="0" name="flag" type="int" enum="Window.Flags"> + </argument> + <argument index="1" name="enabled" type="bool"> + </argument> + <description> + </description> + </method> + <method name="set_ime_active"> + <return type="void"> + </return> + <argument index="0" name="arg0" type="bool"> + </argument> + <description> + </description> + </method> + <method name="set_ime_position"> + <return type="void"> + </return> + <argument index="0" name="arg0" type="Vector2i"> + </argument> + <description> + </description> + </method> + <method name="set_use_font_oversampling"> + <return type="void"> + </return> + <argument index="0" name="enable" type="bool"> + </argument> + <description> + </description> + </method> + <method name="show"> + <return type="void"> + </return> + <description> + </description> + </method> + </methods> + <members> + <member name="always_on_top" type="bool" setter="set_flag" getter="get_flag" default="false"> + </member> + <member name="borderless" type="bool" setter="set_flag" getter="get_flag" default="false"> + </member> + <member name="content_scale_aspect" type="int" setter="set_content_scale_aspect" getter="get_content_scale_aspect" enum="Window.ContentScaleAspect" default="0"> + </member> + <member name="content_scale_mode" type="int" setter="set_content_scale_mode" getter="get_content_scale_mode" enum="Window.ContentScaleMode" default="0"> + </member> + <member name="content_scale_size" type="Vector2i" setter="set_content_scale_size" getter="get_content_scale_size" default="Vector2i( 0, 0 )"> + </member> + <member name="current_screen" type="int" setter="set_current_screen" getter="get_current_screen" default="0"> + </member> + <member name="exclusive" type="bool" setter="set_exclusive" getter="is_exclusive" default="false"> + </member> + <member name="max_size" type="Vector2i" setter="set_max_size" getter="get_max_size" default="Vector2i( 0, 0 )"> + </member> + <member name="min_size" type="Vector2i" setter="set_min_size" getter="get_min_size" default="Vector2i( 0, 0 )"> + </member> + <member name="mode" type="int" setter="set_mode" getter="get_mode" enum="Window.Mode" default="0"> + </member> + <member name="position" type="Vector2i" setter="set_position" getter="get_position" default="Vector2i( 0, 0 )"> + </member> + <member name="size" type="Vector2i" setter="set_size" getter="get_size" default="Vector2i( 100, 100 )"> + </member> + <member name="theme" type="Theme" setter="set_theme" getter="get_theme"> + </member> + <member name="title" type="String" setter="set_title" getter="get_title" default=""""> + </member> + <member name="transient" type="bool" setter="set_transient" getter="is_transient" default="false"> + </member> + <member name="transparent" type="bool" setter="set_flag" getter="get_flag" default="false"> + </member> + <member name="unfocusable" type="bool" setter="set_flag" getter="get_flag" default="false"> + </member> + <member name="unresizable" type="bool" setter="set_flag" getter="get_flag" default="false"> + </member> + <member name="visible" type="bool" setter="set_visible" getter="is_visible" default="true"> + </member> + <member name="wrap_controls" type="bool" setter="set_wrap_controls" getter="is_wrapping_controls" default="false"> + </member> + </members> + <signals> + <signal name="about_to_popup"> + <description> + </description> + </signal> + <signal name="close_requested"> + <description> + </description> + </signal> + <signal name="files_dropped"> + <argument index="0" name="files" type="PackedStringArray"> + </argument> + <description> + </description> + </signal> + <signal name="focus_entered"> + <description> + </description> + </signal> + <signal name="focus_exited"> + <description> + </description> + </signal> + <signal name="go_back_requested"> + <description> + </description> + </signal> + <signal name="mouse_entered"> + <description> + </description> + </signal> + <signal name="mouse_exited"> + <description> + </description> + </signal> + <signal name="visibility_changed"> + <description> + </description> + </signal> + <signal name="window_input"> + <argument index="0" name="event" type="InputEvent"> + </argument> + <description> + </description> + </signal> + </signals> + <constants> + <constant name="NOTIFICATION_VISIBILITY_CHANGED" value="30"> + </constant> + <constant name="MODE_WINDOWED" value="0" enum="Mode"> + </constant> + <constant name="MODE_MINIMIZED" value="1" enum="Mode"> + </constant> + <constant name="MODE_MAXIMIZED" value="2" enum="Mode"> + </constant> + <constant name="MODE_FULLSCREEN" value="3" enum="Mode"> + </constant> + <constant name="FLAG_RESIZE_DISABLED" value="0" enum="Flags"> + </constant> + <constant name="FLAG_BORDERLESS" value="1" enum="Flags"> + </constant> + <constant name="FLAG_ALWAYS_ON_TOP" value="2" enum="Flags"> + </constant> + <constant name="FLAG_TRANSPARENT" value="3" enum="Flags"> + </constant> + <constant name="FLAG_NO_FOCUS" value="4" enum="Flags"> + </constant> + <constant name="FLAG_MAX" value="5" enum="Flags"> + </constant> + <constant name="CONTENT_SCALE_MODE_DISABLED" value="0" enum="ContentScaleMode"> + </constant> + <constant name="CONTENT_SCALE_MODE_OBJECTS" value="1" enum="ContentScaleMode"> + </constant> + <constant name="CONTENT_SCALE_MODE_PIXELS" value="2" enum="ContentScaleMode"> + </constant> + <constant name="CONTENT_SCALE_ASPECT_IGNORE" value="0" enum="ContentScaleAspect"> + </constant> + <constant name="CONTENT_SCALE_ASPECT_KEEP" value="1" enum="ContentScaleAspect"> + </constant> + <constant name="CONTENT_SCALE_ASPECT_KEEP_WIDTH" value="2" enum="ContentScaleAspect"> + </constant> + <constant name="CONTENT_SCALE_ASPECT_KEEP_HEIGHT" value="3" enum="ContentScaleAspect"> + </constant> + <constant name="CONTENT_SCALE_ASPECT_EXPAND" value="4" enum="ContentScaleAspect"> + </constant> + </constants> + <theme_items> + <theme_item name="close" type="Texture2D"> + </theme_item> + <theme_item name="close_h_ofs" type="int" default="18"> + </theme_item> + <theme_item name="close_highlight" type="Texture2D"> + </theme_item> + <theme_item name="close_v_ofs" type="int" default="18"> + </theme_item> + <theme_item name="panel" type="StyleBox"> + </theme_item> + <theme_item name="resize_margin" type="int" default="4"> + </theme_item> + <theme_item name="scaleborder_size" type="int" default="4"> + </theme_item> + <theme_item name="title_color" type="Color" default="Color( 0, 0, 0, 1 )"> + </theme_item> + <theme_item name="title_font" type="Font"> + </theme_item> + <theme_item name="title_height" type="int" default="20"> + </theme_item> + <theme_item name="window_panel" type="StyleBox"> + </theme_item> + </theme_items> +</class> diff --git a/doc/classes/WindowDialog.xml b/doc/classes/WindowDialog.xml deleted file mode 100644 index 16b8085df3..0000000000 --- a/doc/classes/WindowDialog.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8" ?> -<class name="WindowDialog" inherits="Popup" version="4.0"> - <brief_description> - Base class for window dialogs. - </brief_description> - <description> - Windowdialog is the base class for all window-based dialogs. It's a by-default toplevel [Control] that draws a window decoration and allows motion and resizing. - </description> - <tutorials> - </tutorials> - <methods> - <method name="get_close_button"> - <return type="TextureButton"> - </return> - <description> - Returns the close [TextureButton]. - </description> - </method> - </methods> - <members> - <member name="resizable" type="bool" setter="set_resizable" getter="get_resizable" default="false"> - If [code]true[/code], the user can resize the window. - </member> - <member name="window_title" type="String" setter="set_title" getter="get_title" default=""""> - The text displayed in the window's title bar. - </member> - </members> - <constants> - </constants> - <theme_items> - <theme_item name="close" type="Texture2D"> - </theme_item> - <theme_item name="close_h_ofs" type="int" default="18"> - </theme_item> - <theme_item name="close_highlight" type="Texture2D"> - </theme_item> - <theme_item name="close_v_ofs" type="int" default="18"> - </theme_item> - <theme_item name="panel" type="StyleBox"> - </theme_item> - <theme_item name="scaleborder_size" type="int" default="4"> - </theme_item> - <theme_item name="title_color" type="Color" default="Color( 0, 0, 0, 1 )"> - </theme_item> - <theme_item name="title_font" type="Font"> - </theme_item> - <theme_item name="title_height" type="int" default="20"> - </theme_item> - </theme_items> -</class> diff --git a/doc/classes/World2D.xml b/doc/classes/World2D.xml index 9e2d4cfde3..2d8382b7e3 100644 --- a/doc/classes/World2D.xml +++ b/doc/classes/World2D.xml @@ -13,13 +13,13 @@ </methods> <members> <member name="canvas" type="RID" setter="" getter="get_canvas"> - The [RID] of this world's canvas resource. Used by the [VisualServer] for 2D drawing. + The [RID] of this world's canvas resource. Used by the [RenderingServer] for 2D drawing. </member> - <member name="direct_space_state" type="Physics2DDirectSpaceState" setter="" getter="get_direct_space_state"> + <member name="direct_space_state" type="PhysicsDirectSpaceState2D" setter="" getter="get_direct_space_state"> The state of this world's physics space. This allows arbitrary querying for collision. </member> <member name="space" type="RID" setter="" getter="get_space"> - The [RID] of this world's physics space resource. Used by the [Physics2DServer] for 2D physics, treating it as both a space and an area. + The [RID] of this world's physics space resource. Used by the [PhysicsServer2D] for 2D physics, treating it as both a space and an area. </member> </members> <constants> diff --git a/doc/classes/World.xml b/doc/classes/World3D.xml index 48596c87d0..4224a2a2c3 100644 --- a/doc/classes/World.xml +++ b/doc/classes/World3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="World" inherits="Resource" version="4.0"> +<class name="World3D" inherits="Resource" version="4.0"> <brief_description> Class that has everything pertaining to a world. </brief_description> <description> - Class that has everything pertaining to a world. A physics space, a visual scenario and a sound space. Spatial nodes register their resources into the current world. + Class that has everything pertaining to a world. A physics space, a visual scenario and a sound space. Node3D nodes register their resources into the current world. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/physics/ray-casting.html</link> @@ -14,20 +14,20 @@ <members> <member name="camera_effects" type="CameraEffects" setter="set_camera_effects" getter="get_camera_effects"> </member> - <member name="direct_space_state" type="PhysicsDirectSpaceState" setter="" getter="get_direct_space_state"> - The World's physics direct space state, used for making various queries. Might be used only during [code]_physics_process[/code]. + <member name="direct_space_state" type="PhysicsDirectSpaceState3D" setter="" getter="get_direct_space_state"> + The World3D's physics direct space state, used for making various queries. Might be used only during [code]_physics_process[/code]. </member> <member name="environment" type="Environment" setter="set_environment" getter="get_environment"> - The World's [Environment]. + The World3D's [Environment]. </member> <member name="fallback_environment" type="Environment" setter="set_fallback_environment" getter="get_fallback_environment"> - The World's fallback_environment will be used if the World's [Environment] fails or is missing. + The World3D's fallback_environment will be used if the World3D's [Environment] fails or is missing. </member> <member name="scenario" type="RID" setter="" getter="get_scenario"> - The World's visual scenario. + The World3D's visual scenario. </member> <member name="space" type="RID" setter="" getter="get_space"> - The World's physics space. + The World3D's physics space. </member> </members> <constants> diff --git a/doc/classes/WorldEnvironment.xml b/doc/classes/WorldEnvironment.xml index 73500868a8..92b75621c2 100644 --- a/doc/classes/WorldEnvironment.xml +++ b/doc/classes/WorldEnvironment.xml @@ -5,7 +5,7 @@ </brief_description> <description> The [WorldEnvironment] node is used to configure the default [Environment] for the scene. - The parameters defined in the [WorldEnvironment] can be overridden by an [Environment] node set on the current [Camera]. Additionally, only one [WorldEnvironment] may be instanced in a given scene at a time. + The parameters defined in the [WorldEnvironment] can be overridden by an [Environment] node set on the current [Camera3D]. Additionally, only one [WorldEnvironment] may be instanced in a given scene at a time. The [WorldEnvironment] allows the user to specify default lighting parameters (e.g. ambient lighting), various post-processing effects (e.g. SSAO, DOF, Tonemapping), and how to draw the background (e.g. solid color, skybox). Usually, these are added in order to improve the realism/color balance of the scene. </description> <tutorials> diff --git a/doc/classes/PlaneShape.xml b/doc/classes/WorldMarginShape3D.xml index b40e133d00..a91447056b 100644 --- a/doc/classes/PlaneShape.xml +++ b/doc/classes/WorldMarginShape3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="PlaneShape" inherits="Shape" version="4.0"> +<class name="WorldMarginShape3D" inherits="Shape3D" version="4.0"> <brief_description> Infinite plane shape for 3D collisions. </brief_description> <description> - An infinite plane shape for 3D collisions. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [PlaneShape] is used in a [PhysicsBody], it will cause colliding objects placed "below" it to teleport "above" the plane. + An infinite plane shape for 3D collisions. Note that the [Plane]'s normal matters; anything "below" the plane will collide with it. If the [WorldMarginShape3D] is used in a [PhysicsBody3D], it will cause colliding objects placed "below" it to teleport "above" the plane. </description> <tutorials> </tutorials> @@ -12,7 +12,7 @@ </methods> <members> <member name="plane" type="Plane" setter="set_plane" getter="get_plane" default="Plane( 0, 1, 0, 0 )"> - The [Plane] used by the [PlaneShape] for collision. + The [Plane] used by the [WorldMarginShape3D] for collision. </member> </members> <constants> diff --git a/doc/classes/ARVRAnchor.xml b/doc/classes/XRAnchor3D.xml index 87181f572d..a409c79230 100644 --- a/doc/classes/ARVRAnchor.xml +++ b/doc/classes/XRAnchor3D.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRAnchor" inherits="Spatial" version="4.0"> +<class name="XRAnchor3D" inherits="Node3D" version="4.0"> <brief_description> An anchor point in AR space. </brief_description> <description> - The [ARVRAnchor] point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them. + The [XRAnchor3D] point is a spatial node that maps a real world location identified by the AR platform to a position within the game world. For example, as long as plane detection in ARKit is on, ARKit will identify and update the position of planes (tables, floors, etc) and create anchors for them. This node is mapped to one of the anchors through its unique ID. When you receive a signal that a new anchor is available, you should add this node to your scene for that anchor. You can predefine nodes and set the ID; the nodes will simply remain on 0,0,0 until a plane is recognized. Keep in mind that, as long as plane detection is enabled, the size, placing and orientation of an anchor will be updated as the detection logic learns more about the real world out there especially if only part of the surface is in view. </description> @@ -29,7 +29,7 @@ <return type="Mesh"> </return> <description> - If provided by the [ARVRInterface], this returns a mesh object for the anchor. For an anchor, this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes. + If provided by the [XRInterface], this returns a mesh object for the anchor. For an anchor, this can be a shape related to the object being tracked or it can be a mesh that provides topology related to the anchor and can be used to create shadows/reflections on surfaces or for generating collision shapes. </description> </method> <method name="get_plane" qualifiers="const"> diff --git a/doc/classes/ARVRCamera.xml b/doc/classes/XRCamera3D.xml index a571d26c83..4d86e24daa 100644 --- a/doc/classes/ARVRCamera.xml +++ b/doc/classes/XRCamera3D.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRCamera" inherits="Camera" version="4.0"> +<class name="XRCamera3D" inherits="Camera3D" version="4.0"> <brief_description> A camera node with a few overrules for AR/VR applied, such as location tracking. </brief_description> <description> This is a helper spatial node for our camera; note that, if stereoscopic rendering is applicable (VR-HMD), most of the camera properties are ignored, as the HMD information overrides them. The only properties that can be trusted are the near and far planes. - The position and orientation of this node is automatically updated by the ARVR Server to represent the location of the HMD if such tracking is available and can thus be used by game logic. Note that, in contrast to the ARVR Controller, the render thread has access to the most up-to-date tracking data of the HMD and the location of the ARVRCamera can lag a few milliseconds behind what is used for rendering as a result. + The position and orientation of this node is automatically updated by the XR Server to represent the location of the HMD if such tracking is available and can thus be used by game logic. Note that, in contrast to the XR Controller, the render thread has access to the most up-to-date tracking data of the HMD and the location of the XRCamera3D can lag a few milliseconds behind what is used for rendering as a result. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/vr/index.html</link> diff --git a/doc/classes/ARVRController.xml b/doc/classes/XRController3D.xml index e485bd6f1a..e4a06a80db 100644 --- a/doc/classes/ARVRController.xml +++ b/doc/classes/XRController3D.xml @@ -1,12 +1,12 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRController" inherits="Spatial" version="4.0"> +<class name="XRController3D" inherits="Node3D" version="4.0"> <brief_description> A spatial node representing a spatially-tracked controller. </brief_description> <description> This is a helper spatial node that is linked to the tracking of controllers. It also offers several handy passthroughs to the state of buttons and such on the controllers. - Controllers are linked by their ID. You can create controller nodes before the controllers are available. If your game always uses two controllers (one for each hand), you can predefine the controllers with ID 1 and 2; they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add ARVRController nodes to your scene. - The position of the controller node is automatically updated by the [ARVRServer]. This makes this node ideal to add child nodes to visualize the controller. + Controllers are linked by their ID. You can create controller nodes before the controllers are available. If your game always uses two controllers (one for each hand), you can predefine the controllers with ID 1 and 2; they will become active as soon as the controllers are identified. If you expect additional controllers to be used, you should react to the signals and add XRController3D nodes to your scene. + The position of the controller node is automatically updated by the [XRServer]. This makes this node ideal to add child nodes to visualize the controller. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/vr/index.html</link> @@ -20,17 +20,17 @@ </description> </method> <method name="get_hand" qualifiers="const"> - <return type="int" enum="ARVRPositionalTracker.TrackerHand"> + <return type="int" enum="XRPositionalTracker.TrackerHand"> </return> <description> - Returns the hand holding this controller, if known. See [enum ARVRPositionalTracker.TrackerHand]. + Returns the hand holding this controller, if known. See [enum XRPositionalTracker.TrackerHand]. </description> </method> <method name="get_is_active" qualifiers="const"> <return type="bool"> </return> <description> - Returns [code]true[/code] if the bound controller is active. ARVR systems attempt to track active controllers. + Returns [code]true[/code] if the bound controller is active. XR systems attempt to track active controllers. </description> </method> <method name="get_joystick_axis" qualifiers="const"> @@ -46,18 +46,18 @@ <return type="int"> </return> <description> - Returns the ID of the joystick object bound to this. Every controller tracked by the [ARVRServer] that has buttons and axis will also be registered as a joystick within Godot. This means that all the normal joystick tracking and input mapping will work for buttons and axis found on the AR/VR controllers. This ID is purely offered as information so you can link up the controller with its joystick entry. + Returns the ID of the joystick object bound to this. Every controller tracked by the [XRServer] that has buttons and axis will also be registered as a joystick within Godot. This means that all the normal joystick tracking and input mapping will work for buttons and axis found on the AR/VR controllers. This ID is purely offered as information so you can link up the controller with its joystick entry. </description> </method> <method name="get_mesh" qualifiers="const"> <return type="Mesh"> </return> <description> - If provided by the [ARVRInterface], this returns a mesh associated with the controller. This can be used to visualize the controller. + If provided by the [XRInterface], this returns a mesh associated with the controller. This can be used to visualize the controller. </description> </method> <method name="is_button_pressed" qualifiers="const"> - <return type="int"> + <return type="bool"> </return> <argument index="0" name="button" type="int"> </argument> @@ -70,11 +70,11 @@ <member name="controller_id" type="int" setter="set_controller_id" getter="get_controller_id" default="1"> The controller's ID. A controller ID of 0 is unbound and will always result in an inactive node. Controller ID 1 is reserved for the first controller that identifies itself as the left-hand controller and ID 2 is reserved for the first controller that identifies itself as the right-hand controller. - For any other controller that the [ARVRServer] detects, we continue with controller ID 3. + For any other controller that the [XRServer] detects, we continue with controller ID 3. When a controller is turned off, its slot is freed. This ensures controllers will keep the same ID even when controllers with lower IDs are turned off. </member> <member name="rumble" type="float" setter="set_rumble" getter="get_rumble" default="0.0"> - The degree to which the controller vibrates. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code]. If changed, updates [member ARVRPositionalTracker.rumble] accordingly. + The degree to which the controller vibrates. Ranges from [code]0.0[/code] to [code]1.0[/code] with precision [code].01[/code]. If changed, updates [member XRPositionalTracker.rumble] accordingly. This is a useful property to animate if you want the controller to vibrate for a limited duration. </member> </members> diff --git a/doc/classes/ARVRInterface.xml b/doc/classes/XRInterface.xml index d9757ad023..1985010223 100644 --- a/doc/classes/ARVRInterface.xml +++ b/doc/classes/XRInterface.xml @@ -1,11 +1,11 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRInterface" inherits="Reference" version="4.0"> +<class name="XRInterface" inherits="Reference" version="4.0"> <brief_description> Base class for an AR/VR interface implementation. </brief_description> <description> - This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDNative modules (note that for GDNative the subclass ARVRScriptInterface should be used). Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform. - Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through [ARVRServer]. + This class needs to be implemented to make an AR or VR platform available to Godot and these should be implemented as C++ modules or GDNative modules (note that for GDNative the subclass XRScriptInterface should be used). Part of the interface is exposed to GDScript so you can detect, enable and configure an AR or VR platform. + Interfaces should be written in such a way that simply enabling them will give us a working setup. You can query the available interfaces through [XRServer]. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/vr/index.html</link> @@ -26,7 +26,7 @@ </description> </method> <method name="get_name" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <description> Returns the name of this interface (OpenVR, OpenHMD, ARKit, etc). @@ -40,7 +40,7 @@ </description> </method> <method name="get_tracking_status" qualifiers="const"> - <return type="int" enum="ARVRInterface.Tracking_status"> + <return type="int" enum="XRInterface.Tracking_status"> </return> <description> If supported, returns the status of our tracking. This will allow you to provide feedback to the user whether there are issues with positional tracking. @@ -84,19 +84,19 @@ </member> </members> <constants> - <constant name="ARVR_NONE" value="0" enum="Capabilities"> - No ARVR capabilities. + <constant name="XR_NONE" value="0" enum="Capabilities"> + No XR capabilities. </constant> - <constant name="ARVR_MONO" value="1" enum="Capabilities"> + <constant name="XR_MONO" value="1" enum="Capabilities"> This interface can work with normal rendering output (non-HMD based AR). </constant> - <constant name="ARVR_STEREO" value="2" enum="Capabilities"> + <constant name="XR_STEREO" value="2" enum="Capabilities"> This interface supports stereoscopic rendering. </constant> - <constant name="ARVR_AR" value="4" enum="Capabilities"> + <constant name="XR_AR" value="4" enum="Capabilities"> This interface supports AR (video background and real world tracking). </constant> - <constant name="ARVR_EXTERNAL" value="8" enum="Capabilities"> + <constant name="XR_EXTERNAL" value="8" enum="Capabilities"> This interface outputs to an external device. If the main viewport is used, the on screen output is an unmodified buffer of either the left or right eye (stretched if the viewport size is not changed to the same aspect ratio of [method get_render_targetsize]). Using a separate viewport node frees up the main viewport for other purposes. </constant> <constant name="EYE_MONO" value="0" enum="Eyes"> @@ -108,19 +108,19 @@ <constant name="EYE_RIGHT" value="2" enum="Eyes"> Right eye output, this is mostly used internally when rendering the image for the right eye and obtaining positioning and projection information. </constant> - <constant name="ARVR_NORMAL_TRACKING" value="0" enum="Tracking_status"> + <constant name="XR_NORMAL_TRACKING" value="0" enum="Tracking_status"> Tracking is behaving as expected. </constant> - <constant name="ARVR_EXCESSIVE_MOTION" value="1" enum="Tracking_status"> + <constant name="XR_EXCESSIVE_MOTION" value="1" enum="Tracking_status"> Tracking is hindered by excessive motion (the player is moving faster than tracking can keep up). </constant> - <constant name="ARVR_INSUFFICIENT_FEATURES" value="2" enum="Tracking_status"> + <constant name="XR_INSUFFICIENT_FEATURES" value="2" enum="Tracking_status"> Tracking is hindered by insufficient features, it's too dark (for camera-based tracking), player is blocked, etc. </constant> - <constant name="ARVR_UNKNOWN_TRACKING" value="3" enum="Tracking_status"> + <constant name="XR_UNKNOWN_TRACKING" value="3" enum="Tracking_status"> We don't know the status of the tracking or this interface does not provide feedback. </constant> - <constant name="ARVR_NOT_TRACKING" value="4" enum="Tracking_status"> + <constant name="XR_NOT_TRACKING" value="4" enum="Tracking_status"> Tracking is not functional (camera not plugged in or obscured, lighthouses turned off, etc.). </constant> </constants> diff --git a/doc/classes/ARVROrigin.xml b/doc/classes/XROrigin3D.xml index 9a386fd154..57cf673d30 100644 --- a/doc/classes/ARVROrigin.xml +++ b/doc/classes/XROrigin3D.xml @@ -1,13 +1,13 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVROrigin" inherits="Spatial" version="4.0"> +<class name="XROrigin3D" inherits="Node3D" version="4.0"> <brief_description> The origin point in AR/VR. </brief_description> <description> This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world. - There should be only one of these nodes in your scene and you must have one. All the ARVRCamera, ARVRController and ARVRAnchor nodes should be direct children of this node for spatial tracking to work correctly. + There should be only one of these nodes in your scene and you must have one. All the XRCamera3D, XRController3D and XRAnchor3D nodes should be direct children of this node for spatial tracking to work correctly. It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point. - For example, if your character is driving a car, the ARVROrigin node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node. + For example, if your character is driving a car, the XROrigin3D node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/vr/index.html</link> @@ -17,7 +17,7 @@ <members> <member name="world_scale" type="float" setter="set_world_scale" getter="get_world_scale" default="1.0"> Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter. - [b]Note:[/b] This method is a passthrough to the [ARVRServer] itself. + [b]Note:[/b] This method is a passthrough to the [XRServer] itself. </member> </members> <constants> diff --git a/doc/classes/ARVRPositionalTracker.xml b/doc/classes/XRPositionalTracker.xml index a151f8d652..2f7cc21703 100644 --- a/doc/classes/ARVRPositionalTracker.xml +++ b/doc/classes/XRPositionalTracker.xml @@ -1,19 +1,19 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRPositionalTracker" inherits="Object" version="4.0"> +<class name="XRPositionalTracker" inherits="Object" version="4.0"> <brief_description> A tracked object. </brief_description> <description> An instance of this object represents a device that is tracked, such as a controller or anchor point. HMDs aren't represented here as they are handled internally. - As controllers are turned on and the AR/VR interface detects them, instances of this object are automatically added to this list of active tracking objects accessible through the [ARVRServer]. - The [ARVRController] and [ARVRAnchor] both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDNative-based interfaces can interact with them. + As controllers are turned on and the AR/VR interface detects them, instances of this object are automatically added to this list of active tracking objects accessible through the [XRServer]. + The [XRController3D] and [XRAnchor3D] both consume objects of this type and should be used in your project. The positional trackers are just under-the-hood objects that make this all work. These are mostly exposed so that GDNative-based interfaces can interact with them. </description> <tutorials> <link>https://docs.godotengine.org/en/latest/tutorials/vr/index.html</link> </tutorials> <methods> <method name="get_hand" qualifiers="const"> - <return type="int" enum="ARVRPositionalTracker.TrackerHand"> + <return type="int" enum="XRPositionalTracker.TrackerHand"> </return> <description> Returns the hand holding this tracker, if known. See [enum TrackerHand] constants. @@ -34,7 +34,7 @@ </description> </method> <method name="get_name" qualifiers="const"> - <return type="String"> + <return type="StringName"> </return> <description> Returns the controller or anchor point's name if available. @@ -54,6 +54,13 @@ Returns the world-space controller position. </description> </method> + <method name="get_tracker_id" qualifiers="const"> + <return type="int"> + </return> + <description> + Returns the internal tracker ID. This uniquely identifies the tracker per tracker type and matches the ID you need to specify for nodes such as the [XRController3D] and [XRAnchor3D] nodes. + </description> + </method> <method name="get_tracks_orientation" qualifiers="const"> <return type="bool"> </return> @@ -78,7 +85,7 @@ </description> </method> <method name="get_type" qualifiers="const"> - <return type="int" enum="ARVRServer.TrackerType"> + <return type="int" enum="XRServer.TrackerType"> </return> <description> Returns the tracker's type. diff --git a/doc/classes/ARVRServer.xml b/doc/classes/XRServer.xml index 6f0e4488fa..5e6002aee3 100644 --- a/doc/classes/ARVRServer.xml +++ b/doc/classes/XRServer.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8" ?> -<class name="ARVRServer" inherits="Object" version="4.0"> +<class name="XRServer" inherits="Object" version="4.0"> <brief_description> Server for AR and VR features. </brief_description> @@ -13,7 +13,7 @@ <method name="center_on_hmd"> <return type="void"> </return> - <argument index="0" name="rotation_mode" type="int" enum="ARVRServer.RotationMode"> + <argument index="0" name="rotation_mode" type="int" enum="XRServer.RotationMode"> </argument> <argument index="1" name="keep_height" type="bool"> </argument> @@ -27,7 +27,7 @@ </description> </method> <method name="find_interface" qualifiers="const"> - <return type="ARVRInterface"> + <return type="XRInterface"> </return> <argument index="0" name="name" type="String"> </argument> @@ -43,7 +43,7 @@ </description> </method> <method name="get_interface" qualifiers="const"> - <return type="ARVRInterface"> + <return type="XRInterface"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -69,7 +69,7 @@ <return type="int"> </return> <description> - Returns the absolute timestamp (in μs) of the last [ARVRServer] commit of the AR/VR eyes to [VisualServer]. The value comes from an internal call to [method OS.get_ticks_usec]. + Returns the absolute timestamp (in μs) of the last [XRServer] commit of the AR/VR eyes to [RenderingServer]. The value comes from an internal call to [method OS.get_ticks_usec]. </description> </method> <method name="get_last_frame_usec"> @@ -83,7 +83,7 @@ <return type="int"> </return> <description> - Returns the absolute timestamp (in μs) of the last [ARVRServer] process callback. The value comes from an internal call to [method OS.get_ticks_usec]. + Returns the absolute timestamp (in μs) of the last [XRServer] process callback. The value comes from an internal call to [method OS.get_ticks_usec]. </description> </method> <method name="get_reference_frame" qualifiers="const"> @@ -94,7 +94,7 @@ </description> </method> <method name="get_tracker" qualifiers="const"> - <return type="ARVRPositionalTracker"> + <return type="XRPositionalTracker"> </return> <argument index="0" name="idx" type="int"> </argument> @@ -111,8 +111,8 @@ </method> </methods> <members> - <member name="primary_interface" type="ARVRInterface" setter="set_primary_interface" getter="get_primary_interface"> - The primary [ARVRInterface] currently bound to the [ARVRServer]. + <member name="primary_interface" type="XRInterface" setter="set_primary_interface" getter="get_primary_interface"> + The primary [XRInterface] currently bound to the [XRServer]. </member> <member name="world_scale" type="float" setter="set_world_scale" getter="get_world_scale" default="1.0"> Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter. @@ -120,39 +120,39 @@ </members> <signals> <signal name="interface_added"> - <argument index="0" name="interface_name" type="String"> + <argument index="0" name="interface_name" type="StringName"> </argument> <description> Emitted when a new interface has been added. </description> </signal> <signal name="interface_removed"> - <argument index="0" name="interface_name" type="String"> + <argument index="0" name="interface_name" type="StringName"> </argument> <description> Emitted when an interface is removed. </description> </signal> <signal name="tracker_added"> - <argument index="0" name="tracker_name" type="String"> + <argument index="0" name="tracker_name" type="StringName"> </argument> <argument index="1" name="type" type="int"> </argument> <argument index="2" name="id" type="int"> </argument> <description> - Emitted when a new tracker has been added. If you don't use a fixed number of controllers or if you're using [ARVRAnchor]s for an AR solution, it is important to react to this signal to add the appropriate [ARVRController] or [ARVRAnchor] nodes related to this new tracker. + Emitted when a new tracker has been added. If you don't use a fixed number of controllers or if you're using [XRAnchor3D]s for an AR solution, it is important to react to this signal to add the appropriate [XRController3D] or [XRAnchor3D] nodes related to this new tracker. </description> </signal> <signal name="tracker_removed"> - <argument index="0" name="tracker_name" type="String"> + <argument index="0" name="tracker_name" type="StringName"> </argument> <argument index="1" name="type" type="int"> </argument> <argument index="2" name="id" type="int"> </argument> <description> - Emitted when a tracker is removed. You should remove any [ARVRController] or [ARVRAnchor] points if applicable. This is not mandatory, the nodes simply become inactive and will be made active again when a new tracker becomes available (i.e. a new controller is switched on that takes the place of the previous one). + Emitted when a tracker is removed. You should remove any [XRController3D] or [XRAnchor3D] points if applicable. This is not mandatory, the nodes simply become inactive and will be made active again when a new tracker becomes available (i.e. a new controller is switched on that takes the place of the previous one). </description> </signal> </signals> |