From 6ac95805029fc7509f2d52d3d5dcc641115071d3 Mon Sep 17 00:00:00 2001 From: Godot Organization Date: Sat, 9 Nov 2024 03:30:17 +0000 Subject: [PATCH] classref: Sync with current master branch (e65a237) --- classes/class_@gdscript.rst | 55 +- classes/class_@globalscope.rst | 23 +- classes/class_animation.rst | 154 +++++ classes/class_animationnode.rst | 4 +- classes/class_animationplayer.rst | 150 +++++ classes/class_array.rst | 28 + classes/class_atlastexture.rst | 2 +- classes/class_audioeffectfilter.rst | 28 +- classes/class_audioeffectstereoenhance.rst | 10 +- classes/class_audioserver.rst | 28 + classes/class_audiostreamplayback.rst | 102 ++++ classes/class_backbuffercopy.rst | 7 + classes/class_basebutton.rst | 4 +- classes/class_cameraattributesphysical.rst | 2 +- classes/class_camerafeed.rst | 177 +++++- classes/class_cameraserver.rst | 2 +- classes/class_canvasitem.rst | 22 +- classes/class_canvasmodulate.rst | 7 + classes/class_classdb.rst | 6 +- classes/class_control.rst | 53 +- classes/class_cpuparticles3d.rst | 14 + classes/class_dictionary.rst | 28 + classes/class_displayserver.rst | 90 ++- classes/class_editorcontextmenuplugin.rst | 24 + classes/class_editordebuggerplugin.rst | 38 +- classes/class_editordebuggersession.rst | 2 +- classes/class_editorexportplatform.rst | 150 +++-- classes/class_editorexportplatformandroid.rst | 16 +- .../class_editorexportplatformextension.rst | 174 +++--- classes/class_editorexportplatformios.rst | 562 +++++++++++++++++- classes/class_editorexportplatformmacos.rst | 19 + classes/class_editorexportplugin.rst | 18 + classes/class_editorexportpreset.rst | 14 + classes/class_editorfeatureprofile.rst | 10 +- classes/class_editorimportplugin.rst | 4 +- classes/class_editorinspector.rst | 2 + classes/class_editorinterface.rst | 14 + classes/class_editorsettings.rst | 58 +- classes/class_enetpacketpeer.rst | 14 + classes/class_engine.rst | 21 + classes/class_enginedebugger.rst | 4 +- classes/class_environment.rst | 6 +- classes/class_externaltexture.rst | 118 ++++ classes/class_fastnoiselite.rst | 4 +- classes/class_fileaccess.rst | 4 +- classes/class_filedialog.rst | 115 +++- classes/class_geometry2d.rst | 22 + classes/class_gltfaccessor.rst | 112 +++- classes/class_gltfdocument.rst | 66 +- classes/class_gltfdocumentextension.rst | 122 ++-- classes/class_gltfnode.rst | 30 +- classes/class_gltfobjectmodelproperty.rst | 377 ++++++++++++ classes/class_graphedit.rst | 12 + classes/class_httpclient.rst | 2 +- classes/class_httprequest.rst | 12 +- classes/class_importermesh.rst | 4 +- classes/class_inputeventmousemotion.rst | 2 +- classes/class_inputmap.rst | 4 +- classes/class_itemlist.rst | 245 +++++--- classes/class_light3d.rst | 19 + classes/class_lineedit.rst | 44 +- classes/class_material.rst | 2 +- classes/class_multiplayerspawner.rst | 4 +- classes/class_node.rst | 8 +- classes/class_object.rst | 16 + classes/class_occluderinstance3d.rst | 2 +- .../class_openxrextensionwrapperextension.rst | 46 ++ classes/class_openxripbinding.rst | 47 +- classes/class_optimizedtranslation.rst | 2 + classes/class_packedbytearray.rst | 14 + classes/class_packedcolorarray.rst | 14 + classes/class_packedfloat32array.rst | 14 + classes/class_packedfloat64array.rst | 14 + classes/class_packedint32array.rst | 14 + classes/class_packedint64array.rst | 14 + classes/class_packedstringarray.rst | 14 + classes/class_packedvector2array.rst | 16 +- classes/class_packedvector3array.rst | 14 + classes/class_packedvector4array.rst | 14 + classes/class_particleprocessmaterial.rst | 4 +- classes/class_pckpacker.rst | 6 +- classes/class_performance.rst | 42 +- classes/class_popupmenu.rst | 2 +- classes/class_popuppanel.rst | 2 +- classes/class_projectsettings.rst | 126 +++- classes/class_refcounted.rst | 2 +- classes/class_renderingdevice.rst | 14 + classes/class_renderingserver.rst | 156 ++++- classes/class_resource.rst | 140 ++++- classes/class_resourceimporterobj.rst | 76 ++- classes/class_resourceloader.rst | 2 +- classes/class_resourcesaver.rst | 14 + classes/class_scenemultiplayer.rst | 2 +- classes/class_scrollcontainer.rst | 8 + classes/class_shader.rst | 14 + classes/class_shortcut.rst | 2 +- classes/class_signal.rst | 18 +- classes/class_springarm3d.rst | 7 + classes/class_sprite2d.rst | 2 +- classes/class_string.rst | 12 +- classes/class_textedit.rst | 19 + classes/class_textserver.rst | 10 + classes/class_texture2d.rst | 2 +- classes/class_transform2d.rst | 4 +- classes/class_translationdomain.rst | 218 +++++++ classes/class_translationserver.rst | 6 +- classes/class_tree.rst | 70 +++ classes/class_treeitem.rst | 30 + classes/class_vector4i.rst | 2 +- classes/class_viewport.rst | 18 +- classes/class_visualshadernoderemap.rst | 115 ++++ classes/class_webxrinterface.rst | 2 +- classes/class_window.rst | 67 ++- classes/index.rst | 2 + 114 files changed, 4396 insertions(+), 549 deletions(-) create mode 100644 classes/class_externaltexture.rst create mode 100644 classes/class_gltfobjectmodelproperty.rst diff --git a/classes/class_@gdscript.rst b/classes/class_@gdscript.rst index 669f9759e83..5afb97a6ed6 100644 --- a/classes/class_@gdscript.rst +++ b/classes/class_@gdscript.rst @@ -17,9 +17,9 @@ Built-in GDScript constants, functions, and annotations. Description ----------- -A list of GDScript-specific utility functions and annotations accessible from any script. +A list of utility functions and annotations accessible from any script written in GDScript. -For the list of the global functions and constants see :ref:`@GlobalScope`. +For the list of global functions and constants that can be accessed in any scripting language, see :ref:`@GlobalScope`. .. rst-class:: classref-introduction-group @@ -43,7 +43,7 @@ Methods +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`char`\ (\ char\: :ref:`int`\ ) | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`convert`\ (\ what\: :ref:`Variant`, type\: :ref:`int`\ ) | + | :ref:`Variant` | :ref:`convert`\ (\ what\: :ref:`Variant`, type\: :ref:`Variant.Type`\ ) | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Object` | :ref:`dict_to_inst`\ (\ dictionary\: :ref:`Dictionary`\ ) | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -711,6 +711,53 @@ See also :ref:`@GlobalScope.PROPERTY_USAGE_SUBGROUP`, icon\: :ref:`String` = ""\ ) :ref:`πŸ”—` + +Export a :ref:`Callable` property as a clickable button with the label ``text``. When the button is pressed, the callable is called. + +If ``icon`` is specified, it is used to fetch an icon for the button via :ref:`Control.get_theme_icon`, from the ``"EditorIcons"`` theme type. If ``icon`` is omitted, the default ``"Callable"`` icon is used instead. + +Consider using the :ref:`EditorUndoRedoManager` to allow the action to be reverted safely. + +See also :ref:`@GlobalScope.PROPERTY_HINT_TOOL_BUTTON`. + +:: + + @tool + extends Sprite2D + + @export_tool_button("Hello") var hello_action = hello + @export_tool_button("Randomize the color!", "ColorRect") + var randomize_color_action = randomize_color + + func hello(): + print("Hello world!") + + func randomize_color(): + var undo_redo = EditorInterface.get_editor_undo_redo() + undo_redo.create_action("Randomized Sprite2D Color") + undo_redo.add_do_property(self, &"self_modulate", Color(randf(), randf(), randf())) + undo_redo.add_undo_property(self, &"self_modulate", self_modulate) + undo_redo.commit_action() + +\ **Note:** The property is exported without the :ref:`@GlobalScope.PROPERTY_USAGE_STORAGE` flag because a :ref:`Callable` cannot be properly serialized and stored in a file. + +\ **Note:** In an exported project neither :ref:`EditorInterface` nor :ref:`EditorUndoRedoManager` exist, which may cause some scripts to break. To prevent this, you can use :ref:`Engine.get_singleton` and omit the static type from the variable declaration: + +:: + + var undo_redo = Engine.get_singleton(&"EditorInterface").get_editor_undo_redo() + +\ **Note:** Avoid storing lambda callables in member variables of :ref:`RefCounted`-based classes (e.g. resources), as this can lead to memory leaks. Use only method callables and optionally :ref:`Callable.bind` or :ref:`Callable.unbind`. + +.. rst-class:: classref-item-separator + +---- + .. _class_@GDScript_annotation_@icon: .. rst-class:: classref-annotation @@ -911,7 +958,7 @@ Returns a single character (as a :ref:`String`) of the given Unico .. rst-class:: classref-method -:ref:`Variant` **convert**\ (\ what\: :ref:`Variant`, type\: :ref:`int`\ ) :ref:`πŸ”—` +:ref:`Variant` **convert**\ (\ what\: :ref:`Variant`, type\: :ref:`Variant.Type`\ ) :ref:`πŸ”—` **Deprecated:** Use :ref:`@GlobalScope.type_convert` instead. diff --git a/classes/class_@globalscope.rst b/classes/class_@globalscope.rst index d2cd4eea02d..75f4bf82b96 100644 --- a/classes/class_@globalscope.rst +++ b/classes/class_@globalscope.rst @@ -21,7 +21,7 @@ A list of global scope enumerated constants and built-in functions. This is all Singletons are also documented here, since they can be accessed from anywhere. -For the entries related to GDScript which can be accessed in any script see :ref:`@GDScript`. +For the entries that can only be accessed from scripts written in GDScript, see :ref:`@GDScript`. .. note:: @@ -3852,11 +3852,26 @@ Hints that a quaternion property should disable the temporary euler editor. Hints that a string property is a password, and every character is replaced with the secret character. +.. _class_@GlobalScope_constant_PROPERTY_HINT_TOOL_BUTTON: + +.. rst-class:: classref-enumeration-constant + +:ref:`PropertyHint` **PROPERTY_HINT_TOOL_BUTTON** = ``39`` + +Hints that a :ref:`Callable` property should be displayed as a clickable button. When the button is pressed, the callable is called. The hint string specifies the button text and optionally an icon from the ``"EditorIcons"`` theme type. + +.. code:: text + + "Click me!" - A button with the text "Click me!" and the default "Callable" icon. + "Click me!,ColorRect" - A button with the text "Click me!" and the "ColorRect" icon. + +\ **Note:** A :ref:`Callable` cannot be properly serialized and stored in a file, so it is recommended to use :ref:`PROPERTY_USAGE_EDITOR` instead of :ref:`PROPERTY_USAGE_DEFAULT`. + .. _class_@GlobalScope_constant_PROPERTY_HINT_MAX: .. rst-class:: classref-enumeration-constant -:ref:`PropertyHint` **PROPERTY_HINT_MAX** = ``39`` +:ref:`PropertyHint` **PROPERTY_HINT_MAX** = ``40`` Represents the size of the :ref:`PropertyHint` enum. @@ -6434,7 +6449,7 @@ Converts one or more arguments of any type to string in the best way possible an -\ **Note:** Consider using :ref:`push_error` and :ref:`push_warning` to print error and warning messages instead of :ref:`print` or :ref:`print_rich`. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed. +\ **Note:** Consider using :ref:`push_error` and :ref:`push_warning` to print error and warning messages instead of :ref:`print` or :ref:`print_rich`. This distinguishes them from print messages used for debugging purposes, while also displaying a stack trace when an error or warning is printed. See also :ref:`Engine.print_to_stdout` and :ref:`ProjectSettings.application/run/disable_stdout`. .. rst-class:: classref-item-separator @@ -7023,7 +7038,7 @@ Returns ``-1.0`` if ``x`` is negative, ``1.0`` if ``x`` is positive, and ``0.0`` :ref:`int` **signi**\ (\ x\: :ref:`int`\ ) :ref:`πŸ”—` -Returns ``-1`` if ``x`` is negative, ``1`` if ``x`` is positive, and ``0`` if if ``x`` is zero. +Returns ``-1`` if ``x`` is negative, ``1`` if ``x`` is positive, and ``0`` if ``x`` is zero. :: diff --git a/classes/class_animation.rst b/classes/class_animation.rst index c977ca1a26e..94979b016c0 100644 --- a/classes/class_animation.rst +++ b/classes/class_animation.rst @@ -85,6 +85,8 @@ Methods .. table:: :widths: auto + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_marker`\ (\ name\: :ref:`StringName`, time\: :ref:`float`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`add_track`\ (\ type\: :ref:`TrackType`, at_position\: :ref:`int` = -1\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -140,16 +142,34 @@ Methods +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find_track`\ (\ path\: :ref:`NodePath`, type\: :ref:`TrackType`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`get_marker_at_time`\ (\ time\: :ref:`float`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_marker_color`\ (\ name\: :ref:`StringName`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_marker_names`\ (\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_marker_time`\ (\ name\: :ref:`StringName`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`get_next_marker`\ (\ time\: :ref:`float`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`get_prev_marker`\ (\ time\: :ref:`float`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_track_count`\ (\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_marker`\ (\ name\: :ref:`StringName`\ ) |const| | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`method_track_get_name`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`method_track_get_params`\ (\ track_idx\: :ref:`int`, key_idx\: :ref:`int`\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`optimize`\ (\ allowed_velocity_err\: :ref:`float` = 0.01, allowed_angular_err\: :ref:`float` = 0.01, precision\: :ref:`int` = 3\ ) | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`position_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, position\: :ref:`Vector3`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`position_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`remove_marker`\ (\ name\: :ref:`StringName`\ ) | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_track`\ (\ track_idx\: :ref:`int`\ ) | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rotation_track_insert_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, rotation\: :ref:`Quaternion`\ ) | @@ -160,6 +180,8 @@ Methods +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`scale_track_interpolate`\ (\ track_idx\: :ref:`int`, time_sec\: :ref:`float`, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_marker_color`\ (\ name\: :ref:`StringName`, color\: :ref:`Color`\ ) | + +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`track_find_key`\ (\ track_idx\: :ref:`int`, time\: :ref:`float`, find_mode\: :ref:`FindMode` = 0, limit\: :ref:`bool` = false, backward\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`track_get_interpolation_loop_wrap`\ (\ track_idx\: :ref:`int`\ ) |const| | @@ -581,6 +603,18 @@ The animation step value. Method Descriptions ------------------- +.. _class_Animation_method_add_marker: + +.. rst-class:: classref-method + +|void| **add_marker**\ (\ name\: :ref:`StringName`, time\: :ref:`float`\ ) :ref:`πŸ”—` + +Adds a marker to this Animation. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_add_track: .. rst-class:: classref-method @@ -915,6 +949,78 @@ Returns the index of the specified track. If the track is not found, return -1. ---- +.. _class_Animation_method_get_marker_at_time: + +.. rst-class:: classref-method + +:ref:`StringName` **get_marker_at_time**\ (\ time\: :ref:`float`\ ) |const| :ref:`πŸ”—` + +Returns the name of the marker located at the given time. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_marker_color: + +.. rst-class:: classref-method + +:ref:`Color` **get_marker_color**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`πŸ”—` + +Returns the given marker's color. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_marker_names: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **get_marker_names**\ (\ ) |const| :ref:`πŸ”—` + +Returns every marker in this Animation, sorted ascending by time. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_marker_time: + +.. rst-class:: classref-method + +:ref:`float` **get_marker_time**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`πŸ”—` + +Returns the given marker's time. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_next_marker: + +.. rst-class:: classref-method + +:ref:`StringName` **get_next_marker**\ (\ time\: :ref:`float`\ ) |const| :ref:`πŸ”—` + +Returns the closest marker that comes after the given time. If no such marker exists, an empty string is returned. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Animation_method_get_prev_marker: + +.. rst-class:: classref-method + +:ref:`StringName` **get_prev_marker**\ (\ time\: :ref:`float`\ ) |const| :ref:`πŸ”—` + +Returns the closest marker that comes before the given time. If no such marker exists, an empty string is returned. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_get_track_count: .. rst-class:: classref-method @@ -927,6 +1033,18 @@ Returns the amount of tracks in the animation. ---- +.. _class_Animation_method_has_marker: + +.. rst-class:: classref-method + +:ref:`bool` **has_marker**\ (\ name\: :ref:`StringName`\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if this Animation contains a marker with the given name. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_method_track_get_name: .. rst-class:: classref-method @@ -951,6 +1069,18 @@ Returns the arguments values to be called on a method track for a given key in a ---- +.. _class_Animation_method_optimize: + +.. rst-class:: classref-method + +|void| **optimize**\ (\ allowed_velocity_err\: :ref:`float` = 0.01, allowed_angular_err\: :ref:`float` = 0.01, precision\: :ref:`int` = 3\ ) :ref:`πŸ”—` + +Optimize the animation and all its tracks in-place. This will preserve only as many keys as are necessary to keep the animation within the specified bounds. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_position_track_insert_key: .. rst-class:: classref-method @@ -975,6 +1105,18 @@ Returns the interpolated position value at the given time (in seconds). The ``tr ---- +.. _class_Animation_method_remove_marker: + +.. rst-class:: classref-method + +|void| **remove_marker**\ (\ name\: :ref:`StringName`\ ) :ref:`πŸ”—` + +Removes the marker with the given name from this Animation. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_remove_track: .. rst-class:: classref-method @@ -1035,6 +1177,18 @@ Returns the interpolated scale value at the given time (in seconds). The ``track ---- +.. _class_Animation_method_set_marker_color: + +.. rst-class:: classref-method + +|void| **set_marker_color**\ (\ name\: :ref:`StringName`, color\: :ref:`Color`\ ) :ref:`πŸ”—` + +Sets the given marker's color. + +.. rst-class:: classref-item-separator + +---- + .. _class_Animation_method_track_find_key: .. rst-class:: classref-method diff --git a/classes/class_animationnode.rst b/classes/class_animationnode.rst index 4131ee692e4..1729eb027d8 100644 --- a/classes/class_animationnode.rst +++ b/classes/class_animationnode.rst @@ -77,7 +77,7 @@ Methods +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_is_parameter_read_only`\ (\ parameter\: :ref:`StringName`\ ) |virtual| |const| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_process`\ (\ time\: :ref:`float`, seek\: :ref:`bool`, is_external_seeking\: :ref:`bool`, test_only\: :ref:`bool`\ ) |virtual| |const| | + | :ref:`float` | :ref:`_process`\ (\ time\: :ref:`float`, seek\: :ref:`bool`, is_external_seeking\: :ref:`bool`, test_only\: :ref:`bool`\ ) |virtual| | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`add_input`\ (\ name\: :ref:`String`\ ) | +-------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -313,7 +313,7 @@ When inheriting from :ref:`AnimationRootNode`, implemen .. rst-class:: classref-method -:ref:`float` **_process**\ (\ time\: :ref:`float`, seek\: :ref:`bool`, is_external_seeking\: :ref:`bool`, test_only\: :ref:`bool`\ ) |virtual| |const| :ref:`πŸ”—` +:ref:`float` **_process**\ (\ time\: :ref:`float`, seek\: :ref:`bool`, is_external_seeking\: :ref:`bool`, test_only\: :ref:`bool`\ ) |virtual| :ref:`πŸ”—` **Deprecated:** Currently this is mostly useless as there is a lack of many APIs to extend AnimationNode by GDScript. It is planned that a more flexible API using structures will be provided in the future. diff --git a/classes/class_animationplayer.rst b/classes/class_animationplayer.rst index b11956e6de9..c43c0d34d58 100644 --- a/classes/class_animationplayer.rst +++ b/classes/class_animationplayer.rst @@ -99,6 +99,12 @@ Methods +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`NodePath` | :ref:`get_root`\ (\ ) |const| | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_section_end_time`\ (\ ) |const| | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_section_start_time`\ (\ ) |const| | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_section`\ (\ ) |const| | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_playing`\ (\ ) |const| | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`pause`\ (\ ) | @@ -107,10 +113,20 @@ Methods +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`play_backwards`\ (\ name\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`play_section`\ (\ name\: :ref:`StringName` = &"", start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1, custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`play_section_backwards`\ (\ name\: :ref:`StringName` = &"", start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1, custom_blend\: :ref:`float` = -1\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`play_section_with_markers`\ (\ name\: :ref:`StringName` = &"", start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`play_section_with_markers_backwards`\ (\ name\: :ref:`StringName` = &"", start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`play_with_capture`\ (\ name\: :ref:`StringName` = &"", duration\: :ref:`float` = -1.0, custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false, trans_type\: :ref:`TransitionType` = 0, ease_type\: :ref:`EaseType` = 0\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`queue`\ (\ name\: :ref:`StringName`\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`reset_section`\ (\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`seek`\ (\ seconds\: :ref:`float`, update\: :ref:`bool` = false, update_only\: :ref:`bool` = false\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_blend_time`\ (\ animation_from\: :ref:`StringName`, animation_to\: :ref:`StringName`, sec\: :ref:`float`\ ) | @@ -121,6 +137,10 @@ Methods +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_root`\ (\ path\: :ref:`NodePath`\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_section`\ (\ start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_section_with_markers`\ (\ start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &""\ ) | + +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`stop`\ (\ keep_state\: :ref:`bool` = false\ ) | +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -572,6 +592,42 @@ Returns the node which node path references will travel from. ---- +.. _class_AnimationPlayer_method_get_section_end_time: + +.. rst-class:: classref-method + +:ref:`float` **get_section_end_time**\ (\ ) |const| :ref:`πŸ”—` + +Returns the end time of the section currently being played. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_get_section_start_time: + +.. rst-class:: classref-method + +:ref:`float` **get_section_start_time**\ (\ ) |const| :ref:`πŸ”—` + +Returns the start time of the section currently being played. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_has_section: + +.. rst-class:: classref-method + +:ref:`bool` **has_section**\ (\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if an animation is currently playing with section. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_is_playing: .. rst-class:: classref-method @@ -630,6 +686,62 @@ This method is a shorthand for :ref:`play` wi ---- +.. _class_AnimationPlayer_method_play_section: + +.. rst-class:: classref-method + +|void| **play_section**\ (\ name\: :ref:`StringName` = &"", start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1, custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false\ ) :ref:`πŸ”—` + +Plays the animation with key ``name`` and the section starting from ``start_time`` and ending on ``end_time``. See also :ref:`play`. + +Setting ``start_time`` to a value outside the range of the animation means the start of the animation will be used instead, and setting ``end_time`` to a value outside the range of the animation means the end of the animation will be used instead. ``start_time`` cannot be equal to ``end_time``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_play_section_backwards: + +.. rst-class:: classref-method + +|void| **play_section_backwards**\ (\ name\: :ref:`StringName` = &"", start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1, custom_blend\: :ref:`float` = -1\ ) :ref:`πŸ”—` + +Plays the animation with key ``name`` and the section starting from ``start_time`` and ending on ``end_time`` in reverse. + +This method is a shorthand for :ref:`play_section` with ``custom_speed = -1.0`` and ``from_end = true``, see its description for more information. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_play_section_with_markers: + +.. rst-class:: classref-method + +|void| **play_section_with_markers**\ (\ name\: :ref:`StringName` = &"", start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1, custom_speed\: :ref:`float` = 1.0, from_end\: :ref:`bool` = false\ ) :ref:`πŸ”—` + +Plays the animation with key ``name`` and the section starting from ``start_marker`` and ending on ``end_marker``. + +If the start marker is empty, the section starts from the beginning of the animation. If the end marker is empty, the section ends on the end of the animation. See also :ref:`play`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_play_section_with_markers_backwards: + +.. rst-class:: classref-method + +|void| **play_section_with_markers_backwards**\ (\ name\: :ref:`StringName` = &"", start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &"", custom_blend\: :ref:`float` = -1\ ) :ref:`πŸ”—` + +Plays the animation with key ``name`` and the section starting from ``start_marker`` and ending on ``end_marker`` in reverse. + +This method is a shorthand for :ref:`play_section_with_markers` with ``custom_speed = -1.0`` and ``from_end = true``, see its description for more information. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_play_with_capture: .. rst-class:: classref-method @@ -669,6 +781,18 @@ Queues an animation for playback once the current animation and all previously q ---- +.. _class_AnimationPlayer_method_reset_section: + +.. rst-class:: classref-method + +|void| **reset_section**\ (\ ) :ref:`πŸ”—` + +Resets the current section if section is set. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_seek: .. rst-class:: classref-method @@ -739,6 +863,32 @@ Sets the node which node path references will travel from. ---- +.. _class_AnimationPlayer_method_set_section: + +.. rst-class:: classref-method + +|void| **set_section**\ (\ start_time\: :ref:`float` = -1, end_time\: :ref:`float` = -1\ ) :ref:`πŸ”—` + +Changes the start and end times of the section being played. The current playback position will be clamped within the new section. See also :ref:`play_section`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AnimationPlayer_method_set_section_with_markers: + +.. rst-class:: classref-method + +|void| **set_section_with_markers**\ (\ start_marker\: :ref:`StringName` = &"", end_marker\: :ref:`StringName` = &""\ ) :ref:`πŸ”—` + +Changes the start and end markers of the section being played. The current playback position will be clamped within the new section. See also :ref:`play_section_with_markers`. + +If the argument is empty, the section uses the beginning or end of the animation. If both are empty, it means that the section is not set. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_stop: .. rst-class:: classref-method diff --git a/classes/class_array.rst b/classes/class_array.rst index 59b20226e3c..bb14c5a11be 100644 --- a/classes/class_array.rst +++ b/classes/class_array.rst @@ -135,6 +135,8 @@ Methods +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`front`\ (\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_typed_builtin`\ (\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_typed_class_name`\ (\ ) |const| | @@ -187,6 +189,8 @@ Methods +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rfind_custom`\ (\ method\: :ref:`Callable`, from\: :ref:`int` = -1\ ) |const| | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set`\ (\ index\: :ref:`int`, value\: :ref:`Variant`\ ) | + +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`shuffle`\ (\ ) | +-------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`size`\ (\ ) |const| | @@ -802,6 +806,18 @@ Returns the first element of the array. If the array is empty, fails and returns ---- +.. _class_Array_method_get: + +.. rst-class:: classref-method + +:ref:`Variant` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the element at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_Array_method_get_typed_builtin: .. rst-class:: classref-method @@ -1253,6 +1269,18 @@ Returns the index of the **last** element of the array that causes ``method`` to ---- +.. _class_Array_method_set: + +.. rst-class:: classref-method + +|void| **set**\ (\ index\: :ref:`int`, value\: :ref:`Variant`\ ) :ref:`πŸ”—` + +Sets the value of the element at the given ``index`` to the given ``value``. This will not change the size of the array, it only changes the value at an index already in the array. This is the same as using the ``[]`` operator (``array[index] = value``). + +.. rst-class:: classref-item-separator + +---- + .. _class_Array_method_shuffle: .. rst-class:: classref-method diff --git a/classes/class_atlastexture.rst b/classes/class_atlastexture.rst index 70457128a5c..ff3384aa790 100644 --- a/classes/class_atlastexture.rst +++ b/classes/class_atlastexture.rst @@ -23,7 +23,7 @@ Description Multiple **AtlasTexture** resources can be cropped from the same :ref:`atlas`. Packing many smaller textures into a singular large texture helps to optimize video memory costs and render calls. -\ **Note:** **AtlasTexture** cannot be used in an :ref:`AnimatedTexture`, and may not tile properly in nodes such as :ref:`TextureRect`, when inside other **AtlasTexture** resources. +\ **Note:** **AtlasTexture** cannot be used in an :ref:`AnimatedTexture`, and will not tile properly in nodes such as :ref:`TextureRect` or :ref:`Sprite2D`. To tile an **AtlasTexture**, modify its :ref:`region` instead. .. rst-class:: classref-reftable-group diff --git a/classes/class_audioeffectfilter.rst b/classes/class_audioeffectfilter.rst index b3d55990523..11e939b6640 100644 --- a/classes/class_audioeffectfilter.rst +++ b/classes/class_audioeffectfilter.rst @@ -69,11 +69,7 @@ enum **FilterDB**: :ref:`πŸ”—` :ref:`FilterDB` **FILTER_6DB** = ``0`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one `! - - +Cutting off at 6dB per octave. .. _class_AudioEffectFilter_constant_FILTER_12DB: @@ -81,11 +77,7 @@ enum **FilterDB**: :ref:`πŸ”—` :ref:`FilterDB` **FILTER_12DB** = ``1`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one `! - - +Cutting off at 12dB per octave. .. _class_AudioEffectFilter_constant_FILTER_18DB: @@ -93,11 +85,7 @@ enum **FilterDB**: :ref:`πŸ”—` :ref:`FilterDB` **FILTER_18DB** = ``2`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one `! - - +Cutting off at 18dB per octave. .. _class_AudioEffectFilter_constant_FILTER_24DB: @@ -105,11 +93,7 @@ enum **FilterDB**: :ref:`πŸ”—` :ref:`FilterDB` **FILTER_24DB** = ``3`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one `! - - +Cutting off at 24dB per octave. .. rst-class:: classref-section-separator @@ -148,9 +132,7 @@ Threshold frequency for the filter, in Hz. - |void| **set_db**\ (\ value\: :ref:`FilterDB`\ ) - :ref:`FilterDB` **get_db**\ (\ ) -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +Steepness of the cutoff curve in dB per octave, also known as the order of the filter. Higher orders have a more aggressive cutoff. .. rst-class:: classref-item-separator diff --git a/classes/class_audioeffectstereoenhance.rst b/classes/class_audioeffectstereoenhance.rst index ed98852e81e..2b4b2015ef0 100644 --- a/classes/class_audioeffectstereoenhance.rst +++ b/classes/class_audioeffectstereoenhance.rst @@ -64,7 +64,7 @@ Property Descriptions - |void| **set_pan_pullout**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_pan_pullout**\ (\ ) -Values greater than 1.0 increase intensity of any panning on audio passing through this effect, whereas values less than 1.0 will decrease the panning intensity. A value of 0.0 will downmix audio to mono. +Amplifies the difference between stereo channels, increasing or decreasing existing panning. A value of 0.0 will downmix stereo to mono. Does not affect a mono signal. .. rst-class:: classref-item-separator @@ -81,9 +81,7 @@ Values greater than 1.0 increase intensity of any panning on audio passing throu - |void| **set_surround**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_surround**\ (\ ) -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +Widens sound stage through phase shifting in conjunction with :ref:`time_pullout_ms`. Just pans sound to the left channel if :ref:`time_pullout_ms` is 0. .. rst-class:: classref-item-separator @@ -100,9 +98,7 @@ Values greater than 1.0 increase intensity of any panning on audio passing throu - |void| **set_time_pullout**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_time_pullout**\ (\ ) -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +Widens sound stage through phase shifting in conjunction with :ref:`surround`. Just delays the right channel if :ref:`surround` is 0. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_audioserver.rst b/classes/class_audioserver.rst index 5a10f28eec9..aa74e69a2e9 100644 --- a/classes/class_audioserver.rst +++ b/classes/class_audioserver.rst @@ -87,8 +87,12 @@ Methods +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_bus_volume_db`\ (\ bus_idx\: :ref:`int`\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_driver_name`\ (\ ) |const| | + +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_input_device_list`\ (\ ) | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_input_mix_rate`\ (\ ) |const| | + +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_mix_rate`\ (\ ) |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_output_device_list`\ (\ ) | @@ -514,6 +518,18 @@ Returns the volume of the bus at index ``bus_idx`` in dB. ---- +.. _class_AudioServer_method_get_driver_name: + +.. rst-class:: classref-method + +:ref:`String` **get_driver_name**\ (\ ) |const| :ref:`πŸ”—` + +Returns the name of the current audio driver. The default usually depends on the operating system, but may be overridden via the ``--audio-driver`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. ``--headless`` also automatically sets the audio driver to ``Dummy``. See also :ref:`ProjectSettings.audio/driver/driver`. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioServer_method_get_input_device_list: .. rst-class:: classref-method @@ -528,6 +544,18 @@ Returns the names of all audio input devices detected on the system. ---- +.. _class_AudioServer_method_get_input_mix_rate: + +.. rst-class:: classref-method + +:ref:`float` **get_input_mix_rate**\ (\ ) |const| :ref:`πŸ”—` + +Returns the sample rate at the input of the **AudioServer**. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioServer_method_get_mix_rate: .. rst-class:: classref-method diff --git a/classes/class_audiostreamplayback.rst b/classes/class_audiostreamplayback.rst index 76f12f3987b..57a1105990f 100644 --- a/classes/class_audiostreamplayback.rst +++ b/classes/class_audiostreamplayback.rst @@ -59,10 +59,24 @@ Methods +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_tag_used_streams`\ (\ ) |virtual| | +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_loop_count`\ (\ ) |const| | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_playback_position`\ (\ ) |const| | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AudioSamplePlayback` | :ref:`get_sample_playback`\ (\ ) |const| | +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_playing`\ (\ ) |const| | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedVector2Array` | :ref:`mix_audio`\ (\ rate_scale\: :ref:`float`, frames\: :ref:`int`\ ) | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`seek`\ (\ time\: :ref:`float` = 0.0\ ) | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_sample_playback`\ (\ playback_sample\: :ref:`AudioSamplePlayback`\ ) | +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`start`\ (\ from_pos\: :ref:`float` = 0.0\ ) | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`stop`\ (\ ) | + +-------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -195,6 +209,30 @@ Overridable method. Called whenever the audio stream is mixed if the playback is ---- +.. _class_AudioStreamPlayback_method_get_loop_count: + +.. rst-class:: classref-method + +:ref:`int` **get_loop_count**\ (\ ) |const| :ref:`πŸ”—` + +Returns the number of times the stream has looped. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_get_playback_position: + +.. rst-class:: classref-method + +:ref:`float` **get_playback_position**\ (\ ) |const| :ref:`πŸ”—` + +Returns the current position in the stream, in seconds. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioStreamPlayback_method_get_sample_playback: .. rst-class:: classref-method @@ -209,6 +247,46 @@ Returns the :ref:`AudioSamplePlayback` associated wit ---- +.. _class_AudioStreamPlayback_method_is_playing: + +.. rst-class:: classref-method + +:ref:`bool` **is_playing**\ (\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if the stream is playing. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_mix_audio: + +.. rst-class:: classref-method + +:ref:`PackedVector2Array` **mix_audio**\ (\ rate_scale\: :ref:`float`, frames\: :ref:`int`\ ) :ref:`πŸ”—` + +Mixes up to ``frames`` of audio from the stream from the current position, at a rate of ``rate_scale``, advancing the stream. + +Returns a :ref:`PackedVector2Array` where each element holds the left and right channel volume levels of each frame. + +\ **Note:** Can return fewer frames than requested, make sure to use the size of the return value. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_seek: + +.. rst-class:: classref-method + +|void| **seek**\ (\ time\: :ref:`float` = 0.0\ ) :ref:`πŸ”—` + +Seeks the stream at the given ``time``, in seconds. + +.. rst-class:: classref-item-separator + +---- + .. _class_AudioStreamPlayback_method_set_sample_playback: .. rst-class:: classref-method @@ -219,6 +297,30 @@ Returns the :ref:`AudioSamplePlayback` associated wit Associates :ref:`AudioSamplePlayback` to this **AudioStreamPlayback** for playing back the audio sample of this stream. +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_start: + +.. rst-class:: classref-method + +|void| **start**\ (\ from_pos\: :ref:`float` = 0.0\ ) :ref:`πŸ”—` + +Starts the stream from the given ``from_pos``, in seconds. + +.. rst-class:: classref-item-separator + +---- + +.. _class_AudioStreamPlayback_method_stop: + +.. rst-class:: classref-method + +|void| **stop**\ (\ ) :ref:`πŸ”—` + +Stops the stream. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` diff --git a/classes/class_backbuffercopy.rst b/classes/class_backbuffercopy.rst index 0b3ac0b753a..2e5e4324920 100644 --- a/classes/class_backbuffercopy.rst +++ b/classes/class_backbuffercopy.rst @@ -23,6 +23,13 @@ Node for back-buffering the currently-displayed screen. The region defined in th \ **Note:** Since this node inherits from :ref:`Node2D` (and not :ref:`Control`), anchors and margins won't apply to child :ref:`Control`-derived nodes. This can be problematic when resizing the window. To avoid this, add :ref:`Control`-derived nodes as *siblings* to the **BackBufferCopy** node instead of adding them as children. +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`Screen-reading shaders <../tutorials/shaders/screen-reading_shaders>` + .. rst-class:: classref-reftable-group Properties diff --git a/classes/class_basebutton.rst b/classes/class_basebutton.rst index acb2d2a0be8..b5f9ec04a12 100644 --- a/classes/class_basebutton.rst +++ b/classes/class_basebutton.rst @@ -288,7 +288,7 @@ To allow both left-click and right-click, use ``MOUSE_BUTTON_MASK_LEFT | MOUSE_B If ``true``, the button's state is pressed. Means the button is pressed down or toggled (if :ref:`toggle_mode` is active). Only works if :ref:`toggle_mode` is ``true``. -\ **Note:** Setting :ref:`button_pressed` will result in :ref:`toggled` to be emitted. If you want to change the pressed state without emitting that signal, use :ref:`set_pressed_no_signal`. +\ **Note:** Changing the value of :ref:`button_pressed` will result in :ref:`toggled` to be emitted. If you want to change the pressed state without emitting that signal, use :ref:`set_pressed_no_signal`. .. rst-class:: classref-item-separator @@ -377,6 +377,8 @@ If ``true``, the button will highlight for a short amount of time when its short If ``true``, the button will add information about its shortcut in the tooltip. +\ **Note:** This property does nothing when the tooltip control is customized using :ref:`Control._make_custom_tooltip`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_cameraattributesphysical.rst b/classes/class_cameraattributesphysical.rst index 1399d5f135c..89be06443f1 100644 --- a/classes/class_cameraattributesphysical.rst +++ b/classes/class_cameraattributesphysical.rst @@ -109,7 +109,7 @@ The maximum luminance (in EV100) used when calculating auto exposure. When calcu - |void| **set_auto_exposure_min_exposure_value**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_auto_exposure_min_exposure_value**\ (\ ) -The minimum luminance luminance (in EV100) used when calculating auto exposure. When calculating scene average luminance, color values will be clamped to at least this value. This limits the auto-exposure from exposing above a certain brightness, resulting in a cut off point where the scene will remain dark. +The minimum luminance (in EV100) used when calculating auto exposure. When calculating scene average luminance, color values will be clamped to at least this value. This limits the auto-exposure from exposing above a certain brightness, resulting in a cut off point where the scene will remain dark. .. rst-class:: classref-item-separator diff --git a/classes/class_camerafeed.rst b/classes/class_camerafeed.rst index 5774048fbc9..c3bb9c13ffe 100644 --- a/classes/class_camerafeed.rst +++ b/classes/class_camerafeed.rst @@ -36,6 +36,8 @@ Properties +---------------------------------------+-----------------------------------------------------------------+------------------------------------+ | :ref:`Transform2D` | :ref:`feed_transform` | ``Transform2D(1, 0, 0, -1, 0, 1)`` | +---------------------------------------+-----------------------------------------------------------------+------------------------------------+ + | :ref:`Array` | :ref:`formats` | ``[]`` | + +---------------------------------------+-----------------------------------------------------------------+------------------------------------+ .. rst-class:: classref-reftable-group @@ -45,15 +47,58 @@ Methods .. table:: :widths: auto - +---------------------------------------------------+-------------------------------------------------------------------------+ - | :ref:`FeedDataType` | :ref:`get_datatype`\ (\ ) |const| | - +---------------------------------------------------+-------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_id`\ (\ ) |const| | - +---------------------------------------------------+-------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_name`\ (\ ) |const| | - +---------------------------------------------------+-------------------------------------------------------------------------+ - | :ref:`FeedPosition` | :ref:`get_position`\ (\ ) |const| | - +---------------------------------------------------+-------------------------------------------------------------------------+ + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`FeedDataType` | :ref:`get_datatype`\ (\ ) |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_id`\ (\ ) |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_name`\ (\ ) |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`FeedPosition` | :ref:`get_position`\ (\ ) |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_texture_tex_id`\ (\ feed_image_type\: :ref:`FeedImage`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_external`\ (\ width\: :ref:`int`, height\: :ref:`int`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`set_format`\ (\ index\: :ref:`int`, parameters\: :ref:`Dictionary`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_name`\ (\ name\: :ref:`String`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_position`\ (\ position\: :ref:`FeedPosition`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_rgb_image`\ (\ rgb_image\: :ref:`Image`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_ycbcr_image`\ (\ ycbcr_image\: :ref:`Image`\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Signals +------- + +.. _class_CameraFeed_signal_format_changed: + +.. rst-class:: classref-signal + +**format_changed**\ (\ ) :ref:`πŸ”—` + +Emitted when the format has changed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_signal_frame_changed: + +.. rst-class:: classref-signal + +**frame_changed**\ (\ ) :ref:`πŸ”—` + +Emitted when a new frame is available. .. rst-class:: classref-section-separator @@ -102,6 +147,14 @@ Feed supplies YCbCr images that need to be converted to RGB. Feed supplies separate Y and CbCr images that need to be combined and converted to RGB. +.. _class_CameraFeed_constant_FEED_EXTERNAL: + +.. rst-class:: classref-enumeration-constant + +:ref:`FeedDataType` **FEED_EXTERNAL** = ``4`` + +Feed supplies external image. + .. rst-class:: classref-item-separator ---- @@ -175,6 +228,22 @@ If ``true``, the feed is active. The transform applied to the camera's image. +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_property_formats: + +.. rst-class:: classref-property + +:ref:`Array` **formats** = ``[]`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- :ref:`Array` **get_formats**\ (\ ) + +Formats supported by the feed. Each entry is a :ref:`Dictionary` describing format parameters. + .. rst-class:: classref-section-separator ---- @@ -228,6 +297,96 @@ Returns the camera's name. Returns the position of camera on the device. +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_get_texture_tex_id: + +.. rst-class:: classref-method + +:ref:`int` **get_texture_tex_id**\ (\ feed_image_type\: :ref:`FeedImage`\ ) :ref:`πŸ”—` + +Returns the texture backend ID (usable by some external libraries that need a handle to a texture to write data). + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_external: + +.. rst-class:: classref-method + +|void| **set_external**\ (\ width\: :ref:`int`, height\: :ref:`int`\ ) :ref:`πŸ”—` + +Sets the feed as external feed provided by another library. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_format: + +.. rst-class:: classref-method + +:ref:`bool` **set_format**\ (\ index\: :ref:`int`, parameters\: :ref:`Dictionary`\ ) :ref:`πŸ”—` + +Sets the feed format parameters for the given index in the :ref:`formats` array. Returns ``true`` on success. By default YUYV encoded stream is transformed to FEED_RGB. YUYV encoded stream output format can be changed with ``parameters``.output value: + +\ ``separate`` will result in FEED_YCBCR_SEP + +\ ``grayscale`` will result in desaturated FEED_RGB + +\ ``copy`` will result in FEED_YCBCR + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_name: + +.. rst-class:: classref-method + +|void| **set_name**\ (\ name\: :ref:`String`\ ) :ref:`πŸ”—` + +Sets the camera's name. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_position: + +.. rst-class:: classref-method + +|void| **set_position**\ (\ position\: :ref:`FeedPosition`\ ) :ref:`πŸ”—` + +Sets the position of this camera. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_rgb_image: + +.. rst-class:: classref-method + +|void| **set_rgb_image**\ (\ rgb_image\: :ref:`Image`\ ) :ref:`πŸ”—` + +Sets RGB image for this feed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CameraFeed_method_set_ycbcr_image: + +.. rst-class:: classref-method + +|void| **set_ycbcr_image**\ (\ ycbcr_image\: :ref:`Image`\ ) :ref:`πŸ”—` + +Sets YCbCr image for this feed. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` diff --git a/classes/class_cameraserver.rst b/classes/class_cameraserver.rst index 9d3800bbf74..e662f71daac 100644 --- a/classes/class_cameraserver.rst +++ b/classes/class_cameraserver.rst @@ -23,7 +23,7 @@ The **CameraServer** keeps track of different cameras accessible in Godot. These It is notably used to provide AR modules with a video feed from the camera. -\ **Note:** This class is currently only implemented on macOS and iOS. To get a :ref:`CameraFeed` on iOS, the camera plugin from `godot-ios-plugins `__ is required. On other platforms, no :ref:`CameraFeed`\ s will be available. +\ **Note:** This class is currently only implemented on Linux, macOS, and iOS, on other platforms no :ref:`CameraFeed`\ s will be available. To get a :ref:`CameraFeed` on iOS, the camera plugin from `godot-ios-plugins `__ is required. .. rst-class:: classref-reftable-group diff --git a/classes/class_canvasitem.rst b/classes/class_canvasitem.rst index 43b1bcdf41a..4ce59f3b7a3 100644 --- a/classes/class_canvasitem.rst +++ b/classes/class_canvasitem.rst @@ -191,7 +191,7 @@ Methods +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_visible_in_tree`\ (\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2` | :ref:`make_canvas_position_local`\ (\ screen_point\: :ref:`Vector2`\ ) |const| | + | :ref:`Vector2` | :ref:`make_canvas_position_local`\ (\ viewport_point\: :ref:`Vector2`\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`InputEvent` | :ref:`make_input_local`\ (\ event\: :ref:`InputEvent`\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -237,7 +237,7 @@ Emitted when the **CanvasItem** must redraw, *after* the related :ref:`NOTIFICAT **hidden**\ (\ ) :ref:`πŸ”—` -Emitted when becoming hidden. +Emitted when the **CanvasItem** is hidden, i.e. it's no longer visible in the tree (see :ref:`is_visible_in_tree`). .. rst-class:: classref-item-separator @@ -249,7 +249,7 @@ Emitted when becoming hidden. **item_rect_changed**\ (\ ) :ref:`πŸ”—` -Emitted when the item's :ref:`Rect2` boundaries (position or size) have changed, or when an action is taking place that may have impacted these boundaries (e.g. changing :ref:`Sprite2D.texture`). +Emitted when the **CanvasItem**'s boundaries (position or size) change, or when an action took place that may have affected these boundaries (e.g. changing :ref:`Sprite2D.texture`). .. rst-class:: classref-item-separator @@ -261,7 +261,7 @@ Emitted when the item's :ref:`Rect2` boundaries (position or size) **visibility_changed**\ (\ ) :ref:`πŸ”—` -Emitted when the visibility (hidden/visible) changes. +Emitted when the **CanvasItem**'s visibility changes, either because its own :ref:`visible` property changed or because its visibility in the tree changed (see :ref:`is_visible_in_tree`). .. rst-class:: classref-section-separator @@ -716,7 +716,7 @@ The rendering layer in which this **CanvasItem** is rendered by :ref:`Viewport`\ ) - :ref:`bool` **is_visible**\ (\ ) -If ``true``, this **CanvasItem** is drawn. The node is only visible if all of its ancestors are visible as well (in other words, :ref:`is_visible_in_tree` must return ``true``). +If ``true``, this **CanvasItem** may be drawn. Whether this **CanvasItem** is actually drawn depends on the visibility of all of its **CanvasItem** ancestors. In other words: this **CanvasItem** will be drawn when :ref:`is_visible_in_tree` returns ``true`` and all **CanvasItem** ancestors share at least one :ref:`visibility_layer` with this **CanvasItem**. \ **Note:** For controls that inherit :ref:`Popup`, the correct way to make them visible is to call one of the multiple ``popup*()`` functions instead. @@ -1476,6 +1476,8 @@ Returns ``true`` if the node is present in the :ref:`SceneTree` Visibility is checked only in parent nodes that inherit from **CanvasItem**, :ref:`CanvasLayer`, and :ref:`Window`. If the parent is of any other type (such as :ref:`Node`, :ref:`AnimationPlayer`, or :ref:`Node3D`), it is assumed to be visible. +\ **Note:** This method does not take :ref:`visibility_layer` into account, so even if this method returns ``true`` the node might end up not being rendered. + .. rst-class:: classref-item-separator ---- @@ -1484,9 +1486,15 @@ Visibility is checked only in parent nodes that inherit from **CanvasItem**, :re .. rst-class:: classref-method -:ref:`Vector2` **make_canvas_position_local**\ (\ screen_point\: :ref:`Vector2`\ ) |const| :ref:`πŸ”—` +:ref:`Vector2` **make_canvas_position_local**\ (\ viewport_point\: :ref:`Vector2`\ ) |const| :ref:`πŸ”—` + +Transforms ``viewport_point`` from the viewport's coordinates to this node's local coordinates. + +For the opposite operation, use :ref:`get_global_transform_with_canvas`. + +:: -Assigns ``screen_point`` as this node's new local transform. + var viewport_point = get_global_transform_with_canvas() * local_point .. rst-class:: classref-item-separator diff --git a/classes/class_canvasmodulate.rst b/classes/class_canvasmodulate.rst index a90a5687fcf..42a739cb129 100644 --- a/classes/class_canvasmodulate.rst +++ b/classes/class_canvasmodulate.rst @@ -24,6 +24,13 @@ Description **CanvasModulate** applies a color tint to all nodes on a canvas. Only one can be used to tint a canvas, but :ref:`CanvasLayer`\ s can be used to render things independently. +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`2D lights and shadows <../tutorials/2d/2d_lights_and_shadows>` + .. rst-class:: classref-reftable-group Properties diff --git a/classes/class_classdb.rst b/classes/class_classdb.rst index 2aaa48001bf..14724e0be5c 100644 --- a/classes/class_classdb.rst +++ b/classes/class_classdb.rst @@ -32,7 +32,7 @@ Methods +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`can_instantiate`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`class_call_static_method`\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| | + | :ref:`Variant` | :ref:`class_call_static`\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`class_exists`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -167,11 +167,11 @@ Returns ``true`` if objects can be instantiated from the specified ``class``, ot ---- -.. _class_ClassDB_method_class_call_static_method: +.. _class_ClassDB_method_class_call_static: .. rst-class:: classref-method -:ref:`Variant` **class_call_static_method**\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| :ref:`πŸ”—` +:ref:`Variant` **class_call_static**\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| :ref:`πŸ”—` Calls a static method on a class. diff --git a/classes/class_control.rst b/classes/class_control.rst index a6cc2a484ed..4032c1c58a6 100644 --- a/classes/class_control.rst +++ b/classes/class_control.rst @@ -143,6 +143,8 @@ Properties +---------------------------------------------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`theme_type_variation` | ``&""`` | +---------------------------------------------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`AutoTranslateMode` | :ref:`tooltip_auto_translate_mode` | ``0`` | + +---------------------------------------------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ | :ref:`String` | :ref:`tooltip_text` | ``""`` | +---------------------------------------------------------------------+----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ @@ -994,11 +996,11 @@ enum **LayoutDirection**: :ref:`πŸ”—` Automatic layout direction, determined from the parent control layout direction. -.. _class_Control_constant_LAYOUT_DIRECTION_LOCALE: +.. _class_Control_constant_LAYOUT_DIRECTION_APPLICATION_LOCALE: .. rst-class:: classref-enumeration-constant -:ref:`LayoutDirection` **LAYOUT_DIRECTION_LOCALE** = ``1`` +:ref:`LayoutDirection` **LAYOUT_DIRECTION_APPLICATION_LOCALE** = ``1`` Automatic layout direction, determined from the current locale. @@ -1018,6 +1020,32 @@ Left-to-right layout direction. Right-to-left layout direction. +.. _class_Control_constant_LAYOUT_DIRECTION_SYSTEM_LOCALE: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_SYSTEM_LOCALE** = ``4`` + +Automatic layout direction, determined from the system locale. + +.. _class_Control_constant_LAYOUT_DIRECTION_MAX: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_MAX** = ``5`` + +Represents the size of the :ref:`LayoutDirection` enum. + +.. _class_Control_constant_LAYOUT_DIRECTION_LOCALE: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_LOCALE** = ``1`` + +**Deprecated:** Use :ref:`LAYOUT_DIRECTION_APPLICATION_LOCALE` instead. + + + .. rst-class:: classref-item-separator ---- @@ -1885,6 +1913,25 @@ When set, this property gives the highest priority to the type of the specified ---- +.. _class_Control_property_tooltip_auto_translate_mode: + +.. rst-class:: classref-property + +:ref:`AutoTranslateMode` **tooltip_auto_translate_mode** = ``0`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_tooltip_auto_translate_mode**\ (\ value\: :ref:`AutoTranslateMode`\ ) +- :ref:`AutoTranslateMode` **get_tooltip_auto_translate_mode**\ (\ ) + +Defines if tooltip text should automatically change to its translated version depending on the current locale. Uses the same auto translate mode as this control when set to :ref:`Node.AUTO_TRANSLATE_MODE_INHERIT`. + +\ **Note:** Tooltips customized using :ref:`_make_custom_tooltip` do not use this auto translate mode automatically. + +.. rst-class:: classref-item-separator + +---- + .. _class_Control_property_tooltip_text: .. rst-class:: classref-property @@ -1990,7 +2037,7 @@ Godot calls this method to pass you the ``data`` from a control's :ref:`_get_dra public override bool _CanDropData(Vector2 atPosition, Variant data) { - return data.VariantType == Variant.Type.Dictionary && dict.AsGodotDictionary().ContainsKey("color"); + return data.VariantType == Variant.Type.Dictionary && data.AsGodotDictionary().ContainsKey("color"); } public override void _DropData(Vector2 atPosition, Variant data) diff --git a/classes/class_cpuparticles3d.rst b/classes/class_cpuparticles3d.rst index 503f30806ec..15a207367c0 100644 --- a/classes/class_cpuparticles3d.rst +++ b/classes/class_cpuparticles3d.rst @@ -198,6 +198,8 @@ Methods .. table:: :widths: auto + +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AABB` | :ref:`capture_aabb`\ (\ ) |const| | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`convert_from_particles`\ (\ particles\: :ref:`Node`\ ) | +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -1813,6 +1815,18 @@ Grow the box if particles suddenly appear/disappear when the node enters/exits t Method Descriptions ------------------- +.. _class_CPUParticles3D_method_capture_aabb: + +.. rst-class:: classref-method + +:ref:`AABB` **capture_aabb**\ (\ ) |const| :ref:`πŸ”—` + +Returns the axis-aligned bounding box that contains all the particles that are active in the current frame. + +.. rst-class:: classref-item-separator + +---- + .. _class_CPUParticles3D_method_convert_from_particles: .. rst-class:: classref-method diff --git a/classes/class_dictionary.rst b/classes/class_dictionary.rst index cc1678e02e4..e79d7ae19d2 100644 --- a/classes/class_dictionary.rst +++ b/classes/class_dictionary.rst @@ -287,8 +287,12 @@ Methods +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`recursive_equal`\ (\ dictionary\: :ref:`Dictionary`, recursion_count\: :ref:`int`\ ) |const| | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`set`\ (\ key\: :ref:`Variant`, value\: :ref:`Variant`\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`size`\ (\ ) |const| | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`sort`\ (\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`values`\ (\ ) |const| | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -825,6 +829,18 @@ Returns ``true`` if the two dictionaries contain the same keys and values, inner ---- +.. _class_Dictionary_method_set: + +.. rst-class:: classref-method + +:ref:`bool` **set**\ (\ key\: :ref:`Variant`, value\: :ref:`Variant`\ ) :ref:`πŸ”—` + +Sets the value of the element at the given ``key`` to the given ``value``. This is the same as using the ``[]`` operator (``array[index] = value``). + +.. rst-class:: classref-item-separator + +---- + .. _class_Dictionary_method_size: .. rst-class:: classref-method @@ -837,6 +853,18 @@ Returns the number of entries in the dictionary. Empty dictionaries (``{ }``) al ---- +.. _class_Dictionary_method_sort: + +.. rst-class:: classref-method + +|void| **sort**\ (\ ) :ref:`πŸ”—` + +Sorts the dictionary in-place by key. This can be used to ensure dictionaries with the same contents produce equivalent results when getting the :ref:`keys`, getting the :ref:`values`, and converting to a string. This is also useful when wanting a JSON representation consistent with what is in memory, and useful for storing on a database that requires dictionaries to be sorted. + +.. rst-class:: classref-item-separator + +---- + .. _class_Dictionary_method_values: .. rst-class:: classref-method diff --git a/classes/class_displayserver.rst b/classes/class_displayserver.rst index 18a5e165dbb..ba76264450b 100644 --- a/classes/class_displayserver.rst +++ b/classes/class_displayserver.rst @@ -194,6 +194,8 @@ Methods +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_feature`\ (\ feature\: :ref:`Feature`\ ) |const| | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_hardware_keyboard`\ (\ ) |const| | + +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`help_set_search_callbacks`\ (\ search_callback\: :ref:`Callable`, action_callback\: :ref:`Callable`\ ) | +-------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`ime_get_selection`\ (\ ) |const| | @@ -616,7 +618,15 @@ Display server supports spawning text input dialogs using the operating system's :ref:`Feature` **FEATURE_NATIVE_DIALOG_FILE** = ``25`` -Display server supports spawning dialogs for selecting files or directories using the operating system's native look-and-feel. See :ref:`file_dialog_show` and :ref:`file_dialog_with_options_show`. **Windows, macOS, Linux (X11/Wayland)** +Display server supports spawning dialogs for selecting files or directories using the operating system's native look-and-feel. See :ref:`file_dialog_show`. **Windows, macOS, Linux (X11/Wayland), Android** + +.. _class_DisplayServer_constant_FEATURE_NATIVE_DIALOG_FILE_EXTRA: + +.. rst-class:: classref-enumeration-constant + +:ref:`Feature` **FEATURE_NATIVE_DIALOG_FILE_EXTRA** = ``26`` + +The display server supports all features of :ref:`FEATURE_NATIVE_DIALOG_FILE`, with the added functionality of Options and native dialog file access to ``res://`` and ``user://`` paths. See :ref:`file_dialog_show` and :ref:`file_dialog_with_options_show`. **Windows, macOS, Linux (X11/Wayland)** .. rst-class:: classref-item-separator @@ -1060,6 +1070,8 @@ Full screen mode with full multi-window support. Full screen window covers the entire display area of a screen and has no decorations. The display's video mode is not changed. +\ **On Android:** This enables immersive mode. + \ **On Windows:** Multi-window full-screen mode has a 1px border of the :ref:`ProjectSettings.rendering/environment/defaults/default_clear_color` color. \ **On macOS:** A new desktop is used to display the running project. @@ -1076,6 +1088,8 @@ A single window full screen mode. This mode has less overhead, but only one wind Full screen window covers the entire display area of a screen and has no border or decorations. The display's video mode is not changed. +\ **On Android:** This enables immersive mode. + \ **On Windows:** Depending on video driver, full screen transition might cause screens to go black for a moment. \ **On macOS:** A new desktop is used to display the running project. Exclusive full screen mode prevents Dock and Menu from showing up when the mouse pointer is hovering the edge of the screen. @@ -1168,11 +1182,21 @@ Use :ref:`window_get_safe_title_margins` **WINDOW_FLAG_SHARP_CORNERS** = ``8`` + +Window style is overridden, forcing sharp corners. + +\ **Note:** This flag is implemented only on Windows (11). + .. _class_DisplayServer_constant_WINDOW_FLAG_MAX: .. rst-class:: classref-enumeration-constant -:ref:`WindowFlags` **WINDOW_FLAG_MAX** = ``8`` +:ref:`WindowFlags` **WINDOW_FLAG_MAX** = ``9`` Max value of the :ref:`WindowFlags`. @@ -1320,6 +1344,8 @@ Display handle: - Linux (X11): ``X11::Display*`` for the display. +- Linux (Wayland): ``wl_display`` for the display. + - Android: ``EGLDisplay`` for the display. .. _class_DisplayServer_constant_WINDOW_HANDLE: @@ -1334,6 +1360,8 @@ Window handle: - Linux (X11): ``X11::Window*`` for the window. +- Linux (Wayland): ``wl_surface`` for the window. + - macOS: ``NSWindow*`` for the window. - iOS: ``UIViewController*`` for the view controller. @@ -1366,10 +1394,36 @@ OpenGL context (only with the GL Compatibility renderer): - Linux (X11): ``GLXContext*`` for the window. +- Linux (Wayland): ``EGLContext`` for the window. + - macOS: ``NSOpenGLContext*`` for the window (native GL), or ``EGLContext`` for the window (ANGLE). - Android: ``EGLContext`` for the window. +.. _class_DisplayServer_constant_EGL_DISPLAY: + +.. rst-class:: classref-enumeration-constant + +:ref:`HandleType` **EGL_DISPLAY** = ``4`` + +- Windows: ``EGLDisplay`` for the window (ANGLE). + +- macOS: ``EGLDisplay`` for the window (ANGLE). + +- Linux (Wayland): ``EGLDisplay`` for the window. + +.. _class_DisplayServer_constant_EGL_CONFIG: + +.. rst-class:: classref-enumeration-constant + +:ref:`HandleType` **EGL_CONFIG** = ``5`` + +- Windows: ``EGLConfig`` for the window (ANGLE). + +- macOS: ``EGLConfig`` for the window (ANGLE). + +- Linux (Wayland): ``EGLConfig`` for the window. + .. rst-class:: classref-item-separator ---- @@ -1656,7 +1710,7 @@ Removes the application status indicator. Shows a text input dialog which uses the operating system's native look-and-feel. ``callback`` should accept a single :ref:`String` parameter which contains the text field's contents. -\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG_INPUT` feature. Supported platforms include macOS and Windows. +\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG_INPUT` feature. Supported platforms include macOS, Windows, and Android. .. rst-class:: classref-item-separator @@ -1700,15 +1754,17 @@ Displays OS native dialog for selecting files or directories in the file system. Each filter string in the ``filters`` array should be formatted like this: ``*.txt,*.doc;Text Files``. The description text of the filter is optional and can be omitted. See also :ref:`FileDialog.filters`. -Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int``. +Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int``. **On Android,** callback argument ``selected_filter_index`` is always zero. -\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG_FILE` feature. Supported platforms include Linux (X11/Wayland), Windows, and macOS. +\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG_FILE` feature. Supported platforms include Linux (X11/Wayland), Windows, macOS, and Android. \ **Note:** ``current_directory`` might be ignored. -\ **Note:** On Linux, ``show_hidden`` is ignored. +\ **Note:** On Android, the filter strings in the ``filters`` array should be specified using MIME types, for example:``image/png, image/jpeg"``. Additionally, the ``mode`` :ref:`FILE_DIALOG_MODE_OPEN_ANY` is not supported on Android. -\ **Note:** On macOS, native file dialogs have no title. +\ **Note:** On Android and Linux, ``show_hidden`` is ignored. + +\ **Note:** On Android and macOS, native file dialogs have no title. \ **Note:** On macOS, sandboxed apps will save security-scoped bookmarks to retain access to the opened folders across multiple sessions. Use :ref:`OS.get_granted_permissions` to get a list of saved bookmarks. @@ -1736,7 +1792,7 @@ Each filter string in the ``filters`` array should be formatted like this: ``*.t Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int, selected_option: Dictionary``. -\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG_FILE` feature. Supported platforms include Linux (X11/Wayland), Windows, and macOS. +\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG_FILE_EXTRA` feature. Supported platforms include Linux (X11/Wayland), Windows, and macOS. \ **Note:** ``current_directory`` might be ignored. @@ -1772,7 +1828,7 @@ Forces window manager processing while ignoring all :ref:`InputEvent` **has_hardware_keyboard**\ (\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if hardware keyboard is connected. + +\ **Note:** This method is implemented on Android and iOS, on other platforms this method always returns ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_DisplayServer_method_help_set_search_callbacks: .. rst-class:: classref-method @@ -4257,6 +4327,8 @@ Sets the minimum size for the given window to ``min_size`` in pixels. Normally, Sets window mode for the given window to ``mode``. See :ref:`WindowMode` for possible values and how each mode behaves. +\ **Note:** On Android, setting it to :ref:`WINDOW_MODE_FULLSCREEN` or :ref:`WINDOW_MODE_EXCLUSIVE_FULLSCREEN` will enable immersive mode. + \ **Note:** Setting the window to full screen forcibly sets the borderless flag to ``true``, so make sure to set it back to ``false`` when not wanted. .. rst-class:: classref-item-separator diff --git a/classes/class_editorcontextmenuplugin.rst b/classes/class_editorcontextmenuplugin.rst index 40ad945dc15..d99156845a4 100644 --- a/classes/class_editorcontextmenuplugin.rst +++ b/classes/class_editorcontextmenuplugin.rst @@ -38,6 +38,8 @@ Methods +--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_context_menu_item_from_shortcut`\ (\ name\: :ref:`String`, shortcut\: :ref:`Shortcut`, icon\: :ref:`Texture2D` = null\ ) | +--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_context_submenu_item`\ (\ name\: :ref:`String`, menu\: :ref:`PopupMenu`, icon\: :ref:`Texture2D` = null\ ) | + +--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_menu_shortcut`\ (\ shortcut\: :ref:`Shortcut`, callback\: :ref:`Callable`\ ) | +--------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -148,6 +150,28 @@ Add custom option to the context menu of the plugin's specified slot. The option ---- +.. _class_EditorContextMenuPlugin_method_add_context_submenu_item: + +.. rst-class:: classref-method + +|void| **add_context_submenu_item**\ (\ name\: :ref:`String`, menu\: :ref:`PopupMenu`, icon\: :ref:`Texture2D` = null\ ) :ref:`πŸ”—` + +Add a submenu to the context menu of the plugin's specified slot. The submenu is not automatically handled, you need to connect to its signals yourself. Also the submenu is freed on every popup, so provide a new :ref:`PopupMenu` every time. + +:: + + func _popup_menu(paths): + var popup_menu = PopupMenu.new() + popup_menu.add_item("Blue") + popup_menu.add_item("White") + popup_menu.id_pressed.connect(_on_color_submenu_option) + + add_context_menu_item("Set Node Color", popup_menu) + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorContextMenuPlugin_method_add_menu_shortcut: .. rst-class:: classref-method diff --git a/classes/class_editordebuggerplugin.rst b/classes/class_editordebuggerplugin.rst index bc1ad69f0f2..366b187a465 100644 --- a/classes/class_editordebuggerplugin.rst +++ b/classes/class_editordebuggerplugin.rst @@ -37,18 +37,20 @@ You can retrieve the available :ref:`EditorDebuggerSession` singleton: + + +.. tabs:: + + .. code-tab:: gdscript + + extends Node + + func _ready(): + EngineDebugger.register_message_capture("my_plugin", _capture) + EngineDebugger.send_message("my_plugin:ping", ["test"]) + + func _capture(message, data): + # Note that the "my_plugin:" prefix is not used here. + if message == "echo": + prints("Echo received:", data) + return true + return false + + + +\ **Note:** While the game is running, :ref:`@GlobalScope.print` and similar functions *called in the editor* do not print anything, the Output Log prints only game messages. + .. rst-class:: classref-reftable-group Methods @@ -131,7 +157,7 @@ Override this method to be notified when all breakpoints are cleared in the edit :ref:`bool` **_capture**\ (\ message\: :ref:`String`, data\: :ref:`Array`, session_id\: :ref:`int`\ ) |virtual| :ref:`πŸ”—` -Override this method to process incoming messages. The ``session_id`` is the ID of the :ref:`EditorDebuggerSession` that received the message (which you can retrieve via :ref:`get_session`). +Override this method to process incoming messages. The ``session_id`` is the ID of the :ref:`EditorDebuggerSession` that received the ``message``. Use :ref:`get_session` to retrieve the session. This method should return ``true`` if the message is recognized. .. rst-class:: classref-item-separator @@ -167,7 +193,7 @@ Override this method to enable receiving messages from the debugger. If ``captur |void| **_setup_session**\ (\ session_id\: :ref:`int`\ ) |virtual| :ref:`πŸ”—` -Override this method to be notified whenever a new :ref:`EditorDebuggerSession` is created (the session may be inactive during this stage). +Override this method to be notified whenever a new :ref:`EditorDebuggerSession` is created. Note that the session may be inactive during this stage. .. rst-class:: classref-item-separator diff --git a/classes/class_editordebuggersession.rst b/classes/class_editordebuggersession.rst index 96922731b1a..a47714ed4c3 100644 --- a/classes/class_editordebuggersession.rst +++ b/classes/class_editordebuggersession.rst @@ -117,7 +117,7 @@ Method Descriptions |void| **add_session_tab**\ (\ control\: :ref:`Control`\ ) :ref:`πŸ”—` -Adds the given ``control`` to the debug session UI in the debugger bottom panel. +Adds the given ``control`` to the debug session UI in the debugger bottom panel. The ``control``'s node name will be used as the tab title. .. rst-class:: classref-item-separator diff --git a/classes/class_editorexportplatform.rst b/classes/class_editorexportplatform.rst index 952a9f615db..eb38f7ec4ae 100644 --- a/classes/class_editorexportplatform.rst +++ b/classes/class_editorexportplatform.rst @@ -40,51 +40,59 @@ Methods .. table:: :widths: auto - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`add_message`\ (\ type\: :ref:`ExportMessageType`, category\: :ref:`String`, message\: :ref:`String`\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`clear_messages`\ (\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`EditorExportPreset` | :ref:`create_preset`\ (\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`export_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`export_project`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`export_project_files`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, save_cb\: :ref:`Callable`, shared_cb\: :ref:`Callable` = Callable()\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`export_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary` | :ref:`find_export_template`\ (\ template_file_name\: :ref:`String`\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`gen_export_flags`\ (\ flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Array` | :ref:`get_current_presets`\ (\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`get_forced_export_files`\ (\ ) |static| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_message_category`\ (\ index\: :ref:`int`\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_message_count`\ (\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_message_text`\ (\ index\: :ref:`int`\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`ExportMessageType` | :ref:`get_message_type`\ (\ index\: :ref:`int`\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_os_name`\ (\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`ExportMessageType` | :ref:`get_worst_message_type`\ (\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary` | :ref:`save_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, embed\: :ref:`bool` = false\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary` | :ref:`save_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`\ ) | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`ssh_push_to_remote`\ (\ host\: :ref:`String`, port\: :ref:`String`, scp_args\: :ref:`PackedStringArray`, src_file\: :ref:`String`, dst_file\: :ref:`String`\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`ssh_run_on_remote`\ (\ host\: :ref:`String`, port\: :ref:`String`, ssh_arg\: :ref:`PackedStringArray`, cmd_args\: :ref:`String`, output\: :ref:`Array` = [], port_fwd\: :ref:`int` = -1\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`ssh_run_on_remote_no_wait`\ (\ host\: :ref:`String`, port\: :ref:`String`, ssh_args\: :ref:`PackedStringArray`, cmd_args\: :ref:`String`, port_fwd\: :ref:`int` = -1\ ) |const| | - +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_message`\ (\ type\: :ref:`ExportMessageType`, category\: :ref:`String`, message\: :ref:`String`\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear_messages`\ (\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorExportPreset` | :ref:`create_preset`\ (\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_pack_patch`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, patches\: :ref:`PackedStringArray` = PackedStringArray(), flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_project`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_project_files`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, save_cb\: :ref:`Callable`, shared_cb\: :ref:`Callable` = Callable()\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_zip_patch`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, patches\: :ref:`PackedStringArray` = PackedStringArray(), flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`find_export_template`\ (\ template_file_name\: :ref:`String`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`gen_export_flags`\ (\ flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array` | :ref:`get_current_presets`\ (\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_forced_export_files`\ (\ ) |static| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_message_category`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_message_count`\ (\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_message_text`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ExportMessageType` | :ref:`get_message_type`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_os_name`\ (\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ExportMessageType` | :ref:`get_worst_message_type`\ (\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`save_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, embed\: :ref:`bool` = false\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`save_pack_patch`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`save_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`save_zip_patch`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`ssh_push_to_remote`\ (\ host\: :ref:`String`, port\: :ref:`String`, scp_args\: :ref:`PackedStringArray`, src_file\: :ref:`String`, dst_file\: :ref:`String`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`ssh_run_on_remote`\ (\ host\: :ref:`String`, port\: :ref:`String`, ssh_arg\: :ref:`PackedStringArray`, cmd_args\: :ref:`String`, output\: :ref:`Array` = [], port_fwd\: :ref:`int` = -1\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`ssh_run_on_remote_no_wait`\ (\ host\: :ref:`String`, port\: :ref:`String`, ssh_args\: :ref:`PackedStringArray`, cmd_args\: :ref:`String`, port_fwd\: :ref:`int` = -1\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -240,6 +248,20 @@ Creates a PCK archive at ``path`` for the specified ``preset``. ---- +.. _class_EditorExportPlatform_method_export_pack_patch: + +.. rst-class:: classref-method + +:ref:`Error` **export_pack_patch**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, patches\: :ref:`PackedStringArray` = PackedStringArray(), flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) :ref:`πŸ”—` + +Creates a patch PCK archive at ``path`` for the specified ``preset``, containing only the files that have changed since the last patch. + +\ **Note:** ``patches`` is an optional override of the set of patches defined in the export preset. When empty the patches defined in the export preset will be used instead. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatform_method_export_project: .. rst-class:: classref-method @@ -282,6 +304,20 @@ Create a ZIP archive at ``path`` for the specified ``preset``. ---- +.. _class_EditorExportPlatform_method_export_zip_patch: + +.. rst-class:: classref-method + +:ref:`Error` **export_zip_patch**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, patches\: :ref:`PackedStringArray` = PackedStringArray(), flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) :ref:`πŸ”—` + +Create a patch ZIP archive at ``path`` for the specified ``preset``, containing only the files that have changed since the last patch. + +\ **Note:** ``patches`` is an optional override of the set of patches defined in the export preset. When empty the patches defined in the export preset will be used instead. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatform_method_find_export_template: .. rst-class:: classref-method @@ -416,6 +452,18 @@ If ``embed`` is ``true``, PCK content is appended to the end of ``path`` file an ---- +.. _class_EditorExportPlatform_method_save_pack_patch: + +.. rst-class:: classref-method + +:ref:`Dictionary` **save_pack_patch**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`\ ) :ref:`πŸ”—` + +Saves patch PCK archive and returns :ref:`Dictionary` with the following keys: ``result: Error``, ``so_files: Array`` (array of the shared/static objects which contains dictionaries with the following keys: ``path: String``, ``tags: PackedStringArray``, and ``target_folder: String``). + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatform_method_save_zip: .. rst-class:: classref-method @@ -428,6 +476,18 @@ Saves ZIP archive and returns :ref:`Dictionary` with the follo ---- +.. _class_EditorExportPlatform_method_save_zip_patch: + +.. rst-class:: classref-method + +:ref:`Dictionary` **save_zip_patch**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`\ ) :ref:`πŸ”—` + +Saves patch ZIP archive and returns :ref:`Dictionary` with the following keys: ``result: Error``, ``so_files: Array`` (array of the shared/static objects which contains dictionaries with the following keys: ``path: String``, ``tags: PackedStringArray``, and ``target_folder: String``). + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatform_method_ssh_push_to_remote: .. rst-class:: classref-method diff --git a/classes/class_editorexportplatformandroid.rst b/classes/class_editorexportplatformandroid.rst index 488ba86bfac..e9cab625a81 100644 --- a/classes/class_editorexportplatformandroid.rst +++ b/classes/class_editorexportplatformandroid.rst @@ -86,6 +86,8 @@ Properties +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`launcher_icons/adaptive_foreground_432x432` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`launcher_icons/adaptive_monochrome_432x432` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`launcher_icons/main_192x192` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`package/app_category` | @@ -768,6 +770,18 @@ Foreground layer of the application adaptive icon file. See `Design adaptive ico ---- +.. _class_EditorExportPlatformAndroid_property_launcher_icons/adaptive_monochrome_432x432: + +.. rst-class:: classref-property + +:ref:`String` **launcher_icons/adaptive_monochrome_432x432** :ref:`πŸ”—` + +Monochrome layer of the application adaptive icon file. See `Design adaptive icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformAndroid_property_launcher_icons/main_192x192: .. rst-class:: classref-property @@ -2686,7 +2700,7 @@ Allows an application to write to the user dictionary. :ref:`bool` **screen/immersive_mode** :ref:`πŸ”—` -If ``true``, hides navigation and status bar. +If ``true``, hides navigation and status bar. See :ref:`DisplayServer.window_set_mode` to toggle it at runtime. .. rst-class:: classref-item-separator diff --git a/classes/class_editorexportplatformextension.rst b/classes/class_editorexportplatformextension.rst index 0aa7624fadb..ec5351c5a78 100644 --- a/classes/class_editorexportplatformextension.rst +++ b/classes/class_editorexportplatformextension.rst @@ -31,71 +31,75 @@ Methods .. table:: :widths: auto - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`_can_export`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`_cleanup`\ (\ ) |virtual| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_export_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_export_project`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_export_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`_get_binary_extensions`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_debug_protocol`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_device_architecture`\ (\ device\: :ref:`int`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`_get_export_option_visibility`\ (\ preset\: :ref:`EditorExportPreset`, option\: :ref:`String`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_export_option_warning`\ (\ preset\: :ref:`EditorExportPreset`, option\: :ref:`StringName`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`_get_export_options`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Texture2D` | :ref:`_get_logo`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_name`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`ImageTexture` | :ref:`_get_option_icon`\ (\ device\: :ref:`int`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_option_label`\ (\ device\: :ref:`int`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_option_tooltip`\ (\ device\: :ref:`int`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`_get_options_count`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_options_tooltip`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_os_name`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`_get_platform_features`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`_get_preset_features`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Texture2D` | :ref:`_get_run_icon`\ (\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`_has_valid_export_configuration`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`_has_valid_project_configuration`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`_is_executable`\ (\ path\: :ref:`String`\ ) |virtual| |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`_poll_export`\ (\ ) |virtual| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_run`\ (\ preset\: :ref:`EditorExportPreset`, device\: :ref:`int`, debug_flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`_should_update_export_options`\ (\ ) |virtual| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_config_error`\ (\ ) |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`get_config_missing_templates`\ (\ ) |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_config_error`\ (\ error_text\: :ref:`String`\ ) |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_config_missing_templates`\ (\ missing_templates\: :ref:`bool`\ ) |const| | - +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_can_export`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_cleanup`\ (\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_pack_patch`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, patches\: :ref:`PackedStringArray`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_project`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_zip_patch`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, patches\: :ref:`PackedStringArray`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_binary_extensions`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_debug_protocol`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_device_architecture`\ (\ device\: :ref:`int`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_get_export_option_visibility`\ (\ preset\: :ref:`EditorExportPreset`, option\: :ref:`String`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_export_option_warning`\ (\ preset\: :ref:`EditorExportPreset`, option\: :ref:`StringName`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`_get_export_options`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`_get_logo`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_name`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ImageTexture` | :ref:`_get_option_icon`\ (\ device\: :ref:`int`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_option_label`\ (\ device\: :ref:`int`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_option_tooltip`\ (\ device\: :ref:`int`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_get_options_count`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_options_tooltip`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_os_name`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_platform_features`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_preset_features`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`_get_run_icon`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_has_valid_export_configuration`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_has_valid_project_configuration`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_is_executable`\ (\ path\: :ref:`String`\ ) |virtual| |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_poll_export`\ (\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_run`\ (\ preset\: :ref:`EditorExportPreset`, device\: :ref:`int`, debug_flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_should_update_export_options`\ (\ ) |virtual| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_config_error`\ (\ ) |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_config_missing_templates`\ (\ ) |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_config_error`\ (\ error_text\: :ref:`String`\ ) |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_config_missing_templates`\ (\ missing_templates\: :ref:`bool`\ ) |const| | + +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -146,7 +150,25 @@ Called by the editor before platform is unregistered. Creates a PCK archive at ``path`` for the specified ``preset``. -This method is called when "Export PCK/ZIP" button is pressed in the export dialog, and PCK is selected as a file type. +This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" disabled, and PCK is selected as a file type. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__export_pack_patch: + +.. rst-class:: classref-method + +:ref:`Error` **_export_pack_patch**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, patches\: :ref:`PackedStringArray`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| :ref:`πŸ”—` + +**Optional.**\ + +Creates a patch PCK archive at ``path`` for the specified ``preset``, containing only the files that have changed since the last patch. + +This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" enabled, and PCK is selected as a file type. + +\ **Note:** The patches provided in ``patches`` have already been loaded when this method is called and are merely provided as context. When empty the patches defined in the export preset have been loaded instead. .. rst-class:: classref-item-separator @@ -180,7 +202,25 @@ This method implementation can call :ref:`EditorExportPlatform.save_pack` **_export_zip_patch**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, patches\: :ref:`PackedStringArray`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| :ref:`πŸ”—` + +**Optional.**\ + +Create a ZIP archive at ``path`` for the specified ``preset``, containing only the files that have changed since the last patch. + +This method is called when "Export PCK/ZIP" button is pressed in the export dialog, with "Export as Patch" enabled, and ZIP is selected as a file type. + +\ **Note:** The patches provided in ``patches`` have already been loaded when this method is called and are merely provided as context. When empty the patches defined in the export preset have been loaded instead. .. rst-class:: classref-item-separator diff --git a/classes/class_editorexportplatformios.rst b/classes/class_editorexportplatformios.rst index e8473aacae5..09ac272cd34 100644 --- a/classes/class_editorexportplatformios.rst +++ b/classes/class_editorexportplatformios.rst @@ -84,28 +84,106 @@ Properties +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/app_store_1024x1024` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`icons/ipad_76x76` | + | :ref:`String` | :ref:`icons/app_store_1024x1024_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/app_store_1024x1024_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/icon_1024x1024` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/icon_1024x1024_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/icon_1024x1024_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_128x128` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_128x128_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_128x128_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_136x136` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_136x136_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_136x136_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_192x192` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_192x192_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ios_192x192_tinted` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/ipad_152x152` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ipad_152x152_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ipad_152x152_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/ipad_167x167` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ipad_167x167_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/ipad_167x167_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/iphone_120x120` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/iphone_120x120_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/iphone_120x120_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/iphone_180x180` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/iphone_180x180_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/iphone_180x180_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/notification_40x40` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_40x40_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_40x40_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/notification_60x60` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_60x60_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_60x60_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_76x76` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_76x76_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_76x76_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_114x114` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_114x114_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/notification_114x114_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/settings_58x58` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/settings_58x58_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/settings_58x58_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/settings_87x87` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`icons/spotlight_40x40` | + | :ref:`String` | :ref:`icons/settings_87x87_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/settings_87x87_tinted` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`icons/spotlight_80x80` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/spotlight_80x80_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/spotlight_80x80_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/spotlight_120x120` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/spotlight_120x120_dark` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`icons/spotlight_120x120_tinted` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`privacy/active_keyboard_access_reasons` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`privacy/camera_usage_description` | @@ -761,13 +839,169 @@ App Store application icon file. If left empty, it will fallback to :ref:`Projec ---- -.. _class_EditorExportPlatformIOS_property_icons/ipad_76x76: +.. _class_EditorExportPlatformIOS_property_icons/app_store_1024x1024_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/app_store_1024x1024_dark** :ref:`πŸ”—` + +App Store application icon file, dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/app_store_1024x1024_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/app_store_1024x1024_tinted** :ref:`πŸ”—` + +App Store application icon file, tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/icon_1024x1024: + +.. rst-class:: classref-property + +:ref:`String` **icons/icon_1024x1024** :ref:`πŸ”—` + +Base application icon used to generate other icons. If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/icon_1024x1024_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/icon_1024x1024_dark** :ref:`πŸ”—` + +Base application icon used to generate other icons, dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/icon_1024x1024_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/icon_1024x1024_tinted** :ref:`πŸ”—` + +Base application icon used to generate other icons, tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_128x128: + +.. rst-class:: classref-property + +:ref:`String` **icons/ios_128x128** :ref:`πŸ”—` + +iOS application 64x64 icon file (2x DPI). If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_128x128_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/ios_128x128_dark** :ref:`πŸ”—` + +iOS application 64x64 icon file (2x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_128x128_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/ios_128x128_tinted** :ref:`πŸ”—` + +iOS application 64x64 icon file (2x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_136x136: + +.. rst-class:: classref-property + +:ref:`String` **icons/ios_136x136** :ref:`πŸ”—` + +iOS application 68x68 icon file (2x DPI). If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_136x136_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/ios_136x136_dark** :ref:`πŸ”—` + +iOS application 68x68 icon file (2x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_136x136_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/ios_136x136_tinted** :ref:`πŸ”—` + +iOS application 68x68 icon file (2x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_192x192: + +.. rst-class:: classref-property + +:ref:`String` **icons/ios_192x192** :ref:`πŸ”—` + +iOS application 64x64 icon file (3x DPI). If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_192x192_dark: .. rst-class:: classref-property -:ref:`String` **icons/ipad_76x76** :ref:`πŸ”—` +:ref:`String` **icons/ios_192x192_dark** :ref:`πŸ”—` -Home screen application icon file on iPad (1x DPI). If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. +iOS application 64x64 icon file (3x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ios_192x192_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/ios_192x192_tinted** :ref:`πŸ”—` + +iOS application 64x64 icon file (3x DPI), tinted version. See `App icons `__. .. rst-class:: classref-item-separator @@ -785,6 +1019,30 @@ Home screen application icon file on iPad (2x DPI). If left empty, it will fallb ---- +.. _class_EditorExportPlatformIOS_property_icons/ipad_152x152_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/ipad_152x152_dark** :ref:`πŸ”—` + +Home screen application icon file on iPad (2x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ipad_152x152_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/ipad_152x152_tinted** :ref:`πŸ”—` + +Home screen application icon file on iPad (2x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformIOS_property_icons/ipad_167x167: .. rst-class:: classref-property @@ -797,6 +1055,30 @@ Home screen application icon file on iPad (3x DPI). If left empty, it will fallb ---- +.. _class_EditorExportPlatformIOS_property_icons/ipad_167x167_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/ipad_167x167_dark** :ref:`πŸ”—` + +Home screen application icon file on iPad (3x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/ipad_167x167_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/ipad_167x167_tinted** :ref:`πŸ”—` + +Home screen application icon file on iPad (3x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformIOS_property_icons/iphone_120x120: .. rst-class:: classref-property @@ -809,6 +1091,30 @@ Home screen application icon file on iPhone (2x DPI). If left empty, it will fal ---- +.. _class_EditorExportPlatformIOS_property_icons/iphone_120x120_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/iphone_120x120_dark** :ref:`πŸ”—` + +Home screen application icon file on iPhone (2x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/iphone_120x120_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/iphone_120x120_tinted** :ref:`πŸ”—` + +Home screen application icon file on iPhone (2x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformIOS_property_icons/iphone_180x180: .. rst-class:: classref-property @@ -821,6 +1127,30 @@ Home screen application icon file on iPhone (3x DPI). If left empty, it will fal ---- +.. _class_EditorExportPlatformIOS_property_icons/iphone_180x180_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/iphone_180x180_dark** :ref:`πŸ”—` + +Home screen application icon file on iPhone (3x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/iphone_180x180_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/iphone_180x180_tinted** :ref:`πŸ”—` + +Home screen application icon file on iPhone (3x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformIOS_property_icons/notification_40x40: .. rst-class:: classref-property @@ -833,6 +1163,30 @@ Notification icon file on iPad and iPhone (2x DPI). If left empty, it will fallb ---- +.. _class_EditorExportPlatformIOS_property_icons/notification_40x40_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_40x40_dark** :ref:`πŸ”—` + +Notification icon file on iPad and iPhone (2x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/notification_40x40_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_40x40_tinted** :ref:`πŸ”—` + +Notification icon file on iPad and iPhone (2x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformIOS_property_icons/notification_60x60: .. rst-class:: classref-property @@ -845,6 +1199,102 @@ Notification icon file on iPhone (3x DPI). If left empty, it will fallback to :r ---- +.. _class_EditorExportPlatformIOS_property_icons/notification_60x60_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_60x60_dark** :ref:`πŸ”—` + +Notification icon file on iPhone (3x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/notification_60x60_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_60x60_tinted** :ref:`πŸ”—` + +Notification icon file on iPhone (3x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/notification_76x76: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_76x76** :ref:`πŸ”—` + +Notification icon file on iPad and iPhone (2x DPI). If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/notification_76x76_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_76x76_dark** :ref:`πŸ”—` + +Notification icon file on iPad and iPhone (2x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/notification_76x76_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_76x76_tinted** :ref:`πŸ”—` + +Notification icon file on iPad and iPhone (2x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/notification_114x114: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_114x114** :ref:`πŸ”—` + +Notification icon file on iPad and iPhone (3x DPI). If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/notification_114x114_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_114x114_dark** :ref:`πŸ”—` + +Notification icon file on iPad and iPhone (3x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/notification_114x114_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/notification_114x114_tinted** :ref:`πŸ”—` + +Notification icon file on iPad and iPhone (3x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformIOS_property_icons/settings_58x58: .. rst-class:: classref-property @@ -857,6 +1307,30 @@ Application settings icon file on iPad and iPhone (2x DPI). If left empty, it wi ---- +.. _class_EditorExportPlatformIOS_property_icons/settings_58x58_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/settings_58x58_dark** :ref:`πŸ”—` + +Application settings icon file on iPad and iPhone (2x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/settings_58x58_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/settings_58x58_tinted** :ref:`πŸ”—` + +Application settings icon file on iPad and iPhone (2x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformIOS_property_icons/settings_87x87: .. rst-class:: classref-property @@ -869,13 +1343,25 @@ Application settings icon file on iPhone (3x DPI). If left empty, it will fallba ---- -.. _class_EditorExportPlatformIOS_property_icons/spotlight_40x40: +.. _class_EditorExportPlatformIOS_property_icons/settings_87x87_dark: .. rst-class:: classref-property -:ref:`String` **icons/spotlight_40x40** :ref:`πŸ”—` +:ref:`String` **icons/settings_87x87_dark** :ref:`πŸ”—` -Spotlight icon file on iPad (1x DPI). If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. +Application settings icon file on iPhone (3x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/settings_87x87_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/settings_87x87_tinted** :ref:`πŸ”—` + +Application settings icon file on iPhone (3x DPI), tinted version. See `App icons `__. .. rst-class:: classref-item-separator @@ -893,6 +1379,66 @@ Spotlight icon file on iPad and iPhone (2x DPI). If left empty, it will fallback ---- +.. _class_EditorExportPlatformIOS_property_icons/spotlight_80x80_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/spotlight_80x80_dark** :ref:`πŸ”—` + +Spotlight icon file on iPad and iPhone (2x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/spotlight_80x80_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/spotlight_80x80_tinted** :ref:`πŸ”—` + +Spotlight icon file on iPad and iPhone (2x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/spotlight_120x120: + +.. rst-class:: classref-property + +:ref:`String` **icons/spotlight_120x120** :ref:`πŸ”—` + +Spotlight icon file on iPad and iPhone (3x DPI). If left empty, it will fallback to :ref:`ProjectSettings.application/config/icon`. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/spotlight_120x120_dark: + +.. rst-class:: classref-property + +:ref:`String` **icons/spotlight_120x120_dark** :ref:`πŸ”—` + +Spotlight icon file on iPad and iPhone (3x DPI), dark version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformIOS_property_icons/spotlight_120x120_tinted: + +.. rst-class:: classref-property + +:ref:`String` **icons/spotlight_120x120_tinted** :ref:`πŸ”—` + +Spotlight icon file on iPad and iPhone (3x DPI), tinted version. See `App icons `__. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformIOS_property_privacy/active_keyboard_access_reasons: .. rst-class:: classref-property diff --git a/classes/class_editorexportplatformmacos.rst b/classes/class_editorexportplatformmacos.rst index 911bc2c7c7d..0c91acdf243 100644 --- a/classes/class_editorexportplatformmacos.rst +++ b/classes/class_editorexportplatformmacos.rst @@ -70,6 +70,8 @@ Properties +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`codesign/custom_options` | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`codesign/entitlements/additional` | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`codesign/entitlements/address_book` | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`codesign/entitlements/allow_dyld_environment_variables` | @@ -753,6 +755,23 @@ Array of the additional command line arguments passed to the code signing tool. ---- +.. _class_EditorExportPlatformMacOS_property_codesign/entitlements/additional: + +.. rst-class:: classref-property + +:ref:`String` **codesign/entitlements/additional** :ref:`πŸ”—` + +Additional data added to the root ```` section of the `.entitlements `__ file. The value should be an XML section with pairs of key-value elements, e.g.: + +.. code:: text + + key_name + value + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformMacOS_property_codesign/entitlements/address_book: .. rst-class:: classref-property diff --git a/classes/class_editorexportplugin.rst b/classes/class_editorexportplugin.rst index d8b95ad88d2..0037c9d95e5 100644 --- a/classes/class_editorexportplugin.rst +++ b/classes/class_editorexportplugin.rst @@ -73,6 +73,8 @@ Methods +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`_get_export_features`\ (\ platform\: :ref:`EditorExportPlatform`, debug\: :ref:`bool`\ ) |virtual| |const| | +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_get_export_option_visibility`\ (\ platform\: :ref:`EditorExportPlatform`, option\: :ref:`String`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_get_export_option_warning`\ (\ platform\: :ref:`EditorExportPlatform`, option\: :ref:`String`\ ) |virtual| |const| | +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`_get_export_options`\ (\ platform\: :ref:`EditorExportPlatform`\ ) |virtual| |const| | @@ -147,6 +149,8 @@ Return ``true`` if this plugin will customize scenes based on the platform and f When enabled, :ref:`_get_customization_configuration_hash` and :ref:`_customize_scene` will be called and must be implemented. +\ **Note:** :ref:`_customize_scene` will only be called for scenes that have been modified since the last export. + .. rst-class:: classref-item-separator ---- @@ -361,6 +365,20 @@ Return a :ref:`PackedStringArray` of additional feature ---- +.. _class_EditorExportPlugin_private_method__get_export_option_visibility: + +.. rst-class:: classref-method + +:ref:`bool` **_get_export_option_visibility**\ (\ platform\: :ref:`EditorExportPlatform`, option\: :ref:`String`\ ) |virtual| |const| :ref:`πŸ”—` + +**Optional.**\ + +Validates ``option`` and returns the visibility for the specified ``platform``. The default implementation returns ``true`` for all options. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlugin_private_method__get_export_option_warning: .. rst-class:: classref-method diff --git a/classes/class_editorexportpreset.rst b/classes/class_editorexportpreset.rst index 5447b42a782..9b3882dca81 100644 --- a/classes/class_editorexportpreset.rst +++ b/classes/class_editorexportpreset.rst @@ -62,6 +62,8 @@ Methods +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_or_env`\ (\ name\: :ref:`StringName`, env_var\: :ref:`String`\ ) |const| | +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_patches`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_preset_name`\ (\ ) |const| | +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_script_export_mode`\ (\ ) |const| | @@ -457,6 +459,18 @@ Returns export option value or value of environment variable if it is set. ---- +.. _class_EditorExportPreset_method_get_patches: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **get_patches**\ (\ ) |const| :ref:`πŸ”—` + +Returns the list of packs on which to base a patch export on. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPreset_method_get_preset_name: .. rst-class:: classref-method diff --git a/classes/class_editorfeatureprofile.rst b/classes/class_editorfeatureprofile.rst index 3460c9359b8..6874c12b72e 100644 --- a/classes/class_editorfeatureprofile.rst +++ b/classes/class_editorfeatureprofile.rst @@ -134,11 +134,19 @@ The Import dock. If this feature is disabled, the Import dock won't be visible. The History dock. If this feature is disabled, the History dock won't be visible. +.. _class_EditorFeatureProfile_constant_FEATURE_GAME: + +.. rst-class:: classref-enumeration-constant + +:ref:`Feature` **FEATURE_GAME** = ``8`` + +The Game tab, which allows embedding the game window and selecting nodes by clicking inside of it. If this feature is disabled, the Game tab won't display. + .. _class_EditorFeatureProfile_constant_FEATURE_MAX: .. rst-class:: classref-enumeration-constant -:ref:`Feature` **FEATURE_MAX** = ``8`` +:ref:`Feature` **FEATURE_MAX** = ``9`` Represents the size of the :ref:`Feature` enum. diff --git a/classes/class_editorimportplugin.rst b/classes/class_editorimportplugin.rst index eea95e10a9b..e99df312a64 100644 --- a/classes/class_editorimportplugin.rst +++ b/classes/class_editorimportplugin.rst @@ -201,7 +201,9 @@ Method Descriptions Tells whether this importer can be run in parallel on threads, or, on the contrary, it's only safe for the editor to call it from the main thread, for one file at a time. -If this method is not overridden, it will return ``true`` by default (i.e., safe for parallel importing). +If this method is not overridden, it will return ``false`` by default. + +If this importer's implementation is thread-safe and can be run in parallel, override this with ``true`` to optimize for concurrency. .. rst-class:: classref-item-separator diff --git a/classes/class_editorinspector.rst b/classes/class_editorinspector.rst index 66c9121f130..a3d9f0fbe17 100644 --- a/classes/class_editorinspector.rst +++ b/classes/class_editorinspector.rst @@ -39,6 +39,8 @@ Properties .. table:: :widths: auto + +----------------------------------------------------+------------------------+-------------------------------------------------------------------------------------------------+ + | :ref:`bool` | follow_focus | ``true`` (overrides :ref:`ScrollContainer`) | +----------------------------------------------------+------------------------+-------------------------------------------------------------------------------------------------+ | :ref:`ScrollMode` | horizontal_scroll_mode | ``0`` (overrides :ref:`ScrollContainer`) | +----------------------------------------------------+------------------------+-------------------------------------------------------------------------------------------------+ diff --git a/classes/class_editorinterface.rst b/classes/class_editorinterface.rst index 4de5e6f98e6..9f57b172f9a 100644 --- a/classes/class_editorinterface.rst +++ b/classes/class_editorinterface.rst @@ -144,6 +144,8 @@ Methods +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`popup_property_selector`\ (\ object\: :ref:`Object`, callback\: :ref:`Callable`, type_filter\: :ref:`PackedInt32Array` = PackedInt32Array(), current_value\: :ref:`String` = ""\ ) | +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`popup_quick_open`\ (\ callback\: :ref:`Callable`, base_types\: :ref:`Array`\[:ref:`StringName`\] = []\ ) | + +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`reload_scene_from_path`\ (\ scene_filepath\: :ref:`String`\ ) | +----------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`restart_editor`\ (\ save\: :ref:`bool` = true\ ) | @@ -779,6 +781,18 @@ Pops up an editor dialog for selecting properties from ``object``. The ``callbac ---- +.. _class_EditorInterface_method_popup_quick_open: + +.. rst-class:: classref-method + +|void| **popup_quick_open**\ (\ callback\: :ref:`Callable`, base_types\: :ref:`Array`\[:ref:`StringName`\] = []\ ) :ref:`πŸ”—` + +Pops up an editor dialog for quick selecting a resource file. The ``callback`` must take a single argument of type :ref:`String` which will contain the path of the selected resource or be empty if the dialog is canceled. If ``base_types`` is provided, the dialog will only show resources that match these types. Only types deriving from :ref:`Resource` are supported. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorInterface_method_reload_scene_from_path: .. rst-class:: classref-method diff --git a/classes/class_editorsettings.rst b/classes/class_editorsettings.rst index cd423a9861d..7d2bf6e55c7 100644 --- a/classes/class_editorsettings.rst +++ b/classes/class_editorsettings.rst @@ -391,6 +391,10 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`filesystem/on_save/safe_save_on_backup_then_rename` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`filesystem/quick_open_dialog/default_display_mode` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`filesystem/quick_open_dialog/include_addons` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`filesystem/tools/oidn/oidn_denoise_path` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`input/buffering/agile_event_flushing` | @@ -451,8 +455,6 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/project_manager_screen` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`interface/editor/remember_window_size_and_position` | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/save_each_scene_on_quit` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/save_on_focus_loss` | @@ -667,6 +669,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`text_editor/behavior/files/trim_trailing_whitespace_on_save` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`text_editor/behavior/general/empty_selection_clipboard` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`text_editor/behavior/indent/auto_indent` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`text_editor/behavior/indent/indent_wrapped_lines` | @@ -2999,6 +3003,30 @@ If ``true``, when saving a file, the editor will rename the old file to a differ ---- +.. _class_EditorSettings_property_filesystem/quick_open_dialog/default_display_mode: + +.. rst-class:: classref-property + +:ref:`int` **filesystem/quick_open_dialog/default_display_mode** :ref:`πŸ”—` + +If set to ``Adaptive``, the dialog opens in list view or grid view depending on the requested type. If set to ``Last Used``, the display mode will always open the way you last used it. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorSettings_property_filesystem/quick_open_dialog/include_addons: + +.. rst-class:: classref-property + +:ref:`bool` **filesystem/quick_open_dialog/include_addons** :ref:`πŸ”—` + +If ``true``, results will include files located in the ``addons`` folder. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_filesystem/tools/oidn/oidn_denoise_path: .. rst-class:: classref-property @@ -3203,7 +3231,7 @@ Translations are provided by the community. If you spot a mistake, :doc:`contrib :ref:`int` **interface/editor/editor_screen** :ref:`πŸ”—` -The preferred monitor to display the editor. +The preferred monitor to display the editor. If **Auto**, the editor will remember the last screen it was displayed on across restarts. .. rst-class:: classref-item-separator @@ -3403,18 +3431,6 @@ The preferred monitor to display the project manager. ---- -.. _class_EditorSettings_property_interface/editor/remember_window_size_and_position: - -.. rst-class:: classref-property - -:ref:`bool` **interface/editor/remember_window_size_and_position** :ref:`πŸ”—` - -If ``true``, the editor window will remember its size, position, and which screen it was displayed on across restarts. - -.. rst-class:: classref-item-separator - ----- - .. _class_EditorSettings_property_interface/editor/save_each_scene_on_quit: .. rst-class:: classref-property @@ -4801,6 +4817,18 @@ If ``true``, trims trailing whitespace when saving a script. Trailing whitespace ---- +.. _class_EditorSettings_property_text_editor/behavior/general/empty_selection_clipboard: + +.. rst-class:: classref-property + +:ref:`bool` **text_editor/behavior/general/empty_selection_clipboard** :ref:`πŸ”—` + +If ``true``, copying or cutting without a selection is performed on all lines with a caret. Otherwise, copy and cut require a selection. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_text_editor/behavior/indent/auto_indent: .. rst-class:: classref-property diff --git a/classes/class_enetpacketpeer.rst b/classes/class_enetpacketpeer.rst index c0d0a0d3a63..1392cb7b3eb 100644 --- a/classes/class_enetpacketpeer.rst +++ b/classes/class_enetpacketpeer.rst @@ -43,6 +43,8 @@ Methods +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_channels`\ (\ ) |const| | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_packet_flags`\ (\ ) |const| | + +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_remote_address`\ (\ ) |const| | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_remote_port`\ (\ ) |const| | @@ -359,6 +361,18 @@ Returns the number of channels allocated for communication with peer. ---- +.. _class_ENetPacketPeer_method_get_packet_flags: + +.. rst-class:: classref-method + +:ref:`int` **get_packet_flags**\ (\ ) |const| :ref:`πŸ”—` + +Returns the ENet flags of the next packet in the received queue. See ``FLAG_*`` constants for available packet flags. Note that not all flags are replicated from the sending peer to the receiving peer. + +.. rst-class:: classref-item-separator + +---- + .. _class_ENetPacketPeer_method_get_remote_address: .. rst-class:: classref-method diff --git a/classes/class_engine.rst b/classes/class_engine.rst index 30d29582c76..5c315325d6c 100644 --- a/classes/class_engine.rst +++ b/classes/class_engine.rst @@ -40,6 +40,8 @@ Properties +---------------------------+---------------------------------------------------------------------------------------+----------+ | :ref:`bool` | :ref:`print_error_messages` | ``true`` | +---------------------------+---------------------------------------------------------------------------------------+----------+ + | :ref:`bool` | :ref:`print_to_stdout` | ``true`` | + +---------------------------+---------------------------------------------------------------------------------------+----------+ | :ref:`float` | :ref:`time_scale` | ``1.0`` | +---------------------------+---------------------------------------------------------------------------------------+----------+ @@ -221,6 +223,25 @@ If ``false``, stops printing error and warning messages to the console and edito ---- +.. _class_Engine_property_print_to_stdout: + +.. rst-class:: classref-property + +:ref:`bool` **print_to_stdout** = ``true`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_print_to_stdout**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_printing_to_stdout**\ (\ ) + +If ``false``, stops printing messages (for example using :ref:`@GlobalScope.print`) to the console, log files, and editor Output log. This property is equivalent to the :ref:`ProjectSettings.application/run/disable_stdout` project setting. + +\ **Note:** This does not stop printing errors or warnings produced by scripts to the console or log files, for more details see :ref:`print_error_messages`. + +.. rst-class:: classref-item-separator + +---- + .. _class_Engine_property_time_scale: .. rst-class:: classref-property diff --git a/classes/class_enginedebugger.rst b/classes/class_enginedebugger.rst index 4f038223c31..18fc947dfa6 100644 --- a/classes/class_enginedebugger.rst +++ b/classes/class_enginedebugger.rst @@ -266,7 +266,9 @@ Calls the ``toggle`` callable of the profiler with given ``name`` and ``argument Registers a message capture with given ``name``. If ``name`` is "my_message" then messages starting with "my_message:" will be called with the given callable. -Callable must accept a message string and a data array as argument. If the message and data are valid then callable must return ``true`` otherwise ``false``. +The callable must accept a message string and a data array as argument. The callable should return ``true`` if the message is recognized. + +\ **Note:** The callable will receive the message with the prefix stripped, unlike :ref:`EditorDebuggerPlugin._capture`. See the :ref:`EditorDebuggerPlugin` description for an example. .. rst-class:: classref-item-separator diff --git a/classes/class_environment.rst b/classes/class_environment.rst index 29a36fa9bb1..63f7a9487d9 100644 --- a/classes/class_environment.rst +++ b/classes/class_environment.rst @@ -433,7 +433,7 @@ Linear tonemapper operator. Reads the linear data and passes it on unmodified. T :ref:`ToneMapper` **TONE_MAPPER_REINHARDT** = ``1`` -Reinhardt tonemapper operator. Performs a variation on rendered pixels' colors by this formula: ``color = color / (1 + color)``. This avoids clipping bright highlights, but the resulting image can look a bit dull. +Reinhard tonemapper operator. Performs a variation on rendered pixels' colors by this formula: ``color = color * (1 + color / (white * white)) / (1 + color)``. This avoids clipping bright highlights, but the resulting image can look a bit dull. When :ref:`tonemap_white` is left at the default value of ``1.0`` this is identical to :ref:`TONE_MAPPER_LINEAR` while also being slightly less performant. .. _class_Environment_constant_TONE_MAPPER_FILMIC: @@ -840,10 +840,12 @@ The background mode. See :ref:`BGMode` for possible val - |void| **set_fog_aerial_perspective**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_fog_aerial_perspective**\ (\ ) -If set above ``0.0`` (exclusive), blends between the fog's color and the color of the background :ref:`Sky`. This has a small performance cost when set above ``0.0``. Must have :ref:`background_mode` set to :ref:`BG_SKY`. +If set above ``0.0`` (exclusive), blends between the fog's color and the color of the background :ref:`Sky`, as read from the radiance cubemap. This has a small performance cost when set above ``0.0``. Must have :ref:`background_mode` set to :ref:`BG_SKY`. This is useful to simulate `aerial perspective `__ in large scenes with low density fog. However, it is not very useful for high-density fog, as the sky will shine through. When set to ``1.0``, the fog color comes completely from the :ref:`Sky`. If set to ``0.0``, aerial perspective is disabled. +Notice that this does not sample the :ref:`Sky` directly, but rather the radiance cubemap. The cubemap is sampled at a mipmap level depending on the depth of the rendered pixel; the farther away, the higher the resolution of the sampled mipmap. This results in the actual color being a blurred version of the sky, with more blur closer to the camera. The highest mipmap resolution is used at a depth of :ref:`Camera3D.far`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_externaltexture.rst b/classes/class_externaltexture.rst new file mode 100644 index 00000000000..e9625e94f58 --- /dev/null +++ b/classes/class_externaltexture.rst @@ -0,0 +1,118 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/ExternalTexture.xml. + +.. _class_ExternalTexture: + +ExternalTexture +=============== + +**Inherits:** :ref:`Texture2D` **<** :ref:`Texture` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` + +Texture which displays the content of an external buffer. + +.. rst-class:: classref-introduction-group + +Description +----------- + +Displays the content of an external buffer provided by the platform. + +Requires the `OES_EGL_image_external `__ extension (OpenGL) or `VK_ANDROID_external_memory_android_hardware_buffer `__ extension (Vulkan). + +\ **Note:** This is currently only supported in Android builds. + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +-------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------+ + | :ref:`bool` | resource_local_to_scene | ``false`` (overrides :ref:`Resource`) | + +-------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------+ + | :ref:`Vector2` | :ref:`size` | ``Vector2(256, 256)`` | + +-------------------------------+--------------------------------------------------+----------------------------------------------------------------------------------------+ + +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_external_texture_id`\ (\ ) |const| | + +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_external_buffer_id`\ (\ external_buffer_id\: :ref:`int`\ ) | + +-----------------------+--------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_ExternalTexture_property_size: + +.. rst-class:: classref-property + +:ref:`Vector2` **size** = ``Vector2(256, 256)`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_size**\ (\ value\: :ref:`Vector2`\ ) +- :ref:`Vector2` **get_size**\ (\ ) + +External texture size. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_ExternalTexture_method_get_external_texture_id: + +.. rst-class:: classref-method + +:ref:`int` **get_external_texture_id**\ (\ ) |const| :ref:`πŸ”—` + +Returns the external texture ID. + +Depending on your use case, you may need to pass this to platform APIs, for example, when creating an ``android.graphics.SurfaceTexture`` on Android. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ExternalTexture_method_set_external_buffer_id: + +.. rst-class:: classref-method + +|void| **set_external_buffer_id**\ (\ external_buffer_id\: :ref:`int`\ ) :ref:`πŸ”—` + +Sets the external buffer ID. + +Depending on your use case, you may need to call this with data received from a platform API, for example, ``SurfaceTexture.getHardwareBuffer()`` on Android. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_fastnoiselite.rst b/classes/class_fastnoiselite.rst index 130ca392e4e..e7281aea36f 100644 --- a/classes/class_fastnoiselite.rst +++ b/classes/class_fastnoiselite.rst @@ -130,7 +130,7 @@ Cellular includes both Worley noise and Voronoi diagrams which creates various r :ref:`NoiseType` **TYPE_SIMPLEX** = ``0`` -As opposed to :ref:`TYPE_PERLIN`, gradients exist in a simplex lattice rather than a grid lattice, avoiding directional artifacts. +As opposed to :ref:`TYPE_PERLIN`, gradients exist in a simplex lattice rather than a grid lattice, avoiding directional artifacts. Internally uses FastNoiseLite's OpenSimplex2 noise type. .. _class_FastNoiseLite_constant_TYPE_SIMPLEX_SMOOTH: @@ -138,7 +138,7 @@ As opposed to :ref:`TYPE_PERLIN`, grad :ref:`NoiseType` **TYPE_SIMPLEX_SMOOTH** = ``1`` -Modified, higher quality version of :ref:`TYPE_SIMPLEX`, but slower. +Modified, higher quality version of :ref:`TYPE_SIMPLEX`, but slower. Internally uses FastNoiseLite's OpenSimplex2S noise type. .. rst-class:: classref-item-separator diff --git a/classes/class_fileaccess.rst b/classes/class_fileaccess.rst index 73a099ac549..40dc2c1bee5 100644 --- a/classes/class_fileaccess.rst +++ b/classes/class_fileaccess.rst @@ -1185,7 +1185,7 @@ Stores a floating-point number as 32 bits in the file. |void| **store_line**\ (\ line\: :ref:`String`\ ) :ref:`πŸ”—` -Appends ``line`` to the file followed by a line return character (``\n``), encoding the text as UTF-8. +Stores ``line`` in the file followed by a newline character (``\n``), encoding the text as UTF-8. .. rst-class:: classref-item-separator @@ -1223,7 +1223,7 @@ Stores a floating-point number in the file. |void| **store_string**\ (\ string\: :ref:`String`\ ) :ref:`πŸ”—` -Appends ``string`` to the file without a line return, encoding the text as UTF-8. +Stores ``string`` in the file without a newline character (``\n``), encoding the text as UTF-8. \ **Note:** This method is intended to be used to write text files. The string is stored as a UTF-8 encoded buffer without string length or terminating zero, which means that it can't be loaded back easily. If you want to store a retrievable string in a binary file, consider using :ref:`store_pascal_string` instead. For retrieving strings from a text file, you can use ``get_buffer(length).get_string_from_utf8()`` (if you know the length) or :ref:`get_as_text`. diff --git a/classes/class_filedialog.rst b/classes/class_filedialog.rst index e12bc55fa96..a6402cac45d 100644 --- a/classes/class_filedialog.rst +++ b/classes/class_filedialog.rst @@ -42,6 +42,8 @@ Properties +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`FileMode` | :ref:`file_mode` | ``4`` | +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`filename_filter` | ``""`` | + +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`filters` | ``PackedStringArray()`` | +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`mode_overrides_title` | ``true`` | @@ -72,6 +74,8 @@ Methods +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_option`\ (\ name\: :ref:`String`, values\: :ref:`PackedStringArray`, default_value_index\: :ref:`int`\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear_filename_filter`\ (\ ) | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear_filters`\ (\ ) | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`deselect_all`\ (\ ) | @@ -105,29 +109,31 @@ Theme Properties .. table:: :widths: auto - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Color` | :ref:`file_disabled_color` | ``Color(1, 1, 1, 0.25)`` | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Color` | :ref:`file_icon_color` | ``Color(1, 1, 1, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Color` | :ref:`folder_icon_color` | ``Color(1, 1, 1, 1)`` | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Texture2D` | :ref:`back_folder` | | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Texture2D` | :ref:`create_folder` | | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Texture2D` | :ref:`file` | | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Texture2D` | :ref:`folder` | | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Texture2D` | :ref:`forward_folder` | | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Texture2D` | :ref:`parent_folder` | | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Texture2D` | :ref:`reload` | | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Texture2D` | :ref:`toggle_hidden` | | - +-----------------------------------+------------------------------------------------------------------------------+--------------------------+ + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Color` | :ref:`file_disabled_color` | ``Color(1, 1, 1, 0.25)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Color` | :ref:`file_icon_color` | ``Color(1, 1, 1, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Color` | :ref:`folder_icon_color` | ``Color(1, 1, 1, 1)`` | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`back_folder` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`create_folder` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`file` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`folder` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`forward_folder` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`parent_folder` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`reload` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`toggle_filename_filter` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`Texture2D` | :ref:`toggle_hidden` | | + +-----------------------------------+-----------------------------------------------------------------------------------+--------------------------+ .. rst-class:: classref-section-separator @@ -162,6 +168,18 @@ Emitted when the user selects a file by double-clicking it or pressing the **OK* ---- +.. _class_FileDialog_signal_filename_filter_changed: + +.. rst-class:: classref-signal + +**filename_filter_changed**\ (\ filter\: :ref:`String`\ ) :ref:`πŸ”—` + +Emitted when the filter for file names changes. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_signal_files_selected: .. rst-class:: classref-signal @@ -357,6 +375,25 @@ The dialog's open or save mode, which affects the selection behavior. See :ref:` ---- +.. _class_FileDialog_property_filename_filter: + +.. rst-class:: classref-property + +:ref:`String` **filename_filter** = ``""`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_filename_filter**\ (\ value\: :ref:`String`\ ) +- :ref:`String` **get_filename_filter**\ (\ ) + +The filter for file names (case-insensitive). When set to a non-empty string, only files that contains the substring will be shown. :ref:`filename_filter` can be edited by the user with the filter button at the top of the file dialog. + +See also :ref:`filters`, which should be used to restrict the file types that can be selected instead of :ref:`filename_filter` which is meant to be set by the user. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_property_filters: .. rst-class:: classref-property @@ -370,6 +407,8 @@ The dialog's open or save mode, which affects the selection behavior. See :ref:` The available file type filters. Each filter string in the array should be formatted like this: ``*.txt,*.doc;Text Files``. The description text of the filter is optional and can be omitted. +\ **Note:** For android native dialog, MIME types are used like this: ``image/*, application/pdf``. + **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray` for more details. .. rst-class:: classref-item-separator @@ -442,7 +481,7 @@ If non-empty, the given sub-folder will be "root" of this **FileDialog**, i.e. u If ``true``, the dialog will show hidden files. -\ **Note:** This property is ignored by native file dialogs on Linux. +\ **Note:** This property is ignored by native file dialogs on Android and Linux. .. rst-class:: classref-item-separator @@ -459,7 +498,9 @@ If ``true``, the dialog will show hidden files. - |void| **set_use_native_dialog**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_use_native_dialog**\ (\ ) -If ``true``, :ref:`access` is set to :ref:`ACCESS_FILESYSTEM`, and it is supported by the current :ref:`DisplayServer`, OS native dialog will be used instead of custom one. +If ``true``, and if supported by the current :ref:`DisplayServer`, OS native dialog will be used instead of custom one. + +\ **Note:** On Android, it is only supported when using :ref:`ACCESS_FILESYSTEM`. For access mode :ref:`ACCESS_RESOURCES` and :ref:`ACCESS_USERDATA`, the system will fall back to custom FileDialog. \ **Note:** On Linux and macOS, sandboxed apps always use native dialogs to access the host file system. @@ -506,6 +547,18 @@ Adds an additional :ref:`OptionButton` to the file dialog. I ---- +.. _class_FileDialog_method_clear_filename_filter: + +.. rst-class:: classref-method + +|void| **clear_filename_filter**\ (\ ) :ref:`πŸ”—` + +Clear the filter for file names. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_method_clear_filters: .. rst-class:: classref-method @@ -783,6 +836,18 @@ Custom icon for the reload button. ---- +.. _class_FileDialog_theme_icon_toggle_filename_filter: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **toggle_filename_filter** :ref:`πŸ”—` + +Custom icon for the toggle button for the filter for file names. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_theme_icon_toggle_hidden: .. rst-class:: classref-themeproperty diff --git a/classes/class_geometry2d.rst b/classes/class_geometry2d.rst index 023e8858327..73d5dc7d898 100644 --- a/classes/class_geometry2d.rst +++ b/classes/class_geometry2d.rst @@ -29,6 +29,8 @@ Methods .. table:: :widths: auto + +----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array`\[:ref:`Vector2i`\] | :ref:`bresenham_line`\ (\ from\: :ref:`Vector2i`, to\: :ref:`Vector2i`\ ) | +----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`PackedVector2Array`\] | :ref:`clip_polygons`\ (\ polygon_a\: :ref:`PackedVector2Array`, polygon_b\: :ref:`PackedVector2Array`\ ) | +----------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -217,6 +219,26 @@ Endpoints are rounded off and extended by ``delta`` units. Method Descriptions ------------------- +.. _class_Geometry2D_method_bresenham_line: + +.. rst-class:: classref-method + +:ref:`Array`\[:ref:`Vector2i`\] **bresenham_line**\ (\ from\: :ref:`Vector2i`, to\: :ref:`Vector2i`\ ) :ref:`πŸ”—` + +Returns the `Bresenham line `__ between the ``from`` and ``to`` points. A Bresenham line is a series of pixels that draws a line and is always 1-pixel thick on every row and column of the drawing (never more, never less). + +Example code to draw a line between two :ref:`Marker2D` nodes using a series of :ref:`CanvasItem.draw_rect` calls: + +:: + + func _draw(): + for pixel in Geometry2D.bresenham_line($MarkerA.position, $MarkerB.position): + draw_rect(Rect2(pixel, Vector2.ONE), Color.WHITE) + +.. rst-class:: classref-item-separator + +---- + .. _class_Geometry2D_method_clip_polygons: .. rst-class:: classref-method diff --git a/classes/class_gltfaccessor.rst b/classes/class_gltfaccessor.rst index dc3b57eba93..58fa7456e88 100644 --- a/classes/class_gltfaccessor.rst +++ b/classes/class_gltfaccessor.rst @@ -143,6 +143,112 @@ Accessor type "MAT3". For the glTF object model, this maps to "float3x3", repres Accessor type "MAT4". For the glTF object model, this maps to "float4x4", represented in the glTF JSON as an array of sixteen floats. +.. rst-class:: classref-item-separator + +---- + +.. _enum_GLTFAccessor_GLTFComponentType: + +.. rst-class:: classref-enumeration + +enum **GLTFComponentType**: :ref:`πŸ”—` + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_NONE: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_NONE** = ``0`` + +Component type "NONE". This is not a valid component type, and is used to indicate that the component type is not set. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_SIGNED_BYTE: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_SIGNED_BYTE** = ``5120`` + +Component type "BYTE". The value is ``0x1400`` which comes from OpenGL. This indicates data is stored in 1-byte or 8-bit signed integers. This is a core part of the glTF specification. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_UNSIGNED_BYTE: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_UNSIGNED_BYTE** = ``5121`` + +Component type "UNSIGNED_BYTE". The value is ``0x1401`` which comes from OpenGL. This indicates data is stored in 1-byte or 8-bit unsigned integers. This is a core part of the glTF specification. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_SIGNED_SHORT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_SIGNED_SHORT** = ``5122`` + +Component type "SHORT". The value is ``0x1402`` which comes from OpenGL. This indicates data is stored in 2-byte or 16-bit signed integers. This is a core part of the glTF specification. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_UNSIGNED_SHORT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_UNSIGNED_SHORT** = ``5123`` + +Component type "UNSIGNED_SHORT". The value is ``0x1403`` which comes from OpenGL. This indicates data is stored in 2-byte or 16-bit unsigned integers. This is a core part of the glTF specification. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_SIGNED_INT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_SIGNED_INT** = ``5124`` + +Component type "INT". The value is ``0x1404`` which comes from OpenGL. This indicates data is stored in 4-byte or 32-bit signed integers. This is NOT a core part of the glTF specification, and may not be supported by all glTF importers. May be used by some extensions including ``KHR_interactivity``. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_UNSIGNED_INT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_UNSIGNED_INT** = ``5125`` + +Component type "UNSIGNED_INT". The value is ``0x1405`` which comes from OpenGL. This indicates data is stored in 4-byte or 32-bit unsigned integers. This is a core part of the glTF specification. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_SINGLE_FLOAT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_SINGLE_FLOAT** = ``5126`` + +Component type "FLOAT". The value is ``0x1406`` which comes from OpenGL. This indicates data is stored in 4-byte or 32-bit floating point numbers. This is a core part of the glTF specification. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_DOUBLE_FLOAT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_DOUBLE_FLOAT** = ``5130`` + +Component type "DOUBLE". The value is ``0x140A`` which comes from OpenGL. This indicates data is stored in 8-byte or 64-bit floating point numbers. This is NOT a core part of the glTF specification, and may not be supported by all glTF importers. May be used by some extensions including ``KHR_interactivity``. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_HALF_FLOAT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_HALF_FLOAT** = ``5131`` + +Component type "HALF_FLOAT". The value is ``0x140B`` which comes from OpenGL. This indicates data is stored in 2-byte or 16-bit floating point numbers. This is NOT a core part of the glTF specification, and may not be supported by all glTF importers. May be used by some extensions including ``KHR_interactivity``. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_SIGNED_LONG: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_SIGNED_LONG** = ``5134`` + +Component type "LONG". The value is ``0x140E`` which comes from OpenGL. This indicates data is stored in 8-byte or 64-bit signed integers. This is NOT a core part of the glTF specification, and may not be supported by all glTF importers. May be used by some extensions including ``KHR_interactivity``. + +.. _class_GLTFAccessor_constant_COMPONENT_TYPE_UNSIGNED_LONG: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFComponentType` **COMPONENT_TYPE_UNSIGNED_LONG** = ``5135`` + +Component type "UNSIGNED_LONG". The value is ``0x140F`` which comes from OpenGL. This indicates data is stored in 8-byte or 64-bit unsigned integers. This is NOT a core part of the glTF specification, and may not be supported by all glTF importers. May be used by some extensions including ``KHR_interactivity``. + .. rst-class:: classref-section-separator ---- @@ -214,7 +320,7 @@ The offset relative to the start of the buffer view in bytes. - |void| **set_component_type**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_component_type**\ (\ ) -The glTF component type as an enum. Possible values are 5120 for "BYTE", 5121 for "UNSIGNED_BYTE", 5122 for "SHORT", 5123 for "UNSIGNED_SHORT", 5125 for "UNSIGNED_INT", and 5126 for "FLOAT". A value of 5125 or "UNSIGNED_INT" must not be used for any accessor that is not referenced by mesh.primitive.indices. +The glTF component type as an enum. See :ref:`GLTFComponentType` for possible values. Within the core glTF specification, a value of 5125 or "UNSIGNED_INT" must not be used for any accessor that is not referenced by mesh.primitive.indices. .. rst-class:: classref-item-separator @@ -250,6 +356,8 @@ The number of elements referenced by this accessor. Maximum value of each component in this accessor. +**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat64Array` for more details. + .. rst-class:: classref-item-separator ---- @@ -267,6 +375,8 @@ Maximum value of each component in this accessor. Minimum value of each component in this accessor. +**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat64Array` for more details. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_gltfdocument.rst b/classes/class_gltfdocument.rst index 8401f4c3592..67e3044da8a 100644 --- a/classes/class_gltfdocument.rst +++ b/classes/class_gltfdocument.rst @@ -62,25 +62,29 @@ Methods .. table:: :widths: auto - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`append_from_buffer`\ (\ bytes\: :ref:`PackedByteArray`, base_path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`append_from_file`\ (\ path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0, base_path\: :ref:`String` = ""\ ) | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`append_from_scene`\ (\ node\: :ref:`Node`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedByteArray` | :ref:`generate_buffer`\ (\ state\: :ref:`GLTFState`\ ) | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node` | :ref:`generate_scene`\ (\ state\: :ref:`GLTFState`, bake_fps\: :ref:`float` = 30, trimming\: :ref:`bool` = false, remove_immutable_tracks\: :ref:`bool` = true\ ) | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`get_supported_gltf_extensions`\ (\ ) |static| | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`register_gltf_document_extension`\ (\ extension\: :ref:`GLTFDocumentExtension`, first_priority\: :ref:`bool` = false\ ) |static| | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`unregister_gltf_document_extension`\ (\ extension\: :ref:`GLTFDocumentExtension`\ ) |static| | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`write_to_filesystem`\ (\ state\: :ref:`GLTFState`, path\: :ref:`String`\ ) | - +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`append_from_buffer`\ (\ bytes\: :ref:`PackedByteArray`, base_path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`append_from_file`\ (\ path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0, base_path\: :ref:`String` = ""\ ) | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`append_from_scene`\ (\ node\: :ref:`Node`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`GLTFObjectModelProperty` | :ref:`export_object_model_property`\ (\ state\: :ref:`GLTFState`, node_path\: :ref:`NodePath`, godot_node\: :ref:`Node`, gltf_node_index\: :ref:`int`\ ) |static| | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedByteArray` | :ref:`generate_buffer`\ (\ state\: :ref:`GLTFState`\ ) | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node` | :ref:`generate_scene`\ (\ state\: :ref:`GLTFState`, bake_fps\: :ref:`float` = 30, trimming\: :ref:`bool` = false, remove_immutable_tracks\: :ref:`bool` = true\ ) | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_supported_gltf_extensions`\ (\ ) |static| | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`GLTFObjectModelProperty` | :ref:`import_object_model_property`\ (\ state\: :ref:`GLTFState`, json_pointer\: :ref:`String`\ ) |static| | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`register_gltf_document_extension`\ (\ extension\: :ref:`GLTFDocumentExtension`, first_priority\: :ref:`bool` = false\ ) |static| | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`unregister_gltf_document_extension`\ (\ extension\: :ref:`GLTFDocumentExtension`\ ) |static| | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`write_to_filesystem`\ (\ state\: :ref:`GLTFState`, path\: :ref:`String`\ ) | + +---------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -230,6 +234,18 @@ Takes a Godot Engine scene node and exports it and its descendants to the given ---- +.. _class_GLTFDocument_method_export_object_model_property: + +.. rst-class:: classref-method + +:ref:`GLTFObjectModelProperty` **export_object_model_property**\ (\ state\: :ref:`GLTFState`, node_path\: :ref:`NodePath`, godot_node\: :ref:`Node`, gltf_node_index\: :ref:`int`\ ) |static| :ref:`πŸ”—` + +Determines a mapping between the given Godot ``node_path`` and the corresponding glTF Object Model JSON pointer(s) in the generated glTF file. The details of this mapping are returned in a :ref:`GLTFObjectModelProperty` object. Additional mappings can be supplied via the :ref:`GLTFDocumentExtension._import_object_model_property` callback method. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFDocument_method_generate_buffer: .. rst-class:: classref-method @@ -270,6 +286,18 @@ Returns a list of all support glTF extensions, including extensions supported di ---- +.. _class_GLTFDocument_method_import_object_model_property: + +.. rst-class:: classref-method + +:ref:`GLTFObjectModelProperty` **import_object_model_property**\ (\ state\: :ref:`GLTFState`, json_pointer\: :ref:`String`\ ) |static| :ref:`πŸ”—` + +Determines a mapping between the given glTF Object Model ``json_pointer`` and the corresponding Godot node path(s) in the generated Godot scene. The details of this mapping are returned in a :ref:`GLTFObjectModelProperty` object. Additional mappings can be supplied via the :ref:`GLTFDocumentExtension._export_object_model_property` callback method. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFDocument_method_register_gltf_document_extension: .. rst-class:: classref-method diff --git a/classes/class_gltfdocumentextension.rst b/classes/class_gltfdocumentextension.rst index 8f3ffb226fc..217e4ac0499 100644 --- a/classes/class_gltfdocumentextension.rst +++ b/classes/class_gltfdocumentextension.rst @@ -42,49 +42,53 @@ Methods .. table:: :widths: auto - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`_convert_scene_node`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, scene_node\: :ref:`Node`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_export_node`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, json\: :ref:`Dictionary`, node\: :ref:`Node`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_export_post`\ (\ state\: :ref:`GLTFState`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_export_post_convert`\ (\ state\: :ref:`GLTFState`, root\: :ref:`Node`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_export_preflight`\ (\ state\: :ref:`GLTFState`, root\: :ref:`Node`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_export_preserialize`\ (\ state\: :ref:`GLTFState`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node3D` | :ref:`_generate_scene_node`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, scene_parent\: :ref:`Node`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`_get_image_file_extension`\ (\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`_get_saveable_image_formats`\ (\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`_get_supported_extensions`\ (\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_import_node`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, json\: :ref:`Dictionary`, node\: :ref:`Node`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_import_post`\ (\ state\: :ref:`GLTFState`, root\: :ref:`Node`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_import_post_parse`\ (\ state\: :ref:`GLTFState`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_import_pre_generate`\ (\ state\: :ref:`GLTFState`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_import_preflight`\ (\ state\: :ref:`GLTFState`, extensions\: :ref:`PackedStringArray`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_parse_image_data`\ (\ state\: :ref:`GLTFState`, image_data\: :ref:`PackedByteArray`, mime_type\: :ref:`String`, ret_image\: :ref:`Image`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_parse_node_extensions`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, extensions\: :ref:`Dictionary`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_parse_texture_json`\ (\ state\: :ref:`GLTFState`, texture_json\: :ref:`Dictionary`, ret_gltf_texture\: :ref:`GLTFTexture`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_save_image_at_path`\ (\ state\: :ref:`GLTFState`, image\: :ref:`Image`, file_path\: :ref:`String`, image_format\: :ref:`String`, lossy_quality\: :ref:`float`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedByteArray` | :ref:`_serialize_image_to_bytes`\ (\ state\: :ref:`GLTFState`, image\: :ref:`Image`, image_dict\: :ref:`Dictionary`, image_format\: :ref:`String`, lossy_quality\: :ref:`float`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`_serialize_texture_json`\ (\ state\: :ref:`GLTFState`, texture_json\: :ref:`Dictionary`, gltf_texture\: :ref:`GLTFTexture`, image_format\: :ref:`String`\ ) |virtual| | - +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_convert_scene_node`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, scene_node\: :ref:`Node`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_node`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, json\: :ref:`Dictionary`, node\: :ref:`Node`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`GLTFObjectModelProperty` | :ref:`_export_object_model_property`\ (\ state\: :ref:`GLTFState`, node_path\: :ref:`NodePath`, godot_node\: :ref:`Node`, gltf_node_index\: :ref:`int`, target_object\: :ref:`Object`, target_depth\: :ref:`int`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_post`\ (\ state\: :ref:`GLTFState`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_post_convert`\ (\ state\: :ref:`GLTFState`, root\: :ref:`Node`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_preflight`\ (\ state\: :ref:`GLTFState`, root\: :ref:`Node`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_preserialize`\ (\ state\: :ref:`GLTFState`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node3D` | :ref:`_generate_scene_node`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, scene_parent\: :ref:`Node`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_image_file_extension`\ (\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_saveable_image_formats`\ (\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_supported_extensions`\ (\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_import_node`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, json\: :ref:`Dictionary`, node\: :ref:`Node`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`GLTFObjectModelProperty` | :ref:`_import_object_model_property`\ (\ state\: :ref:`GLTFState`, split_json_pointer\: :ref:`PackedStringArray`, partial_paths\: :ref:`Array`\[:ref:`NodePath`\]\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_import_post`\ (\ state\: :ref:`GLTFState`, root\: :ref:`Node`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_import_post_parse`\ (\ state\: :ref:`GLTFState`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_import_pre_generate`\ (\ state\: :ref:`GLTFState`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_import_preflight`\ (\ state\: :ref:`GLTFState`, extensions\: :ref:`PackedStringArray`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_parse_image_data`\ (\ state\: :ref:`GLTFState`, image_data\: :ref:`PackedByteArray`, mime_type\: :ref:`String`, ret_image\: :ref:`Image`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_parse_node_extensions`\ (\ state\: :ref:`GLTFState`, gltf_node\: :ref:`GLTFNode`, extensions\: :ref:`Dictionary`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_parse_texture_json`\ (\ state\: :ref:`GLTFState`, texture_json\: :ref:`Dictionary`, ret_gltf_texture\: :ref:`GLTFTexture`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_save_image_at_path`\ (\ state\: :ref:`GLTFState`, image\: :ref:`Image`, file_path\: :ref:`String`, image_format\: :ref:`String`, lossy_quality\: :ref:`float`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedByteArray` | :ref:`_serialize_image_to_bytes`\ (\ state\: :ref:`GLTFState`, image\: :ref:`Image`, image_dict\: :ref:`Dictionary`, image_format\: :ref:`String`, lossy_quality\: :ref:`float`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_serialize_texture_json`\ (\ state\: :ref:`GLTFState`, texture_json\: :ref:`Dictionary`, gltf_texture\: :ref:`GLTFTexture`, image_format\: :ref:`String`\ ) |virtual| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -123,6 +127,22 @@ This method can be used to modify the final JSON of each node. Data should be pr ---- +.. _class_GLTFDocumentExtension_private_method__export_object_model_property: + +.. rst-class:: classref-method + +:ref:`GLTFObjectModelProperty` **_export_object_model_property**\ (\ state\: :ref:`GLTFState`, node_path\: :ref:`NodePath`, godot_node\: :ref:`Node`, gltf_node_index\: :ref:`int`, target_object\: :ref:`Object`, target_depth\: :ref:`int`\ ) |virtual| :ref:`πŸ”—` + +Part of the export process. Allows GLTFDocumentExtension classes to provide mappings for properties of nodes in the Godot scene tree, to JSON pointers to glTF properties, as defined by the glTF object model. + +Returns a :ref:`GLTFObjectModelProperty` instance that defines how the property should be mapped. If your extension can't handle the property, return null, or an instance without any JSON pointers (see :ref:`GLTFObjectModelProperty.has_json_pointers`). You should use :ref:`GLTFObjectModelProperty.set_types` to set the types, and set the JSON pointer(s) using the :ref:`GLTFObjectModelProperty.json_pointers` property. + +The parameters provide context for the property, including the NodePath, the Godot node, the GLTF node index, and the target object. The ``target_object`` will be equal to ``godot_node`` if no sub-object can be found, otherwise it will point to a sub-object. For example, if the path is ``^"A/B/C/MeshInstance3D:mesh:surface_0/material:emission_intensity"``, it will get the node, then the mesh, and then the material, so ``target_object`` will be the :ref:`Material` resource, and ``target_depth`` will be 2 because 2 levels were traversed to get to the target. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFDocumentExtension_private_method__export_post: .. rst-class:: classref-method @@ -249,6 +269,22 @@ This method can be used to make modifications to each of the generated Godot sce ---- +.. _class_GLTFDocumentExtension_private_method__import_object_model_property: + +.. rst-class:: classref-method + +:ref:`GLTFObjectModelProperty` **_import_object_model_property**\ (\ state\: :ref:`GLTFState`, split_json_pointer\: :ref:`PackedStringArray`, partial_paths\: :ref:`Array`\[:ref:`NodePath`\]\ ) |virtual| :ref:`πŸ”—` + +Part of the import process. Allows GLTFDocumentExtension classes to provide mappings for JSON pointers to glTF properties, as defined by the glTF object model, to properties of nodes in the Godot scene tree. + +Returns a :ref:`GLTFObjectModelProperty` instance that defines how the property should be mapped. If your extension can't handle the property, return null, or an instance without any NodePaths (see :ref:`GLTFObjectModelProperty.has_node_paths`). You should use :ref:`GLTFObjectModelProperty.set_types` to set the types, and :ref:`GLTFObjectModelProperty.append_path_to_property` function is useful for most simple cases. + +In many cases, ``partial_paths`` will contain the start of a path, allowing the extension to complete the path. For example, for ``/nodes/3/extensions/MY_ext/prop``, Godot will pass you a NodePath that leads to node 3, so the GLTFDocumentExtension class only needs to resolve the last ``MY_ext/prop`` part of the path. In this example, the extension should check ``split.size() > 4 and split[0] == "nodes" and split[2] == "extensions" and split[3] == "MY_ext"`` at the start of the function to check if this JSON pointer applies to it, then it can use ``partial_paths`` and handle ``split[4]``. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFDocumentExtension_private_method__import_post: .. rst-class:: classref-method diff --git a/classes/class_gltfnode.rst b/classes/class_gltfnode.rst index 8a51908c0ca..e3a5f77c9b8 100644 --- a/classes/class_gltfnode.rst +++ b/classes/class_gltfnode.rst @@ -76,13 +76,15 @@ Methods .. table:: :widths: auto - +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`append_child_index`\ (\ child_index\: :ref:`int`\ ) | - +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`get_additional_data`\ (\ extension_name\: :ref:`StringName`\ ) | - +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_additional_data`\ (\ extension_name\: :ref:`StringName`, additional_data\: :ref:`Variant`\ ) | - +-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`append_child_index`\ (\ child_index\: :ref:`int`\ ) | + +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`get_additional_data`\ (\ extension_name\: :ref:`StringName`\ ) | + +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath` | :ref:`get_scene_node_path`\ (\ gltf_state\: :ref:`GLTFState`, handle_skeletons\: :ref:`bool` = true\ ) | + +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_additional_data`\ (\ extension_name\: :ref:`StringName`, additional_data\: :ref:`Variant`\ ) | + +---------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -347,6 +349,20 @@ The argument should be the :ref:`GLTFDocumentExtension` **get_scene_node_path**\ (\ gltf_state\: :ref:`GLTFState`, handle_skeletons\: :ref:`bool` = true\ ) :ref:`πŸ”—` + +Returns the :ref:`NodePath` that this GLTF node will have in the Godot scene tree after being imported. This is useful when importing glTF object model pointers with :ref:`GLTFObjectModelProperty`, for handling extensions such as ``KHR_animation_pointer`` or ``KHR_interactivity``. + +If ``handle_skeletons`` is true, paths to skeleton bone glTF nodes will be resolved properly. For example, a path that would be ``^"A/B/C/Bone1/Bone2/Bone3"`` if false will become ``^"A/B/C/Skeleton3D:Bone3"``. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFNode_method_set_additional_data: .. rst-class:: classref-method diff --git a/classes/class_gltfobjectmodelproperty.rst b/classes/class_gltfobjectmodelproperty.rst new file mode 100644 index 00000000000..d6f0a4f4273 --- /dev/null +++ b/classes/class_gltfobjectmodelproperty.rst @@ -0,0 +1,377 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/gltf/doc_classes/GLTFObjectModelProperty.xml. + +.. _class_GLTFObjectModelProperty: + +GLTFObjectModelProperty +======================= + +**Inherits:** :ref:`RefCounted` **<** :ref:`Object` + +Describes how to access a property as defined in the glTF object model. + +.. rst-class:: classref-introduction-group + +Description +----------- + +GLTFObjectModelProperty defines a mapping between a property in the glTF object model and a NodePath in the Godot scene tree. This can be used to animate properties in a glTF file using the ``KHR_animation_pointer`` extension, or to access them through an engine-agnostic script such as a behavior graph as defined by the ``KHR_interactivity`` extension. + +The glTF property is identified by JSON pointer(s) stored in :ref:`json_pointers`, while the Godot property it maps to is defined by :ref:`node_paths`. In most cases :ref:`json_pointers` and :ref:`node_paths` will each only have one item, but in some cases a single glTF JSON pointer will map to multiple Godot properties, or a single Godot property will be mapped to multiple glTF JSON pointers, or it might be a many-to-many relationship. + +\ :ref:`Expression` objects can be used to define conversions between the data, such as when glTF defines an angle in radians and Godot uses degrees. The :ref:`object_model_type` property defines the type of data stored in the glTF file as defined by the object model, see :ref:`GLTFObjectModelType` for possible values. + +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- `GLTF Object Model `__ + +- `KHR_animation_pointer GLTF extension `__ + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +--------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+--------+ + | :ref:`Expression` | :ref:`gltf_to_godot_expression` | | + +--------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+--------+ + | :ref:`Expression` | :ref:`godot_to_gltf_expression` | | + +--------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+--------+ + | :ref:`Array`\[:ref:`PackedStringArray`\] | :ref:`json_pointers` | ``[]`` | + +--------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+--------+ + | :ref:`Array`\[:ref:`NodePath`\] | :ref:`node_paths` | ``[]`` | + +--------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+--------+ + | :ref:`GLTFObjectModelType` | :ref:`object_model_type` | ``0`` | + +--------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+--------+ + | :ref:`Variant.Type` | :ref:`variant_type` | ``0`` | + +--------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+--------+ + +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`append_node_path`\ (\ node_path\: :ref:`NodePath`\ ) | + +-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`append_path_to_property`\ (\ node_path\: :ref:`NodePath`, prop_name\: :ref:`StringName`\ ) | + +-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`GLTFAccessorType` | :ref:`get_accessor_type`\ (\ ) |const| | + +-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_json_pointers`\ (\ ) |const| | + +-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_node_paths`\ (\ ) |const| | + +-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_types`\ (\ variant_type\: :ref:`Variant.Type`, obj_model_type\: :ref:`GLTFObjectModelType`\ ) | + +-------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Enumerations +------------ + +.. _enum_GLTFObjectModelProperty_GLTFObjectModelType: + +.. rst-class:: classref-enumeration + +enum **GLTFObjectModelType**: :ref:`πŸ”—` + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_UNKNOWN: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_UNKNOWN** = ``0`` + +Unknown or not set object model type. If the object model type is set to this value, the real type still needs to be determined. + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_BOOL: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_BOOL** = ``1`` + +Object model type "bool". Represented in the glTF JSON as a boolean, and encoded in a :ref:`GLTFAccessor` as "SCALAR". When encoded in an accessor, a value of 0 is false, and any other value is true. + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_FLOAT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_FLOAT** = ``2`` + +Object model type "float". Represented in the glTF JSON as a number, and encoded in a :ref:`GLTFAccessor` as "SCALAR". + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_FLOAT_ARRAY: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_FLOAT_ARRAY** = ``3`` + +Object model type "float\[\]". Represented in the glTF JSON as an array of numbers, and encoded in a :ref:`GLTFAccessor` as "SCALAR". + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_FLOAT2: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_FLOAT2** = ``4`` + +Object model type "float2". Represented in the glTF JSON as an array of two numbers, and encoded in a :ref:`GLTFAccessor` as "VEC2". + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_FLOAT3: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_FLOAT3** = ``5`` + +Object model type "float3". Represented in the glTF JSON as an array of three numbers, and encoded in a :ref:`GLTFAccessor` as "VEC3". + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_FLOAT4: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_FLOAT4** = ``6`` + +Object model type "float4". Represented in the glTF JSON as an array of four numbers, and encoded in a :ref:`GLTFAccessor` as "VEC4". + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_FLOAT2X2: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_FLOAT2X2** = ``7`` + +Object model type "float2x2". Represented in the glTF JSON as an array of four numbers, and encoded in a :ref:`GLTFAccessor` as "MAT2". + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_FLOAT3X3: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_FLOAT3X3** = ``8`` + +Object model type "float3x3". Represented in the glTF JSON as an array of nine numbers, and encoded in a :ref:`GLTFAccessor` as "MAT3". + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_FLOAT4X4: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_FLOAT4X4** = ``9`` + +Object model type "float4x4". Represented in the glTF JSON as an array of sixteen numbers, and encoded in a :ref:`GLTFAccessor` as "MAT4". + +.. _class_GLTFObjectModelProperty_constant_GLTF_OBJECT_MODEL_TYPE_INT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GLTFObjectModelType` **GLTF_OBJECT_MODEL_TYPE_INT** = ``10`` + +Object model type "int". Represented in the glTF JSON as a number, and encoded in a :ref:`GLTFAccessor` as "SCALAR". The range of values is limited to signed integers. For ``KHR_interactivity``, only 32-bit integers are supported. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_GLTFObjectModelProperty_property_gltf_to_godot_expression: + +.. rst-class:: classref-property + +:ref:`Expression` **gltf_to_godot_expression** :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_gltf_to_godot_expression**\ (\ value\: :ref:`Expression`\ ) +- :ref:`Expression` **get_gltf_to_godot_expression**\ (\ ) + +If set, this :ref:`Expression` will be used to convert the property value from the glTF object model to the value expected by the Godot property. This is useful when the glTF object model uses a different unit system, or when the data needs to be transformed in some way. If ``null``, the value will be copied as-is. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_property_godot_to_gltf_expression: + +.. rst-class:: classref-property + +:ref:`Expression` **godot_to_gltf_expression** :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_godot_to_gltf_expression**\ (\ value\: :ref:`Expression`\ ) +- :ref:`Expression` **get_godot_to_gltf_expression**\ (\ ) + +If set, this :ref:`Expression` will be used to convert the property value from the Godot property to the value expected by the glTF object model. This is useful when the glTF object model uses a different unit system, or when the data needs to be transformed in some way. If ``null``, the value will be copied as-is. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_property_json_pointers: + +.. rst-class:: classref-property + +:ref:`Array`\[:ref:`PackedStringArray`\] **json_pointers** = ``[]`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_json_pointers**\ (\ value\: :ref:`Array`\[:ref:`PackedStringArray`\]\ ) +- :ref:`Array`\[:ref:`PackedStringArray`\] **get_json_pointers**\ (\ ) + +The glTF object model JSON pointers used to identify the property in the glTF object model. In most cases, there will be only one item in this array, but niche cases may require multiple pointers. The items are themselves arrays which represent the JSON pointer split into its components. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_property_node_paths: + +.. rst-class:: classref-property + +:ref:`Array`\[:ref:`NodePath`\] **node_paths** = ``[]`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_node_paths**\ (\ value\: :ref:`Array`\[:ref:`NodePath`\]\ ) +- :ref:`Array`\[:ref:`NodePath`\] **get_node_paths**\ (\ ) + +An array of :ref:`NodePath`\ s that point to a property, or multiple properties, in the Godot scene tree. On import, this will either be set by :ref:`GLTFDocument`, or by a :ref:`GLTFDocumentExtension` class. For simple cases, use :ref:`append_path_to_property` to add properties to this array. + +In most cases :ref:`node_paths` will only have one item, but in some cases a single glTF JSON pointer will map to multiple Godot properties. For example, a :ref:`GLTFCamera` or :ref:`GLTFLight` used on multiple glTF nodes will be represented by multiple Godot nodes. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_property_object_model_type: + +.. rst-class:: classref-property + +:ref:`GLTFObjectModelType` **object_model_type** = ``0`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_object_model_type**\ (\ value\: :ref:`GLTFObjectModelType`\ ) +- :ref:`GLTFObjectModelType` **get_object_model_type**\ (\ ) + +The type of data stored in the glTF file as defined by the object model. This is a superset of the available accessor types, and determines the accessor type. See :ref:`GLTFObjectModelType` for possible values. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_property_variant_type: + +.. rst-class:: classref-property + +:ref:`Variant.Type` **variant_type** = ``0`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_variant_type**\ (\ value\: :ref:`Variant.Type`\ ) +- :ref:`Variant.Type` **get_variant_type**\ (\ ) + +The type of data stored in the Godot property. This is the type of the property that the :ref:`node_paths` point to. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_GLTFObjectModelProperty_method_append_node_path: + +.. rst-class:: classref-method + +|void| **append_node_path**\ (\ node_path\: :ref:`NodePath`\ ) :ref:`πŸ”—` + +Appends a :ref:`NodePath` to :ref:`node_paths`. This can be used by :ref:`GLTFDocumentExtension` classes to define how a glTF object model property maps to a Godot property, or multiple Godot properties. Prefer using :ref:`append_path_to_property` for simple cases. Be sure to also call :ref:`set_types` once (the order does not matter). + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_method_append_path_to_property: + +.. rst-class:: classref-method + +|void| **append_path_to_property**\ (\ node_path\: :ref:`NodePath`, prop_name\: :ref:`StringName`\ ) :ref:`πŸ”—` + +High-level wrapper over :ref:`append_node_path` that handles the most common cases. It constructs a new :ref:`NodePath` using ``node_path`` as a base and appends ``prop_name`` to the subpath. Be sure to also call :ref:`set_types` once (the order does not matter). + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_method_get_accessor_type: + +.. rst-class:: classref-method + +:ref:`GLTFAccessorType` **get_accessor_type**\ (\ ) |const| :ref:`πŸ”—` + +The GLTF accessor type associated with this property's :ref:`object_model_type`. See :ref:`GLTFAccessor.accessor_type` for possible values, and see :ref:`GLTFObjectModelType` for how the object model type maps to accessor types. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_method_has_json_pointers: + +.. rst-class:: classref-method + +:ref:`bool` **has_json_pointers**\ (\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if :ref:`json_pointers` is not empty. This is used during export to determine if a **GLTFObjectModelProperty** can handle converting a Godot property to a glTF object model property. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_method_has_node_paths: + +.. rst-class:: classref-method + +:ref:`bool` **has_node_paths**\ (\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if :ref:`node_paths` is not empty. This is used during import to determine if a **GLTFObjectModelProperty** can handle converting a glTF object model property to a Godot property. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFObjectModelProperty_method_set_types: + +.. rst-class:: classref-method + +|void| **set_types**\ (\ variant_type\: :ref:`Variant.Type`, obj_model_type\: :ref:`GLTFObjectModelType`\ ) :ref:`πŸ”—` + +Sets the :ref:`variant_type` and :ref:`object_model_type` properties. This is a convenience method to set both properties at once, since they are almost always known at the same time. This method should be called once. Calling it again with the same values will have no effect. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_graphedit.rst b/classes/class_graphedit.rst index 9baee6bee1c..884226e695f 100644 --- a/classes/class_graphedit.rst +++ b/classes/class_graphedit.rst @@ -296,6 +296,18 @@ Emitted when this **GraphEdit** captures a ``ui_copy`` action (:kbd:`Ctrl + C` b ---- +.. _class_GraphEdit_signal_cut_nodes_request: + +.. rst-class:: classref-signal + +**cut_nodes_request**\ (\ ) :ref:`πŸ”—` + +Emitted when this **GraphEdit** captures a ``ui_cut`` action (:kbd:`Ctrl + X` by default). In general, this signal indicates that the selected :ref:`GraphElement`\ s should be cut. + +.. rst-class:: classref-item-separator + +---- + .. _class_GraphEdit_signal_delete_nodes_request: .. rst-class:: classref-signal diff --git a/classes/class_httpclient.rst b/classes/class_httpclient.rst index 45e2fe61cd0..6d6e5998302 100644 --- a/classes/class_httpclient.rst +++ b/classes/class_httpclient.rst @@ -35,7 +35,7 @@ For more information on HTTP, see `MDN's documentation on HTTP `__. If you host the server in question, you should modify its backend to allow requests from foreign origins by adding the ``Access-Control-Allow-Origin: *`` HTTP header. -\ **Note:** TLS support is currently limited to TLS 1.0, TLS 1.1, and TLS 1.2. Attempting to connect to a TLS 1.3-only server will return an error. +\ **Note:** TLS support is currently limited to TLSv1.2 and TLSv1.3. Attempting to connect to a server that only supports older (insecure) TLS versions will return an error. \ **Warning:** TLS certificate revocation and certificate pinning are currently not supported. Revoked certificates are accepted as long as they are otherwise valid. If this is a concern, you may want to use automatically managed certificates with a short validity period. diff --git a/classes/class_httprequest.rst b/classes/class_httprequest.rst index 26947c36b42..aa1130387ef 100644 --- a/classes/class_httprequest.rst +++ b/classes/class_httprequest.rst @@ -290,11 +290,7 @@ Request successful. :ref:`Result` **RESULT_CHUNKED_BODY_SIZE_MISMATCH** = ``1`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one `! - - +Request failed due to a mismatch between the expected and actual chunked body size during transfer. Possible causes include network errors, server misconfiguration, or issues with chunked encoding. .. _class_HTTPRequest_constant_RESULT_CANT_CONNECT: @@ -350,11 +346,7 @@ Request exceeded its maximum size limit, see :ref:`body_size_limit` **RESULT_BODY_DECOMPRESS_FAILED** = ``8`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one `! - - +Request failed due to an error while decompressing the response body. Possible causes include unsupported or incorrect compression format, corrupted data, or incomplete transfer. .. _class_HTTPRequest_constant_RESULT_REQUEST_FAILED: diff --git a/classes/class_importermesh.rst b/classes/class_importermesh.rst index fbb9070e815..f1639a7c13a 100644 --- a/classes/class_importermesh.rst +++ b/classes/class_importermesh.rst @@ -144,7 +144,9 @@ Removes all surfaces and blend shapes from this **ImporterMesh**. Generates all lods for this ImporterMesh. -\ ``normal_merge_angle`` and ``normal_split_angle`` are in degrees and used in the same way as the importer settings in ``lods``. As a good default, use 25 and 60 respectively. +\ ``normal_merge_angle`` is in degrees and used in the same way as the importer settings in ``lods``. + +\ ``normal_split_angle`` is not used and only remains for compatibility with older versions of the API. The number of generated lods can be accessed using :ref:`get_surface_lod_count`, and each LOD is available in :ref:`get_surface_lod_size` and :ref:`get_surface_lod_indices`. diff --git a/classes/class_inputeventmousemotion.rst b/classes/class_inputeventmousemotion.rst index f96c1679e06..28b5c5aaec7 100644 --- a/classes/class_inputeventmousemotion.rst +++ b/classes/class_inputeventmousemotion.rst @@ -21,7 +21,7 @@ Description Stores information about a mouse or a pen motion. This includes relative position, absolute position, and velocity. See :ref:`Node._input`. -\ **Note:** By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, set :ref:`Input.use_accumulated_input` to ``false`` to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing `Bresenham's line algorithm `__ as well to avoid visible gaps in lines if the user is moving the mouse quickly. +\ **Note:** By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, set :ref:`Input.use_accumulated_input` to ``false`` to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider using :ref:`Geometry2D.bresenham_line` as well to avoid visible gaps in lines if the user is moving the mouse quickly. \ **Note:** This event may be emitted even when the mouse hasn't moved, either by the operating system or by Godot itself. If you really need to know if the mouse has moved (e.g. to suppress displaying a tooltip), you should check that ``relative.is_zero_approx()`` is ``false``. diff --git a/classes/class_inputmap.rst b/classes/class_inputmap.rst index e28b63284fb..406fc00140d 100644 --- a/classes/class_inputmap.rst +++ b/classes/class_inputmap.rst @@ -51,7 +51,7 @@ Methods +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`action_set_deadzone`\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`add_action`\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float` = 0.5\ ) | + | |void| | :ref:`add_action`\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float` = 0.2\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`erase_action`\ (\ action\: :ref:`StringName`\ ) | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -163,7 +163,7 @@ Sets a deadzone value for the action. .. rst-class:: classref-method -|void| **add_action**\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float` = 0.5\ ) :ref:`πŸ”—` +|void| **add_action**\ (\ action\: :ref:`StringName`, deadzone\: :ref:`float` = 0.2\ ) :ref:`πŸ”—` Adds an empty action to the **InputMap** with a configurable ``deadzone``. diff --git a/classes/class_itemlist.rst b/classes/class_itemlist.rst index 85458737052..0a8477db865 100644 --- a/classes/class_itemlist.rst +++ b/classes/class_itemlist.rst @@ -46,6 +46,8 @@ Properties +---------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`bool` | :ref:`auto_height` | ``false`` | +---------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`auto_width` | ``false`` | + +---------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`bool` | clip_contents | ``true`` (overrides :ref:`Control`) | +---------------------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`int` | :ref:`fixed_column_width` | ``0`` | @@ -79,97 +81,101 @@ Methods .. table:: :widths: auto - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`add_icon_item`\ (\ icon\: :ref:`Texture2D`, selectable\: :ref:`bool` = true\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`add_item`\ (\ text\: :ref:`String`, icon\: :ref:`Texture2D` = null, selectable\: :ref:`bool` = true\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`clear`\ (\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`deselect`\ (\ idx\: :ref:`int`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`deselect_all`\ (\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`ensure_current_is_visible`\ (\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`force_update_list_size`\ (\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_item_at_position`\ (\ position\: :ref:`Vector2`, exact\: :ref:`bool` = false\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`get_item_custom_bg_color`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`get_item_custom_fg_color`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Texture2D` | :ref:`get_item_icon`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`get_item_icon_modulate`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2` | :ref:`get_item_icon_region`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_item_language`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`get_item_metadata`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2` | :ref:`get_item_rect`\ (\ idx\: :ref:`int`, expand\: :ref:`bool` = true\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_item_text`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`TextDirection` | :ref:`get_item_text_direction`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_item_tooltip`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedInt32Array` | :ref:`get_selected_items`\ (\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`VScrollBar` | :ref:`get_v_scroll_bar`\ (\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_anything_selected`\ (\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_item_disabled`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_item_icon_transposed`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_item_selectable`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_item_tooltip_enabled`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_selected`\ (\ idx\: :ref:`int`\ ) |const| | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`move_item`\ (\ from_idx\: :ref:`int`, to_idx\: :ref:`int`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`remove_item`\ (\ idx\: :ref:`int`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`select`\ (\ idx\: :ref:`int`, single\: :ref:`bool` = true\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_custom_bg_color`\ (\ idx\: :ref:`int`, custom_bg_color\: :ref:`Color`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_custom_fg_color`\ (\ idx\: :ref:`int`, custom_fg_color\: :ref:`Color`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_disabled`\ (\ idx\: :ref:`int`, disabled\: :ref:`bool`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_icon`\ (\ idx\: :ref:`int`, icon\: :ref:`Texture2D`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_icon_modulate`\ (\ idx\: :ref:`int`, modulate\: :ref:`Color`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_icon_region`\ (\ idx\: :ref:`int`, rect\: :ref:`Rect2`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_icon_transposed`\ (\ idx\: :ref:`int`, transposed\: :ref:`bool`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_language`\ (\ idx\: :ref:`int`, language\: :ref:`String`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_metadata`\ (\ idx\: :ref:`int`, metadata\: :ref:`Variant`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_selectable`\ (\ idx\: :ref:`int`, selectable\: :ref:`bool`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_text`\ (\ idx\: :ref:`int`, text\: :ref:`String`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_text_direction`\ (\ idx\: :ref:`int`, direction\: :ref:`TextDirection`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_tooltip`\ (\ idx\: :ref:`int`, tooltip\: :ref:`String`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_item_tooltip_enabled`\ (\ idx\: :ref:`int`, enable\: :ref:`bool`\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`sort_items_by_text`\ (\ ) | - +--------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`add_icon_item`\ (\ icon\: :ref:`Texture2D`, selectable\: :ref:`bool` = true\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`add_item`\ (\ text\: :ref:`String`, icon\: :ref:`Texture2D` = null, selectable\: :ref:`bool` = true\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear`\ (\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`deselect`\ (\ idx\: :ref:`int`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`deselect_all`\ (\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`ensure_current_is_visible`\ (\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`force_update_list_size`\ (\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_item_at_position`\ (\ position\: :ref:`Vector2`, exact\: :ref:`bool` = false\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AutoTranslateMode` | :ref:`get_item_auto_translate_mode`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_item_custom_bg_color`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_item_custom_fg_color`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`get_item_icon`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_item_icon_modulate`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2` | :ref:`get_item_icon_region`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_item_language`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`get_item_metadata`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2` | :ref:`get_item_rect`\ (\ idx\: :ref:`int`, expand\: :ref:`bool` = true\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_item_text`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`TextDirection` | :ref:`get_item_text_direction`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_item_tooltip`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedInt32Array` | :ref:`get_selected_items`\ (\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`VScrollBar` | :ref:`get_v_scroll_bar`\ (\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_anything_selected`\ (\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_item_disabled`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_item_icon_transposed`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_item_selectable`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_item_tooltip_enabled`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_selected`\ (\ idx\: :ref:`int`\ ) |const| | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`move_item`\ (\ from_idx\: :ref:`int`, to_idx\: :ref:`int`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`remove_item`\ (\ idx\: :ref:`int`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`select`\ (\ idx\: :ref:`int`, single\: :ref:`bool` = true\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_auto_translate_mode`\ (\ idx\: :ref:`int`, mode\: :ref:`AutoTranslateMode`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_custom_bg_color`\ (\ idx\: :ref:`int`, custom_bg_color\: :ref:`Color`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_custom_fg_color`\ (\ idx\: :ref:`int`, custom_fg_color\: :ref:`Color`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_disabled`\ (\ idx\: :ref:`int`, disabled\: :ref:`bool`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_icon`\ (\ idx\: :ref:`int`, icon\: :ref:`Texture2D`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_icon_modulate`\ (\ idx\: :ref:`int`, modulate\: :ref:`Color`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_icon_region`\ (\ idx\: :ref:`int`, rect\: :ref:`Rect2`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_icon_transposed`\ (\ idx\: :ref:`int`, transposed\: :ref:`bool`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_language`\ (\ idx\: :ref:`int`, language\: :ref:`String`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_metadata`\ (\ idx\: :ref:`int`, metadata\: :ref:`Variant`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_selectable`\ (\ idx\: :ref:`int`, selectable\: :ref:`bool`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_text`\ (\ idx\: :ref:`int`, text\: :ref:`String`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_text_direction`\ (\ idx\: :ref:`int`, direction\: :ref:`TextDirection`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_tooltip`\ (\ idx\: :ref:`int`, tooltip\: :ref:`String`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_item_tooltip_enabled`\ (\ idx\: :ref:`int`, enable\: :ref:`bool`\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`sort_items_by_text`\ (\ ) | + +-------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group @@ -234,7 +240,9 @@ Signals **empty_clicked**\ (\ at_position\: :ref:`Vector2`, mouse_button_index\: :ref:`int`\ ) :ref:`πŸ”—` -Triggered when any mouse click is issued within the rect of the list but on empty space. +Emitted when any mouse click is issued within the rect of the list but on empty space. + +\ ``at_position`` is the click position in this control's local coordinate system. .. rst-class:: classref-item-separator @@ -246,7 +254,7 @@ Triggered when any mouse click is issued within the rect of the list but on empt **item_activated**\ (\ index\: :ref:`int`\ ) :ref:`πŸ”—` -Triggered when specified list item is activated via double-clicking or by pressing :kbd:`Enter`. +Emitted when specified list item is activated via double-clicking or by pressing :kbd:`Enter`. .. rst-class:: classref-item-separator @@ -258,9 +266,9 @@ Triggered when specified list item is activated via double-clicking or by pressi **item_clicked**\ (\ index\: :ref:`int`, at_position\: :ref:`Vector2`, mouse_button_index\: :ref:`int`\ ) :ref:`πŸ”—` -Triggered when specified list item has been clicked with any mouse button. +Emitted when specified list item has been clicked with any mouse button. -The click position is also provided to allow appropriate popup of context menus at the correct location. +\ ``at_position`` is the click position in this control's local coordinate system. .. rst-class:: classref-item-separator @@ -272,7 +280,7 @@ The click position is also provided to allow appropriate popup of context menus **item_selected**\ (\ index\: :ref:`int`\ ) :ref:`πŸ”—` -Triggered when specified item has been selected. +Emitted when specified item has been selected. Only applicable in single selection mode. \ :ref:`allow_reselect` must be enabled to reselect an item. @@ -286,7 +294,7 @@ Triggered when specified item has been selected. **multi_selected**\ (\ index\: :ref:`int`, selected\: :ref:`bool`\ ) :ref:`πŸ”—` -Triggered when a multiple selection is altered on a list allowing multiple selection. +Emitted when a multiple selection is altered on a list allowing multiple selection. .. rst-class:: classref-section-separator @@ -422,6 +430,23 @@ If ``true``, the control will automatically resize the height to fit its content ---- +.. _class_ItemList_property_auto_width: + +.. rst-class:: classref-property + +:ref:`bool` **auto_width** = ``false`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_auto_width**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **has_auto_width**\ (\ ) + +If ``true``, the control will automatically resize the width to fit its content. + +.. rst-class:: classref-item-separator + +---- + .. _class_ItemList_property_fixed_column_width: .. rst-class:: classref-property @@ -713,6 +738,18 @@ When there is no item at that point, -1 will be returned if ``exact`` is ``true` ---- +.. _class_ItemList_method_get_item_auto_translate_mode: + +.. rst-class:: classref-method + +:ref:`AutoTranslateMode` **get_item_auto_translate_mode**\ (\ idx\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns item's auto translate mode. + +.. rst-class:: classref-item-separator + +---- + .. _class_ItemList_method_get_item_custom_bg_color: .. rst-class:: classref-method @@ -983,6 +1020,20 @@ Select the item at the specified index. ---- +.. _class_ItemList_method_set_item_auto_translate_mode: + +.. rst-class:: classref-method + +|void| **set_item_auto_translate_mode**\ (\ idx\: :ref:`int`, mode\: :ref:`AutoTranslateMode`\ ) :ref:`πŸ”—` + +Sets the auto translate mode of the item associated with the specified index. + +Items use :ref:`Node.AUTO_TRANSLATE_MODE_INHERIT` by default, which uses the same auto translate mode as the **ItemList** itself. + +.. rst-class:: classref-item-separator + +---- + .. _class_ItemList_method_set_item_custom_bg_color: .. rst-class:: classref-method diff --git a/classes/class_light3d.rst b/classes/class_light3d.rst index 01e15d35d7b..8b0dd5f89b3 100644 --- a/classes/class_light3d.rst +++ b/classes/class_light3d.rst @@ -85,6 +85,8 @@ Properties +----------------------------------------+----------------------------------------------------------------------------------------+-----------------------+ | :ref:`float` | :ref:`shadow_blur` | ``1.0`` | +----------------------------------------+----------------------------------------------------------------------------------------+-----------------------+ + | :ref:`int` | :ref:`shadow_caster_mask` | ``4294967295`` | + +----------------------------------------+----------------------------------------------------------------------------------------+-----------------------+ | :ref:`bool` | :ref:`shadow_enabled` | ``false`` | +----------------------------------------+----------------------------------------------------------------------------------------+-----------------------+ | :ref:`float` | :ref:`shadow_normal_bias` | ``2.0`` | @@ -741,6 +743,23 @@ Blurs the edges of the shadow. Can be used to hide pixel artifacts in low-resolu ---- +.. _class_Light3D_property_shadow_caster_mask: + +.. rst-class:: classref-property + +:ref:`int` **shadow_caster_mask** = ``4294967295`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_shadow_caster_mask**\ (\ value\: :ref:`int`\ ) +- :ref:`int` **get_shadow_caster_mask**\ (\ ) + +The light will only cast shadows using objects in the selected layers. + +.. rst-class:: classref-item-separator + +---- + .. _class_Light3D_property_shadow_enabled: .. rst-class:: classref-property diff --git a/classes/class_lineedit.rst b/classes/class_lineedit.rst index 0f16330c1d7..a14c03e116c 100644 --- a/classes/class_lineedit.rst +++ b/classes/class_lineedit.rst @@ -26,15 +26,15 @@ Description - When the **LineEdit** control is focused using the keyboard arrow keys, it will only gain focus and not enter edit mode. -- To enter edit mode, click on the control with the mouse or press the "ui_text_submit" action (default: :kbd:`Enter` or :kbd:`Kp Enter`). +- To enter edit mode, click on the control with the mouse or press the ``ui_text_submit`` action (by default :kbd:`Enter` or :kbd:`Kp Enter`). -- To exit edit mode, press "ui_text_submit" or "ui_cancel" (default: :kbd:`Escape`) actions. +- To exit edit mode, press ``ui_text_submit`` or ``ui_cancel`` (by default :kbd:`Escape`) actions. -- Check :ref:`is_editing` and :ref:`editing_toggled` for more information. +- Check :ref:`edit`, :ref:`unedit`, :ref:`is_editing`, and :ref:`editing_toggled` for more information. \ **Important:**\ -- Focusing the **LineEdit** with "ui_focus_next" (default: :kbd:`Tab`) or "ui_focus_prev" (default: :kbd:`Shift + Tab`) or :ref:`Control.grab_focus` still enters edit mode (for compatibility). +- Focusing the **LineEdit** with ``ui_focus_next`` (by default :kbd:`Tab`) or ``ui_focus_prev`` (by default :kbd:`Shift + Tab`) or :ref:`Control.grab_focus` still enters edit mode (for compatibility). \ **LineEdit** features many built-in shortcuts that are always available (:kbd:`Ctrl` here maps to :kbd:`Cmd` on macOS): @@ -80,6 +80,8 @@ On macOS, some extra keyboard shortcuts are available: - :kbd:`Cmd + Right Arrow`: Same as :kbd:`End`, move the caret to the end of the line +\ **Note:** Caret movement shortcuts listed above are not affected by :ref:`shortcut_keys_enabled`. + .. rst-class:: classref-reftable-group Properties @@ -175,6 +177,8 @@ Methods +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`deselect`\ (\ ) | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`edit`\ (\ ) | + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PopupMenu` | :ref:`get_menu`\ (\ ) |const| | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_scroll_offset`\ (\ ) |const| | @@ -205,6 +209,8 @@ Methods +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`select_all`\ (\ ) | +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`unedit`\ (\ ) | + +-----------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group @@ -303,7 +309,7 @@ Emitted when the text changes. **text_submitted**\ (\ new_text\: :ref:`String`\ ) :ref:`πŸ”—` -Emitted when the user presses :ref:`@GlobalScope.KEY_ENTER` on the **LineEdit**. +Emitted when the user presses the ``ui_text_submit`` action (by default: :kbd:`Enter` or :kbd:`Kp Enter`) while the **LineEdit** has focus. .. rst-class:: classref-section-separator @@ -1090,7 +1096,7 @@ If ``false``, it's impossible to select the text using mouse nor keyboard. - |void| **set_shortcut_keys_enabled**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_shortcut_keys_enabled**\ (\ ) -If ``false``, using shortcuts will be disabled. +If ``true``, shortcut keys for context menu items are enabled, even if the context menu is disabled. .. rst-class:: classref-item-separator @@ -1277,6 +1283,20 @@ Clears the current selection. ---- +.. _class_LineEdit_method_edit: + +.. rst-class:: classref-method + +|void| **edit**\ (\ ) :ref:`πŸ”—` + +Allows entering edit mode whether the **LineEdit** is focused or not. + +Use :ref:`Callable.call_deferred` if you want to enter edit mode on :ref:`text_submitted`. + +.. rst-class:: classref-item-separator + +---- + .. _class_LineEdit_method_get_menu: .. rst-class:: classref-method @@ -1519,6 +1539,18 @@ Selects characters inside **LineEdit** between ``from`` and ``to``. By default, Selects the whole :ref:`String`. +.. rst-class:: classref-item-separator + +---- + +.. _class_LineEdit_method_unedit: + +.. rst-class:: classref-method + +|void| **unedit**\ (\ ) :ref:`πŸ”—` + +Allows exiting edit mode while preserving focus. + .. rst-class:: classref-section-separator ---- diff --git a/classes/class_material.rst b/classes/class_material.rst index 659b2dc8ceb..ec4bec7ce20 100644 --- a/classes/class_material.rst +++ b/classes/class_material.rst @@ -217,7 +217,7 @@ Creates a placeholder version of this resource (:ref:`PlaceholderMaterial` -Only available when running in the editor. Opens a popup that visualizes the generated shader code, including all variants and internal shader code. +Only available when running in the editor. Opens a popup that visualizes the generated shader code, including all variants and internal shader code. See also :ref:`Shader.inspect_native_shader_code`. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_multiplayerspawner.rst b/classes/class_multiplayerspawner.rst index d2d78757a08..ff3de51dda8 100644 --- a/classes/class_multiplayerspawner.rst +++ b/classes/class_multiplayerspawner.rst @@ -79,7 +79,7 @@ Signals **despawned**\ (\ node\: :ref:`Node`\ ) :ref:`πŸ”—` -Emitted when a spawnable scene or custom spawn was despawned by the multiplayer authority. Only called on puppets. +Emitted when a spawnable scene or custom spawn was despawned by the multiplayer authority. Only called on remote peers. .. rst-class:: classref-item-separator @@ -91,7 +91,7 @@ Emitted when a spawnable scene or custom spawn was despawned by the multiplayer **spawned**\ (\ node\: :ref:`Node`\ ) :ref:`πŸ”—` -Emitted when a spawnable scene or custom spawn was spawned by the multiplayer authority. Only called on puppets. +Emitted when a spawnable scene or custom spawn was spawned by the multiplayer authority. Only called on remote peers. .. rst-class:: classref-section-separator diff --git a/classes/class_node.rst b/classes/class_node.rst index 5fba3e48bfd..ac0bc53fd5b 100644 --- a/classes/class_node.rst +++ b/classes/class_node.rst @@ -1267,7 +1267,7 @@ The node's processing behavior (see :ref:`ProcessMode`). - |void| **set_physics_process_priority**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_physics_process_priority**\ (\ ) -Similar to :ref:`process_priority` but for :ref:`NOTIFICATION_PHYSICS_PROCESS`, :ref:`_physics_process` or the internal version. +Similar to :ref:`process_priority` but for :ref:`NOTIFICATION_PHYSICS_PROCESS`, :ref:`_physics_process`, or :ref:`NOTIFICATION_INTERNAL_PHYSICS_PROCESS`. .. rst-class:: classref-item-separator @@ -1284,7 +1284,7 @@ Similar to :ref:`process_priority` but for - |void| **set_process_priority**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_process_priority**\ (\ ) -The node's execution order of the process callbacks (:ref:`_process`, :ref:`_physics_process`, and internal processing). Nodes whose priority value is *lower* call their process callbacks first, regardless of tree order. +The node's execution order of the process callbacks (:ref:`_process`, :ref:`NOTIFICATION_PROCESS`, and :ref:`NOTIFICATION_INTERNAL_PROCESS`). Nodes whose priority value is *lower* call their process callbacks first, regardless of tree order. .. rst-class:: classref-item-separator @@ -1475,6 +1475,8 @@ Called during the physics processing step of the main loop. Physics processing m It is only called if physics processing is enabled, which is done automatically if this method is overridden, and can be toggled with :ref:`set_physics_process`. +Processing happens in order of :ref:`process_physics_priority`, lower priority values are called first. Nodes with the same priority are processed in tree order, or top to bottom as seen in the editor (also known as pre-order traversal). + Corresponds to the :ref:`NOTIFICATION_PHYSICS_PROCESS` notification in :ref:`Object._notification`. \ **Note:** This method is only called if the node is present in the scene tree (i.e. if it's not an orphan). @@ -1493,6 +1495,8 @@ Called during the processing step of the main loop. Processing happens at every It is only called if processing is enabled, which is done automatically if this method is overridden, and can be toggled with :ref:`set_process`. +Processing happens in order of :ref:`process_priority`, lower priority values are called first. Nodes with the same priority are processed in tree order, or top to bottom as seen in the editor (also known as pre-order traversal). + Corresponds to the :ref:`NOTIFICATION_PROCESS` notification in :ref:`Object._notification`. \ **Note:** This method is only called if the node is present in the scene tree (i.e. if it's not an orphan). diff --git a/classes/class_object.rst b/classes/class_object.rst index 7043c687915..d3a1ebce0b0 100644 --- a/classes/class_object.rst +++ b/classes/class_object.rst @@ -141,6 +141,8 @@ Methods +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`get_translation_domain`\ (\ ) |const| | +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_connections`\ (\ signal\: :ref:`StringName`\ ) |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_meta`\ (\ name\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_method`\ (\ method\: :ref:`StringName`\ ) |const| | @@ -1435,6 +1437,20 @@ Returns the name of the translation domain used by :ref:`tr` **has_connections**\ (\ signal\: :ref:`StringName`\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if any connection exists on the given ``signal`` name. + +\ **Note:** In C#, ``signal`` must be in snake_case when referring to built-in Godot methods. Prefer using the names exposed in the ``SignalName`` class to avoid allocating a new :ref:`StringName` on each call. + +.. rst-class:: classref-item-separator + +---- + .. _class_Object_method_has_meta: .. rst-class:: classref-method diff --git a/classes/class_occluderinstance3d.rst b/classes/class_occluderinstance3d.rst index 332353bd8fc..e124300c222 100644 --- a/classes/class_occluderinstance3d.rst +++ b/classes/class_occluderinstance3d.rst @@ -23,7 +23,7 @@ Occlusion culling can improve rendering performance in closed/semi-open areas by The occlusion culling system is mostly static. **OccluderInstance3D**\ s can be moved or hidden at run-time, but doing so will trigger a background recomputation that can take several frames. It is recommended to only move **OccluderInstance3D**\ s sporadically (e.g. for procedural generation purposes), rather than doing so every frame. -The occlusion culling system works by rendering the occluders on the CPU in parallel using `Embree `__, drawing the result to a low-resolution buffer then using this to cull 3D nodes individually. In the 3D editor, you can preview the occlusion culling buffer by choosing **Perspective > Debug Advanced... > Occlusion Culling Buffer** in the top-left corner of the 3D viewport. The occlusion culling buffer quality can be adjusted in the Project Settings. +The occlusion culling system works by rendering the occluders on the CPU in parallel using `Embree `__, drawing the result to a low-resolution buffer then using this to cull 3D nodes individually. In the 3D editor, you can preview the occlusion culling buffer by choosing **Perspective > Display Advanced... > Occlusion Culling Buffer** in the top-left corner of the 3D viewport. The occlusion culling buffer quality can be adjusted in the Project Settings. \ **Baking:** Select an **OccluderInstance3D** node, then use the **Bake Occluders** button at the top of the 3D editor. Only opaque materials will be taken into account; transparent materials (alpha-blended or alpha-tested) will be ignored by the occluder generation. diff --git a/classes/class_openxrextensionwrapperextension.rst b/classes/class_openxrextensionwrapperextension.rst index 672d1ab4b43..96c96b3491f 100644 --- a/classes/class_openxrextensionwrapperextension.rst +++ b/classes/class_openxrextensionwrapperextension.rst @@ -54,6 +54,10 @@ Methods +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_on_main_swapchains_created`\ (\ ) |virtual| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_on_post_draw_viewport`\ (\ viewport\: :ref:`RID`\ ) |virtual| | + +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_on_pre_draw_viewport`\ (\ viewport\: :ref:`RID`\ ) |virtual| | + +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_on_pre_render`\ (\ ) |virtual| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_on_process`\ (\ ) |virtual| | @@ -82,6 +86,8 @@ Methods +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_on_viewport_composition_layer_destroyed`\ (\ layer\: ``const void*``\ ) |virtual| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_set_android_surface_swapchain_create_info_and_get_next_pointer`\ (\ property_values\: :ref:`Dictionary`, next_pointer\: ``void*``\ ) |virtual| | + +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_set_hand_joint_locations_and_get_next_pointer`\ (\ hand_index\: :ref:`int`, next_pointer\: ``void*``\ ) |virtual| | +------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_set_instance_create_info_and_get_next_pointer`\ (\ next_pointer\: ``void*``\ ) |virtual| | @@ -262,6 +268,32 @@ Called right after the main swapchains are (re)created. ---- +.. _class_OpenXRExtensionWrapperExtension_private_method__on_post_draw_viewport: + +.. rst-class:: classref-method + +|void| **_on_post_draw_viewport**\ (\ viewport\: :ref:`RID`\ ) |virtual| :ref:`πŸ”—` + +Called right after the given viewport is rendered. + +\ **Note:** The draw commands might only be queued at this point, not executed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_OpenXRExtensionWrapperExtension_private_method__on_pre_draw_viewport: + +.. rst-class:: classref-method + +|void| **_on_pre_draw_viewport**\ (\ viewport\: :ref:`RID`\ ) |virtual| :ref:`πŸ”—` + +Called right before the given viewport is rendered. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRExtensionWrapperExtension_private_method__on_pre_render: .. rst-class:: classref-method @@ -434,6 +466,20 @@ Called when a composition layer created via :ref:`OpenXRCompositionLayer` **_set_android_surface_swapchain_create_info_and_get_next_pointer**\ (\ property_values\: :ref:`Dictionary`, next_pointer\: ``void*``\ ) |virtual| :ref:`πŸ”—` + +Adds additional data structures to Android surface swapchains created by :ref:`OpenXRCompositionLayer`. + +\ ``property_values`` contains the values of the properties returned by :ref:`_get_viewport_composition_layer_extension_properties`. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRExtensionWrapperExtension_private_method__set_hand_joint_locations_and_get_next_pointer: .. rst-class:: classref-method diff --git a/classes/class_openxripbinding.rst b/classes/class_openxripbinding.rst index 8f0534e8534..85a5b41cd59 100644 --- a/classes/class_openxripbinding.rst +++ b/classes/class_openxripbinding.rst @@ -19,7 +19,7 @@ Defines a binding between an :ref:`OpenXRAction` and an XR i Description ----------- -This binding resource binds an :ref:`OpenXRAction` to inputs or outputs. As most controllers have left hand and right versions that are handled by the same interaction profile we can specify multiple bindings. For instance an action "Fire" could be bound to both "/user/hand/left/input/trigger" and "/user/hand/right/input/trigger". +This binding resource binds an :ref:`OpenXRAction` to an input or output. As most controllers have left hand and right versions that are handled by the same interaction profile we can specify multiple bindings. For instance an action "Fire" could be bound to both "/user/hand/left/input/trigger" and "/user/hand/right/input/trigger". This would require two binding entries. .. rst-class:: classref-reftable-group @@ -29,11 +29,13 @@ Properties .. table:: :widths: auto - +---------------------------------------------------+------------------------------------------------------+-------------------------+ - | :ref:`OpenXRAction` | :ref:`action` | | - +---------------------------------------------------+------------------------------------------------------+-------------------------+ - | :ref:`PackedStringArray` | :ref:`paths` | ``PackedStringArray()`` | - +---------------------------------------------------+------------------------------------------------------+-------------------------+ + +---------------------------------------------------+------------------------------------------------------------------+--------+ + | :ref:`OpenXRAction` | :ref:`action` | | + +---------------------------------------------------+------------------------------------------------------------------+--------+ + | :ref:`String` | :ref:`binding_path` | ``""`` | + +---------------------------------------------------+------------------------------------------------------------------+--------+ + | :ref:`PackedStringArray` | :ref:`paths` | | + +---------------------------------------------------+------------------------------------------------------------------+--------+ .. rst-class:: classref-reftable-group @@ -73,7 +75,26 @@ Property Descriptions - |void| **set_action**\ (\ value\: :ref:`OpenXRAction`\ ) - :ref:`OpenXRAction` **get_action**\ (\ ) -:ref:`OpenXRAction` that is bound to these paths. +:ref:`OpenXRAction` that is bound to :ref:`binding_path`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_OpenXRIPBinding_property_binding_path: + +.. rst-class:: classref-property + +:ref:`String` **binding_path** = ``""`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_binding_path**\ (\ value\: :ref:`String`\ ) +- :ref:`String` **get_binding_path**\ (\ ) + +Binding path that defines the input or output bound to :ref:`action`. + +\ **Note:** Binding paths are suggestions, an XR runtime may choose to bind the action to a different input or output emulating this input or output. .. rst-class:: classref-item-separator @@ -83,13 +104,15 @@ Property Descriptions .. rst-class:: classref-property -:ref:`PackedStringArray` **paths** = ``PackedStringArray()`` :ref:`πŸ”—` +:ref:`PackedStringArray` **paths** :ref:`πŸ”—` .. rst-class:: classref-property-setget - |void| **set_paths**\ (\ value\: :ref:`PackedStringArray`\ ) - :ref:`PackedStringArray` **get_paths**\ (\ ) +**Deprecated:** Use :ref:`binding_path` instead. + Paths that define the inputs or outputs bound on the device. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray` for more details. @@ -109,6 +132,8 @@ Method Descriptions |void| **add_path**\ (\ path\: :ref:`String`\ ) :ref:`πŸ”—` +**Deprecated:** Binding is for a single path. + Add an input/output path to this binding. .. rst-class:: classref-item-separator @@ -121,6 +146,8 @@ Add an input/output path to this binding. :ref:`int` **get_path_count**\ (\ ) |const| :ref:`πŸ”—` +**Deprecated:** Binding is for a single path. + Get the number of input/output paths in this binding. .. rst-class:: classref-item-separator @@ -133,6 +160,8 @@ Get the number of input/output paths in this binding. :ref:`bool` **has_path**\ (\ path\: :ref:`String`\ ) |const| :ref:`πŸ”—` +**Deprecated:** Binding is for a single path. + Returns ``true`` if this input/output path is part of this binding. .. rst-class:: classref-item-separator @@ -145,6 +174,8 @@ Returns ``true`` if this input/output path is part of this binding. |void| **remove_path**\ (\ path\: :ref:`String`\ ) :ref:`πŸ”—` +**Deprecated:** Binding is for a single path. + Removes this input/output path from this binding. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` diff --git a/classes/class_optimizedtranslation.rst b/classes/class_optimizedtranslation.rst index baa1e451239..dd370a1f3b0 100644 --- a/classes/class_optimizedtranslation.rst +++ b/classes/class_optimizedtranslation.rst @@ -50,6 +50,8 @@ Method Descriptions Generates and sets an optimized translation from the given :ref:`Translation` resource. +\ **Note:** This method is intended to be used in the editor. It does nothing when called from an exported project. + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` diff --git a/classes/class_packedbytearray.rst b/classes/class_packedbytearray.rst index 4cd742c92e8..64b1351e2c2 100644 --- a/classes/class_packedbytearray.rst +++ b/classes/class_packedbytearray.rst @@ -124,6 +124,8 @@ Methods +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`int`, from\: :ref:`int` = 0\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_string_from_ascii`\ (\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_string_from_utf8`\ (\ ) |const| | @@ -677,6 +679,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedByteArray_method_get: + +.. rst-class:: classref-method + +:ref:`int` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the byte at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedByteArray_method_get_string_from_ascii: .. rst-class:: classref-method diff --git a/classes/class_packedcolorarray.rst b/classes/class_packedcolorarray.rst index 7b3775ce4ea..f92ee2d4446 100644 --- a/classes/class_packedcolorarray.rst +++ b/classes/class_packedcolorarray.rst @@ -68,6 +68,8 @@ Methods +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`Color`, from\: :ref:`int` = 0\ ) |const| | +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`Color`\ ) |const| | +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`Color`\ ) | @@ -263,6 +265,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedColorArray_method_get: + +.. rst-class:: classref-method + +:ref:`Color` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the :ref:`Color` at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedColorArray_method_has: .. rst-class:: classref-method diff --git a/classes/class_packedfloat32array.rst b/classes/class_packedfloat32array.rst index d06bec47b6d..91c9237520a 100644 --- a/classes/class_packedfloat32array.rst +++ b/classes/class_packedfloat32array.rst @@ -68,6 +68,8 @@ Methods +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`float`, from\: :ref:`int` = 0\ ) |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`float`\ ) |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`float`\ ) | @@ -263,6 +265,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedFloat32Array_method_get: + +.. rst-class:: classref-method + +:ref:`float` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the 32-bit float at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedFloat32Array_method_has: .. rst-class:: classref-method diff --git a/classes/class_packedfloat64array.rst b/classes/class_packedfloat64array.rst index c77ec3e8124..9ba45264cba 100644 --- a/classes/class_packedfloat64array.rst +++ b/classes/class_packedfloat64array.rst @@ -70,6 +70,8 @@ Methods +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`float`, from\: :ref:`int` = 0\ ) |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`float`\ ) |const| | +-----------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`float`\ ) | @@ -265,6 +267,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedFloat64Array_method_get: + +.. rst-class:: classref-method + +:ref:`float` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the 64-bit float at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedFloat64Array_method_has: .. rst-class:: classref-method diff --git a/classes/class_packedint32array.rst b/classes/class_packedint32array.rst index 66bb53c8e28..30751a7f602 100644 --- a/classes/class_packedint32array.rst +++ b/classes/class_packedint32array.rst @@ -68,6 +68,8 @@ Methods +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`int`, from\: :ref:`int` = 0\ ) |const| | +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`int`\ ) |const| | +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`int`\ ) | @@ -257,6 +259,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedInt32Array_method_get: + +.. rst-class:: classref-method + +:ref:`int` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the 32-bit integer at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedInt32Array_method_has: .. rst-class:: classref-method diff --git a/classes/class_packedint64array.rst b/classes/class_packedint64array.rst index 4a7ea79463b..745f91dda52 100644 --- a/classes/class_packedint64array.rst +++ b/classes/class_packedint64array.rst @@ -70,6 +70,8 @@ Methods +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`int`, from\: :ref:`int` = 0\ ) |const| | +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`int`\ ) |const| | +-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`int`\ ) | @@ -259,6 +261,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedInt64Array_method_get: + +.. rst-class:: classref-method + +:ref:`int` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the 64-bit integer at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedInt64Array_method_has: .. rst-class:: classref-method diff --git a/classes/class_packedstringarray.rst b/classes/class_packedstringarray.rst index 76fca07c585..c26cb572959 100644 --- a/classes/class_packedstringarray.rst +++ b/classes/class_packedstringarray.rst @@ -83,6 +83,8 @@ Methods +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`String`, from\: :ref:`int` = 0\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`String`\ ) |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`String`\ ) | @@ -272,6 +274,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedStringArray_method_get: + +.. rst-class:: classref-method + +:ref:`String` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the :ref:`String` at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedStringArray_method_has: .. rst-class:: classref-method diff --git a/classes/class_packedvector2array.rst b/classes/class_packedvector2array.rst index 33783faf019..d9c5ea19fb6 100644 --- a/classes/class_packedvector2array.rst +++ b/classes/class_packedvector2array.rst @@ -19,7 +19,7 @@ Description An array specifically designed to hold :ref:`Vector2`. Packs data tightly, so it saves memory for large array sizes. -\ **Differences between packed arrays, typed arrays, and untyped arrays:** Packed arrays are generally faster to iterate on and modify compared to a typed array of the same type (e.g. :ref:`PackedVector3Array` versus ``Array[Vector2]``). Also, packed arrays consume less memory. As a downside, packed arrays are less flexible as they don't offer as many convenience methods such as :ref:`Array.map`. Typed arrays are in turn faster to iterate on and modify than untyped arrays. +\ **Differences between packed arrays, typed arrays, and untyped arrays:** Packed arrays are generally faster to iterate on and modify compared to a typed array of the same type (e.g. **PackedVector2Array** versus ``Array[Vector2]``). Also, packed arrays consume less memory. As a downside, packed arrays are less flexible as they don't offer as many convenience methods such as :ref:`Array.map`. Typed arrays are in turn faster to iterate on and modify than untyped arrays. \ **Note:** Packed arrays are always passed by reference. To get a copy of an array that can be modified independently of the original array, use :ref:`duplicate`. This is *not* the case for built-in properties and methods. The returned packed array of these are a copies, and changing it will *not* affect the original value. To update a built-in property you need to modify the returned array, and then assign it to the property again. @@ -75,6 +75,8 @@ Methods +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`Vector2`, from\: :ref:`int` = 0\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`Vector2`\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`Vector2`\ ) | @@ -278,6 +280,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedVector2Array_method_get: + +.. rst-class:: classref-method + +:ref:`Vector2` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the :ref:`Vector2` at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedVector2Array_method_has: .. rst-class:: classref-method diff --git a/classes/class_packedvector3array.rst b/classes/class_packedvector3array.rst index 9b667b549ed..a706938f48b 100644 --- a/classes/class_packedvector3array.rst +++ b/classes/class_packedvector3array.rst @@ -68,6 +68,8 @@ Methods +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`Vector3`, from\: :ref:`int` = 0\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector3` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`Vector3`\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`Vector3`\ ) | @@ -271,6 +273,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedVector3Array_method_get: + +.. rst-class:: classref-method + +:ref:`Vector3` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the :ref:`Vector3` at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedVector3Array_method_has: .. rst-class:: classref-method diff --git a/classes/class_packedvector4array.rst b/classes/class_packedvector4array.rst index 1ddf1682fac..119b8ffb415 100644 --- a/classes/class_packedvector4array.rst +++ b/classes/class_packedvector4array.rst @@ -66,6 +66,8 @@ Methods +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`find`\ (\ value\: :ref:`Vector4`, from\: :ref:`int` = 0\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector4` | :ref:`get`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has`\ (\ value\: :ref:`Vector4`\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`insert`\ (\ at_index\: :ref:`int`, value\: :ref:`Vector4`\ ) | @@ -267,6 +269,18 @@ Searches the array for a value and returns its index or ``-1`` if not found. Opt ---- +.. _class_PackedVector4Array_method_get: + +.. rst-class:: classref-method + +:ref:`Vector4` **get**\ (\ index\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the :ref:`Vector4` at the given ``index`` in the array. This is the same as using the ``[]`` operator (``array[index]``). + +.. rst-class:: classref-item-separator + +---- + .. _class_PackedVector4Array_method_has: .. rst-class:: classref-method diff --git a/classes/class_particleprocessmaterial.rst b/classes/class_particleprocessmaterial.rst index e471fec0b67..1347a023e85 100644 --- a/classes/class_particleprocessmaterial.rst +++ b/classes/class_particleprocessmaterial.rst @@ -676,6 +676,8 @@ Property Descriptions The alpha value of each particle's color will be multiplied by this :ref:`CurveTexture` over its lifetime. +\ **Note:** :ref:`alpha_curve` multiplies the particle mesh's vertex colors. To have a visible effect on a :ref:`BaseMaterial3D`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo` *must* be ``true``. For a :ref:`ShaderMaterial`, ``ALBEDO *= COLOR.rgb;`` must be inserted in the shader's ``fragment()`` function. Otherwise, :ref:`alpha_curve` will have no visible effect. + .. rst-class:: classref-item-separator ---- @@ -1212,7 +1214,7 @@ Particle color will be modulated by color determined by sampling this texture at Each particle's color will be multiplied by this :ref:`CurveTexture` over its lifetime. -\ **Note:** This property won't have a visible effect unless the render material is marked as unshaded. +\ **Note:** :ref:`emission_curve` multiplies the particle mesh's vertex colors. To have a visible effect on a :ref:`BaseMaterial3D`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo` *must* be ``true``. For a :ref:`ShaderMaterial`, ``ALBEDO *= COLOR.rgb;`` must be inserted in the shader's ``fragment()`` function. Otherwise, :ref:`emission_curve` will have no visible effect. .. rst-class:: classref-item-separator diff --git a/classes/class_pckpacker.rst b/classes/class_pckpacker.rst index 019f889c9d8..78ef8344e9a 100644 --- a/classes/class_pckpacker.rst +++ b/classes/class_pckpacker.rst @@ -55,7 +55,7 @@ Methods +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`flush`\ (\ verbose\: :ref:`bool` = false\ ) | +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`pck_start`\ (\ pck_name\: :ref:`String`, alignment\: :ref:`int` = 32, key\: :ref:`String` = "0000000000000000000000000000000000000000000000000000000000000000", encrypt_directory\: :ref:`bool` = false\ ) | + | :ref:`Error` | :ref:`pck_start`\ (\ pck_path\: :ref:`String`, alignment\: :ref:`int` = 32, key\: :ref:`String` = "0000000000000000000000000000000000000000000000000000000000000000", encrypt_directory\: :ref:`bool` = false\ ) | +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -95,9 +95,9 @@ Writes the files specified using all :ref:`add_file` **pck_start**\ (\ pck_name\: :ref:`String`, alignment\: :ref:`int` = 32, key\: :ref:`String` = "0000000000000000000000000000000000000000000000000000000000000000", encrypt_directory\: :ref:`bool` = false\ ) :ref:`πŸ”—` +:ref:`Error` **pck_start**\ (\ pck_path\: :ref:`String`, alignment\: :ref:`int` = 32, key\: :ref:`String` = "0000000000000000000000000000000000000000000000000000000000000000", encrypt_directory\: :ref:`bool` = false\ ) :ref:`πŸ”—` -Creates a new PCK file with the name ``pck_name``. The ``.pck`` file extension isn't added automatically, so it should be part of ``pck_name`` (even though it's not required). +Creates a new PCK file at the file path ``pck_path``. The ``.pck`` file extension isn't added automatically, so it should be part of ``pck_path`` (even though it's not required). .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_performance.rst b/classes/class_performance.rst index f66d110dc04..6bf532036b7 100644 --- a/classes/class_performance.rst +++ b/classes/class_performance.rst @@ -340,11 +340,51 @@ Number of navigation mesh polygon edges that could not be merged in the :ref:`Na Number of active navigation obstacles in the :ref:`NavigationServer3D`. +.. _class_Performance_constant_PIPELINE_COMPILATIONS_CANVAS: + +.. rst-class:: classref-enumeration-constant + +:ref:`Monitor` **PIPELINE_COMPILATIONS_CANVAS** = ``34`` + +Number of pipeline compilations that were triggered by the 2D canvas renderer. + +.. _class_Performance_constant_PIPELINE_COMPILATIONS_MESH: + +.. rst-class:: classref-enumeration-constant + +:ref:`Monitor` **PIPELINE_COMPILATIONS_MESH** = ``35`` + +Number of pipeline compilations that were triggered by loading meshes. These compilations will show up as longer loading times the first time a user runs the game and the pipeline is required. + +.. _class_Performance_constant_PIPELINE_COMPILATIONS_SURFACE: + +.. rst-class:: classref-enumeration-constant + +:ref:`Monitor` **PIPELINE_COMPILATIONS_SURFACE** = ``36`` + +Number of pipeline compilations that were triggered by building the surface cache before rendering the scene. These compilations will show up as a stutter when loading an scene the first time a user runs the game and the pipeline is required. + +.. _class_Performance_constant_PIPELINE_COMPILATIONS_DRAW: + +.. rst-class:: classref-enumeration-constant + +:ref:`Monitor` **PIPELINE_COMPILATIONS_DRAW** = ``37`` + +Number of pipeline compilations that were triggered while drawing the scene. These compilations will show up as stutters during gameplay the first time a user runs the game and the pipeline is required. + +.. _class_Performance_constant_PIPELINE_COMPILATIONS_SPECIALIZATION: + +.. rst-class:: classref-enumeration-constant + +:ref:`Monitor` **PIPELINE_COMPILATIONS_SPECIALIZATION** = ``38`` + +Number of pipeline compilations that were triggered to optimize the current scene. These compilations are done in the background and should not cause any stutters whatsoever. + .. _class_Performance_constant_MONITOR_MAX: .. rst-class:: classref-enumeration-constant -:ref:`Monitor` **MONITOR_MAX** = ``34`` +:ref:`Monitor` **MONITOR_MAX** = ``39`` Represents the size of the :ref:`Monitor` enum. diff --git a/classes/class_popupmenu.rst b/classes/class_popupmenu.rst index d58bc3a5406..d6536eb814b 100644 --- a/classes/class_popupmenu.rst +++ b/classes/class_popupmenu.rst @@ -1835,7 +1835,7 @@ Font size of the menu items. :ref:`StyleBox` **panel** :ref:`πŸ”—` -:ref:`StyleBox` for the the background panel. +:ref:`StyleBox` for the background panel. .. rst-class:: classref-item-separator diff --git a/classes/class_popuppanel.rst b/classes/class_popuppanel.rst index c72c9c55a66..b58dcc0bb73 100644 --- a/classes/class_popuppanel.rst +++ b/classes/class_popuppanel.rst @@ -48,7 +48,7 @@ Theme Property Descriptions :ref:`StyleBox` **panel** :ref:`πŸ”—` -:ref:`StyleBox` for the the background panel. +:ref:`StyleBox` for the background panel. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_projectsettings.rst b/classes/class_projectsettings.rst index 5151c9a6b48..1ec5cd31ed6 100644 --- a/classes/class_projectsettings.rst +++ b/classes/class_projectsettings.rst @@ -32,6 +32,8 @@ When naming a Project Settings property, use the full path to the setting includ Tutorials --------- +- :doc:`Project Settings <../tutorials/editor/project_settings>` + - `3D Physics Tests Demo `__ - `3D Platformer Demo `__ @@ -403,6 +405,10 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`display/window/energy_saving/keep_screen_on` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`display/window/frame_pacing/android/enable_frame_pacing` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`display/window/frame_pacing/android/swappy_mode` | ``2`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`display/window/handheld/orientation` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`display/window/ios/allow_high_refresh_rate` | ``true`` | @@ -433,6 +439,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`display/window/size/resizable` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`display/window/size/sharp_corners` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`display/window/size/transparent` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`display/window/size/viewport_height` | ``648`` | @@ -1287,6 +1295,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rendering/2d/batching/item_buffer_size` | ``16384`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`rendering/2d/batching/uniform_set_cache_size` | ``256`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rendering/2d/sdf/oversize` | ``1`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rendering/2d/sdf/scale` | ``1`` | @@ -1583,8 +1593,6 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`rendering/shading/overrides/force_vertex_shading` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`rendering/shading/overrides/force_vertex_shading.mobile` | ``true`` | - +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rendering/textures/canvas_textures/default_texture_filter` | ``1`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rendering/textures/canvas_textures/default_texture_repeat` | ``0`` | @@ -2032,7 +2040,7 @@ It may take several seconds at a stable frame rate before the smoothing is initi If ``true``, disables printing to standard error. If ``true``, this also hides error and warning messages printed by :ref:`@GlobalScope.push_error` and :ref:`@GlobalScope.push_warning`. See also :ref:`application/run/disable_stdout`. -Changes to this setting will only be applied upon restarting the application. +Changes to this setting will only be applied upon restarting the application. To control this at runtime, use :ref:`Engine.print_error_messages`. .. rst-class:: classref-item-separator @@ -2046,7 +2054,7 @@ Changes to this setting will only be applied upon restarting the application. If ``true``, disables printing to standard output. This is equivalent to starting the editor or project with the ``--quiet`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. See also :ref:`application/run/disable_stderr`. -Changes to this setting will only be applied upon restarting the application. +Changes to this setting will only be applied upon restarting the application. To control this at runtime, use :ref:`Engine.print_to_stdout`. .. rst-class:: classref-item-separator @@ -2246,6 +2254,8 @@ Specifies the audio driver to use. This setting is platform-dependent as each pl The ``Dummy`` audio driver disables all audio playback and recording, which is useful for non-game applications as it reduces CPU usage. It also prevents the engine from appearing as an application playing audio in the OS' audio mixer. +To query the value that is being used at run-time (which may be overridden by command-line arguments or headless mode), use :ref:`AudioServer.get_driver_name`. + \ **Note:** The driver in use can be overridden at runtime via the ``--audio-driver`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. .. rst-class:: classref-item-separator @@ -2958,7 +2968,7 @@ When set to ``warn`` or ``error``, produces a warning or an error respectively w :ref:`int` **debug/gdscript/warnings/shadowed_variable** = ``1`` :ref:`πŸ”—` -When set to ``warn`` or ``error``, produces a warning or an error respectively when defining a local or member variable that would shadow a member variable that the class defines. +When set to ``warn`` or ``error``, produces a warning or an error respectively when a local variable or local constant shadows a member declared in the current class. .. rst-class:: classref-item-separator @@ -2970,7 +2980,7 @@ When set to ``warn`` or ``error``, produces a warning or an error respectively w :ref:`int` **debug/gdscript/warnings/shadowed_variable_base_class** = ``1`` :ref:`πŸ”—` -When set to ``warn`` or ``error``, produces a warning or an error respectively when defining a local or subclass member variable that would shadow a variable that is inherited from a parent class. +When set to ``warn`` or ``error``, produces a warning or an error respectively when a local variable or local constant shadows a member declared in a base class. .. rst-class:: classref-item-separator @@ -3978,6 +3988,40 @@ If ``true``, keeps the screen on (even in case of inactivity), so the screensave ---- +.. _class_ProjectSettings_property_display/window/frame_pacing/android/enable_frame_pacing: + +.. rst-class:: classref-property + +:ref:`bool` **display/window/frame_pacing/android/enable_frame_pacing** = ``true`` :ref:`πŸ”—` + +Enable Swappy for stable frame pacing on Android. Highly recommended. + +\ **Note:** This option will be forced off when using OpenXR. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/window/frame_pacing/android/swappy_mode: + +.. rst-class:: classref-property + +:ref:`int` **display/window/frame_pacing/android/swappy_mode** = ``2`` :ref:`πŸ”—` + +Swappy mode to use. The options are: + +- pipeline_forced_on: Try to honor :ref:`Engine.max_fps`. Pipelining is always on. This is the same behavior as Desktop PC. + +- auto_fps_pipeline_forced_on: Autocalculate max fps. Actual max_fps will be between 0 and :ref:`Engine.max_fps`. While this sounds convenient, beware that Swappy will often downgrade max fps until it finds something that can be met and sustained. That means if your game runs between 40fps and 60fps on a 60hz screen, after some time Swappy will downgrade max fps so that the game renders at perfect 30fps. + +- auto_fps_auto_pipeline: Same as auto_fps_pipeline_forced_on, but if Swappy detects that rendering is very fast (e.g. it takes < 8ms to render on a 60hz screen) Swappy will disable pipelining to minimize input latency. This is the default. + +\ **Note:** If :ref:`Engine.max_fps` is 0, actual max_fps will considered as to be the screen's refresh rate (often 60hz, 90hz or 120hz depending on device model and OS settings). + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_display/window/handheld/orientation: .. rst-class:: classref-property @@ -4186,6 +4230,20 @@ If ``true``, allows the window to be resizable by default. ---- +.. _class_ProjectSettings_property_display/window/size/sharp_corners: + +.. rst-class:: classref-property + +:ref:`bool` **display/window/size/sharp_corners** = ``false`` :ref:`πŸ”—` + +If ``true``, the main window uses sharp corners by default. + +\ **Note:** This property is implemented only on Windows (11). + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_display/window/size/transparent: .. rst-class:: classref-property @@ -5990,7 +6048,7 @@ macOS specific override for the shortcut to select the word currently under the :ref:`Dictionary` **input/ui_text_skip_selection_for_next_occurrence** :ref:`πŸ”—` -If no selection is currently active with the last caret in text fields, searches for the next occurrence of the the word currently under the caret and moves the caret to the next occurrence. The action can be performed sequentially for other occurrences of the word under the last caret. +If no selection is currently active with the last caret in text fields, searches for the next occurrence of the word currently under the caret and moves the caret to the next occurrence. The action can be performed sequentially for other occurrences of the word under the last caret. If a selection is currently active with the last caret in text fields, searches for the next occurrence of the selection, adds a caret, selects the next occurrence then deselects the previous selection and its associated caret. The action can be performed sequentially for other occurrences of the selection of the last caret. @@ -9256,6 +9314,8 @@ Sets which physics engine to use for 2D physics. "DEFAULT" and "GodotPhysics2D" are the same, as there is currently no alternative 2D physics server implemented. +"Dummy" is a 2D physics server that does nothing and returns only dummy values, effectively disabling all 2D physics functionality. + .. rst-class:: classref-item-separator ---- @@ -9492,6 +9552,8 @@ Sets which physics engine to use for 3D physics. "DEFAULT" and "GodotPhysics3D" are the same, as there is currently no alternative 3D physics server implemented. +"Dummy" is a 3D physics server that does nothing and returns only dummy values, effectively disabling all 3D physics functionality. + .. rst-class:: classref-item-separator ---- @@ -9694,6 +9756,20 @@ Maximum number of canvas item commands that can be batched into a single draw ca ---- +.. _class_ProjectSettings_property_rendering/2d/batching/uniform_set_cache_size: + +.. rst-class:: classref-property + +:ref:`int` **rendering/2d/batching/uniform_set_cache_size** = ``256`` :ref:`πŸ”—` + +Maximum number of uniform sets that will be cached by the 2D renderer when batching draw calls. + +\ **Note:** A project that uses a large number of unique sprite textures per frame may benefit from increasing this value. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_rendering/2d/sdf/oversize: .. rst-class:: classref-property @@ -9780,10 +9856,12 @@ If ``true``, vertices of :ref:`CanvasItem` nodes will snap to :ref:`int` **rendering/anti_aliasing/quality/msaa_2d** = ``0`` :ref:`πŸ”—` -Sets the number of MSAA samples to use for 2D/Canvas rendering (as a power of two). MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware, especially integrated graphics due to their limited memory bandwidth. This has no effect on shader-induced aliasing or texture aliasing. +Sets the number of multisample antialiasing (MSAA) samples to use for 2D/Canvas rendering (as a power of two). MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware, especially integrated graphics due to their limited memory bandwidth. This has no effect on shader-induced aliasing or texture aliasing. \ **Note:** MSAA is only supported in the Forward+ and Mobile rendering methods, not Compatibility. +\ **Note:** This property is only read when the project starts. To set the number of 2D MSAA samples at runtime, set :ref:`Viewport.msaa_2d` or use :ref:`RenderingServer.viewport_set_msaa_2d`. + .. rst-class:: classref-item-separator ---- @@ -9794,7 +9872,9 @@ Sets the number of MSAA samples to use for 2D/Canvas rendering (as a power of tw :ref:`int` **rendering/anti_aliasing/quality/msaa_3d** = ``0`` :ref:`πŸ”—` -Sets the number of MSAA samples to use for 3D rendering (as a power of two). MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware, especially integrated graphics due to their limited memory bandwidth. See also :ref:`rendering/scaling_3d/mode` for supersampling, which provides higher quality but is much more expensive. This has no effect on shader-induced aliasing or texture aliasing. +Sets the number of multisample antialiasing (MSAA) samples to use for 3D rendering (as a power of two). MSAA is used to reduce aliasing around the edges of polygons. A higher MSAA value results in smoother edges but can be significantly slower on some hardware, especially integrated graphics due to their limited memory bandwidth. See also :ref:`rendering/scaling_3d/mode` for supersampling, which provides higher quality but is much more expensive. This has no effect on shader-induced aliasing or texture aliasing. + +\ **Note:** This property is only read when the project starts. To set the number of 3D MSAA samples at runtime, set :ref:`Viewport.msaa_3d` or use :ref:`RenderingServer.viewport_set_msaa_3d`. .. rst-class:: classref-item-separator @@ -9812,6 +9892,8 @@ Another way to combat specular aliasing is to enable :ref:`rendering/anti_aliasi \ **Note:** Screen-space antialiasing is only supported in the Forward+ and Mobile rendering methods, not Compatibility. +\ **Note:** This property is only read when the project starts. To set the screen-space antialiasing mode at runtime, set :ref:`Viewport.screen_space_aa` on the root :ref:`Viewport` instead, or use :ref:`RenderingServer.viewport_set_screen_space_aa`. + .. rst-class:: classref-item-separator ---- @@ -9826,7 +9908,7 @@ If ``true``, uses a fast post-processing filter to make banding significantly le In some cases, debanding may introduce a slightly noticeable dithering pattern. It's recommended to enable debanding only when actually needed since the dithering pattern will make lossless-compressed screenshots larger. -\ **Note:** This property is only read when the project starts. To set debanding at run-time, set :ref:`Viewport.use_debanding` on the root :ref:`Viewport` instead. +\ **Note:** This property is only read when the project starts. To set debanding at runtime, set :ref:`Viewport.use_debanding` on the root :ref:`Viewport` instead, or use :ref:`RenderingServer.viewport_set_use_debanding`. .. rst-class:: classref-item-separator @@ -9838,12 +9920,14 @@ In some cases, debanding may introduce a slightly noticeable dithering pattern. :ref:`bool` **rendering/anti_aliasing/quality/use_taa** = ``false`` :ref:`πŸ”—` -Enables Temporal Anti-Aliasing for the default screen :ref:`Viewport`. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion. Enabling TAA can make the image blurrier, which is partially counteracted by automatically using a negative mipmap LOD bias (see :ref:`rendering/textures/default_filters/texture_mipmap_bias`). +Enables temporal antialiasing for the default screen :ref:`Viewport`. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion. Enabling TAA can make the image blurrier, which is partially counteracted by automatically using a negative mipmap LOD bias (see :ref:`rendering/textures/default_filters/texture_mipmap_bias`). \ **Note:** The implementation is not complete yet. Some visual instances such as particles and skinned meshes may show ghosting artifacts in motion. \ **Note:** TAA is only supported in the Forward+ rendering method, not Mobile or Compatibility. +\ **Note:** This property is only read when the project starts. To set TAA at runtime, set :ref:`Viewport.use_taa` on the root :ref:`Viewport` instead, or use :ref:`RenderingServer.viewport_set_use_taa`. + .. rst-class:: classref-item-separator ---- @@ -11644,22 +11728,6 @@ Lower-end override for :ref:`rendering/shading/overrides/force_lambert_over_burl If ``true``, forces vertex shading for all rendering. This can increase performance a lot, but also reduces quality immensely. Can be used to optimize performance on low-end mobile devices. -\ **Note:** This setting currently has no effect, as vertex shading is not implemented yet. - -.. rst-class:: classref-item-separator - ----- - -.. _class_ProjectSettings_property_rendering/shading/overrides/force_vertex_shading.mobile: - -.. rst-class:: classref-property - -:ref:`bool` **rendering/shading/overrides/force_vertex_shading.mobile** = ``true`` :ref:`πŸ”—` - -Lower-end override for :ref:`rendering/shading/overrides/force_vertex_shading` on mobile devices, due to performance concerns or driver support. - -\ **Note:** This setting currently has no effect, as vertex shading is not implemented yet. - .. rst-class:: classref-item-separator ---- @@ -11794,9 +11862,9 @@ If ``true``, the GPU texture compressor will cache the local RenderingDevice and If ``true``, the texture importer will utilize the GPU for compressing textures, improving the import time of large images. -\ **Note:** This setting requires either Vulkan or D3D12 available as a rendering backend. +\ **Note:** This only functions on a device which supports either Vulkan, D3D12, or Metal available as a rendering backend. -\ **Note:** Currently this only affects BC1 and BC6H compression, which are used on Desktop and Console for fully opaque and HDR images respectively. +\ **Note:** Currently this only affects certain compressed formats (BC1, BC4, and BC6), all of which are exclusive to desktop platforms and consoles. .. rst-class:: classref-item-separator diff --git a/classes/class_refcounted.rst b/classes/class_refcounted.rst index bbbaac27d96..ab43256616c 100644 --- a/classes/class_refcounted.rst +++ b/classes/class_refcounted.rst @@ -12,7 +12,7 @@ RefCounted **Inherits:** :ref:`Object` -**Inherited By:** :ref:`AESContext`, :ref:`AStar2D`, :ref:`AStar3D`, :ref:`AStarGrid2D`, :ref:`AudioEffectInstance`, :ref:`AudioSample`, :ref:`AudioSamplePlayback`, :ref:`AudioStreamPlayback`, :ref:`CameraFeed`, :ref:`CharFXTransform`, :ref:`ConfigFile`, :ref:`Crypto`, :ref:`DirAccess`, :ref:`DTLSServer`, :ref:`EditorContextMenuPlugin`, :ref:`EditorDebuggerPlugin`, :ref:`EditorDebuggerSession`, :ref:`EditorExportPlatform`, :ref:`EditorExportPlugin`, :ref:`EditorExportPreset`, :ref:`EditorFeatureProfile`, :ref:`EditorFileSystemImportFormatSupportQuery`, :ref:`EditorInspectorPlugin`, :ref:`EditorResourceConversionPlugin`, :ref:`EditorResourcePreviewGenerator`, :ref:`EditorResourceTooltipPlugin`, :ref:`EditorSceneFormatImporter`, :ref:`EditorScenePostImport`, :ref:`EditorScenePostImportPlugin`, :ref:`EditorScript`, :ref:`EditorTranslationParserPlugin`, :ref:`EncodedObjectAsID`, :ref:`ENetConnection`, :ref:`EngineProfiler`, :ref:`Expression`, :ref:`FileAccess`, :ref:`HashingContext`, :ref:`HMACContext`, :ref:`HTTPClient`, :ref:`ImageFormatLoader`, :ref:`JavaClass`, :ref:`JavaObject`, :ref:`JavaScriptObject`, :ref:`KinematicCollision2D`, :ref:`KinematicCollision3D`, :ref:`Lightmapper`, :ref:`MeshConvexDecompositionSettings`, :ref:`MeshDataTool`, :ref:`MultiplayerAPI`, :ref:`Mutex`, :ref:`NavigationPathQueryParameters2D`, :ref:`NavigationPathQueryParameters3D`, :ref:`NavigationPathQueryResult2D`, :ref:`NavigationPathQueryResult3D`, :ref:`Node3DGizmo`, :ref:`OggPacketSequencePlayback`, :ref:`OpenXRAPIExtension`, :ref:`PackedDataContainerRef`, :ref:`PacketPeer`, :ref:`PCKPacker`, :ref:`PhysicsPointQueryParameters2D`, :ref:`PhysicsPointQueryParameters3D`, :ref:`PhysicsRayQueryParameters2D`, :ref:`PhysicsRayQueryParameters3D`, :ref:`PhysicsShapeQueryParameters2D`, :ref:`PhysicsShapeQueryParameters3D`, :ref:`PhysicsTestMotionParameters2D`, :ref:`PhysicsTestMotionParameters3D`, :ref:`PhysicsTestMotionResult2D`, :ref:`PhysicsTestMotionResult3D`, :ref:`RandomNumberGenerator`, :ref:`RDAttachmentFormat`, :ref:`RDFramebufferPass`, :ref:`RDPipelineColorBlendState`, :ref:`RDPipelineColorBlendStateAttachment`, :ref:`RDPipelineDepthStencilState`, :ref:`RDPipelineMultisampleState`, :ref:`RDPipelineRasterizationState`, :ref:`RDPipelineSpecializationConstant`, :ref:`RDSamplerState`, :ref:`RDShaderSource`, :ref:`RDTextureFormat`, :ref:`RDTextureView`, :ref:`RDUniform`, :ref:`RDVertexAttribute`, :ref:`RegEx`, :ref:`RegExMatch`, :ref:`RenderSceneBuffers`, :ref:`RenderSceneBuffersConfiguration`, :ref:`Resource`, :ref:`ResourceFormatLoader`, :ref:`ResourceFormatSaver`, :ref:`ResourceImporter`, :ref:`SceneState`, :ref:`SceneTreeTimer`, :ref:`Semaphore`, :ref:`SkinReference`, :ref:`StreamPeer`, :ref:`SurfaceTool`, :ref:`TCPServer`, :ref:`TextLine`, :ref:`TextParagraph`, :ref:`TextServer`, :ref:`Thread`, :ref:`TLSOptions`, :ref:`TranslationDomain`, :ref:`TriangleMesh`, :ref:`Tween`, :ref:`Tweener`, :ref:`UDPServer`, :ref:`UPNP`, :ref:`UPNPDevice`, :ref:`WeakRef`, :ref:`WebRTCPeerConnection`, :ref:`XMLParser`, :ref:`XRInterface`, :ref:`XRPose`, :ref:`XRTracker`, :ref:`ZIPPacker`, :ref:`ZIPReader` +**Inherited By:** :ref:`AESContext`, :ref:`AStar2D`, :ref:`AStar3D`, :ref:`AStarGrid2D`, :ref:`AudioEffectInstance`, :ref:`AudioSample`, :ref:`AudioSamplePlayback`, :ref:`AudioStreamPlayback`, :ref:`CameraFeed`, :ref:`CharFXTransform`, :ref:`ConfigFile`, :ref:`Crypto`, :ref:`DirAccess`, :ref:`DTLSServer`, :ref:`EditorContextMenuPlugin`, :ref:`EditorDebuggerPlugin`, :ref:`EditorDebuggerSession`, :ref:`EditorExportPlatform`, :ref:`EditorExportPlugin`, :ref:`EditorExportPreset`, :ref:`EditorFeatureProfile`, :ref:`EditorFileSystemImportFormatSupportQuery`, :ref:`EditorInspectorPlugin`, :ref:`EditorResourceConversionPlugin`, :ref:`EditorResourcePreviewGenerator`, :ref:`EditorResourceTooltipPlugin`, :ref:`EditorSceneFormatImporter`, :ref:`EditorScenePostImport`, :ref:`EditorScenePostImportPlugin`, :ref:`EditorScript`, :ref:`EditorTranslationParserPlugin`, :ref:`EncodedObjectAsID`, :ref:`ENetConnection`, :ref:`EngineProfiler`, :ref:`Expression`, :ref:`FileAccess`, :ref:`GLTFObjectModelProperty`, :ref:`HashingContext`, :ref:`HMACContext`, :ref:`HTTPClient`, :ref:`ImageFormatLoader`, :ref:`JavaClass`, :ref:`JavaObject`, :ref:`JavaScriptObject`, :ref:`KinematicCollision2D`, :ref:`KinematicCollision3D`, :ref:`Lightmapper`, :ref:`MeshConvexDecompositionSettings`, :ref:`MeshDataTool`, :ref:`MultiplayerAPI`, :ref:`Mutex`, :ref:`NavigationPathQueryParameters2D`, :ref:`NavigationPathQueryParameters3D`, :ref:`NavigationPathQueryResult2D`, :ref:`NavigationPathQueryResult3D`, :ref:`Node3DGizmo`, :ref:`OggPacketSequencePlayback`, :ref:`OpenXRAPIExtension`, :ref:`PackedDataContainerRef`, :ref:`PacketPeer`, :ref:`PCKPacker`, :ref:`PhysicsPointQueryParameters2D`, :ref:`PhysicsPointQueryParameters3D`, :ref:`PhysicsRayQueryParameters2D`, :ref:`PhysicsRayQueryParameters3D`, :ref:`PhysicsShapeQueryParameters2D`, :ref:`PhysicsShapeQueryParameters3D`, :ref:`PhysicsTestMotionParameters2D`, :ref:`PhysicsTestMotionParameters3D`, :ref:`PhysicsTestMotionResult2D`, :ref:`PhysicsTestMotionResult3D`, :ref:`RandomNumberGenerator`, :ref:`RDAttachmentFormat`, :ref:`RDFramebufferPass`, :ref:`RDPipelineColorBlendState`, :ref:`RDPipelineColorBlendStateAttachment`, :ref:`RDPipelineDepthStencilState`, :ref:`RDPipelineMultisampleState`, :ref:`RDPipelineRasterizationState`, :ref:`RDPipelineSpecializationConstant`, :ref:`RDSamplerState`, :ref:`RDShaderSource`, :ref:`RDTextureFormat`, :ref:`RDTextureView`, :ref:`RDUniform`, :ref:`RDVertexAttribute`, :ref:`RegEx`, :ref:`RegExMatch`, :ref:`RenderSceneBuffers`, :ref:`RenderSceneBuffersConfiguration`, :ref:`Resource`, :ref:`ResourceFormatLoader`, :ref:`ResourceFormatSaver`, :ref:`ResourceImporter`, :ref:`SceneState`, :ref:`SceneTreeTimer`, :ref:`Semaphore`, :ref:`SkinReference`, :ref:`StreamPeer`, :ref:`SurfaceTool`, :ref:`TCPServer`, :ref:`TextLine`, :ref:`TextParagraph`, :ref:`TextServer`, :ref:`Thread`, :ref:`TLSOptions`, :ref:`TranslationDomain`, :ref:`TriangleMesh`, :ref:`Tween`, :ref:`Tweener`, :ref:`UDPServer`, :ref:`UPNP`, :ref:`UPNPDevice`, :ref:`WeakRef`, :ref:`WebRTCPeerConnection`, :ref:`XMLParser`, :ref:`XRInterface`, :ref:`XRPose`, :ref:`XRTracker`, :ref:`ZIPPacker`, :ref:`ZIPReader` Base class for reference-counted objects. diff --git a/classes/class_renderingdevice.rst b/classes/class_renderingdevice.rst index 2ddbf90b608..bdc812ebb3e 100644 --- a/classes/class_renderingdevice.rst +++ b/classes/class_renderingdevice.rst @@ -103,6 +103,8 @@ Methods +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw_list_draw`\ (\ draw_list\: :ref:`int`, use_indices\: :ref:`bool`, instances\: :ref:`int`, procedural_vertex_count\: :ref:`int` = 0\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`draw_list_draw_indirect`\ (\ draw_list\: :ref:`int`, use_indices\: :ref:`bool`, buffer\: :ref:`RID`, offset\: :ref:`int` = 0, draw_count\: :ref:`int` = 1, stride\: :ref:`int` = 0\ ) | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw_list_enable_scissor`\ (\ draw_list\: :ref:`int`, rect\: :ref:`Rect2` = Rect2(0, 0, 0, 0)\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw_list_end`\ (\ ) | @@ -5168,6 +5170,18 @@ Submits ``draw_list`` for rendering on the GPU. This is the raster equivalent to ---- +.. _class_RenderingDevice_method_draw_list_draw_indirect: + +.. rst-class:: classref-method + +|void| **draw_list_draw_indirect**\ (\ draw_list\: :ref:`int`, use_indices\: :ref:`bool`, buffer\: :ref:`RID`, offset\: :ref:`int` = 0, draw_count\: :ref:`int` = 1, stride\: :ref:`int` = 0\ ) :ref:`πŸ”—` + +Submits ``draw_list`` for rendering on the GPU with the given parameters stored in the ``buffer`` at ``offset``. Parameters being integers: vertex count, instance count, first vertex, first instance. And when using indices: index count, instance count, first index, vertex offset, first instance. Buffer must have been created with :ref:`STORAGE_BUFFER_USAGE_DISPATCH_INDIRECT` flag. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingDevice_method_draw_list_enable_scissor: .. rst-class:: classref-method diff --git a/classes/class_renderingserver.rst b/classes/class_renderingserver.rst index 906733780db..da6b521604e 100644 --- a/classes/class_renderingserver.rst +++ b/classes/class_renderingserver.rst @@ -349,6 +349,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`environment_set_bg_energy`\ (\ env\: :ref:`RID`, multiplier\: :ref:`float`, exposure_value\: :ref:`float`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`environment_set_camera_id`\ (\ env\: :ref:`RID`, id\: :ref:`int`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`environment_set_canvas_max_layer`\ (\ env\: :ref:`RID`, max_layer\: :ref:`int`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`environment_set_fog`\ (\ env\: :ref:`RID`, enable\: :ref:`bool`, light_color\: :ref:`Color`, light_energy\: :ref:`float`, sun_scatter\: :ref:`float`, density\: :ref:`float`, height\: :ref:`float`, height_density\: :ref:`float`, aerial_perspective\: :ref:`float`, sky_affect\: :ref:`float`, fog_mode\: :ref:`EnvironmentFogMode` = 0\ ) | @@ -545,6 +547,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`light_set_shadow`\ (\ light\: :ref:`RID`, enabled\: :ref:`bool`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`light_set_shadow_caster_mask`\ (\ light\: :ref:`RID`, mask\: :ref:`int`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`lightmap_create`\ (\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedInt32Array` | :ref:`lightmap_get_probe_capture_bsp_tree`\ (\ lightmap\: :ref:`RID`\ ) |const| | @@ -4156,7 +4160,7 @@ Output color as they came in. This can cause bright lighting to look blown out, :ref:`EnvironmentToneMapper` **ENV_TONE_MAPPER_REINHARD** = ``1`` -Use the Reinhard tonemapper. Performs a variation on rendered pixels' colors by this formula: ``color = color / (1 + color)``. This avoids clipping bright highlights, but the resulting image can look a bit dull. +Use the Reinhard tonemapper. Performs a variation on rendered pixels' colors by this formula: ``color = color * (1 + color / (white * white)) / (1 + color)``. This avoids clipping bright highlights, but the resulting image can look a bit dull. When :ref:`Environment.tonemap_white` is left at the default value of ``1.0`` this is identical to :ref:`ENV_TONE_MAPPER_LINEAR` while also being slightly less performant. .. _class_RenderingServer_constant_ENV_TONE_MAPPER_FILMIC: @@ -5582,11 +5586,19 @@ Color global shader parameter (``global uniform vec4 ...``). Equivalent to :ref: Cubemap sampler global shader parameter (``global uniform samplerCube ...``). Exposed as a :ref:`Cubemap` in the editor UI. +.. _class_RenderingServer_constant_GLOBAL_VAR_TYPE_SAMPLEREXT: + +.. rst-class:: classref-enumeration-constant + +:ref:`GlobalShaderParameterType` **GLOBAL_VAR_TYPE_SAMPLEREXT** = ``28`` + +External sampler global shader parameter (``global uniform samplerExternalOES ...``). Exposed as a :ref:`ExternalTexture` in the editor UI. + .. _class_RenderingServer_constant_GLOBAL_VAR_TYPE_MAX: .. rst-class:: classref-enumeration-constant -:ref:`GlobalShaderParameterType` **GLOBAL_VAR_TYPE_MAX** = ``28`` +:ref:`GlobalShaderParameterType` **GLOBAL_VAR_TYPE_MAX** = ``29`` Represents the size of the :ref:`GlobalShaderParameterType` enum. @@ -5648,6 +5660,104 @@ Buffer memory used (in bytes). This includes vertex data, uniform buffers, and m Video memory used (in bytes). When using the Forward+ or mobile rendering backends, this is always greater than the sum of :ref:`RENDERING_INFO_TEXTURE_MEM_USED` and :ref:`RENDERING_INFO_BUFFER_MEM_USED`, since there is miscellaneous data not accounted for by those two metrics. When using the GL Compatibility backend, this is equal to the sum of :ref:`RENDERING_INFO_TEXTURE_MEM_USED` and :ref:`RENDERING_INFO_BUFFER_MEM_USED`. +.. _class_RenderingServer_constant_RENDERING_INFO_PIPELINE_COMPILATIONS_CANVAS: + +.. rst-class:: classref-enumeration-constant + +:ref:`RenderingInfo` **RENDERING_INFO_PIPELINE_COMPILATIONS_CANVAS** = ``6`` + +Number of pipeline compilations that were triggered by the 2D canvas renderer. + +.. _class_RenderingServer_constant_RENDERING_INFO_PIPELINE_COMPILATIONS_MESH: + +.. rst-class:: classref-enumeration-constant + +:ref:`RenderingInfo` **RENDERING_INFO_PIPELINE_COMPILATIONS_MESH** = ``7`` + +Number of pipeline compilations that were triggered by loading meshes. These compilations will show up as longer loading times the first time a user runs the game and the pipeline is required. + +.. _class_RenderingServer_constant_RENDERING_INFO_PIPELINE_COMPILATIONS_SURFACE: + +.. rst-class:: classref-enumeration-constant + +:ref:`RenderingInfo` **RENDERING_INFO_PIPELINE_COMPILATIONS_SURFACE** = ``8`` + +Number of pipeline compilations that were triggered by building the surface cache before rendering the scene. These compilations will show up as a stutter when loading an scene the first time a user runs the game and the pipeline is required. + +.. _class_RenderingServer_constant_RENDERING_INFO_PIPELINE_COMPILATIONS_DRAW: + +.. rst-class:: classref-enumeration-constant + +:ref:`RenderingInfo` **RENDERING_INFO_PIPELINE_COMPILATIONS_DRAW** = ``9`` + +Number of pipeline compilations that were triggered while drawing the scene. These compilations will show up as stutters during gameplay the first time a user runs the game and the pipeline is required. + +.. _class_RenderingServer_constant_RENDERING_INFO_PIPELINE_COMPILATIONS_SPECIALIZATION: + +.. rst-class:: classref-enumeration-constant + +:ref:`RenderingInfo` **RENDERING_INFO_PIPELINE_COMPILATIONS_SPECIALIZATION** = ``10`` + +Number of pipeline compilations that were triggered to optimize the current scene. These compilations are done in the background and should not cause any stutters whatsoever. + +.. rst-class:: classref-item-separator + +---- + +.. _enum_RenderingServer_PipelineSource: + +.. rst-class:: classref-enumeration + +enum **PipelineSource**: :ref:`πŸ”—` + +.. _class_RenderingServer_constant_PIPELINE_SOURCE_CANVAS: + +.. rst-class:: classref-enumeration-constant + +:ref:`PipelineSource` **PIPELINE_SOURCE_CANVAS** = ``0`` + +Pipeline compilation that was triggered by the 2D canvas renderer. + +.. _class_RenderingServer_constant_PIPELINE_SOURCE_MESH: + +.. rst-class:: classref-enumeration-constant + +:ref:`PipelineSource` **PIPELINE_SOURCE_MESH** = ``1`` + +Pipeline compilation that was triggered by loading a mesh. + +.. _class_RenderingServer_constant_PIPELINE_SOURCE_SURFACE: + +.. rst-class:: classref-enumeration-constant + +:ref:`PipelineSource` **PIPELINE_SOURCE_SURFACE** = ``2`` + +Pipeline compilation that was triggered by building the surface cache before rendering the scene. + +.. _class_RenderingServer_constant_PIPELINE_SOURCE_DRAW: + +.. rst-class:: classref-enumeration-constant + +:ref:`PipelineSource` **PIPELINE_SOURCE_DRAW** = ``3`` + +Pipeline compilation that was triggered while drawing the scene. + +.. _class_RenderingServer_constant_PIPELINE_SOURCE_SPECIALIZATION: + +.. rst-class:: classref-enumeration-constant + +:ref:`PipelineSource` **PIPELINE_SOURCE_SPECIALIZATION** = ``4`` + +Pipeline compilation that was triggered to optimize the current scene. + +.. _class_RenderingServer_constant_PIPELINE_SOURCE_MAX: + +.. rst-class:: classref-enumeration-constant + +:ref:`PipelineSource` **PIPELINE_SOURCE_MAX** = ``5`` + +Represents the size of the :ref:`PipelineSource` enum. + .. rst-class:: classref-item-separator ---- @@ -7112,7 +7222,7 @@ Sets the Z range of objects that will be affected by this light. Equivalent to : Transforms both the current and previous stored transform for a canvas light. -This allows transforming a light without creating a "glitch" in the interpolation, which is is particularly useful for large worlds utilizing a shifting origin. +This allows transforming a light without creating a "glitch" in the interpolation, which is particularly useful for large worlds utilizing a shifting origin. .. rst-class:: classref-item-separator @@ -7674,6 +7784,18 @@ Sets the intensity of the background color. ---- +.. _class_RenderingServer_method_environment_set_camera_id: + +.. rst-class:: classref-method + +|void| **environment_set_camera_id**\ (\ env\: :ref:`RID`, id\: :ref:`int`\ ) :ref:`πŸ”—` + +Sets the camera ID to be used as environment background. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_environment_set_canvas_max_layer: .. rst-class:: classref-method @@ -8930,6 +9052,18 @@ If ``true``, light will cast shadows. Equivalent to :ref:`Light3D.shadow_enabled ---- +.. _class_RenderingServer_method_light_set_shadow_caster_mask: + +.. rst-class:: classref-method + +|void| **light_set_shadow_caster_mask**\ (\ light\: :ref:`RID`, mask\: :ref:`int`\ ) :ref:`πŸ”—` + +Sets the shadow caster mask for this 3D light. Shadows will only be cast using objects in the selected layers. Equivalent to :ref:`Light3D.shadow_caster_mask`. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_lightmap_create: .. rst-class:: classref-method @@ -9743,6 +9877,12 @@ The per-instance data size and expected data order is: - Position + Custom data: 16 floats (12 floats for Transform3D, 4 floats of custom data) - Position + Vertex color + Custom data: 20 floats (12 floats for Transform3D, 4 floats for Color, 4 floats of custom data) +Instance transforms are in row-major order. Specifically: + +- For :ref:`Transform2D` the float-order is: ``(x.x, y.x, padding_float, origin.x, x.y, y.y, padding_float, origin.y)``. + +- For :ref:`Transform3D` the float-order is: ``(basis.x.x, basis.y.x, basis.z.x, origin.x, basis.x.y, basis.y.y, basis.z.y, origin.y, basis.x.z, basis.y.z, basis.z.z, origin.z)``. + .. rst-class:: classref-item-separator ---- @@ -11742,7 +11882,7 @@ Sets the measurement for the given ``viewport`` RID (obtained using :ref:`Viewpo |void| **viewport_set_msaa_2d**\ (\ viewport\: :ref:`RID`, msaa\: :ref:`ViewportMSAA`\ ) :ref:`πŸ”—` -Sets the multisample anti-aliasing mode for 2D/Canvas on the specified ``viewport`` RID. See :ref:`ViewportMSAA` for options. +Sets the multisample antialiasing mode for 2D/Canvas on the specified ``viewport`` RID. See :ref:`ViewportMSAA` for options. Equivalent to :ref:`ProjectSettings.rendering/anti_aliasing/quality/msaa_2d` or :ref:`Viewport.msaa_2d`. .. rst-class:: classref-item-separator @@ -11754,7 +11894,7 @@ Sets the multisample anti-aliasing mode for 2D/Canvas on the specified ``viewpor |void| **viewport_set_msaa_3d**\ (\ viewport\: :ref:`RID`, msaa\: :ref:`ViewportMSAA`\ ) :ref:`πŸ”—` -Sets the multisample anti-aliasing mode for 3D on the specified ``viewport`` RID. See :ref:`ViewportMSAA` for options. +Sets the multisample antialiasing mode for 3D on the specified ``viewport`` RID. See :ref:`ViewportMSAA` for options. Equivalent to :ref:`ProjectSettings.rendering/anti_aliasing/quality/msaa_3d` or :ref:`Viewport.msaa_3d`. .. rst-class:: classref-item-separator @@ -11878,7 +12018,7 @@ Sets a viewport's scenario. The scenario contains information about environment |void| **viewport_set_screen_space_aa**\ (\ viewport\: :ref:`RID`, mode\: :ref:`ViewportScreenSpaceAA`\ ) :ref:`πŸ”—` -Sets the viewport's screen-space antialiasing mode. +Sets the viewport's screen-space antialiasing mode. Equivalent to :ref:`ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa` or :ref:`Viewport.screen_space_aa`. .. rst-class:: classref-item-separator @@ -11976,7 +12116,7 @@ Sets when the viewport should be updated. See :ref:`ViewportUpdateMode`, enable\: :ref:`bool`\ ) :ref:`πŸ”—` -If ``true``, enables debanding on the specified viewport. Equivalent to :ref:`ProjectSettings.rendering/anti_aliasing/quality/use_debanding`. +If ``true``, enables debanding on the specified viewport. Equivalent to :ref:`ProjectSettings.rendering/anti_aliasing/quality/use_debanding` or :ref:`Viewport.use_debanding`. .. rst-class:: classref-item-separator @@ -12014,7 +12154,7 @@ If ``true``, enables occlusion culling on the specified viewport. Equivalent to |void| **viewport_set_use_taa**\ (\ viewport\: :ref:`RID`, enable\: :ref:`bool`\ ) :ref:`πŸ”—` -If ``true``, use Temporal Anti-Aliasing. Equivalent to :ref:`ProjectSettings.rendering/anti_aliasing/quality/use_taa`. +If ``true``, use temporal antialiasing. Equivalent to :ref:`ProjectSettings.rendering/anti_aliasing/quality/use_taa` or :ref:`Viewport.use_taa`. .. rst-class:: classref-item-separator diff --git a/classes/class_resource.rst b/classes/class_resource.rst index 6239494b12f..36a651ddc09 100644 --- a/classes/class_resource.rst +++ b/classes/class_resource.rst @@ -64,25 +64,39 @@ Methods .. table:: :widths: auto - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`_get_rid`\ (\ ) |virtual| |const| | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`_setup_local_to_scene`\ (\ ) |virtual| | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | :ref:`Resource` | :ref:`duplicate`\ (\ subresources\: :ref:`bool` = false\ ) |const| | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`emit_changed`\ (\ ) | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`generate_scene_unique_id`\ (\ ) |static| | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | :ref:`Node` | :ref:`get_local_scene`\ (\ ) |const| | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`get_rid`\ (\ ) |const| | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`setup_local_to_scene`\ (\ ) | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`take_over_path`\ (\ path\: :ref:`String`\ ) | - +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`_get_rid`\ (\ ) |virtual| |const| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_reset_state`\ (\ ) |virtual| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_set_path_cache`\ (\ path\: :ref:`String`\ ) |virtual| |const| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_setup_local_to_scene`\ (\ ) |virtual| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Resource` | :ref:`duplicate`\ (\ subresources\: :ref:`bool` = false\ ) |const| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`emit_changed`\ (\ ) | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`generate_scene_unique_id`\ (\ ) |static| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_id_for_path`\ (\ path\: :ref:`String`\ ) |const| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node` | :ref:`get_local_scene`\ (\ ) |const| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`get_rid`\ (\ ) |const| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_built_in`\ (\ ) |const| | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`reset_state`\ (\ ) | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_id_for_path`\ (\ path\: :ref:`String`, id\: :ref:`String`\ ) | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_path_cache`\ (\ path\: :ref:`String`\ ) | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`setup_local_to_scene`\ (\ ) | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`take_over_path`\ (\ path\: :ref:`String`\ ) | + +---------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -223,6 +237,30 @@ Override this method to return a custom :ref:`RID` when :ref:`get_rid ---- +.. _class_Resource_private_method__reset_state: + +.. rst-class:: classref-method + +|void| **_reset_state**\ (\ ) |virtual| :ref:`πŸ”—` + +For resources that use a variable number of properties, either via :ref:`Object._validate_property` or :ref:`Object._get_property_list`, this method should be implemented to correctly clear the resource's state. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Resource_private_method__set_path_cache: + +.. rst-class:: classref-method + +|void| **_set_path_cache**\ (\ path\: :ref:`String`\ ) |virtual| |const| :ref:`πŸ”—` + +Sets the resource's path to ``path`` without involving the resource cache. + +.. rst-class:: classref-item-separator + +---- + .. _class_Resource_private_method__setup_local_to_scene: .. rst-class:: classref-method @@ -304,6 +342,20 @@ Generates a unique identifier for a resource to be contained inside a :ref:`Pack ---- +.. _class_Resource_method_get_id_for_path: + +.. rst-class:: classref-method + +:ref:`String` **get_id_for_path**\ (\ path\: :ref:`String`\ ) |const| :ref:`πŸ”—` + +Returns the unique identifier for the resource with the given ``path`` from the resource cache. If the resource is not loaded and cached, an empty string is returned. + +\ **Note:** This method is only implemented when running in an editor context. At runtime, it returns an empty string. + +.. rst-class:: classref-item-separator + +---- + .. _class_Resource_method_get_local_scene: .. rst-class:: classref-method @@ -328,6 +380,56 @@ Returns the :ref:`RID` of this resource (or an empty RID). Many resou ---- +.. _class_Resource_method_is_built_in: + +.. rst-class:: classref-method + +:ref:`bool` **is_built_in**\ (\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if the resource is built-in (from the engine) or ``false`` if it is user-defined. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Resource_method_reset_state: + +.. rst-class:: classref-method + +|void| **reset_state**\ (\ ) :ref:`πŸ”—` + +For resources that use a variable number of properties, either via :ref:`Object._validate_property` or :ref:`Object._get_property_list`, override :ref:`_reset_state` to correctly clear the resource's state. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Resource_method_set_id_for_path: + +.. rst-class:: classref-method + +|void| **set_id_for_path**\ (\ path\: :ref:`String`, id\: :ref:`String`\ ) :ref:`πŸ”—` + +Sets the unique identifier to ``id`` for the resource with the given ``path`` in the resource cache. If the unique identifier is empty, the cache entry using ``path`` is removed if it exists. + +\ **Note:** This method is only implemented when running in an editor context. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Resource_method_set_path_cache: + +.. rst-class:: classref-method + +|void| **set_path_cache**\ (\ path\: :ref:`String`\ ) :ref:`πŸ”—` + +Sets the resource's path to ``path`` without involving the resource cache. + +.. rst-class:: classref-item-separator + +---- + .. _class_Resource_method_setup_local_to_scene: .. rst-class:: classref-method diff --git a/classes/class_resourceimporterobj.rst b/classes/class_resourceimporterobj.rst index cfc2b3127c6..4001f36b9a2 100644 --- a/classes/class_resourceimporterobj.rst +++ b/classes/class_resourceimporterobj.rst @@ -38,15 +38,23 @@ Properties .. table:: :widths: auto - +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ - | :ref:`bool` | :ref:`force_disable_mesh_compression` | ``false`` | - +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ - | :ref:`bool` | :ref:`generate_tangents` | ``true`` | - +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ - | :ref:`Vector3` | :ref:`offset_mesh` | ``Vector3(0, 0, 0)`` | - +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ - | :ref:`Vector3` | :ref:`scale_mesh` | ``Vector3(1, 1, 1)`` | - +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ + | :ref:`bool` | :ref:`force_disable_mesh_compression` | ``false`` | + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ + | :ref:`bool` | :ref:`generate_lightmap_uv2` | ``false`` | + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ + | :ref:`float` | :ref:`generate_lightmap_uv2_texel_size` | ``0.2`` | + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ + | :ref:`bool` | :ref:`generate_lods` | ``true`` | + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ + | :ref:`bool` | :ref:`generate_shadow_mesh` | ``true`` | + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ + | :ref:`bool` | :ref:`generate_tangents` | ``true`` | + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ + | :ref:`Vector3` | :ref:`offset_mesh` | ``Vector3(0, 0, 0)`` | + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ + | :ref:`Vector3` | :ref:`scale_mesh` | ``Vector3(1, 1, 1)`` | + +-------------------------------+--------------------------------------------------------------------------------------------------------------+----------------------+ .. rst-class:: classref-section-separator @@ -69,6 +77,56 @@ If ``true``, mesh compression will not be used. Consider enabling if you notice ---- +.. _class_ResourceImporterOBJ_property_generate_lightmap_uv2: + +.. rst-class:: classref-property + +:ref:`bool` **generate_lightmap_uv2** = ``false`` :ref:`πŸ”—` + +If ``true``, generates UV2 on import for :ref:`LightmapGI` baking. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ResourceImporterOBJ_property_generate_lightmap_uv2_texel_size: + +.. rst-class:: classref-property + +:ref:`float` **generate_lightmap_uv2_texel_size** = ``0.2`` :ref:`πŸ”—` + +Controls the size of each texel on the baked lightmap. A smaller value results in more precise lightmaps, at the cost of larger lightmap sizes and longer bake times. + +\ **Note:** Only effective if :ref:`generate_lightmap_uv2` is ``true``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ResourceImporterOBJ_property_generate_lods: + +.. rst-class:: classref-property + +:ref:`bool` **generate_lods** = ``true`` :ref:`πŸ”—` + +If ``true``, generates lower detail variants of the mesh which will be displayed in the distance to improve rendering performance. Not all meshes benefit from LOD, especially if they are never rendered from far away. Disabling this can reduce output file size and speed up importing. See `Mesh level of detail (LOD) <../tutorials/3d/mesh_lod.html#doc-mesh-lod>`__ for more information. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ResourceImporterOBJ_property_generate_shadow_mesh: + +.. rst-class:: classref-property + +:ref:`bool` **generate_shadow_mesh** = ``true`` :ref:`πŸ”—` + +If ``true``, enables the generation of shadow meshes on import. This optimizes shadow rendering without reducing quality by welding vertices together when possible. This in turn reduces the memory bandwidth required to render shadows. Shadow mesh generation currently doesn't support using a lower detail level than the source mesh (but shadow rendering will make use of LODs when relevant). + +.. rst-class:: classref-item-separator + +---- + .. _class_ResourceImporterOBJ_property_generate_tangents: .. rst-class:: classref-property diff --git a/classes/class_resourceloader.rst b/classes/class_resourceloader.rst index a039c11dda5..0bfcdaa6200 100644 --- a/classes/class_resourceloader.rst +++ b/classes/class_resourceloader.rst @@ -324,7 +324,7 @@ If this is called before the loading thread is done (i.e. :ref:`load_threaded_ge Returns the status of a threaded loading operation started with :ref:`load_threaded_request` for the resource at ``path``. See :ref:`ThreadLoadStatus` for possible return values. -An array variable can optionally be passed via ``progress``, and will return a one-element array containing the percentage of completion of the threaded loading. +An array variable can optionally be passed via ``progress``, and will return a one-element array containing the ratio of completion of the threaded loading (between ``0.0``\ Β and ``1.0``). \ **Note:** The recommended way of using this method is to call it during different frames (e.g., in :ref:`Node._process`, instead of a loop). diff --git a/classes/class_resourcesaver.rst b/classes/class_resourcesaver.rst index 9a132f8b9c2..5cae353d276 100644 --- a/classes/class_resourcesaver.rst +++ b/classes/class_resourcesaver.rst @@ -36,6 +36,8 @@ Methods +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_recognized_extensions`\ (\ type\: :ref:`Resource`\ ) | +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_resource_id_for_path`\ (\ path\: :ref:`String`, generate\: :ref:`bool` = false\ ) | + +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_resource_format_saver`\ (\ format_saver\: :ref:`ResourceFormatSaver`\ ) | +---------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`save`\ (\ resource\: :ref:`Resource`, path\: :ref:`String` = "", flags\: |bitfield|\[:ref:`SaverFlags`\] = 0\ ) | @@ -155,6 +157,18 @@ Returns the list of extensions available for saving a resource of a given type. ---- +.. _class_ResourceSaver_method_get_resource_id_for_path: + +.. rst-class:: classref-method + +:ref:`int` **get_resource_id_for_path**\ (\ path\: :ref:`String`, generate\: :ref:`bool` = false\ ) :ref:`πŸ”—` + +Returns the resource ID for the given path. If ``generate`` is ``true``, a new resource ID will be generated if one for the path is not found. If ``generate`` is ``false`` and the path is not found, :ref:`ResourceUID.INVALID_ID` is returned. + +.. rst-class:: classref-item-separator + +---- + .. _class_ResourceSaver_method_remove_resource_format_saver: .. rst-class:: classref-method diff --git a/classes/class_scenemultiplayer.rst b/classes/class_scenemultiplayer.rst index c5045087fe0..683287f4d44 100644 --- a/classes/class_scenemultiplayer.rst +++ b/classes/class_scenemultiplayer.rst @@ -157,7 +157,7 @@ If ``true``, the MultiplayerAPI will allow encoding and decoding of object durin - |void| **set_auth_callback**\ (\ value\: :ref:`Callable`\ ) - :ref:`Callable` **get_auth_callback**\ (\ ) -The callback to execute when when receiving authentication data sent via :ref:`send_auth`. If the :ref:`Callable` is empty (default), peers will be automatically accepted as soon as they connect. +The callback to execute when receiving authentication data sent via :ref:`send_auth`. If the :ref:`Callable` is empty (default), peers will be automatically accepted as soon as they connect. .. rst-class:: classref-item-separator diff --git a/classes/class_scrollcontainer.rst b/classes/class_scrollcontainer.rst index d5b548c9050..9a7de32f836 100644 --- a/classes/class_scrollcontainer.rst +++ b/classes/class_scrollcontainer.rst @@ -166,6 +166,14 @@ Scrolling enabled, scrollbar will be always visible. Scrolling enabled, scrollbar will be hidden. +.. _class_ScrollContainer_constant_SCROLL_MODE_RESERVE: + +.. rst-class:: classref-enumeration-constant + +:ref:`ScrollMode` **SCROLL_MODE_RESERVE** = ``4`` + +Combines :ref:`SCROLL_MODE_AUTO` and :ref:`SCROLL_MODE_SHOW_ALWAYS`. The scrollbar is only visible if necessary, but the content size is adjusted as if it was always visible. It's useful for ensuring that content size stays the same regardless if the scrollbar is visible. + .. rst-class:: classref-section-separator ---- diff --git a/classes/class_shader.rst b/classes/class_shader.rst index 20d7683c8d3..2201b315fa0 100644 --- a/classes/class_shader.rst +++ b/classes/class_shader.rst @@ -59,6 +59,8 @@ Methods +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_shader_uniform_list`\ (\ get_groups\: :ref:`bool` = false\ ) | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`inspect_native_shader_code`\ (\ ) | + +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_default_texture_parameter`\ (\ name\: :ref:`StringName`, texture\: :ref:`Texture`, index\: :ref:`int` = 0\ ) | +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -190,6 +192,18 @@ If argument ``get_groups`` is true, parameter grouping hints will be provided. ---- +.. _class_Shader_method_inspect_native_shader_code: + +.. rst-class:: classref-method + +|void| **inspect_native_shader_code**\ (\ ) :ref:`πŸ”—` + +Only available when running in the editor. Opens a popup that visualizes the generated shader code, including all variants and internal shader code. See also :ref:`Material.inspect_native_shader_code`. + +.. rst-class:: classref-item-separator + +---- + .. _class_Shader_method_set_default_texture_parameter: .. rst-class:: classref-method diff --git a/classes/class_shortcut.rst b/classes/class_shortcut.rst index 7d06b4bc86c..fad61bc5e07 100644 --- a/classes/class_shortcut.rst +++ b/classes/class_shortcut.rst @@ -21,7 +21,7 @@ Description Shortcuts are commonly used for interacting with a :ref:`Control` element from an :ref:`InputEvent` (also known as hotkeys). -One shortcut can contain multiple :ref:`InputEvent`'s, allowing the possibility of triggering one action with multiple different inputs. +One shortcut can contain multiple :ref:`InputEvent`\ s, allowing the possibility of triggering one action with multiple different inputs. .. rst-class:: classref-reftable-group diff --git a/classes/class_signal.rst b/classes/class_signal.rst index 04fd6d08243..d6d55d46bd2 100644 --- a/classes/class_signal.rst +++ b/classes/class_signal.rst @@ -17,7 +17,7 @@ A built-in type representing a signal of an :ref:`Object`. Description ----------- -**Signal** is a built-in :ref:`Variant` type that represents a signal of an :ref:`Object` instance. Like all :ref:`Variant` types, it can be stored in variables and passed to functions. Signals allow all connected :ref:`Callable`\ s (and by extension their respective objects) to listen and react to events, without directly referencing one another. This keeps the code flexible and easier to manage. +**Signal** is a built-in :ref:`Variant` type that represents a signal of an :ref:`Object` instance. Like all :ref:`Variant` types, it can be stored in variables and passed to functions. Signals allow all connected :ref:`Callable`\ s (and by extension their respective objects) to listen and react to events, without directly referencing one another. This keeps the code flexible and easier to manage. You can check whether an :ref:`Object` has a given signal name using :ref:`Object.has_signal`. In GDScript, signals can be declared with the ``signal`` keyword. In C#, you may use the ``[Signal]`` attribute on a delegate. @@ -96,6 +96,8 @@ Methods +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_object_id`\ (\ ) |const| | +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_connections`\ (\ ) |const| | + +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_connected`\ (\ callable\: :ref:`Callable`\ ) |const| | +-------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_null`\ (\ ) |const| | @@ -150,7 +152,7 @@ Constructs a **Signal** as a copy of the given **Signal**. :ref:`Signal` **Signal**\ (\ object\: :ref:`Object`, signal\: :ref:`StringName`\ ) -Creates a new **Signal** named ``signal`` in the specified ``object``. +Creates a **Signal** object referencing a signal named ``signal`` in the specified ``object``. .. rst-class:: classref-section-separator @@ -261,6 +263,18 @@ Returns the ID of the object emitting this signal (see :ref:`Object.get_instance ---- +.. _class_Signal_method_has_connections: + +.. rst-class:: classref-method + +:ref:`bool` **has_connections**\ (\ ) |const| :ref:`πŸ”—` + +Returns ``true`` if any :ref:`Callable` is connected to this signal. + +.. rst-class:: classref-item-separator + +---- + .. _class_Signal_method_is_connected: .. rst-class:: classref-method diff --git a/classes/class_springarm3d.rst b/classes/class_springarm3d.rst index 1c204ee4b81..37106d50bca 100644 --- a/classes/class_springarm3d.rst +++ b/classes/class_springarm3d.rst @@ -21,6 +21,13 @@ Description **SpringArm3D** casts a ray or a shape along its Z axis and moves all its direct children to the collision point, with an optional margin. This is useful for 3rd person cameras that move closer to the player when inside a tight space (you may need to exclude the player's collider from the **SpringArm3D**'s collision check). +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`Third-person camera with spring arm <../tutorials/3d/spring_arm>` + .. rst-class:: classref-reftable-group Properties diff --git a/classes/class_sprite2d.rst b/classes/class_sprite2d.rst index 4acb0f4a924..dce848200f5 100644 --- a/classes/class_sprite2d.rst +++ b/classes/class_sprite2d.rst @@ -263,7 +263,7 @@ If ``true``, texture is cut from a larger atlas texture. See :ref:`region_rect`\ ) - :ref:`bool` **is_region_filter_clip_enabled**\ (\ ) -If ``true``, the outermost pixels get blurred out. :ref:`region_enabled` must be ``true``. +If ``true``, the area outside of the :ref:`region_rect` is clipped to avoid bleeding of the surrounding texture pixels. :ref:`region_enabled` must be ``true``. .. rst-class:: classref-item-separator diff --git a/classes/class_string.rst b/classes/class_string.rst index dd13ac0f7f5..1622247b069 100644 --- a/classes/class_string.rst +++ b/classes/class_string.rst @@ -21,6 +21,8 @@ This is the built-in string Variant type (and the one used by GDScript). Strings Some string methods have corresponding variations. Variations suffixed with ``n`` (:ref:`countn`, :ref:`findn`, :ref:`replacen`, etc.) are **case-insensitive** (they make no distinction between uppercase and lowercase letters). Method variations prefixed with ``r`` (:ref:`rfind`, :ref:`rsplit`, etc.) are reversed, and start from the end of the string, instead of the beginning. +To convert any Variant to or from a string, see :ref:`@GlobalScope.str`, :ref:`@GlobalScope.str_to_var`, and :ref:`@GlobalScope.var_to_str`. + \ **Note:** In a boolean context, a string will evaluate to ``false`` if it is empty (``""``). Otherwise, a string will always evaluate to ``true``. .. note:: @@ -702,7 +704,7 @@ Returns the index of the **first** **case-insensitive** occurrence of ``what`` i Formats the string by replacing all occurrences of ``placeholder`` with the elements of ``values``. -\ ``values`` can be a :ref:`Dictionary` or an :ref:`Array`. Any underscores in ``placeholder`` will be replaced with the corresponding keys in advance. Array elements use their index as keys. +\ ``values`` can be a :ref:`Dictionary`, an :ref:`Array` or an :ref:`Object`. Any underscores in ``placeholder`` will be replaced with the corresponding keys in advance. Array elements use their index as keys. :: @@ -721,6 +723,14 @@ Some additional handling is performed when ``values`` is an :ref:`Array`, the property names from :ref:`Object.get_property_list` are used as keys. + +:: + + # Prints: Visible true, position (0, 0). + var node = Node2D.new() + print("Visible {visible}, position {position}".format(node)) + See also the :doc:`GDScript format string <../tutorials/scripting/gdscript/gdscript_format_string>` tutorial. \ **Note:** The replacement of placeholders is not done all at once, instead each placeholder is replaced in the order they are passed, this means that if one of the replacement strings contains a key it will also be replaced. This can be very powerful, but can also cause unexpected results if you are not careful. If you do not need to perform replacement in the replacement strings, make sure your replacements do not contain placeholders to ensure reliable results. diff --git a/classes/class_textedit.rst b/classes/class_textedit.rst index 9b5d5859749..0bc1520bca5 100644 --- a/classes/class_textedit.rst +++ b/classes/class_textedit.rst @@ -73,6 +73,8 @@ Properties +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`editable` | ``true`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`empty_selection_clipboard_enabled` | ``true`` | + +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`FocusMode` | focus_mode | ``2`` (overrides :ref:`Control`) | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`highlight_all_occurrences` | ``false`` | @@ -1361,6 +1363,23 @@ If ``false``, existing text cannot be modified and new text cannot be added. ---- +.. _class_TextEdit_property_empty_selection_clipboard_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **empty_selection_clipboard_enabled** = ``true`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_empty_selection_clipboard_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_empty_selection_clipboard_enabled**\ (\ ) + +If ``true``, copying or cutting without a selection is performed on all lines with a caret. Otherwise, copy and cut require a selection. + +.. rst-class:: classref-item-separator + +---- + .. _class_TextEdit_property_highlight_all_occurrences: .. rst-class:: classref-property diff --git a/classes/class_textserver.rst b/classes/class_textserver.rst index edc7de09559..12d9ea2749a 100644 --- a/classes/class_textserver.rst +++ b/classes/class_textserver.rst @@ -1896,6 +1896,16 @@ Returns outline contours of the glyph as a :ref:`Dictionary` w \ ``orientation`` - :ref:`bool`, contour orientation. If ``true``, clockwise contours must be filled. +- Two successive :ref:`CONTOUR_CURVE_TAG_ON` points indicate a line segment. + +- One :ref:`CONTOUR_CURVE_TAG_OFF_CONIC` point between two :ref:`CONTOUR_CURVE_TAG_ON` points indicates a single conic (quadratic) BΓ©zier arc. + +- Two :ref:`CONTOUR_CURVE_TAG_OFF_CUBIC` points between two :ref:`CONTOUR_CURVE_TAG_ON` points indicate a single cubic BΓ©zier arc. + +- Two successive :ref:`CONTOUR_CURVE_TAG_OFF_CONIC` points indicate two successive conic (quadratic) BΓ©zier arcs with a virtual :ref:`CONTOUR_CURVE_TAG_ON` point at their middle. + +- Each contour is closed. The last point of a contour uses the first point of a contour as its next point, and vice versa. The first point can be :ref:`CONTOUR_CURVE_TAG_OFF_CONIC` point. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_texture2d.rst b/classes/class_texture2d.rst index 6f90d931f2a..32def563b39 100644 --- a/classes/class_texture2d.rst +++ b/classes/class_texture2d.rst @@ -12,7 +12,7 @@ Texture2D **Inherits:** :ref:`Texture` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -**Inherited By:** :ref:`AnimatedTexture`, :ref:`AtlasTexture`, :ref:`CameraTexture`, :ref:`CanvasTexture`, :ref:`CompressedTexture2D`, :ref:`CurveTexture`, :ref:`CurveXYZTexture`, :ref:`GradientTexture1D`, :ref:`GradientTexture2D`, :ref:`ImageTexture`, :ref:`MeshTexture`, :ref:`NoiseTexture2D`, :ref:`PlaceholderTexture2D`, :ref:`PortableCompressedTexture2D`, :ref:`Texture2DRD`, :ref:`ViewportTexture` +**Inherited By:** :ref:`AnimatedTexture`, :ref:`AtlasTexture`, :ref:`CameraTexture`, :ref:`CanvasTexture`, :ref:`CompressedTexture2D`, :ref:`CurveTexture`, :ref:`CurveXYZTexture`, :ref:`ExternalTexture`, :ref:`GradientTexture1D`, :ref:`GradientTexture2D`, :ref:`ImageTexture`, :ref:`MeshTexture`, :ref:`NoiseTexture2D`, :ref:`PlaceholderTexture2D`, :ref:`PortableCompressedTexture2D`, :ref:`Texture2DRD`, :ref:`ViewportTexture` Texture for 2D and 3D. diff --git a/classes/class_transform2d.rst b/classes/class_transform2d.rst index 476b1c5c006..971c1092d2a 100644 --- a/classes/class_transform2d.rst +++ b/classes/class_transform2d.rst @@ -181,7 +181,7 @@ The identity **Transform2D**. A transform with no translation, no rotation, and - The :ref:`x` points right (:ref:`Vector2.RIGHT`); -- The :ref:`y` points up (:ref:`Vector2.UP`). +- The :ref:`y` points down (:ref:`Vector2.DOWN`). :: @@ -259,7 +259,7 @@ On the identity transform, this vector points right (:ref:`Vector2.RIGHT`, this represents the transform's rotation, scale, and skew. -On the identity transform, this vector points up (:ref:`Vector2.UP`). +On the identity transform, this vector points down (:ref:`Vector2.DOWN`). .. rst-class:: classref-section-separator diff --git a/classes/class_translationdomain.rst b/classes/class_translationdomain.rst index 10cfaa5b6d7..9f52c1a1ec3 100644 --- a/classes/class_translationdomain.rst +++ b/classes/class_translationdomain.rst @@ -25,6 +25,34 @@ If you're working with the main translation domain, it is more convenient to use .. rst-class:: classref-reftable-group +Properties +---------- + +.. table:: + :widths: auto + + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`pseudolocalization_accents_enabled` | ``true`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`pseudolocalization_double_vowels_enabled` | ``false`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`pseudolocalization_enabled` | ``false`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`float` | :ref:`pseudolocalization_expansion_ratio` | ``0.0`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`pseudolocalization_fake_bidi_enabled` | ``false`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`pseudolocalization_override_enabled` | ``false`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`String` | :ref:`pseudolocalization_prefix` | ``"["`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool` | :ref:`pseudolocalization_skip_placeholders_enabled` | ``true`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + | :ref:`String` | :ref:`pseudolocalization_suffix` | ``"]"`` | + +-----------------------------+------------------------------------------------------------------------------------------------------------------------------------+-----------+ + +.. rst-class:: classref-reftable-group + Methods ------- @@ -38,6 +66,8 @@ Methods +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Translation` | :ref:`get_translation_object`\ (\ locale\: :ref:`String`\ ) |const| | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`pseudolocalize`\ (\ message\: :ref:`StringName`\ ) |const| | + +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_translation`\ (\ translation\: :ref:`Translation`\ ) | +---------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`translate`\ (\ message\: :ref:`StringName`, context\: :ref:`StringName` = &""\ ) |const| | @@ -51,6 +81,182 @@ Methods .. rst-class:: classref-descriptions-group +Property Descriptions +--------------------- + +.. _class_TranslationDomain_property_pseudolocalization_accents_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **pseudolocalization_accents_enabled** = ``true`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_accents_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_pseudolocalization_accents_enabled**\ (\ ) + +Replace all characters with their accented variants during pseudolocalization. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TranslationDomain_property_pseudolocalization_double_vowels_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **pseudolocalization_double_vowels_enabled** = ``false`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_double_vowels_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_pseudolocalization_double_vowels_enabled**\ (\ ) + +Double vowels in strings during pseudolocalization to simulate the lengthening of text due to localization. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TranslationDomain_property_pseudolocalization_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **pseudolocalization_enabled** = ``false`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_pseudolocalization_enabled**\ (\ ) + +If ``true``, enables pseudolocalization for the project. This can be used to spot untranslatable strings or layout issues that may occur once the project is localized to languages that have longer strings than the source language. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TranslationDomain_property_pseudolocalization_expansion_ratio: + +.. rst-class:: classref-property + +:ref:`float` **pseudolocalization_expansion_ratio** = ``0.0`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_expansion_ratio**\ (\ value\: :ref:`float`\ ) +- :ref:`float` **get_pseudolocalization_expansion_ratio**\ (\ ) + +The expansion ratio to use during pseudolocalization. A value of ``0.3`` is sufficient for most practical purposes, and will increase the length of each string by 30%. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TranslationDomain_property_pseudolocalization_fake_bidi_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **pseudolocalization_fake_bidi_enabled** = ``false`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_fake_bidi_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_pseudolocalization_fake_bidi_enabled**\ (\ ) + +If ``true``, emulate bidirectional (right-to-left) text when pseudolocalization is enabled. This can be used to spot issues with RTL layout and UI mirroring that will crop up if the project is localized to RTL languages such as Arabic or Hebrew. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TranslationDomain_property_pseudolocalization_override_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **pseudolocalization_override_enabled** = ``false`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_override_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_pseudolocalization_override_enabled**\ (\ ) + +Replace all characters in the string with ``*``. Useful for finding non-localizable strings. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TranslationDomain_property_pseudolocalization_prefix: + +.. rst-class:: classref-property + +:ref:`String` **pseudolocalization_prefix** = ``"["`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_prefix**\ (\ value\: :ref:`String`\ ) +- :ref:`String` **get_pseudolocalization_prefix**\ (\ ) + +Prefix that will be prepended to the pseudolocalized string. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TranslationDomain_property_pseudolocalization_skip_placeholders_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **pseudolocalization_skip_placeholders_enabled** = ``true`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_skip_placeholders_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_pseudolocalization_skip_placeholders_enabled**\ (\ ) + +Skip placeholders for string formatting like ``%s`` or ``%f`` during pseudolocalization. Useful to identify strings which need additional control characters to display correctly. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TranslationDomain_property_pseudolocalization_suffix: + +.. rst-class:: classref-property + +:ref:`String` **pseudolocalization_suffix** = ``"]"`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_pseudolocalization_suffix**\ (\ value\: :ref:`String`\ ) +- :ref:`String` **get_pseudolocalization_suffix**\ (\ ) + +Suffix that will be appended to the pseudolocalized string. + +\ **Note:** Updating this property does not automatically update texts in the scene tree. Please propagate the :ref:`MainLoop.NOTIFICATION_TRANSLATION_CHANGED` notification manually after you have finished modifying pseudolocalization related options. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + Method Descriptions ------------------- @@ -90,6 +296,18 @@ Returns the :ref:`Translation` instance that best matches ``l ---- +.. _class_TranslationDomain_method_pseudolocalize: + +.. rst-class:: classref-method + +:ref:`StringName` **pseudolocalize**\ (\ message\: :ref:`StringName`\ ) |const| :ref:`πŸ”—` + +Returns the pseudolocalized string based on the ``message`` passed in. + +.. rst-class:: classref-item-separator + +---- + .. _class_TranslationDomain_method_remove_translation: .. rst-class:: classref-method diff --git a/classes/class_translationserver.rst b/classes/class_translationserver.rst index c49d161f8d5..2c2a3e67eba 100644 --- a/classes/class_translationserver.rst +++ b/classes/class_translationserver.rst @@ -122,7 +122,7 @@ Property Descriptions - |void| **set_pseudolocalization_enabled**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_pseudolocalization_enabled**\ (\ ) -If ``true``, enables the use of pseudolocalization. See :ref:`ProjectSettings.internationalization/pseudolocalization/use_pseudolocalization` for details. +If ``true``, enables the use of pseudolocalization on the main translation domain. See :ref:`ProjectSettings.internationalization/pseudolocalization/use_pseudolocalization` for details. .. rst-class:: classref-section-separator @@ -337,6 +337,8 @@ Returns ``true`` if a translation domain with the specified name exists. Returns the pseudolocalized string based on the ``message`` passed in. +\ **Note:** This method always uses the main translation domain. + .. rst-class:: classref-item-separator ---- @@ -347,7 +349,7 @@ Returns the pseudolocalized string based on the ``message`` passed in. |void| **reload_pseudolocalization**\ (\ ) :ref:`πŸ”—` -Reparses the pseudolocalization options and reloads the translation. +Reparses the pseudolocalization options and reloads the translation for the main translation domain. .. rst-class:: classref-item-separator diff --git a/classes/class_tree.rst b/classes/class_tree.rst index 59e259da06a..9d6596bbc92 100644 --- a/classes/class_tree.rst +++ b/classes/class_tree.rst @@ -197,6 +197,10 @@ Theme Properties +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`font_disabled_color` | ``Color(0.875, 0.875, 0.875, 0.5)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`font_hovered_color` | ``Color(0.95, 0.95, 0.95, 1)`` | + +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`font_hovered_dimmed_color` | ``Color(0.875, 0.875, 0.875, 1)`` | + +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`font_outline_color` | ``Color(0, 0, 0, 1)`` | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Color` | :ref:`font_selected_color` | ``Color(1, 1, 1, 1)`` | @@ -287,6 +291,8 @@ Theme Properties +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`Texture2D` | :ref:`updown` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`button_hover` | | + +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`StyleBox` | :ref:`button_pressed` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`StyleBox` | :ref:`cursor` | | @@ -301,6 +307,10 @@ Theme Properties +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`StyleBox` | :ref:`focus` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`hovered` | | + +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`hovered_dimmed` | | + +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`StyleBox` | :ref:`panel` | | +-----------------------------------+------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`StyleBox` | :ref:`selected` | | @@ -1364,6 +1374,30 @@ Text :ref:`Color` for a :ref:`TreeItem.CELL_MODE_CHECK` **font_hovered_color** = ``Color(0.95, 0.95, 0.95, 1)`` :ref:`πŸ”—` + +Text :ref:`Color` used when the item is hovered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Tree_theme_color_font_hovered_dimmed_color: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **font_hovered_dimmed_color** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`πŸ”—` + +Text :ref:`Color` used when the item is hovered, while a button of the same item is hovered as the same time. + +.. rst-class:: classref-item-separator + +---- + .. _class_Tree_theme_color_font_outline_color: .. rst-class:: classref-themeproperty @@ -1906,6 +1940,18 @@ The updown arrow icon to display for the :ref:`TreeItem.CELL_MODE_RANGE` **button_hover** :ref:`πŸ”—` + +:ref:`StyleBox` used when a button in the tree is hovered. + +.. rst-class:: classref-item-separator + +---- + .. _class_Tree_theme_style_button_pressed: .. rst-class:: classref-themeproperty @@ -1990,6 +2036,30 @@ The focused style for the **Tree**, drawn on top of everything. ---- +.. _class_Tree_theme_style_hovered: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **hovered** :ref:`πŸ”—` + +:ref:`StyleBox` for the item being hovered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_Tree_theme_style_hovered_dimmed: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **hovered_dimmed** :ref:`πŸ”—` + +:ref:`StyleBox` for the item being hovered, while a button of the same item is hovered as the same time. + +.. rst-class:: classref-item-separator + +---- + .. _class_Tree_theme_style_panel: .. rst-class:: classref-themeproperty diff --git a/classes/class_treeitem.rst b/classes/class_treeitem.rst index 1f6e7049ea8..6cbcd7e3f31 100644 --- a/classes/class_treeitem.rst +++ b/classes/class_treeitem.rst @@ -68,6 +68,8 @@ Methods +-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`erase_button`\ (\ column\: :ref:`int`, button_index\: :ref:`int`\ ) | +-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AutoTranslateMode` | :ref:`get_auto_translate_mode`\ (\ column\: :ref:`int`\ ) |const| | + +-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AutowrapMode` | :ref:`get_autowrap_mode`\ (\ column\: :ref:`int`\ ) |const| | +-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Texture2D` | :ref:`get_button`\ (\ column\: :ref:`int`, button_index\: :ref:`int`\ ) |const| | @@ -186,6 +188,8 @@ Methods +-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`select`\ (\ column\: :ref:`int`\ ) | +-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_auto_translate_mode`\ (\ column\: :ref:`int`, mode\: :ref:`AutoTranslateMode`\ ) | + +-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_autowrap_mode`\ (\ column\: :ref:`int`, autowrap_mode\: :ref:`AutowrapMode`\ ) | +-------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_button`\ (\ column\: :ref:`int`, button_index\: :ref:`int`, button\: :ref:`Texture2D`\ ) | @@ -504,6 +508,18 @@ Removes the button at index ``button_index`` in column ``column``. ---- +.. _class_TreeItem_method_get_auto_translate_mode: + +.. rst-class:: classref-method + +:ref:`AutoTranslateMode` **get_auto_translate_mode**\ (\ column\: :ref:`int`\ ) |const| :ref:`πŸ”—` + +Returns the column's auto translate mode. + +.. rst-class:: classref-item-separator + +---- + .. _class_TreeItem_method_get_autowrap_mode: .. rst-class:: classref-method @@ -1230,6 +1246,20 @@ Selects the given ``column``. ---- +.. _class_TreeItem_method_set_auto_translate_mode: + +.. rst-class:: classref-method + +|void| **set_auto_translate_mode**\ (\ column\: :ref:`int`, mode\: :ref:`AutoTranslateMode`\ ) :ref:`πŸ”—` + +Sets the given column's auto translate mode to ``mode``. + +All columns use :ref:`Node.AUTO_TRANSLATE_MODE_INHERIT` by default, which uses the same auto translate mode as the :ref:`Tree` itself. + +.. rst-class:: classref-item-separator + +---- + .. _class_TreeItem_method_set_autowrap_mode: .. rst-class:: classref-method diff --git a/classes/class_vector4i.rst b/classes/class_vector4i.rst index 87bb06bdca1..e84af60a362 100644 --- a/classes/class_vector4i.rst +++ b/classes/class_vector4i.rst @@ -566,7 +566,7 @@ Gets the remainder of each component of the **Vector4i** with the components of :ref:`Vector4i` **operator %**\ (\ right\: :ref:`int`\ ) :ref:`πŸ”—` -Gets the remainder of each component of the **Vector4i** with the the given :ref:`int`. This operation uses truncated division, which is often not desired as it does not work well with negative numbers. Consider using :ref:`@GlobalScope.posmod` instead if you want to handle negative numbers. +Gets the remainder of each component of the **Vector4i** with the given :ref:`int`. This operation uses truncated division, which is often not desired as it does not work well with negative numbers. Consider using :ref:`@GlobalScope.posmod` instead if you want to handle negative numbers. :: diff --git a/classes/class_viewport.rst b/classes/class_viewport.rst index 1d9186aed07..305cd1bdbdf 100644 --- a/classes/class_viewport.rst +++ b/classes/class_viewport.rst @@ -1337,7 +1337,9 @@ To control this property on the root viewport, set the :ref:`ProjectSettings.ren - |void| **set_msaa_2d**\ (\ value\: :ref:`MSAA`\ ) - :ref:`MSAA` **get_msaa_2d**\ (\ ) -The multisample anti-aliasing mode for 2D/Canvas rendering. A higher number results in smoother edges at the cost of significantly worse performance. A value of 2 or 4 is best unless targeting very high-end systems. This has no effect on shader-induced aliasing or texture aliasing. +The multisample antialiasing mode for 2D/Canvas rendering. A higher number results in smoother edges at the cost of significantly worse performance. A value of :ref:`MSAA_2X` or :ref:`MSAA_4X` is best unless targeting very high-end systems. This has no effect on shader-induced aliasing or texture aliasing. + +See also :ref:`ProjectSettings.rendering/anti_aliasing/quality/msaa_2d` and :ref:`RenderingServer.viewport_set_msaa_2d`. .. rst-class:: classref-item-separator @@ -1354,7 +1356,9 @@ The multisample anti-aliasing mode for 2D/Canvas rendering. A higher number resu - |void| **set_msaa_3d**\ (\ value\: :ref:`MSAA`\ ) - :ref:`MSAA` **get_msaa_3d**\ (\ ) -The multisample anti-aliasing mode for 3D rendering. A higher number results in smoother edges at the cost of significantly worse performance. A value of 2 or 4 is best unless targeting very high-end systems. See also bilinear scaling 3d :ref:`scaling_3d_mode` for supersampling, which provides higher quality but is much more expensive. This has no effect on shader-induced aliasing or texture aliasing. +The multisample antialiasing mode for 3D rendering. A higher number results in smoother edges at the cost of significantly worse performance. A value of :ref:`MSAA_2X` or :ref:`MSAA_4X` is best unless targeting very high-end systems. See also bilinear scaling 3d :ref:`scaling_3d_mode` for supersampling, which provides higher quality but is much more expensive. This has no effect on shader-induced aliasing or texture aliasing. + +See also :ref:`ProjectSettings.rendering/anti_aliasing/quality/msaa_3d` and :ref:`RenderingServer.viewport_set_msaa_3d`. .. rst-class:: classref-item-separator @@ -1595,6 +1599,8 @@ To control this property on the root viewport, set the :ref:`ProjectSettings.ren Sets the screen-space antialiasing method used. Screen-space antialiasing works by selectively blurring edges in a post-process shader. It differs from MSAA which takes multiple coverage samples while rendering objects. Screen-space AA methods are typically faster than MSAA and will smooth out specular aliasing, but tend to make scenes appear blurry. +See also :ref:`ProjectSettings.rendering/anti_aliasing/quality/screen_space_aa` and :ref:`RenderingServer.viewport_set_screen_space_aa`. + .. rst-class:: classref-item-separator ---- @@ -1720,10 +1726,12 @@ If ``true``, the viewport should render its background as transparent. - |void| **set_use_debanding**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_using_debanding**\ (\ ) -If ``true``, uses a fast post-processing filter to make banding significantly less visible in 3D. 2D rendering is *not* affected by debanding unless the :ref:`Environment.background_mode` is :ref:`Environment.BG_CANVAS`. See also :ref:`ProjectSettings.rendering/anti_aliasing/quality/use_debanding`. +If ``true``, uses a fast post-processing filter to make banding significantly less visible in 3D. 2D rendering is *not* affected by debanding unless the :ref:`Environment.background_mode` is :ref:`Environment.BG_CANVAS`. In some cases, debanding may introduce a slightly noticeable dithering pattern. It's recommended to enable debanding only when actually needed since the dithering pattern will make lossless-compressed screenshots larger. +See also :ref:`ProjectSettings.rendering/anti_aliasing/quality/use_debanding` and :ref:`RenderingServer.viewport_set_use_debanding`. + .. rst-class:: classref-item-separator ---- @@ -1779,10 +1787,12 @@ If ``true``, :ref:`OccluderInstance3D` nodes will be u - |void| **set_use_taa**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_using_taa**\ (\ ) -Enables Temporal Anti-Aliasing for this viewport. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion. +Enables temporal antialiasing for this viewport. TAA works by jittering the camera and accumulating the images of the last rendered frames, motion vector rendering is used to account for camera and object motion. \ **Note:** The implementation is not complete yet, some visual instances such as particles and skinned meshes may show artifacts. +See also :ref:`ProjectSettings.rendering/anti_aliasing/quality/use_taa` and :ref:`RenderingServer.viewport_set_use_taa`. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_visualshadernoderemap.rst b/classes/class_visualshadernoderemap.rst index d1dc531405d..b127da50fe2 100644 --- a/classes/class_visualshadernoderemap.rst +++ b/classes/class_visualshadernoderemap.rst @@ -21,6 +21,121 @@ Description Remap will transform the input range into output range, e.g. you can change a ``0..1`` value to ``-2..2`` etc. See :ref:`@GlobalScope.remap` for more details. +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +--------------------------------------------------+--------------------------------------------------------------+-------+ + | :ref:`OpType` | :ref:`op_type` | ``0`` | + +--------------------------------------------------+--------------------------------------------------------------+-------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Enumerations +------------ + +.. _enum_VisualShaderNodeRemap_OpType: + +.. rst-class:: classref-enumeration + +enum **OpType**: :ref:`πŸ”—` + +.. _class_VisualShaderNodeRemap_constant_OP_TYPE_SCALAR: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpType` **OP_TYPE_SCALAR** = ``0`` + +A floating-point scalar type. + +.. _class_VisualShaderNodeRemap_constant_OP_TYPE_VECTOR_2D: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpType` **OP_TYPE_VECTOR_2D** = ``1`` + +A 2D vector type. + +.. _class_VisualShaderNodeRemap_constant_OP_TYPE_VECTOR_2D_SCALAR: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpType` **OP_TYPE_VECTOR_2D_SCALAR** = ``2`` + +The ``value`` port uses a 2D vector type, while the ``input min``, ``input max``, ``output min``, and ``output max`` ports use a floating-point scalar type. + +.. _class_VisualShaderNodeRemap_constant_OP_TYPE_VECTOR_3D: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpType` **OP_TYPE_VECTOR_3D** = ``3`` + +A 3D vector type. + +.. _class_VisualShaderNodeRemap_constant_OP_TYPE_VECTOR_3D_SCALAR: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpType` **OP_TYPE_VECTOR_3D_SCALAR** = ``4`` + +The ``value`` port uses a 3D vector type, while the ``input min``, ``input max``, ``output min``, and ``output max`` ports use a floating-point scalar type. + +.. _class_VisualShaderNodeRemap_constant_OP_TYPE_VECTOR_4D: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpType` **OP_TYPE_VECTOR_4D** = ``5`` + +A 4D vector type. + +.. _class_VisualShaderNodeRemap_constant_OP_TYPE_VECTOR_4D_SCALAR: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpType` **OP_TYPE_VECTOR_4D_SCALAR** = ``6`` + +The ``value`` port uses a 4D vector type, while the ``input min``, ``input max``, ``output min``, and ``output max`` ports use a floating-point scalar type. + +.. _class_VisualShaderNodeRemap_constant_OP_TYPE_MAX: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpType` **OP_TYPE_MAX** = ``7`` + +Represents the size of the :ref:`OpType` enum. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_VisualShaderNodeRemap_property_op_type: + +.. rst-class:: classref-property + +:ref:`OpType` **op_type** = ``0`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_op_type**\ (\ value\: :ref:`OpType`\ ) +- :ref:`OpType` **get_op_type**\ (\ ) + +.. container:: contribute + + There is currently no description for this property. Please help us by :ref:`contributing one `! + .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` diff --git a/classes/class_webxrinterface.rst b/classes/class_webxrinterface.rst index de4deb8f978..a2526124c2c 100644 --- a/classes/class_webxrinterface.rst +++ b/classes/class_webxrinterface.rst @@ -376,7 +376,7 @@ enum **TargetRayMode**: :ref:`πŸ”—` :ref:`TargetRayMode` **TARGET_RAY_MODE_UNKNOWN** = ``0`` -We don't know the the target ray mode. +We don't know the target ray mode. .. _class_WebXRInterface_constant_TARGET_RAY_MODE_GAZE: diff --git a/classes/class_window.rst b/classes/class_window.rst index 004a0b70cf9..5d6c7f4f4cf 100644 --- a/classes/class_window.rst +++ b/classes/class_window.rst @@ -76,6 +76,8 @@ Properties +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+ | :ref:`Vector2i` | :ref:`position` | ``Vector2i(0, 0)`` | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+ + | :ref:`bool` | :ref:`sharp_corners` | ``false`` | + +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+ | :ref:`Vector2i` | :ref:`size` | ``Vector2i(100, 100)`` | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------+ | :ref:`Theme` | :ref:`theme` | | @@ -623,11 +625,23 @@ All mouse events are passed to the underlying window of the same application. \ **Note:** This flag has no effect in embedded windows. +.. _class_Window_constant_FLAG_SHARP_CORNERS: + +.. rst-class:: classref-enumeration-constant + +:ref:`Flags` **FLAG_SHARP_CORNERS** = ``8`` + +Window style is overridden, forcing sharp corners. + +\ **Note:** This flag has no effect in embedded windows. + +\ **Note:** This flag is implemented only on Windows (11). + .. _class_Window_constant_FLAG_MAX: .. rst-class:: classref-enumeration-constant -:ref:`Flags` **FLAG_MAX** = ``8`` +:ref:`Flags` **FLAG_MAX** = ``9`` Max value of the :ref:`Flags`. @@ -759,11 +773,11 @@ enum **LayoutDirection**: :ref:`πŸ”—` Automatic layout direction, determined from the parent window layout direction. -.. _class_Window_constant_LAYOUT_DIRECTION_LOCALE: +.. _class_Window_constant_LAYOUT_DIRECTION_APPLICATION_LOCALE: .. rst-class:: classref-enumeration-constant -:ref:`LayoutDirection` **LAYOUT_DIRECTION_LOCALE** = ``1`` +:ref:`LayoutDirection` **LAYOUT_DIRECTION_APPLICATION_LOCALE** = ``1`` Automatic layout direction, determined from the current locale. @@ -783,6 +797,32 @@ Left-to-right layout direction. Right-to-left layout direction. +.. _class_Window_constant_LAYOUT_DIRECTION_SYSTEM_LOCALE: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_SYSTEM_LOCALE** = ``4`` + +Automatic layout direction, determined from the system locale. + +.. _class_Window_constant_LAYOUT_DIRECTION_MAX: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_MAX** = ``5`` + +Represents the size of the :ref:`LayoutDirection` enum. + +.. _class_Window_constant_LAYOUT_DIRECTION_LOCALE: + +.. rst-class:: classref-enumeration-constant + +:ref:`LayoutDirection` **LAYOUT_DIRECTION_LOCALE** = ``1`` + +**Deprecated:** Use :ref:`LAYOUT_DIRECTION_APPLICATION_LOCALE` instead. + + + .. rst-class:: classref-item-separator ---- @@ -1301,6 +1341,27 @@ If :ref:`ProjectSettings.display/window/subwindows/embed_subwindows` **sharp_corners** = ``false`` :ref:`πŸ”—` + +.. rst-class:: classref-property-setget + +- |void| **set_flag**\ (\ flag\: :ref:`Flags`, enabled\: :ref:`bool`\ ) +- :ref:`bool` **get_flag**\ (\ flag\: :ref:`Flags`\ ) |const| + +If ``true``, the **Window** will override the OS window style to display sharp corners. + +\ **Note:** This property is implemented only on Windows (11). + +\ **Note:** This property only works with native windows. + +.. rst-class:: classref-item-separator + +---- + .. _class_Window_property_size: .. rst-class:: classref-property diff --git a/classes/index.rst b/classes/index.rst index cbf5aae860f..b2e89e02839 100644 --- a/classes/index.rst +++ b/classes/index.rst @@ -398,6 +398,7 @@ Resources class_editorsettings class_editorsyntaxhighlighter class_environment + class_externaltexture class_fastnoiselite class_fbxdocument class_fbxstate @@ -774,6 +775,7 @@ Other objects class_gdextensionmanager class_geometry2d class_geometry3d + class_gltfobjectmodelproperty class_hashingcontext class_hmaccontext class_httpclient