diff options
Diffstat (limited to 'doc/classes')
64 files changed, 555 insertions, 134 deletions
diff --git a/doc/classes/@GlobalScope.xml b/doc/classes/@GlobalScope.xml index da6513a08b..0a25e36899 100644 --- a/doc/classes/@GlobalScope.xml +++ b/doc/classes/@GlobalScope.xml @@ -2013,7 +2013,7 @@ <constant name="KEY_CODE_MASK" value="33554431" enum="KeyModifierMask"> Key Code mask. </constant> - <constant name="KEY_MODIFIER_MASK" value="-16777216" enum="KeyModifierMask"> + <constant name="KEY_MODIFIER_MASK" value="2130706432" enum="KeyModifierMask"> Modifier key mask. </constant> <constant name="KEY_MASK_SHIFT" value="33554432" enum="KeyModifierMask"> diff --git a/doc/classes/BaseMaterial3D.xml b/doc/classes/BaseMaterial3D.xml index ae7b0afaa7..4b6f6eec67 100644 --- a/doc/classes/BaseMaterial3D.xml +++ b/doc/classes/BaseMaterial3D.xml @@ -63,6 +63,9 @@ <member name="albedo_tex_force_srgb" type="bool" setter="set_flag" getter="get_flag" default="false"> Forces a conversion of the [member albedo_texture] from sRGB space to linear space. </member> + <member name="albedo_tex_msdf" type="bool" setter="set_flag" getter="get_flag" default="false"> + Enables multichannel signed distance field rendering shader. Use [member msdf_pixel_range] and [member msdf_outline_size] to configure MSDF paramenters. + </member> <member name="albedo_texture" type="Texture2D" setter="set_texture" getter="get_texture"> Texture to multiply by [member albedo_color]. Used for basic texturing of objects. </member> @@ -243,6 +246,12 @@ <member name="metallic_texture_channel" type="int" setter="set_metallic_texture_channel" getter="get_metallic_texture_channel" enum="BaseMaterial3D.TextureChannel" default="0"> Specifies the channel of the [member metallic_texture] in which the metallic information is stored. This is useful when you store the information for multiple effects in a single texture. For example if you stored metallic in the red channel, roughness in the blue, and ambient occlusion in the green you could reduce the number of textures you use. </member> + <member name="msdf_outline_size" type="float" setter="set_msdf_outline_size" getter="get_msdf_outline_size" default="0.0"> + The width of the shape outine. + </member> + <member name="msdf_pixel_range" type="float" setter="set_msdf_pixel_range" getter="get_msdf_pixel_range" default="4.0"> + The width of the range around the shape between the minimum and maximum representable signed distance. + </member> <member name="no_depth_test" type="bool" setter="set_flag" getter="get_flag" default="false"> If [code]true[/code], depth testing is disabled and the object will be drawn in render order. </member> @@ -647,7 +656,10 @@ </constant> <constant name="FLAG_PARTICLE_TRAILS_MODE" value="19" enum="Flags"> </constant> - <constant name="FLAG_MAX" value="20" enum="Flags"> + <constant name="FLAG_ALBEDO_TEXTURE_MSDF" value="20" enum="Flags"> + Enables multichannel signed distance field rendering shader. + </constant> + <constant name="FLAG_MAX" value="21" enum="Flags"> Represents the size of the [enum Flags] enum. </constant> <constant name="DIFFUSE_BURLEY" value="0" enum="DiffuseMode"> diff --git a/doc/classes/Button.xml b/doc/classes/Button.xml index af9724af08..d85d02fbfb 100644 --- a/doc/classes/Button.xml +++ b/doc/classes/Button.xml @@ -78,7 +78,7 @@ </member> <member name="icon" type="Texture2D" setter="set_button_icon" getter="get_button_icon"> Button's icon, if text is present the icon will be placed before the text. - To edit margin and spacing of the icon, use [theme_item hseparation] theme property and [code]content_margin_*[/code] properties of the used [StyleBox]es. + To edit margin and spacing of the icon, use [theme_item h_separation] theme property and [code]content_margin_*[/code] properties of the used [StyleBox]es. </member> <member name="icon_alignment" type="int" setter="set_icon_alignment" getter="get_icon_alignment" enum="HorizontalAlignment" default="0"> Specifies if the icon should be aligned to the left, right, or center of a button. Uses the same [enum @GlobalScope.HorizontalAlignment] constants as the text alignment. If centered, text will draw on top of the icon. @@ -133,7 +133,7 @@ <theme_item name="icon_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)"> Icon modulate [Color] used when the [Button] is being pressed. </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="2"> + <theme_item name="h_separation" data_type="constant" type="int" default="2"> The horizontal space between [Button]'s icon and text. </theme_item> <theme_item name="outline_size" data_type="constant" type="int" default="0"> diff --git a/doc/classes/CheckBox.xml b/doc/classes/CheckBox.xml index 462ab81587..6483faf763 100644 --- a/doc/classes/CheckBox.xml +++ b/doc/classes/CheckBox.xml @@ -35,10 +35,10 @@ <theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)"> The [CheckBox] text's font color when it's pressed. </theme_item> - <theme_item name="check_vadjust" data_type="constant" type="int" default="0"> + <theme_item name="check_v_adjust" data_type="constant" type="int" default="0"> The vertical offset used when rendering the check icons (in pixels). </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The separation between the check icon and the text (in pixels). </theme_item> <theme_item name="outline_size" data_type="constant" type="int" default="0"> diff --git a/doc/classes/CheckButton.xml b/doc/classes/CheckButton.xml index c6ebfaf4b0..51b0411f4e 100644 --- a/doc/classes/CheckButton.xml +++ b/doc/classes/CheckButton.xml @@ -35,10 +35,10 @@ <theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)"> The [CheckButton] text's font color when it's pressed. </theme_item> - <theme_item name="check_vadjust" data_type="constant" type="int" default="0"> + <theme_item name="check_v_adjust" data_type="constant" type="int" default="0"> The vertical offset used when rendering the toggle icons (in pixels). </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The separation between the toggle icon and the text (in pixels). </theme_item> <theme_item name="outline_size" data_type="constant" type="int" default="0"> diff --git a/doc/classes/ColorPickerButton.xml b/doc/classes/ColorPickerButton.xml index f5e752578e..53d35c1a3d 100644 --- a/doc/classes/ColorPickerButton.xml +++ b/doc/classes/ColorPickerButton.xml @@ -74,7 +74,7 @@ <theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(0.8, 0.8, 0.8, 1)"> Text [Color] used when the [ColorPickerButton] is being pressed. </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="2"> + <theme_item name="h_separation" data_type="constant" type="int" default="2"> The horizontal space between [ColorPickerButton]'s icon and text. </theme_item> <theme_item name="outline_size" data_type="constant" type="int" default="0"> diff --git a/doc/classes/Control.xml b/doc/classes/Control.xml index 78150af9dd..d084bd4db9 100644 --- a/doc/classes/Control.xml +++ b/doc/classes/Control.xml @@ -665,7 +665,8 @@ <method name="is_drag_successful" qualifiers="const"> <return type="bool" /> <description> - Returns [code]true[/code] if drag operation is successful. + Returns [code]true[/code] if a drag operation is successful. Alternative to [method Viewport.gui_is_drag_successful]. + Best used with [constant Node.NOTIFICATION_DRAG_END]. </description> </method> <method name="is_layout_rtl" qualifiers="const"> @@ -1358,27 +1359,5 @@ <constant name="TEXT_DIRECTION_RTL" value="2" enum="TextDirection"> Right-to-left text writing direction. </constant> - <constant name="STRUCTURED_TEXT_DEFAULT" value="0" enum="StructuredTextParser"> - Use default behavior. Same as [code]STRUCTURED_TEXT_NONE[/code] unless specified otherwise in the control description. - </constant> - <constant name="STRUCTURED_TEXT_URI" value="1" enum="StructuredTextParser"> - BiDi override for URI. - </constant> - <constant name="STRUCTURED_TEXT_FILE" value="2" enum="StructuredTextParser"> - BiDi override for file path. - </constant> - <constant name="STRUCTURED_TEXT_EMAIL" value="3" enum="StructuredTextParser"> - BiDi override for email. - </constant> - <constant name="STRUCTURED_TEXT_LIST" value="4" enum="StructuredTextParser"> - BiDi override for lists. - Structured text options: list separator [code]String[/code]. - </constant> - <constant name="STRUCTURED_TEXT_NONE" value="5" enum="StructuredTextParser"> - Use default Unicode BiDi algorithm. - </constant> - <constant name="STRUCTURED_TEXT_CUSTOM" value="6" enum="StructuredTextParser"> - User defined structured text BiDi override function. - </constant> </constants> </class> diff --git a/doc/classes/Directory.xml b/doc/classes/Directory.xml index 7d72cd867c..bd16fd3936 100644 --- a/doc/classes/Directory.xml +++ b/doc/classes/Directory.xml @@ -196,7 +196,8 @@ <return type="int" enum="Error" /> <argument index="0" name="path" type="String" /> <description> - Deletes the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail. + Permanently deletes the target file or an empty directory. The argument can be relative to the current directory, or an absolute path. If the target directory is not empty, the operation will fail. + If you don't want to delete the file/directory permanently, use [method OS.move_to_trash] instead. Returns one of the [enum Error] code constants ([code]OK[/code] on success). </description> </method> diff --git a/doc/classes/FontData.xml b/doc/classes/FontData.xml index 313e3e31fc..a423d7a4e4 100644 --- a/doc/classes/FontData.xml +++ b/doc/classes/FontData.xml @@ -582,6 +582,9 @@ <member name="force_autohinter" type="bool" setter="set_force_autohinter" getter="is_force_autohinter" default="false"> If set to [code]true[/code], auto-hinting is supported and preferred over font built-in hinting. Used by dynamic fonts only. </member> + <member name="generate_mipmaps" type="bool" setter="set_generate_mipmaps" getter="get_generate_mipmaps" default="false"> + If set to [code]true[/code], generate mipmaps for the font textures. + </member> <member name="hinting" type="int" setter="set_hinting" getter="get_hinting" enum="TextServer.Hinting" default="1"> Font hinting mode. Used by dynamic fonts only. </member> diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index 19f2915087..e699a40ea0 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -342,7 +342,7 @@ </description> </signal> <signal name="scroll_offset_changed"> - <argument index="0" name="ofs" type="Vector2" /> + <argument index="0" name="offset" type="Vector2" /> <description> Emitted when the scroll offset is changed by the user. It will not be emitted when changed in code. </description> diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml index 1e9169146e..173da63a15 100644 --- a/doc/classes/GraphNode.xml +++ b/doc/classes/GraphNode.xml @@ -331,7 +331,7 @@ <theme_item name="comment" data_type="style" type="StyleBox"> The [StyleBox] used when [member comment] is enabled. </theme_item> - <theme_item name="commentfocus" data_type="style" type="StyleBox"> + <theme_item name="comment_focus" data_type="style" type="StyleBox"> The [StyleBox] used when [member comment] is enabled and the [GraphNode] is focused. </theme_item> <theme_item name="frame" data_type="style" type="StyleBox"> @@ -340,7 +340,7 @@ <theme_item name="position" data_type="style" type="StyleBox"> The background used when [member overlay] is set to [constant OVERLAY_POSITION]. </theme_item> - <theme_item name="selectedframe" data_type="style" type="StyleBox"> + <theme_item name="selected_frame" data_type="style" type="StyleBox"> The background used when the [GraphNode] is selected. </theme_item> </theme_items> diff --git a/doc/classes/GridContainer.xml b/doc/classes/GridContainer.xml index 59777ffb79..bb27c35785 100644 --- a/doc/classes/GridContainer.xml +++ b/doc/classes/GridContainer.xml @@ -17,10 +17,10 @@ </member> </members> <theme_items> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The horizontal separation of children nodes. </theme_item> - <theme_item name="vseparation" data_type="constant" type="int" default="4"> + <theme_item name="v_separation" data_type="constant" type="int" default="4"> The vertical separation of children nodes. </theme_item> </theme_items> diff --git a/doc/classes/HFlowContainer.xml b/doc/classes/HFlowContainer.xml index 3cee25e3ab..a8594a1c76 100644 --- a/doc/classes/HFlowContainer.xml +++ b/doc/classes/HFlowContainer.xml @@ -9,10 +9,10 @@ <tutorials> </tutorials> <theme_items> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The horizontal separation of children nodes. </theme_item> - <theme_item name="vseparation" data_type="constant" type="int" default="4"> + <theme_item name="v_separation" data_type="constant" type="int" default="4"> The vertical separation of children nodes. </theme_item> </theme_items> diff --git a/doc/classes/Input.xml b/doc/classes/Input.xml index c3552c9f62..948c4b253f 100644 --- a/doc/classes/Input.xml +++ b/doc/classes/Input.xml @@ -376,7 +376,8 @@ <argument index="0" name="duration_ms" type="int" default="500" /> <description> Vibrate Android and iOS devices. - [b]Note:[/b] It needs [code]VIBRATE[/code] permission for Android at export settings. iOS does not support duration. + [b]Note:[/b] For Android, it requires enabling the [code]VIBRATE[/code] permission in the export preset. + [b]Note:[/b] For iOS, specifying the duration is supported in iOS 13 and later. </description> </method> <method name="warp_mouse"> diff --git a/doc/classes/ItemList.xml b/doc/classes/ItemList.xml index 06bd64577b..edfd8daec1 100644 --- a/doc/classes/ItemList.xml +++ b/doc/classes/ItemList.xml @@ -476,7 +476,7 @@ <theme_item name="guide_color" data_type="color" type="Color" default="Color(0, 0, 0, 0.1)"> [Color] of the guideline. The guideline is a line drawn between each row of items. </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The horizontal spacing between items. </theme_item> <theme_item name="icon_margin" data_type="constant" type="int" default="4"> @@ -488,7 +488,7 @@ <theme_item name="outline_size" data_type="constant" type="int" default="0"> The size of the item text outline. </theme_item> - <theme_item name="vseparation" data_type="constant" type="int" default="2"> + <theme_item name="v_separation" data_type="constant" type="int" default="2"> The vertical spacing between items. </theme_item> <theme_item name="font" data_type="font" type="Font"> diff --git a/doc/classes/Label.xml b/doc/classes/Label.xml index b1046dea6b..d5744bbc42 100644 --- a/doc/classes/Label.xml +++ b/doc/classes/Label.xml @@ -85,7 +85,7 @@ [b]Note:[/b] Setting this property updates [member visible_characters] based on current [method get_total_character_count]. </member> <member name="size_flags_vertical" type="int" setter="set_v_size_flags" getter="get_v_size_flags" overrides="Control" default="4" /> - <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0"> + <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0"> Set BiDi algorithm override for the structured text. </member> <member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]"> diff --git a/doc/classes/Label3D.xml b/doc/classes/Label3D.xml new file mode 100644 index 0000000000..c95b691bf3 --- /dev/null +++ b/doc/classes/Label3D.xml @@ -0,0 +1,173 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="Label3D" inherits="GeometryInstance3D" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + Displays plain text in a 3D world. + </brief_description> + <description> + Label3D displays plain text in a 3D world. It gives you control over the horizontal and vertical alignment. + </description> + <tutorials> + </tutorials> + <methods> + <method name="clear_opentype_features"> + <return type="void" /> + <description> + Removes all OpenType features. + </description> + </method> + <method name="generate_triangle_mesh" qualifiers="const"> + <return type="TriangleMesh" /> + <description> + Returns a [TriangleMesh] with the label's vertices following its current configuration (such as its [member pixel_size]). + </description> + </method> + <method name="get_draw_flag" qualifiers="const"> + <return type="bool" /> + <argument index="0" name="flag" type="int" enum="Label3D.DrawFlags" /> + <description> + Returns the value of the specified flag. + </description> + </method> + <method name="get_opentype_feature" qualifiers="const"> + <return type="int" /> + <argument index="0" name="tag" type="String" /> + <description> + Returns OpenType feature [code]tag[/code]. + </description> + </method> + <method name="set_draw_flag"> + <return type="void" /> + <argument index="0" name="flag" type="int" enum="Label3D.DrawFlags" /> + <argument index="1" name="enabled" type="bool" /> + <description> + If [code]true[/code], the specified flag will be enabled. See [enum Label3D.DrawFlags] for a list of flags. + </description> + </method> + <method name="set_opentype_feature"> + <return type="void" /> + <argument index="0" name="tag" type="String" /> + <argument index="1" name="value" type="int" /> + <description> + Returns OpenType feature [code]tag[/code]. More info: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags]OpenType feature tags[/url]. + </description> + </method> + </methods> + <members> + <member name="alpha_cut" type="int" setter="set_alpha_cut_mode" getter="get_alpha_cut_mode" enum="Label3D.AlphaCutMode" default="0"> + The alpha cutting mode to use for the sprite. See [enum AlphaCutMode] for possible values. + </member> + <member name="alpha_scissor_threshold" type="float" setter="set_alpha_scissor_threshold" getter="get_alpha_scissor_threshold" default="0.5"> + Threshold at which the alpha scissor will discard values. + </member> + <member name="autowrap_mode" type="int" setter="set_autowrap_mode" getter="get_autowrap_mode" enum="Label3D.AutowrapMode" default="0"> + If set to something other than [constant AUTOWRAP_OFF], the text gets wrapped inside the node's bounding rectangle. If you resize the node, it will change its height automatically to show all the text. To see how each mode behaves, see [enum AutowrapMode]. + </member> + <member name="billboard" type="int" setter="set_billboard_mode" getter="get_billboard_mode" enum="BaseMaterial3D.BillboardMode" default="0"> + The billboard mode to use for the label. See [enum BaseMaterial3D.BillboardMode] for possible values. + </member> + <member name="double_sided" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true"> + If [code]true[/code], text can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind. + </member> + <member name="fixed_size" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false"> + If [code]true[/code], the label is rendered at the same size regardless of distance. + </member> + <member name="font" type="Font" setter="set_font" getter="get_font"> + [Font] used for the [Label3D]'s text. + </member> + <member name="font_size" type="int" setter="set_font_size" getter="get_font_size" default="16"> + Font size of the [Label3D]'s text. + </member> + <member name="horizontal_alignment" type="int" setter="set_horizontal_alignment" getter="get_horizontal_alignment" enum="HorizontalAlignment" default="1"> + Controls the text's horizontal alignment. Supports left, center, right. Set it to one of the [enum HorizontalAlignment] constants. + </member> + <member name="language" type="String" setter="set_language" getter="get_language" default=""""> + Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead. + </member> + <member name="line_spacing" type="float" setter="set_line_spacing" getter="get_line_spacing" default="0.0"> + Vertical space between lines in multiline [Label3D]. + </member> + <member name="modulate" type="Color" setter="set_modulate" getter="get_modulate" default="Color(1, 1, 1, 1)"> + Text [Color] of the [Label3D]. + </member> + <member name="no_depth_test" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false"> + If [code]true[/code], depth testing is disabled and the object will be drawn in render order. + </member> + <member name="outline_modulate" type="Color" setter="set_outline_modulate" getter="get_outline_modulate" default="Color(0, 0, 0, 1)"> + The tint of [Font]'s outline. + </member> + <member name="outline_size" type="int" setter="set_outline_size" getter="get_outline_size" default="0"> + Text outline size. + </member> + <member name="pixel_size" type="float" setter="set_pixel_size" getter="get_pixel_size" default="0.01"> + The size of one pixel's width on the label to scale it in 3D. + </member> + <member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false"> + If [code]true[/code], the [Light3D] in the [Environment] has effects on the label. + </member> + <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0"> + Set BiDi algorithm override for the structured text. + </member> + <member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]"> + Set additional options for BiDi override. + </member> + <member name="text" type="String" setter="set_text" getter="get_text" default=""""> + The text to display on screen. + </member> + <member name="text_direction" type="int" setter="set_text_direction" getter="get_text_direction" enum="TextServer.Direction" default="0"> + Base text writing direction. + </member> + <member name="texture_filter" type="int" setter="set_texture_filter" getter="get_texture_filter" enum="BaseMaterial3D.TextureFilter" default="3"> + Filter flags for the texture. See [enum BaseMaterial3D.TextureFilter] for options. + </member> + <member name="uppercase" type="bool" setter="set_uppercase" getter="is_uppercase" default="false"> + If [code]true[/code], all the text displays as UPPERCASE. + </member> + <member name="vertical_alignment" type="int" setter="set_vertical_alignment" getter="get_vertical_alignment" enum="VerticalAlignment" default="1"> + Controls the text's vertical alignment. Supports top, center, bottom. Set it to one of the [enum VerticalAlignment] constants. + </member> + <member name="width" type="float" setter="set_width" getter="get_width" default="500.0"> + Text width (in pixels), used for autowrap and fill alignment. + </member> + </members> + <constants> + <constant name="AUTOWRAP_OFF" value="0" enum="AutowrapMode"> + Autowrap is disabled. + </constant> + <constant name="AUTOWRAP_ARBITRARY" value="1" enum="AutowrapMode"> + Wraps the text inside the node's bounding rectangle by allowing to break lines at arbitrary positions, which is useful when very limited space is available. + </constant> + <constant name="AUTOWRAP_WORD" value="2" enum="AutowrapMode"> + Wraps the text inside the node's bounding rectangle by soft-breaking between words. + </constant> + <constant name="AUTOWRAP_WORD_SMART" value="3" enum="AutowrapMode"> + Behaves similarly to [constant AUTOWRAP_WORD], but force-breaks a word if that single word does not fit in one line. + </constant> + <constant name="FLAG_SHADED" value="0" enum="DrawFlags"> + If set, lights in the environment affect the label. + </constant> + <constant name="FLAG_DOUBLE_SIDED" value="1" enum="DrawFlags"> + If set, text can be seen from the back as well. If not, the texture is invisible when looking at it from behind. + </constant> + <constant name="FLAG_DISABLE_DEPTH_TEST" value="2" enum="DrawFlags"> + Disables the depth test, so this object is drawn on top of all others. However, objects drawn after it in the draw order may cover it. + </constant> + <constant name="FLAG_FIXED_SIZE" value="3" enum="DrawFlags"> + Label is scaled by depth so that it always appears the same size on screen. + </constant> + <constant name="FLAG_MAX" value="4" enum="DrawFlags"> + Represents the size of the [enum DrawFlags] enum. + </constant> + <constant name="ALPHA_CUT_DISABLED" value="0" enum="AlphaCutMode"> + This mode performs standard alpha blending. It can display translucent areas, but transparency sorting issues may be visible when multiple transparent materials are overlapping. + </constant> + <constant name="ALPHA_CUT_DISCARD" value="1" enum="AlphaCutMode"> + This mode only allows fully transparent or fully opaque pixels. Harsh edges will be visible unless some form of screen-space antialiasing is enabled (see [member ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa]). This mode is also known as [i]alpha testing[/i] or [i]1-bit transparency[/i]. + [b]Note:[/b] This mode might have issues with anti-aliased fonts and outlines, try adjusting [member alpha_scissor_threshold] or using MSDF font. + [b]Note:[/b] When using text with overlapping glyphs (e.g., cursive scripts), this mode might have transparency sorting issues between the main text and the outline. + </constant> + <constant name="ALPHA_CUT_OPAQUE_PREPASS" value="2" enum="AlphaCutMode"> + This mode draws fully opaque pixels in the depth prepass. This is slower than [constant ALPHA_CUT_DISABLED] or [constant ALPHA_CUT_DISCARD], but it allows displaying translucent areas and smooth edges while using proper sorting. + [b]Note:[/b] When using text with overlapping glyphs (e.g., cursive scripts), this mode might have transparency sorting issues between the main text and the outline. + </constant> + </constants> +</class> diff --git a/doc/classes/LineEdit.xml b/doc/classes/LineEdit.xml index 136147b4b0..55e012ee0c 100644 --- a/doc/classes/LineEdit.xml +++ b/doc/classes/LineEdit.xml @@ -251,7 +251,7 @@ <member name="shortcut_keys_enabled" type="bool" setter="set_shortcut_keys_enabled" getter="is_shortcut_keys_enabled" default="true"> If [code]false[/code], using shortcuts will be disabled. </member> - <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0"> + <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0"> Set BiDi algorithm override for the structured text. </member> <member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]"> diff --git a/doc/classes/LinkButton.xml b/doc/classes/LinkButton.xml index 3b03d86644..ba80504caf 100644 --- a/doc/classes/LinkButton.xml +++ b/doc/classes/LinkButton.xml @@ -36,7 +36,7 @@ <member name="language" type="String" setter="set_language" getter="get_language" default=""""> Language code used for line-breaking and text shaping algorithms, if left empty current locale is used instead. </member> - <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0"> + <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0"> Set BiDi algorithm override for the structured text. </member> <member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]"> diff --git a/doc/classes/MenuButton.xml b/doc/classes/MenuButton.xml index c32f7318c0..bec567b3ef 100644 --- a/doc/classes/MenuButton.xml +++ b/doc/classes/MenuButton.xml @@ -64,7 +64,7 @@ <theme_item name="font_pressed_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)"> Text [Color] used when the [MenuButton] is being pressed. </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="3"> + <theme_item name="h_separation" data_type="constant" type="int" default="3"> The horizontal space between [MenuButton]'s icon and text. </theme_item> <theme_item name="outline_size" data_type="constant" type="int" default="0"> diff --git a/doc/classes/MultiplayerAPI.xml b/doc/classes/MultiplayerAPI.xml index ac17886183..059d147979 100644 --- a/doc/classes/MultiplayerAPI.xml +++ b/doc/classes/MultiplayerAPI.xml @@ -6,7 +6,7 @@ <description> This class implements the high-level multiplayer API. See also [MultiplayerPeer]. By default, [SceneTree] has a reference to this class that is used to provide multiplayer capabilities (i.e. RPCs) across the whole scene. - It is possible to override the MultiplayerAPI instance used by specific Nodes by setting the [member Node.custom_multiplayer] property, effectively allowing to run both client and server in the same scene. + It is possible to override the MultiplayerAPI instance used by specific tree branches by calling the [method SceneTree.set_multiplayer] method, effectively allowing to run both client and server in the same scene. [b]Note:[/b] The high-level multiplayer API protocol is an implementation detail and isn't meant to be used by non-Godot servers. It may change without notice. [b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android. </description> @@ -53,7 +53,7 @@ <method name="poll"> <return type="void" /> <description> - Method used for polling the MultiplayerAPI. You only need to worry about this if you are using [member Node.custom_multiplayer] override or you set [member SceneTree.multiplayer_poll] to [code]false[/code]. By default, [SceneTree] will poll its MultiplayerAPI for you. + Method used for polling the MultiplayerAPI. You only need to worry about this if you set [member SceneTree.multiplayer_poll] to [code]false[/code]. By default, [SceneTree] will poll its MultiplayerAPI(s) for you. [b]Note:[/b] This method results in RPCs being called, so they will be executed in the same context of this function (e.g. [code]_process[/code], [code]physics[/code], [Thread]). </description> </method> diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml index 7079036879..c9795856d5 100644 --- a/doc/classes/Node.xml +++ b/doc/classes/Node.xml @@ -193,28 +193,45 @@ [b]Note:[/b] It will not work properly if the node contains a script with constructor arguments (i.e. needs to supply arguments to [method Object._init] method). In that case, the node will be duplicated without a script. </description> </method> - <method name="find_nodes" qualifiers="const"> + <method name="find_child" qualifiers="const"> + <return type="Node" /> + <argument index="0" name="pattern" type="String" /> + <argument index="1" name="recursive" type="bool" default="true" /> + <argument index="2" name="owned" type="bool" default="true" /> + <description> + Finds the first descendant of this node whose name matches [code]pattern[/code] as in [method String.match]. + [code]pattern[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]). + If [code]recursive[/code] is [code]true[/code], all child nodes are included, even if deeply nested. Nodes are checked in tree order, so this node's first direct child is checked first, then its own direct children, etc., before moving to the second direct child, and so on. If [code]recursive[/code] is [code]false[/code], only this node's direct children are matched. + If [code]owned[/code] is [code]true[/code], this method only finds nodes who have an assigned [member Node.owner]. This is especially important for scenes instantiated through a script, because those scenes don't have an owner. + Returns [code]null[/code] if no matching [Node] is found. + [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get a reference to another node. Whenever possible, consider using [method get_node] with unique names instead (see [member unique_name_in_owner]), or caching the node references into variable. + [b]Note:[/b] To find all descendant nodes matching a pattern or a class type, see [method find_children]. + </description> + </method> + <method name="find_children" qualifiers="const"> <return type="Node[]" /> - <argument index="0" name="mask" type="String" /> + <argument index="0" name="pattern" type="String" /> <argument index="1" name="type" type="String" default="""" /> <argument index="2" name="recursive" type="bool" default="true" /> <argument index="3" name="owned" type="bool" default="true" /> <description> - Finds descendants of this node whose, name matches [code]mask[/code] as in [method String.match], and/or type matches [code]type[/code] as in [method Object.is_class]. - [code]mask[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]). - [code]type[/code] will check equality or inheritance. It is case-sensitive, [code]"Object"[/code] will match a node whose type is [code]"Node"[/code] but not the other way around. - If [code]owned[/code] is [code]true[/code], this method only finds nodes whose owner is this node. This is especially important for scenes instantiated through a script, because those scenes don't have an owner. - Returns an empty array, if no matching nodes are found. - [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get references to other nodes. To avoid using [method find_nodes] too often, consider caching the node references into variables. + Finds descendants of this node whose name matches [code]pattern[/code] as in [method String.match], and/or type matches [code]type[/code] as in [method Object.is_class]. + [code]pattern[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]). + [code]type[/code] will check equality or inheritance, and is case-sensitive. [code]"Object"[/code] will match a node whose type is [code]"Node"[/code] but not the other way around. + If [code]recursive[/code] is [code]true[/code], all child nodes are included, even if deeply nested. Nodes are checked in tree order, so this node's first direct child is checked first, then its own direct children, etc., before moving to the second direct child, and so on. If [code]recursive[/code] is [code]false[/code], only this node's direct children are matched. + If [code]owned[/code] is [code]true[/code], this method only finds nodes who have an assigned [member Node.owner]. This is especially important for scenes instantiated through a script, because those scenes don't have an owner. + Returns an empty array if no matching nodes are found. + [b]Note:[/b] As this method walks through all the descendants of the node, it is the slowest way to get references to other nodes. Whenever possible, consider caching the node references into variables. + [b]Note:[/b] If you only want to find the first descendant node that matches a pattern, see [method find_child]. </description> </method> <method name="find_parent" qualifiers="const"> <return type="Node" /> - <argument index="0" name="mask" type="String" /> + <argument index="0" name="pattern" type="String" /> <description> - Finds the first parent of the current node whose name matches [code]mask[/code] as in [method String.match] (i.e. case-sensitive, but [code]"*"[/code] matches zero or more characters and [code]"?"[/code] matches any single character except [code]"."[/code]). - [b]Note:[/b] It does not match against the full path, just against individual node names. - [b]Note:[/b] As this method walks upwards in the scene tree, it can be slow in large, deeply nested scene trees. Whenever possible, consider using [method get_node] instead. To avoid using [method find_parent] too often, consider caching the node reference into a variable. + Finds the first parent of the current node whose name matches [code]pattern[/code] as in [method String.match]. + [code]pattern[/code] does not match against the full path, just against individual node names. It is case-sensitive, with [code]"*"[/code] matching zero or more characters and [code]"?"[/code] matching any single character except [code]"."[/code]). + [b]Note:[/b] As this method walks upwards in the scene tree, it can be slow in large, deeply nested scene trees. Whenever possible, consider using [method get_node] with unique names instead (see [member unique_name_in_owner]), or caching the node references into variable. </description> </method> <method name="get_child" qualifiers="const"> @@ -728,14 +745,11 @@ </method> </methods> <members> - <member name="custom_multiplayer" type="MultiplayerAPI" setter="set_custom_multiplayer" getter="get_custom_multiplayer"> - The override to the default [MultiplayerAPI]. Set to [code]null[/code] to use the default [SceneTree] one. - </member> <member name="editor_description" type="String" setter="set_editor_description" getter="get_editor_description" default=""""> Add a custom description to a node. It will be displayed in a tooltip when hovered in editor's scene tree. </member> <member name="multiplayer" type="MultiplayerAPI" setter="" getter="get_multiplayer"> - The [MultiplayerAPI] instance associated with this node. Either the [member custom_multiplayer], or the default SceneTree one (if inside tree). + The [MultiplayerAPI] instance associated with this node. See [method SceneTree.get_multiplayer]. </member> <member name="name" type="StringName" setter="set_name" getter="get_name"> The name of the node. This name is unique among the siblings (other child nodes from the same parent). When set to an existing name, the node will be automatically renamed. @@ -754,6 +768,10 @@ <member name="scene_file_path" type="String" setter="set_scene_file_path" getter="get_scene_file_path"> If a scene is instantiated from a file, its topmost node contains the absolute file path from which it was loaded in [member scene_file_path] (e.g. [code]res://levels/1.tscn[/code]). Otherwise, [member scene_file_path] is set to an empty string. </member> + <member name="unique_name_in_owner" type="bool" setter="set_unique_name_in_owner" getter="is_unique_name_in_owner" default="false"> + Sets this node's name as a unique name in its [member owner]. This allows the node to be accessed as [code]%Name[/code] instead of the full path, from any node within that scene. + If another node with the same owner already had that name declared as unique, that other node's name will no longer be set as having a unique name. + </member> </members> <signals> <signal name="child_entered_tree"> @@ -830,10 +848,13 @@ Notification received when the node is instantiated. </constant> <constant name="NOTIFICATION_DRAG_BEGIN" value="21"> - Notification received when a drag begins. + Notification received when a drag operation begins. All nodes receive this notification, not only the dragged one. + Can be triggered either by dragging a [Control] that provides drag data (see [method Control._get_drag_data]) or using [method Control.force_drag]. + Use [method Viewport.gui_get_drag_data] to get the dragged data. </constant> <constant name="NOTIFICATION_DRAG_END" value="22"> - Notification received when a drag ends. + Notification received when a drag operation ends. + Use [method Viewport.gui_is_drag_successful] to check if the drag succeeded. </constant> <constant name="NOTIFICATION_PATH_RENAMED" value="23"> Notification received when the node's name or one of its parents' name is changed. This notification is [i]not[/i] received when the node is removed from the scene tree to be added to another parent later on. diff --git a/doc/classes/OS.xml b/doc/classes/OS.xml index bc9bfc9676..f45bee4db4 100644 --- a/doc/classes/OS.xml +++ b/doc/classes/OS.xml @@ -278,7 +278,7 @@ <return type="String" /> <description> Returns the name of the host OS. - On Windows, this is [code]"Windows"[/code] or [code]"UWP"[/code] (Universal Windows Platform) if exported thereon. + On Windows, this is [code]"Windows"[/code] or [code]"UWP"[/code] if exported on Universal Windows Platform. On macOS, this is [code]"macOS"[/code]. On Linux-based operating systems, this is [code]"Linux"[/code]. On BSD-based operating systems, this is [code]"FreeBSD"[/code], [code]"NetBSD"[/code], [code]"OpenBSD"[/code], or [code]"BSD"[/code] as a fallback. @@ -455,6 +455,14 @@ [b]Note:[/b] This method is implemented on Android, iOS, Linux, macOS and Windows. </description> </method> + <method name="move_to_trash" qualifiers="const"> + <return type="int" enum="Error" /> + <argument index="0" name="path" type="String" /> + <description> + Moves the file or directory to the system's recycle bin. See also [method Directory.remove]. + [b]Note:[/b] If the user has disabled the recycle bin on their system, the file will be permanently deleted instead. + </description> + </method> <method name="open_midi_inputs"> <return type="void" /> <description> diff --git a/doc/classes/OptionButton.xml b/doc/classes/OptionButton.xml index b7145ab923..a7b1f0ea33 100644 --- a/doc/classes/OptionButton.xml +++ b/doc/classes/OptionButton.xml @@ -238,7 +238,7 @@ <theme_item name="arrow_margin" data_type="constant" type="int" default="4"> The horizontal space between the arrow icon and the right edge of the button. </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="2"> + <theme_item name="h_separation" data_type="constant" type="int" default="2"> The horizontal space between [OptionButton]'s icon and text. </theme_item> <theme_item name="outline_size" data_type="constant" type="int" default="0"> diff --git a/doc/classes/PackedByteArray.xml b/doc/classes/PackedByteArray.xml index a0e67bfa63..61dc1eef00 100644 --- a/doc/classes/PackedByteArray.xml +++ b/doc/classes/PackedByteArray.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedByteArray" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of bytes. + A packed array of bytes. </brief_description> <description> - An [Array] specifically designed to hold bytes. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold bytes. Packs data tightly, so it saves memory for large array sizes. </description> <tutorials> </tutorials> diff --git a/doc/classes/PackedColorArray.xml b/doc/classes/PackedColorArray.xml index d1a00b32b1..f880771c77 100644 --- a/doc/classes/PackedColorArray.xml +++ b/doc/classes/PackedColorArray.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedColorArray" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of [Color]s. + A packed array of [Color]s. </brief_description> <description> - An [Array] specifically designed to hold [Color]. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold [Color]. Packs data tightly, so it saves memory for large array sizes. </description> <tutorials> </tutorials> diff --git a/doc/classes/PackedFloat32Array.xml b/doc/classes/PackedFloat32Array.xml index b351058346..e2b877ad5f 100644 --- a/doc/classes/PackedFloat32Array.xml +++ b/doc/classes/PackedFloat32Array.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedFloat32Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of 32-bit floating-point values. + A packed array of 32-bit floating-point values. </brief_description> <description> - An [Array] specifically designed to hold 32-bit floating-point values. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold 32-bit floating-point values. Packs data tightly, so it saves memory for large array sizes. If you need to pack 64-bit floats tightly, see [PackedFloat64Array]. </description> <tutorials> diff --git a/doc/classes/PackedFloat64Array.xml b/doc/classes/PackedFloat64Array.xml index b4ffa295bd..be7a52b7f4 100644 --- a/doc/classes/PackedFloat64Array.xml +++ b/doc/classes/PackedFloat64Array.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedFloat64Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of 64-bit floating-point values. + A packed array of 64-bit floating-point values. </brief_description> <description> - An [Array] specifically designed to hold 64-bit floating-point values. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold 64-bit floating-point values. Packs data tightly, so it saves memory for large array sizes. If you only need to pack 32-bit floats tightly, see [PackedFloat32Array] for a more memory-friendly alternative. </description> <tutorials> diff --git a/doc/classes/PackedInt32Array.xml b/doc/classes/PackedInt32Array.xml index b34deb518a..108273d859 100644 --- a/doc/classes/PackedInt32Array.xml +++ b/doc/classes/PackedInt32Array.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedInt32Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of 32-bit integers. + A packed array of 32-bit integers. </brief_description> <description> - An [Array] specifically designed to hold 32-bit integer values. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold 32-bit integer values. Packs data tightly, so it saves memory for large array sizes. [b]Note:[/b] This type stores signed 32-bit integers, which means it can take values in the interval [code][-2^31, 2^31 - 1][/code], i.e. [code][-2147483648, 2147483647][/code]. Exceeding those bounds will wrap around. In comparison, [int] uses signed 64-bit integers which can hold much larger values. If you need to pack 64-bit integers tightly, see [PackedInt64Array]. </description> <tutorials> diff --git a/doc/classes/PackedInt64Array.xml b/doc/classes/PackedInt64Array.xml index 6a99db778c..c34f2fc75e 100644 --- a/doc/classes/PackedInt64Array.xml +++ b/doc/classes/PackedInt64Array.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedInt64Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of 64-bit integers. + A packed array of 64-bit integers. </brief_description> <description> - An [Array] specifically designed to hold 64-bit integer values. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold 64-bit integer values. Packs data tightly, so it saves memory for large array sizes. [b]Note:[/b] This type stores signed 64-bit integers, which means it can take values in the interval [code][-2^63, 2^63 - 1][/code], i.e. [code][-9223372036854775808, 9223372036854775807][/code]. Exceeding those bounds will wrap around. If you only need to pack 32-bit integers tightly, see [PackedInt32Array] for a more memory-friendly alternative. </description> <tutorials> diff --git a/doc/classes/PackedStringArray.xml b/doc/classes/PackedStringArray.xml index 29c72f62de..536f5f02eb 100644 --- a/doc/classes/PackedStringArray.xml +++ b/doc/classes/PackedStringArray.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedStringArray" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of [String]s. + A packed array of [String]s. </brief_description> <description> - An [Array] specifically designed to hold [String]s. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold [String]s. Packs data tightly, so it saves memory for large array sizes. </description> <tutorials> <link title="OS Test Demo">https://godotengine.org/asset-library/asset/677</link> diff --git a/doc/classes/PackedVector2Array.xml b/doc/classes/PackedVector2Array.xml index cd78f29595..29423d1cde 100644 --- a/doc/classes/PackedVector2Array.xml +++ b/doc/classes/PackedVector2Array.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedVector2Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of [Vector2]s. + A packed array of [Vector2]s. </brief_description> <description> - An [Array] specifically designed to hold [Vector2]. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold [Vector2]. Packs data tightly, so it saves memory for large array sizes. </description> <tutorials> <link title="2D Navigation Astar Demo">https://godotengine.org/asset-library/asset/519</link> diff --git a/doc/classes/PackedVector3Array.xml b/doc/classes/PackedVector3Array.xml index 9ae4073fdf..6d460cecab 100644 --- a/doc/classes/PackedVector3Array.xml +++ b/doc/classes/PackedVector3Array.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="PackedVector3Array" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - A packed [Array] of [Vector3]s. + A packed array of [Vector3]s. </brief_description> <description> - An [Array] specifically designed to hold [Vector3]. Packs data tightly, so it saves memory for large array sizes. + An array specifically designed to hold [Vector3]. Packs data tightly, so it saves memory for large array sizes. </description> <tutorials> </tutorials> diff --git a/doc/classes/PopupMenu.xml b/doc/classes/PopupMenu.xml index f8f16acb06..bf80aa94a5 100644 --- a/doc/classes/PopupMenu.xml +++ b/doc/classes/PopupMenu.xml @@ -571,7 +571,7 @@ <theme_item name="font_separator_outline_color" data_type="color" type="Color" default="Color(1, 1, 1, 1)"> The tint of text outline of the labeled separator. </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The horizontal space between the item's elements. </theme_item> <theme_item name="item_end_padding" data_type="constant" type="int" default="2"> @@ -584,7 +584,7 @@ <theme_item name="separator_outline_size" data_type="constant" type="int" default="0"> The size of the labeled separator text outline. </theme_item> - <theme_item name="vseparation" data_type="constant" type="int" default="4"> + <theme_item name="v_separation" data_type="constant" type="int" default="4"> The vertical space between each menu item. </theme_item> <theme_item name="font" data_type="font" type="Font"> diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index ee32677b3a..7c6d6d1c10 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -578,9 +578,19 @@ <member name="gui/theme/default_font_antialiased" type="bool" setter="" getter="" default="true"> If set to [code]true[/code], default font uses 8-bit anitialiased glyph rendering. See [member FontData.antialiased]. </member> + <member name="gui/theme/default_font_generate_mipmaps" type="bool" setter="" getter="" default="false"> + If set to [code]true[/code], the default font will have mipmaps generated. This prevents text from looking grainy when a [Control] is scaled down, or when a [Label3D] is viewed from a long distance (if [member Label3D.texture_filter] is set to a mode that displays mipmaps). + Enabling [member gui/theme/default_font_generate_mipmaps] increases font generation time and memory usage. Only enable this setting if you actually need it. + [b]Note:[/b] This setting does not affect custom [Font]s used within the project. + </member> <member name="gui/theme/default_font_hinting" type="int" setter="" getter="" default="1"> Default font hinting mode. See [member FontData.hinting]. </member> + <member name="gui/theme/default_font_multichannel_signed_distance_field" type="bool" setter="" getter="" default="false"> + If set to [code]true[/code], the default font will use multichannel signed distance field (MSDF) for crisp rendering at any size. Since this approach does not rely on rasterizing the font every time its size changes, this allows for resizing the font in real-time without any performance penalty. Text will also not look grainy for [Control]s that are scaled down (or for [Label3D]s viewed from a long distance). + MSDF font rendering can be combined with [member gui/theme/default_font_generate_mipmaps] to further improve font rendering quality when scaled down. + [b]Note:[/b] This setting does not affect custom [Font]s used within the project. + </member> <member name="gui/theme/default_font_subpixel_positioning" type="int" setter="" getter="" default="1"> Default font glyph sub-pixel positioning mode. See [member FontData.subpixel_positioning]. </member> diff --git a/doc/classes/RichTextLabel.xml b/doc/classes/RichTextLabel.xml index 02b67a4a5b..62a692d4a7 100644 --- a/doc/classes/RichTextLabel.xml +++ b/doc/classes/RichTextLabel.xml @@ -342,7 +342,7 @@ <argument index="0" name="alignment" type="int" enum="HorizontalAlignment" /> <argument index="1" name="base_direction" type="int" enum="Control.TextDirection" default="0" /> <argument index="2" name="language" type="String" default="""" /> - <argument index="3" name="st_parser" type="int" enum="Control.StructuredTextParser" default="0" /> + <argument index="3" name="st_parser" type="int" enum="TextServer.StructuredTextParser" default="0" /> <description> Adds a [code][p][/code] tag to the tag stack. </description> @@ -488,7 +488,7 @@ <member name="shortcut_keys_enabled" type="bool" setter="set_shortcut_keys_enabled" getter="is_shortcut_keys_enabled" default="true"> If [code]true[/code], shortcut keys for context menu items are enabled, even if the context menu is disabled. </member> - <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0"> + <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0"> Set BiDi algorithm override for the structured text. </member> <member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]"> @@ -667,10 +667,10 @@ <theme_item name="shadow_outline_size" data_type="constant" type="int" default="1"> The size of the shadow outline. </theme_item> - <theme_item name="table_hseparation" data_type="constant" type="int" default="3"> + <theme_item name="table_h_separation" data_type="constant" type="int" default="3"> The horizontal separation of elements in a table. </theme_item> - <theme_item name="table_vseparation" data_type="constant" type="int" default="3"> + <theme_item name="table_v_separation" data_type="constant" type="int" default="3"> The vertical separation of elements in a table. </theme_item> <theme_item name="bold_font" data_type="font" type="Font"> diff --git a/doc/classes/SceneTree.xml b/doc/classes/SceneTree.xml index 77023d2126..ddff766b17 100644 --- a/doc/classes/SceneTree.xml +++ b/doc/classes/SceneTree.xml @@ -99,6 +99,13 @@ Returns the current frame number, i.e. the total frame count since the application started. </description> </method> + <method name="get_multiplayer" qualifiers="const"> + <return type="MultiplayerAPI" /> + <argument index="0" name="for_path" type="NodePath" default="NodePath("")" /> + <description> + Return the [MultiplayerAPI] configured for the given path, or the default one if [code]for_path[/code] is empty. + </description> + </method> <method name="get_node_count" qualifiers="const"> <return type="int" /> <description> @@ -193,6 +200,14 @@ Sets the given [code]property[/code] to [code]value[/code] on all members of the given group, respecting the given [enum GroupCallFlags]. </description> </method> + <method name="set_multiplayer"> + <return type="void" /> + <argument index="0" name="multiplayer" type="MultiplayerAPI" /> + <argument index="1" name="root_path" type="NodePath" default="NodePath("")" /> + <description> + Sets a custom [MultiplayerAPI] with the given [code]root_path[/code] (controlling also the relative subpaths), or override the default one if [code]root_path[/code] is empty. + </description> + </method> <method name="set_quit_on_go_back"> <return type="void" /> <argument index="0" name="enabled" type="bool" /> @@ -215,9 +230,6 @@ <member name="edited_scene_root" type="Node" setter="set_edited_scene_root" getter="get_edited_scene_root"> The root of the edited scene. </member> - <member name="multiplayer" type="MultiplayerAPI" setter="set_multiplayer" getter="get_multiplayer"> - The default [MultiplayerAPI] instance for this [SceneTree]. - </member> <member name="multiplayer_poll" type="bool" setter="set_multiplayer_poll_enabled" getter="is_multiplayer_poll_enabled" default="true"> If [code]true[/code] (default value), enables automatic polling of the [MultiplayerAPI] for this SceneTree during [signal process_frame]. If [code]false[/code], you need to manually call [method MultiplayerAPI.poll] to process network packets and deliver RPCs. This allows running RPCs in a different loop (e.g. physics, thread, specific time step) and for manual [Mutex] protection when accessing the [MultiplayerAPI] from threads. diff --git a/doc/classes/SpriteBase3D.xml b/doc/classes/SpriteBase3D.xml index 405fff0ce8..9733fa3a26 100644 --- a/doc/classes/SpriteBase3D.xml +++ b/doc/classes/SpriteBase3D.xml @@ -53,6 +53,9 @@ <member name="double_sided" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true"> If [code]true[/code], texture can be seen from the back as well, if [code]false[/code], it is invisible when looking at it from behind. </member> + <member name="fixed_size" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false"> + If [code]true[/code], the label is rendered at the same size regardless of distance. + </member> <member name="flip_h" type="bool" setter="set_flip_h" getter="is_flipped_h" default="false"> If [code]true[/code], texture is flipped horizontally. </member> @@ -63,6 +66,9 @@ A color value used to [i]multiply[/i] the texture's colors. Can be used for mood-coloring or to simulate the color of light. [b]Note:[/b] If a [member GeometryInstance3D.material_override] is defined on the [SpriteBase3D], the material override must be configured to take vertex colors into account for albedo. Otherwise, the color defined in [member modulate] will be ignored. For a [BaseMaterial3D], [member BaseMaterial3D.vertex_color_use_as_albedo] must be [code]true[/code]. For a [ShaderMaterial], [code]ALBEDO *= COLOR.rgb;[/code] must be inserted in the shader's [code]fragment()[/code] function. </member> + <member name="no_depth_test" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false"> + If [code]true[/code], depth testing is disabled and the object will be drawn in render order. + </member> <member name="offset" type="Vector2" setter="set_offset" getter="get_offset" default="Vector2(0, 0)"> The texture's drawing offset. </member> @@ -72,6 +78,9 @@ <member name="shaded" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="false"> If [code]true[/code], the [Light3D] in the [Environment] has effects on the sprite. </member> + <member name="texture_filter" type="int" setter="set_texture_filter" getter="get_texture_filter" enum="BaseMaterial3D.TextureFilter" default="3"> + Filter flags for the texture. See [enum BaseMaterial3D.TextureFilter] for options. + </member> <member name="transparent" type="bool" setter="set_draw_flag" getter="get_draw_flag" default="true"> If [code]true[/code], the texture's transparency and the opacity are used to make those parts of the sprite invisible. </member> @@ -86,7 +95,13 @@ <constant name="FLAG_DOUBLE_SIDED" value="2" enum="DrawFlags"> If set, texture can be seen from the back as well. If not, the texture is invisible when looking at it from behind. </constant> - <constant name="FLAG_MAX" value="3" enum="DrawFlags"> + <constant name="FLAG_DISABLE_DEPTH_TEST" value="3" enum="DrawFlags"> + Disables the depth test, so this object is drawn on top of all others. However, objects drawn after it in the draw order may cover it. + </constant> + <constant name="FLAG_FIXED_SIZE" value="4" enum="DrawFlags"> + Label is scaled by depth so that it always appears the same size on screen. + </constant> + <constant name="FLAG_MAX" value="5" enum="DrawFlags"> Represents the size of the [enum DrawFlags] enum. </constant> <constant name="ALPHA_CUT_DISABLED" value="0" enum="AlphaCutMode"> diff --git a/doc/classes/TabBar.xml b/doc/classes/TabBar.xml index aca5e2d7f3..a8ed0d4286 100644 --- a/doc/classes/TabBar.xml +++ b/doc/classes/TabBar.xml @@ -338,7 +338,7 @@ <theme_item name="font_unselected_color" data_type="color" type="Color" default="Color(0.7, 0.7, 0.7, 1)"> Font color of the other, unselected tabs. </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The horizontal separation between the elements inside tabs. </theme_item> <theme_item name="outline_size" data_type="constant" type="int" default="0"> diff --git a/doc/classes/TextEdit.xml b/doc/classes/TextEdit.xml index a4edaa79c7..58fdd2d058 100644 --- a/doc/classes/TextEdit.xml +++ b/doc/classes/TextEdit.xml @@ -1017,7 +1017,7 @@ <member name="shortcut_keys_enabled" type="bool" setter="set_shortcut_keys_enabled" getter="is_shortcut_keys_enabled" default="true"> If [code]true[/code], shortcut keys for context menu items are enabled, even if the context menu is disabled. </member> - <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="Control.StructuredTextParser" default="0"> + <member name="structured_text_bidi_override" type="int" setter="set_structured_text_bidi_override" getter="get_structured_text_bidi_override" enum="TextServer.StructuredTextParser" default="0"> Set BiDi algorithm override for the structured text. </member> <member name="structured_text_bidi_override_options" type="Array" setter="set_structured_text_bidi_override_options" getter="get_structured_text_bidi_override_options" default="[]"> diff --git a/doc/classes/TextServer.xml b/doc/classes/TextServer.xml index 9ef800d7e1..dba4bd24a5 100644 --- a/doc/classes/TextServer.xml +++ b/doc/classes/TextServer.xml @@ -80,6 +80,7 @@ <description> Draws single glyph into a canvas item at the position, using [code]font_rid[/code] at the size [code]size[/code]. [b]Note:[/b] Glyph index is specific to the font, use glyphs indices returned by [method shaped_text_get_glyphs] or [method font_get_glyph_index]. + [b]Note:[/b] If there are pending glyphs to render, calling this function might trigger the texture cache update. </description> </method> <method name="font_draw_glyph_outline" qualifiers="const"> @@ -94,6 +95,7 @@ <description> Draws single glyph outline of size [code]outline_size[/code] into a canvas item at the position, using [code]font_rid[/code] at the size [code]size[/code]. [b]Note:[/b] Glyph index is specific to the font, use glyphs indices returned by [method shaped_text_get_glyphs] or [method font_get_glyph_index]. + [b]Note:[/b] If there are pending glyphs to render, calling this function might trigger the texture cache update. </description> </method> <method name="font_get_ascent" qualifiers="const"> @@ -126,6 +128,13 @@ Returns bitmap font fixed size. </description> </method> + <method name="font_get_generate_mipmaps" qualifiers="const"> + <return type="bool" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Returns [code]true[/code] if font texture mipmap generation is enabled. + </description> + </method> <method name="font_get_global_oversampling" qualifiers="const"> <return type="float" /> <description> @@ -199,6 +208,26 @@ Returns index of the cache texture containing the glyph. </description> </method> + <method name="font_get_glyph_texture_rid" qualifiers="const"> + <return type="RID" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="size" type="Vector2i" /> + <argument index="2" name="glyph" type="int" /> + <description> + Returns resource id of the cache texture containing the glyph. + [b]Note:[/b] If there are pending glyphs to render, calling this function might trigger the texture cache update. + </description> + </method> + <method name="font_get_glyph_texture_size" qualifiers="const"> + <return type="Vector2" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="size" type="Vector2i" /> + <argument index="2" name="glyph" type="int" /> + <description> + Returns size of the cache texture containing the glyph. + [b]Note:[/b] If there are pending glyphs to render, calling this function might trigger the texture cache update. + </description> + </method> <method name="font_get_glyph_uv_rect" qualifiers="const"> <return type="Rect2" /> <argument index="0" name="font_rid" type="RID" /> @@ -580,6 +609,14 @@ If set to [code]true[/code] auto-hinting is preferred over font built-in hinting. </description> </method> + <method name="font_set_generate_mipmaps"> + <return type="void" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="generate_mipmaps" type="bool" /> + <description> + If set to [code]true[/code] font texture mipmap generation is enabled. + </description> + </method> <method name="font_set_global_oversampling"> <return type="void" /> <argument index="0" name="oversampling" type="float" /> @@ -927,6 +964,15 @@ Converts a number from the numeral systems used in [code]language[/code] to Western Arabic (0..9). </description> </method> + <method name="parse_structured_text" qualifiers="const"> + <return type="Array" /> + <argument index="0" name="parser_type" type="int" enum="TextServer.StructuredTextParser" /> + <argument index="1" name="args" type="Array" /> + <argument index="2" name="text" type="String" /> + <description> + Default implementation of the BiDi algorithm override function. See [enum StructuredTextParser] for more info. + </description> + </method> <method name="percent_sign" qualifiers="const"> <return type="String" /> <argument index="0" name="language" type="String" default="""" /> @@ -1630,5 +1676,27 @@ <constant name="FONT_FIXED_WIDTH" value="4" enum="FontStyle"> Font have fixed-width characters. </constant> + <constant name="STRUCTURED_TEXT_DEFAULT" value="0" enum="StructuredTextParser"> + Use default behavior. Same as [code]STRUCTURED_TEXT_NONE[/code] unless specified otherwise in the control description. + </constant> + <constant name="STRUCTURED_TEXT_URI" value="1" enum="StructuredTextParser"> + BiDi override for URI. + </constant> + <constant name="STRUCTURED_TEXT_FILE" value="2" enum="StructuredTextParser"> + BiDi override for file path. + </constant> + <constant name="STRUCTURED_TEXT_EMAIL" value="3" enum="StructuredTextParser"> + BiDi override for email. + </constant> + <constant name="STRUCTURED_TEXT_LIST" value="4" enum="StructuredTextParser"> + BiDi override for lists. + Structured text options: list separator [code]String[/code]. + </constant> + <constant name="STRUCTURED_TEXT_NONE" value="5" enum="StructuredTextParser"> + Use default Unicode BiDi algorithm. + </constant> + <constant name="STRUCTURED_TEXT_CUSTOM" value="6" enum="StructuredTextParser"> + User defined structured text BiDi override function. + </constant> </constants> </class> diff --git a/doc/classes/TextServerExtension.xml b/doc/classes/TextServerExtension.xml index e7c5edd266..ef522d08a7 100644 --- a/doc/classes/TextServerExtension.xml +++ b/doc/classes/TextServerExtension.xml @@ -121,6 +121,13 @@ Returns bitmap font fixed size. </description> </method> + <method name="font_get_generate_mipmaps" qualifiers="virtual const"> + <return type="bool" /> + <argument index="0" name="font_rid" type="RID" /> + <description> + Returns [code]true[/code] if font texture mipmap generation is enabled. + </description> + </method> <method name="font_get_global_oversampling" qualifiers="virtual const"> <return type="float" /> <description> @@ -193,6 +200,24 @@ Returns index of the cache texture containing the glyph. </description> </method> + <method name="font_get_glyph_texture_rid" qualifiers="virtual const"> + <return type="RID" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="size" type="Vector2i" /> + <argument index="2" name="glyph" type="int" /> + <description> + Returns resource id of the cache texture containing the glyph. + </description> + </method> + <method name="font_get_glyph_texture_size" qualifiers="virtual const"> + <return type="Vector2" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="size" type="Vector2i" /> + <argument index="2" name="glyph" type="int" /> + <description> + Returns size of the cache texture containing the glyph. + </description> + </method> <method name="font_get_glyph_uv_rect" qualifiers="virtual const"> <return type="Rect2" /> <argument index="0" name="font_rid" type="RID" /> @@ -581,6 +606,14 @@ If set to [code]true[/code] auto-hinting is preferred over font built-in hinting. </description> </method> + <method name="font_set_generate_mipmaps" qualifiers="virtual"> + <return type="void" /> + <argument index="0" name="font_rid" type="RID" /> + <argument index="1" name="generate_mipmaps" type="bool" /> + <description> + If set to [code]true[/code] font texture mipmap generation is enabled. + </description> + </method> <method name="font_set_global_oversampling" qualifiers="virtual"> <return type="void" /> <argument index="0" name="oversampling" type="float" /> @@ -927,6 +960,14 @@ Converts a number from the numeral systems used in [code]language[/code] to Western Arabic (0..9). </description> </method> + <method name="parse_structured_text" qualifiers="virtual const"> + <return type="Array" /> + <argument index="0" name="parser_type" type="int" enum="TextServer.StructuredTextParser" /> + <argument index="1" name="args" type="Array" /> + <argument index="2" name="text" type="String" /> + <description> + </description> + </method> <method name="percent_sign" qualifiers="virtual const"> <return type="String" /> <argument index="0" name="language" type="String" /> diff --git a/doc/classes/Tree.xml b/doc/classes/Tree.xml index 5abec4b437..1d4a5b922d 100644 --- a/doc/classes/Tree.xml +++ b/doc/classes/Tree.xml @@ -522,7 +522,7 @@ <theme_item name="draw_relationship_lines" data_type="constant" type="int" default="0"> Draws the relationship lines if not zero, this acts as a boolean. Relationship lines are drawn at the start of child items to show hierarchy. </theme_item> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The horizontal space between item cells. This is also used as the margin at the start of an item when folding is disabled. </theme_item> <theme_item name="item_margin" data_type="constant" type="int" default="16"> @@ -546,7 +546,7 @@ <theme_item name="scroll_speed" data_type="constant" type="int" default="12"> The speed of border scrolling. </theme_item> - <theme_item name="vseparation" data_type="constant" type="int" default="4"> + <theme_item name="v_separation" data_type="constant" type="int" default="4"> The vertical padding inside each item, i.e. the distance between the item's content and top/bottom border. </theme_item> <theme_item name="font" data_type="font" type="Font"> diff --git a/doc/classes/TreeItem.xml b/doc/classes/TreeItem.xml index 396be2d9f8..d2e29bf3b1 100644 --- a/doc/classes/TreeItem.xml +++ b/doc/classes/TreeItem.xml @@ -284,7 +284,7 @@ </description> </method> <method name="get_structured_text_bidi_override" qualifiers="const"> - <return type="int" enum="Control.StructuredTextParser" /> + <return type="int" enum="TextServer.StructuredTextParser" /> <argument index="0" name="column" type="int" /> <description> </description> @@ -620,7 +620,7 @@ <method name="set_structured_text_bidi_override"> <return type="void" /> <argument index="0" name="column" type="int" /> - <argument index="1" name="parser" type="int" enum="Control.StructuredTextParser" /> + <argument index="1" name="parser" type="int" enum="TextServer.StructuredTextParser" /> <description> </description> </method> diff --git a/doc/classes/VFlowContainer.xml b/doc/classes/VFlowContainer.xml index d047f4142e..f427276117 100644 --- a/doc/classes/VFlowContainer.xml +++ b/doc/classes/VFlowContainer.xml @@ -9,10 +9,10 @@ <tutorials> </tutorials> <theme_items> - <theme_item name="hseparation" data_type="constant" type="int" default="4"> + <theme_item name="h_separation" data_type="constant" type="int" default="4"> The horizontal separation of children nodes. </theme_item> - <theme_item name="vseparation" data_type="constant" type="int" default="4"> + <theme_item name="v_separation" data_type="constant" type="int" default="4"> The vertical separation of children nodes. </theme_item> </theme_items> diff --git a/doc/classes/Vector3.xml b/doc/classes/Vector3.xml index 1653b66003..18204943fd 100644 --- a/doc/classes/Vector3.xml +++ b/doc/classes/Vector3.xml @@ -4,7 +4,7 @@ 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. + 3-element structure that can be used to represent positions in 3D space or any other triplet of numeric values. It uses floating-point coordinates. See [Vector3i] for its integer counterpart. [b]Note:[/b] In a boolean context, a Vector3 will evaluate to [code]false[/code] if it's equal to [code]Vector3(0, 0, 0)[/code]. Otherwise, a Vector3 will always evaluate to [code]true[/code]. </description> diff --git a/doc/classes/Vector3i.xml b/doc/classes/Vector3i.xml index 4c7f3badc5..ebb518792f 100644 --- a/doc/classes/Vector3i.xml +++ b/doc/classes/Vector3i.xml @@ -4,7 +4,7 @@ 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. + 3-element structure that can be used to represent positions in 3D space or any other triplet of numeric values. It uses integer coordinates and is therefore preferable to [Vector3] when exact precision is required. [b]Note:[/b] In a boolean context, a Vector3i will evaluate to [code]false[/code] if it's equal to [code]Vector3i(0, 0, 0)[/code]. Otherwise, a Vector3i will always evaluate to [code]true[/code]. </description> @@ -161,7 +161,7 @@ <description> Gets the remainder of each component of the [Vector3i] with the the given [int]. This operation uses truncated division, which is often not desired as it does not work well with negative numbers. Consider using [method @GlobalScope.posmod] instead if you want to handle negative numbers. [codeblock] - print(Vector2i(10, -20, 30) % 7) # Prints "(3, -6, 2)" + print(Vector3i(10, -20, 30) % 7) # Prints "(3, -6, 2)" [/codeblock] </description> </operator> diff --git a/doc/classes/Viewport.xml b/doc/classes/Viewport.xml index 6f4720491d..ce466b2d0f 100644 --- a/doc/classes/Viewport.xml +++ b/doc/classes/Viewport.xml @@ -122,6 +122,7 @@ <return type="bool" /> <description> Returns [code]true[/code] if the viewport is currently performing a drag operation. + Alternative to [constant Node.NOTIFICATION_DRAG_BEGIN] and [constant Node.NOTIFICATION_DRAG_END] when you prefer polling the value. </description> </method> <method name="gui_release_focus"> diff --git a/doc/classes/VisualShader.xml b/doc/classes/VisualShader.xml index 138aad8d47..5f13e4e7bc 100644 --- a/doc/classes/VisualShader.xml +++ b/doc/classes/VisualShader.xml @@ -214,11 +214,13 @@ </constant> <constant name="VARYING_TYPE_VECTOR_3D" value="2" enum="VaryingType"> </constant> - <constant name="VARYING_TYPE_COLOR" value="3" enum="VaryingType"> + <constant name="VARYING_TYPE_VECTOR_4D" value="3" enum="VaryingType"> </constant> - <constant name="VARYING_TYPE_TRANSFORM" value="4" enum="VaryingType"> + <constant name="VARYING_TYPE_COLOR" value="4" enum="VaryingType"> </constant> - <constant name="VARYING_TYPE_MAX" value="5" enum="VaryingType"> + <constant name="VARYING_TYPE_TRANSFORM" value="5" enum="VaryingType"> + </constant> + <constant name="VARYING_TYPE_MAX" value="6" enum="VaryingType"> </constant> <constant name="NODE_ID_INVALID" value="-1"> </constant> diff --git a/doc/classes/VisualShaderNode.xml b/doc/classes/VisualShaderNode.xml index b4a9c85625..7220731a8a 100644 --- a/doc/classes/VisualShaderNode.xml +++ b/doc/classes/VisualShaderNode.xml @@ -78,16 +78,19 @@ <constant name="PORT_TYPE_VECTOR_3D" value="3" enum="PortType"> 3D vector of floating-point values. Translated to [code]vec3[/code] type in shader code. </constant> - <constant name="PORT_TYPE_BOOLEAN" value="4" enum="PortType"> + <constant name="PORT_TYPE_VECTOR_4D" value="4" enum="PortType"> + 4D vector of floating-point values. Translated to [code]vec4[/code] type in shader code. + </constant> + <constant name="PORT_TYPE_BOOLEAN" value="5" enum="PortType"> Boolean type. Translated to [code]bool[/code] type in shader code. </constant> - <constant name="PORT_TYPE_TRANSFORM" value="5" enum="PortType"> + <constant name="PORT_TYPE_TRANSFORM" value="6" enum="PortType"> Transform type. Translated to [code]mat4[/code] type in shader code. </constant> - <constant name="PORT_TYPE_SAMPLER" value="6" enum="PortType"> + <constant name="PORT_TYPE_SAMPLER" value="7" 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="7" enum="PortType"> + <constant name="PORT_TYPE_MAX" value="8" enum="PortType"> Represents the size of the [enum PortType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeClamp.xml b/doc/classes/VisualShaderNodeClamp.xml index fd24b9cfc2..35f50a37c3 100644 --- a/doc/classes/VisualShaderNodeClamp.xml +++ b/doc/classes/VisualShaderNodeClamp.xml @@ -26,7 +26,10 @@ <constant name="OP_TYPE_VECTOR_3D" value="3" enum="OpType"> A 3D vector type. </constant> - <constant name="OP_TYPE_MAX" value="4" enum="OpType"> + <constant name="OP_TYPE_VECTOR_4D" value="4" enum="OpType"> + A 4D vector type. + </constant> + <constant name="OP_TYPE_MAX" value="5" enum="OpType"> Represents the size of the [enum OpType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeCompare.xml b/doc/classes/VisualShaderNodeCompare.xml index d703181e2d..942ced2ebd 100644 --- a/doc/classes/VisualShaderNodeCompare.xml +++ b/doc/classes/VisualShaderNodeCompare.xml @@ -32,13 +32,16 @@ <constant name="CTYPE_VECTOR_3D" value="3" enum="ComparisonType"> A 3D vector type. </constant> - <constant name="CTYPE_BOOLEAN" value="4" enum="ComparisonType"> + <constant name="CTYPE_VECTOR_4D" value="4" enum="ComparisonType"> + A 4D vector type. + </constant> + <constant name="CTYPE_BOOLEAN" value="5" enum="ComparisonType"> A boolean type. </constant> - <constant name="CTYPE_TRANSFORM" value="5" enum="ComparisonType"> + <constant name="CTYPE_TRANSFORM" value="6" enum="ComparisonType"> A transform ([code]mat4[/code]) type. </constant> - <constant name="CTYPE_MAX" value="6" enum="ComparisonType"> + <constant name="CTYPE_MAX" value="7" enum="ComparisonType"> Represents the size of the [enum ComparisonType] enum. </constant> <constant name="FUNC_EQUAL" value="0" enum="Function"> diff --git a/doc/classes/VisualShaderNodeDerivativeFunc.xml b/doc/classes/VisualShaderNodeDerivativeFunc.xml index ea1153ca25..9a1ad53394 100644 --- a/doc/classes/VisualShaderNodeDerivativeFunc.xml +++ b/doc/classes/VisualShaderNodeDerivativeFunc.xml @@ -26,7 +26,10 @@ <constant name="OP_TYPE_VECTOR_3D" value="2" enum="OpType"> A 3D vector type. </constant> - <constant name="OP_TYPE_MAX" value="3" enum="OpType"> + <constant name="OP_TYPE_VECTOR_4D" value="3" enum="OpType"> + A 4D vector type. + </constant> + <constant name="OP_TYPE_MAX" value="4" enum="OpType"> Represents the size of the [enum OpType] enum. </constant> <constant name="FUNC_SUM" value="0" enum="Function"> diff --git a/doc/classes/VisualShaderNodeMix.xml b/doc/classes/VisualShaderNodeMix.xml index c8ca545183..3470e47726 100644 --- a/doc/classes/VisualShaderNodeMix.xml +++ b/doc/classes/VisualShaderNodeMix.xml @@ -29,7 +29,13 @@ <constant name="OP_TYPE_VECTOR_3D_SCALAR" value="4" enum="OpType"> The [code]a[/code] and [code]b[/code] ports use a 3D vector type. The [code]weight[/code] port uses a scalar type. </constant> - <constant name="OP_TYPE_MAX" value="5" enum="OpType"> + <constant name="OP_TYPE_VECTOR_4D" value="5" enum="OpType"> + A 4D vector type. + </constant> + <constant name="OP_TYPE_VECTOR_4D_SCALAR" value="6" enum="OpType"> + The [code]a[/code] and [code]b[/code] ports use a 4D vector type. The [code]weight[/code] port uses a scalar type. + </constant> + <constant name="OP_TYPE_MAX" value="7" enum="OpType"> Represents the size of the [enum OpType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeMultiplyAdd.xml b/doc/classes/VisualShaderNodeMultiplyAdd.xml index 811f01fc28..15d0d113e9 100644 --- a/doc/classes/VisualShaderNodeMultiplyAdd.xml +++ b/doc/classes/VisualShaderNodeMultiplyAdd.xml @@ -23,7 +23,10 @@ <constant name="OP_TYPE_VECTOR_3D" value="2" enum="OpType"> A 3D vector type. </constant> - <constant name="OP_TYPE_MAX" value="3" enum="OpType"> + <constant name="OP_TYPE_VECTOR_4D" value="3" enum="OpType"> + A 4D vector type. + </constant> + <constant name="OP_TYPE_MAX" value="4" enum="OpType"> Represents the size of the [enum OpType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeSmoothStep.xml b/doc/classes/VisualShaderNodeSmoothStep.xml index b10e8b4433..e25fb72921 100644 --- a/doc/classes/VisualShaderNodeSmoothStep.xml +++ b/doc/classes/VisualShaderNodeSmoothStep.xml @@ -30,7 +30,13 @@ <constant name="OP_TYPE_VECTOR_3D_SCALAR" value="4" enum="OpType"> The [code]x[/code] port uses a 3D vector type. The first two ports use a floating-point scalar type. </constant> - <constant name="OP_TYPE_MAX" value="5" enum="OpType"> + <constant name="OP_TYPE_VECTOR_4D" value="5" enum="OpType"> + A 4D vector type. + </constant> + <constant name="OP_TYPE_VECTOR_4D_SCALAR" value="6" enum="OpType"> + The [code]a[/code] and [code]b[/code] ports use a 4D vector type. The [code]weight[/code] port uses a scalar type. + </constant> + <constant name="OP_TYPE_MAX" value="7" enum="OpType"> Represents the size of the [enum OpType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeStep.xml b/doc/classes/VisualShaderNodeStep.xml index 2d9e87e56c..497b86c85f 100644 --- a/doc/classes/VisualShaderNodeStep.xml +++ b/doc/classes/VisualShaderNodeStep.xml @@ -30,7 +30,13 @@ <constant name="OP_TYPE_VECTOR_3D_SCALAR" value="4" enum="OpType"> The [code]x[/code] port uses a 3D vector type, while the [code]edge[/code] port uses a floating-point scalar type. </constant> - <constant name="OP_TYPE_MAX" value="5" enum="OpType"> + <constant name="OP_TYPE_VECTOR_4D" value="5" enum="OpType"> + A 4D vector type. + </constant> + <constant name="OP_TYPE_VECTOR_4D_SCALAR" value="6" enum="OpType"> + The [code]a[/code] and [code]b[/code] ports use a 4D vector type. The [code]weight[/code] port uses a scalar type. + </constant> + <constant name="OP_TYPE_MAX" value="7" enum="OpType"> Represents the size of the [enum OpType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeSwitch.xml b/doc/classes/VisualShaderNodeSwitch.xml index 4cadf79b8e..e74ff6e162 100644 --- a/doc/classes/VisualShaderNodeSwitch.xml +++ b/doc/classes/VisualShaderNodeSwitch.xml @@ -26,13 +26,16 @@ <constant name="OP_TYPE_VECTOR_3D" value="3" enum="OpType"> A 3D vector type. </constant> - <constant name="OP_TYPE_BOOLEAN" value="4" enum="OpType"> + <constant name="OP_TYPE_VECTOR_4D" value="4" enum="OpType"> + A 4D vector type. + </constant> + <constant name="OP_TYPE_BOOLEAN" value="5" enum="OpType"> A boolean type. </constant> - <constant name="OP_TYPE_TRANSFORM" value="5" enum="OpType"> + <constant name="OP_TYPE_TRANSFORM" value="6" enum="OpType"> A transform type. </constant> - <constant name="OP_TYPE_MAX" value="6" enum="OpType"> + <constant name="OP_TYPE_MAX" value="7" enum="OpType"> Represents the size of the [enum OpType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeVec4Constant.xml b/doc/classes/VisualShaderNodeVec4Constant.xml new file mode 100644 index 0000000000..ed3d8a673d --- /dev/null +++ b/doc/classes/VisualShaderNodeVec4Constant.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeVec4Constant" inherits="VisualShaderNodeConstant" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + A 4D vector (represented as a [Quaternion]) constant to be used within the visual shader graph. + </brief_description> + <description> + A constant 4D vector (represented as a [Quaternion]), which can be used as an input node. + </description> + <tutorials> + </tutorials> + <members> + <member name="constant" type="Quaternion" setter="set_constant" getter="get_constant" default="Quaternion(0, 0, 0, 1)"> + A 4D vector (represented as a [Quaternion]) constant which represents the state of this node. + </member> + </members> +</class> diff --git a/doc/classes/VisualShaderNodeVec4Uniform.xml b/doc/classes/VisualShaderNodeVec4Uniform.xml new file mode 100644 index 0000000000..5bd13a440b --- /dev/null +++ b/doc/classes/VisualShaderNodeVec4Uniform.xml @@ -0,0 +1,19 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<class name="VisualShaderNodeVec4Uniform" inherits="VisualShaderNodeUniform" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> + <brief_description> + A 4D vector (represented as a [Quaternion]) uniform to be used within the visual shader graph. + </brief_description> + <description> + Translated to [code]uniform vec4[/code] in the shader language. + </description> + <tutorials> + </tutorials> + <members> + <member name="default_value" type="Quaternion" setter="set_default_value" getter="get_default_value" default="Quaternion(0, 0, 0, 1)"> + A default value to be assigned within the shader. + </member> + <member name="default_value_enabled" type="bool" setter="set_default_value_enabled" getter="is_default_value_enabled" default="false"> + Enables usage of the [member default_value]. + </member> + </members> +</class> diff --git a/doc/classes/VisualShaderNodeVectorBase.xml b/doc/classes/VisualShaderNodeVectorBase.xml index 21f70960ab..d9c9f2d79c 100644 --- a/doc/classes/VisualShaderNodeVectorBase.xml +++ b/doc/classes/VisualShaderNodeVectorBase.xml @@ -19,7 +19,10 @@ <constant name="OP_TYPE_VECTOR_3D" value="1" enum="OpType"> A 3D vector type. </constant> - <constant name="OP_TYPE_MAX" value="2" enum="OpType"> + <constant name="OP_TYPE_VECTOR_4D" value="2" enum="OpType"> + A 4D vector type. + </constant> + <constant name="OP_TYPE_MAX" value="3" enum="OpType"> Represents the size of the [enum OpType] enum. </constant> </constants> diff --git a/doc/classes/VisualShaderNodeVectorCompose.xml b/doc/classes/VisualShaderNodeVectorCompose.xml index 87947c088e..b7447894b7 100644 --- a/doc/classes/VisualShaderNodeVectorCompose.xml +++ b/doc/classes/VisualShaderNodeVectorCompose.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VisualShaderNodeVectorCompose" inherits="VisualShaderNodeVectorBase" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Composes a [Vector3] from three scalars within the visual shader graph. + Composes a [Vector2], [Vector3] or 4D vector (represented as a [Quaternion]) from scalars within the visual shader graph. </brief_description> <description> - Creates a [code]vec3[/code] using three scalar values that can be provided from separate inputs. + Creates a [code]vec2[/code], [code]vec3[/code] or [code]vec4[/code] using scalar values that can be provided from separate inputs. </description> <tutorials> </tutorials> diff --git a/doc/classes/VisualShaderNodeVectorDecompose.xml b/doc/classes/VisualShaderNodeVectorDecompose.xml index f5cff2a9f7..fa18e6b0b9 100644 --- a/doc/classes/VisualShaderNodeVectorDecompose.xml +++ b/doc/classes/VisualShaderNodeVectorDecompose.xml @@ -1,10 +1,10 @@ <?xml version="1.0" encoding="UTF-8" ?> <class name="VisualShaderNodeVectorDecompose" inherits="VisualShaderNodeVectorBase" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> - Decomposes a [Vector3] into three scalars within the visual shader graph. + Decomposes a [Vector2], [Vector3] or 4D vector (represented as a [Quaternion]) into scalars within the visual shader graph. </brief_description> <description> - Takes a [code]vec3[/code] and decomposes it into three scalar values that can be used as separate inputs. + Takes a [code]vec2[/code], [code]vec3[/code] or [code]vec4[/code] and decomposes it into scalar values that can be used as separate outputs. </description> <tutorials> </tutorials> diff --git a/doc/classes/Window.xml b/doc/classes/Window.xml index 87a65db192..5ce870a899 100644 --- a/doc/classes/Window.xml +++ b/doc/classes/Window.xml @@ -467,9 +467,9 @@ <theme_item name="title_outline_modulate" data_type="color" type="Color" default="Color(1, 1, 1, 1)"> The color of the title outline. </theme_item> - <theme_item name="close_h_ofs" data_type="constant" type="int" default="18"> + <theme_item name="close_h_offset" data_type="constant" type="int" default="18"> </theme_item> - <theme_item name="close_v_ofs" data_type="constant" type="int" default="24"> + <theme_item name="close_v_offset" data_type="constant" type="int" default="24"> </theme_item> <theme_item name="resize_margin" data_type="constant" type="int" default="4"> </theme_item> |