diff --git a/classes/class_@gdscript.rst b/classes/class_@gdscript.rst index 6cabd68e5..b4c42ad5e 100644 --- a/classes/class_@gdscript.rst +++ b/classes/class_@gdscript.rst @@ -722,7 +722,7 @@ Returns the Object that corresponds to ``instance_id``. All Objects have a uniqu - :ref:`float` **inverse_lerp** **(** :ref:`float` from, :ref:`float` to, :ref:`float` weight **)** -Returns an interpolation or extrapolation factor considering the range specified in ``from`` and ``to``, and the interpolated value specified in ``weight``. The returned value will be between ``0.0`` and ``1.0`` if ``weight`` is between ``from`` and ``to`` (inclusive). If ``weight`` is located outside this range, then an extrapolation factor will be returned (return value lower than ``0.0`` or greater than ``1.0``). +Returns an interpolation or extrapolation factor considering the range specified in ``from`` and ``to``, and the interpolated value specified in ``weight``. The returned value will be between ``0.0`` and ``1.0`` if ``weight`` is between ``from`` and ``to`` (inclusive). If ``weight`` is located outside this range, then an extrapolation factor will be returned (return value lower than ``0.0`` or greater than ``1.0``). Use :ref:`clamp` on the result of :ref:`inverse_lerp` if this is not desired. :: @@ -733,7 +733,7 @@ Returns an interpolation or extrapolation factor considering the range specified var ratio = inverse_lerp(20, 30, 27.5) # `ratio` is now 0.75. -See also :ref:`lerp` which performs the reverse of this operation. +See also :ref:`lerp` which performs the reverse of this operation, and :ref:`range_lerp` to map a continuous series of values to another. ---- @@ -802,7 +802,7 @@ Returns length of Variant ``var``. Length is the character count of String, elem - :ref:`Variant` **lerp** **(** :ref:`Variant` from, :ref:`Variant` to, :ref:`float` weight **)** -Linearly interpolates between two values by the factor defined in ``weight``. To perform interpolation, ``weight`` should be between ``0.0`` and ``1.0`` (inclusive). However, values outside this range are allowed and can be used to perform *extrapolation*. +Linearly interpolates between two values by the factor defined in ``weight``. To perform interpolation, ``weight`` should be between ``0.0`` and ``1.0`` (inclusive). However, values outside this range are allowed and can be used to perform *extrapolation*. Use :ref:`clamp` on the result of :ref:`lerp` if this is not desired. If the ``from`` and ``to`` arguments are of type :ref:`int` or :ref:`float`, the return value is a :ref:`float`. @@ -813,7 +813,7 @@ If both are of the same vector type (:ref:`Vector2`, :ref:`Vector lerp(0, 4, 0.75) # Returns 3.0 lerp(Vector2(1, 5), Vector2(3, 2), 0.5) # Returns Vector2(2, 3.5) -See also :ref:`inverse_lerp` which performs the reverse of this operation. To perform eased interpolation with :ref:`lerp`, combine it with :ref:`ease` or :ref:`smoothstep`. +See also :ref:`inverse_lerp` which performs the reverse of this operation. To perform eased interpolation with :ref:`lerp`, combine it with :ref:`ease` or :ref:`smoothstep`. See also :ref:`range_lerp` to map a continuous series of values to another. ---- @@ -1293,12 +1293,14 @@ Output: - :ref:`float` **range_lerp** **(** :ref:`float` value, :ref:`float` istart, :ref:`float` istop, :ref:`float` ostart, :ref:`float` ostop **)** -Maps a ``value`` from range ``[istart, istop]`` to ``[ostart, ostop]``. +Maps a ``value`` from range ``[istart, istop]`` to ``[ostart, ostop]``. See also :ref:`lerp` and :ref:`inverse_lerp`. If ``value`` is outside ``[istart, istop]``, then the resulting value will also be outside ``[ostart, ostop]``. Use :ref:`clamp` on the result of :ref:`range_lerp` if this is not desired. :: range_lerp(75, 0, 100, -1, 1) # Returns 0.5 +For complex use cases where you need multiple ranges, consider using :ref:`Curve` or :ref:`Gradient` instead. + ---- .. _class_@GDScript_method_round: diff --git a/classes/class_@globalscope.rst b/classes/class_@globalscope.rst index 086866b99..e176af2c8 100644 --- a/classes/class_@globalscope.rst +++ b/classes/class_@globalscope.rst @@ -667,7 +667,7 @@ enum **KeyList**: - **KEY_TAB** = **16777218** --- Tab key. -- **KEY_BACKTAB** = **16777219** --- Shift+Tab key. +- **KEY_BACKTAB** = **16777219** --- Shift + Tab key. - **KEY_BACKSPACE** = **16777220** --- Backspace key. @@ -1944,6 +1944,8 @@ Since :ref:`OK` has value 0, and all other failu .. _class_@GlobalScope_constant_PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS: +.. _class_@GlobalScope_constant_PROPERTY_HINT_LOCALE_ID: + enum **PropertyHint**: - **PROPERTY_HINT_NONE** = **0** --- No hint for the edited property. @@ -2000,6 +2002,8 @@ Unlike :ref:`PROPERTY_HINT_ENUM` - **PROPERTY_HINT_IMAGE_COMPRESS_LOSSLESS** = **24** --- Hints that an image is compressed using lossless compression. +- **PROPERTY_HINT_LOCALE_ID** = **40** --- Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country. + ---- .. _enum_@GlobalScope_PropertyUsageFlags: diff --git a/classes/class_animationnode.rst b/classes/class_animationnode.rst index 3f4db779a..d608b26d6 100644 --- a/classes/class_animationnode.rst +++ b/classes/class_animationnode.rst @@ -63,7 +63,7 @@ Methods +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_parameter_list` **(** **)** |virtual| | +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`has_filter` **(** **)** |virtual| | +| :ref:`bool` | :ref:`has_filter` **(** **)** |virtual| | +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_path_filtered` **(** :ref:`NodePath` path **)** |const| | +-------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -170,7 +170,7 @@ Blend another animation node (in case this node contains children animation node - :ref:`String` **get_caption** **(** **)** |virtual| -Gets the text caption for this node (used by some editors). +When inheriting from :ref:`AnimationRootNode`, implement this virtual method to override the text caption for this node. ---- @@ -178,7 +178,7 @@ Gets the text caption for this node (used by some editors). - :ref:`Object` **get_child_by_name** **(** :ref:`String` name **)** |virtual| -Gets a child node by index (used by editors inheriting from :ref:`AnimationRootNode`). +When inheriting from :ref:`AnimationRootNode`, implement this virtual method to return a child node by its ``name``. ---- @@ -186,7 +186,7 @@ Gets a child node by index (used by editors inheriting from :ref:`AnimationRootN - :ref:`Dictionary` **get_child_nodes** **(** **)** |virtual| -Gets all children nodes in order as a ``name: node`` dictionary. Only useful when inheriting :ref:`AnimationRootNode`. +When inheriting from :ref:`AnimationRootNode`, implement this virtual method to return all children nodes in order as a ``name: node`` dictionary. ---- @@ -218,7 +218,7 @@ Gets the value of a parameter. Parameters are custom local memory used for your - :ref:`Variant` **get_parameter_default_value** **(** :ref:`String` name **)** |virtual| -Gets the default value of a parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. +When inheriting from :ref:`AnimationRootNode`, implement this virtual method to return the default value of parameter "``name``". Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. ---- @@ -226,15 +226,15 @@ Gets the default value of a parameter. Parameters are custom local memory used f - :ref:`Array` **get_parameter_list** **(** **)** |virtual| -Gets the property information for parameter. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. Format is similar to :ref:`Object.get_property_list`. +When inheriting from :ref:`AnimationRootNode`, implement this virtual method to return a list of the properties on this node. Parameters are custom local memory used for your nodes, given a resource can be reused in multiple trees. Format is similar to :ref:`Object.get_property_list`. ---- .. _class_AnimationNode_method_has_filter: -- :ref:`String` **has_filter** **(** **)** |virtual| +- :ref:`bool` **has_filter** **(** **)** |virtual| -Returns ``true`` whether you want the blend tree editor to display filter editing on this node. +When inheriting from :ref:`AnimationRootNode`, implement this virtual method to return whether the blend tree editor should display filter editing on this node. ---- @@ -250,7 +250,7 @@ Returns whether the given path is filtered. - void **process** **(** :ref:`float` time, :ref:`bool` seek **)** |virtual| -User-defined callback called when a custom node is processed. The ``time`` parameter is a relative delta, unless ``seek`` is ``true``, in which case it is absolute. +When inheriting from :ref:`AnimationRootNode`, implement this virtual method to run some code when this node is processed. The ``time`` parameter is a relative delta, unless ``seek`` is ``true``, in which case it is absolute. Here, call the :ref:`blend_input`, :ref:`blend_node` or :ref:`blend_animation` functions. You can also use :ref:`get_parameter` and :ref:`set_parameter` to modify local memory. diff --git a/classes/class_animationnodestatemachinetransition.rst b/classes/class_animationnodestatemachinetransition.rst index 4553b554f..cef18035c 100644 --- a/classes/class_animationnodestatemachinetransition.rst +++ b/classes/class_animationnodestatemachinetransition.rst @@ -79,7 +79,7 @@ Property Descriptions | *Getter* | get_advance_condition() | +-----------+------------------------------+ -Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the :ref:`AnimationTree` that can be controlled from code (see `#controlling-from-code <../tutorials/animation/animation_tree.html#controlling-from-code>`__ in :doc:`../tutorials/animation/animation_tree`). For example, if :ref:`AnimationTree.tree_root` is an :ref:`AnimationNodeStateMachine` and :ref:`advance_condition` is set to ``"idle"``: +Turn on auto advance when this condition is set. The provided name will become a boolean parameter on the :ref:`AnimationTree` that can be controlled from code (see `Using AnimationTree <../tutorials/animation/animation_tree.html#controlling-from-code>`__). For example, if :ref:`AnimationTree.tree_root` is an :ref:`AnimationNodeStateMachine` and :ref:`advance_condition` is set to ``"idle"``: :: diff --git a/classes/class_animationplayer.rst b/classes/class_animationplayer.rst index 9e3ff3396..9338697b5 100644 --- a/classes/class_animationplayer.rst +++ b/classes/class_animationplayer.rst @@ -426,7 +426,7 @@ Returns the name of ``animation`` or an empty string if not found. - :ref:`Animation` **get_animation** **(** :ref:`String` name **)** |const| -Returns the :ref:`Animation` with key ``name`` or ``null`` if not found. +Returns the :ref:`Animation` with the key ``name``. If the animation does not exist, ``null`` is returned and an error is logged. ---- diff --git a/classes/class_audioeffectcapture.rst b/classes/class_audioeffectcapture.rst index 798a752bd..4263d2922 100644 --- a/classes/class_audioeffectcapture.rst +++ b/classes/class_audioeffectcapture.rst @@ -19,7 +19,16 @@ Description AudioEffectCapture is an AudioEffect which copies all audio frames from the attached audio effect bus into its internal ring buffer. -Application code should consume these audio frames from this ring buffer using :ref:`get_buffer` and process it as needed, for example to capture data from a microphone, implement application defined effects, or to transmit audio over the network. When capturing audio data from a microphone, the format of the samples will be stereo 32-bit floating point PCM. +Application code should consume these audio frames from this ring buffer using :ref:`get_buffer` and process it as needed, for example to capture data from an :ref:`AudioStreamMicrophone`, implement application-defined effects, or to transmit audio over the network. When capturing audio data from a microphone, the format of the samples will be stereo 32-bit floating point PCM. + +\ **Note:** :ref:`ProjectSettings.audio/enable_audio_input` must be ``true`` for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings. + +Tutorials +--------- + +- :doc:`Audio buses <../tutorials/audio/audio_buses>` + +- `Audio Mic Record Demo `__ Properties ---------- diff --git a/classes/class_audioserver.rst b/classes/class_audioserver.rst index d9c1e3d68..ddbb8f400 100644 --- a/classes/class_audioserver.rst +++ b/classes/class_audioserver.rst @@ -187,7 +187,9 @@ Number of available audio buses. | *Getter* | capture_get_device() | +-----------+---------------------------+ -Name of the current device for audio input (see :ref:`get_device_list`). On systems with multiple audio inputs (such as analog, USB and HDMI audio), this can be used to select the audio input device. The value ``"Default"`` will record audio on the system-wide default audio input. If an invalid device name is set, the value will be reverted back to ``"Default"``. +Name of the current device for audio input (see :ref:`capture_get_device_list`). On systems with multiple audio inputs (such as analog, USB and HDMI audio), this can be used to select the audio input device. The value ``"Default"`` will record audio on the system-wide default audio input. If an invalid device name is set, the value will be reverted back to ``"Default"``. + +\ **Note:** :ref:`ProjectSettings.audio/enable_audio_input` must be ``true`` for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings. ---- @@ -246,6 +248,8 @@ Adds an :ref:`AudioEffect` effect to the bus ``bus_idx`` at ` Returns the names of all audio input devices detected on the system. +\ **Note:** :ref:`ProjectSettings.audio/enable_audio_input` must be ``true`` for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings. + ---- .. _class_AudioServer_method_generate_bus_layout: diff --git a/classes/class_audiostreammicrophone.rst b/classes/class_audiostreammicrophone.rst index 63febd061..c82f70bed 100644 --- a/classes/class_audiostreammicrophone.rst +++ b/classes/class_audiostreammicrophone.rst @@ -12,7 +12,19 @@ AudioStreamMicrophone **Inherits:** :ref:`AudioStream` **<** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` +Plays real-time audio input data. +Description +----------- + +When used directly in an :ref:`AudioStreamPlayer` node, ``AudioStreamMicrophone`` plays back microphone input in real-time. This can be used in conjunction with :ref:`AudioEffectCapture` to process the data or save it. + +\ **Note:** :ref:`ProjectSettings.audio/enable_audio_input` must be ``true`` for audio input to work. See also that setting's description for caveats related to permissions and operating system privacy settings. + +Tutorials +--------- + +- `Audio Mic Record Demo `__ .. |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_audiostreamplayer2d.rst b/classes/class_audiostreamplayer2d.rst index 7df0a6299..544d93ae7 100644 --- a/classes/class_audiostreamplayer2d.rst +++ b/classes/class_audiostreamplayer2d.rst @@ -17,7 +17,9 @@ Plays positional sound in 2D space. Description ----------- -Plays audio that dampens with distance from screen center. +Plays audio that dampens with distance from a given position. + +By default, audio is heard from the screen center. This can be changed by adding a :ref:`Listener2D` node to the scene and enabling it by calling :ref:`Listener2D.make_current` on it. See also :ref:`AudioStreamPlayer` to play a sound non-positionally. @@ -31,27 +33,29 @@ Tutorials Properties ---------- -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`int` | :ref:`area_mask` | ``1`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`float` | :ref:`attenuation` | ``1.0`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`bool` | :ref:`autoplay` | ``false`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`String` | :ref:`bus` | ``"Master"`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`float` | :ref:`max_distance` | ``2000.0`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`float` | :ref:`pitch_scale` | ``1.0`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`bool` | :ref:`playing` | ``false`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`AudioStream` | :ref:`stream` | | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`bool` | :ref:`stream_paused` | ``false`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ -| :ref:`float` | :ref:`volume_db` | ``0.0`` | -+---------------------------------------+------------------------------------------------------------------------+--------------+ ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`int` | :ref:`area_mask` | ``1`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`float` | :ref:`attenuation` | ``1.0`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`bool` | :ref:`autoplay` | ``false`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`String` | :ref:`bus` | ``"Master"`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`float` | :ref:`max_distance` | ``2000.0`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`float` | :ref:`panning_strength` | ``1.0`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`float` | :ref:`pitch_scale` | ``1.0`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`bool` | :ref:`playing` | ``false`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`AudioStream` | :ref:`stream` | | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`bool` | :ref:`stream_paused` | ``false`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ +| :ref:`float` | :ref:`volume_db` | ``0.0`` | ++---------------------------------------+------------------------------------------------------------------------------+--------------+ Methods ------- @@ -162,6 +166,22 @@ Maximum distance from which audio is still hearable. ---- +.. _class_AudioStreamPlayer2D_property_panning_strength: + +- :ref:`float` **panning_strength** + ++-----------+-----------------------------+ +| *Default* | ``1.0`` | ++-----------+-----------------------------+ +| *Setter* | set_panning_strength(value) | ++-----------+-----------------------------+ +| *Getter* | get_panning_strength() | ++-----------+-----------------------------+ + +Scales the panning strength for this node by multiplying the base :ref:`ProjectSettings.audio/2d_panning_strength` with this factor. Higher values will pan audio from left to right more dramatically than lower values. + +---- + .. _class_AudioStreamPlayer2D_property_pitch_scale: - :ref:`float` **pitch_scale** diff --git a/classes/class_audiostreamplayer3d.rst b/classes/class_audiostreamplayer3d.rst index 7c66593da..7431bb46d 100644 --- a/classes/class_audiostreamplayer3d.rst +++ b/classes/class_audiostreamplayer3d.rst @@ -60,6 +60,8 @@ Properties +--------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------+ | :ref:`OutOfRangeMode` | :ref:`out_of_range_mode` | ``0`` | +--------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------+ +| :ref:`float` | :ref:`panning_strength` | ``1.0`` | ++--------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------+ | :ref:`float` | :ref:`pitch_scale` | ``1.0`` | +--------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+--------------+ | :ref:`bool` | :ref:`playing` | ``false`` | @@ -367,6 +369,22 @@ Decides if audio should pause when source is outside of :ref:`max_distance` **panning_strength** + ++-----------+-----------------------------+ +| *Default* | ``1.0`` | ++-----------+-----------------------------+ +| *Setter* | set_panning_strength(value) | ++-----------+-----------------------------+ +| *Getter* | get_panning_strength() | ++-----------+-----------------------------+ + +Scales the panning strength for this node by multiplying the base :ref:`ProjectSettings.audio/3d_panning_strength` with this factor. Higher values will pan audio from left to right more dramatically than lower values. + +---- + .. _class_AudioStreamPlayer3D_property_pitch_scale: - :ref:`float` **pitch_scale** diff --git a/classes/class_camera.rst b/classes/class_camera.rst index f53bd3dff..3da4e0019 100644 --- a/classes/class_camera.rst +++ b/classes/class_camera.rst @@ -270,6 +270,8 @@ For reference, the default vertical field of view value (``70.0``) is equivalent The camera's frustum offset. This can be changed from the default to create "tilted frustum" effects such as `Y-shearing `__. +\ **Note:** Only effective if :ref:`projection` is :ref:`PROJECTION_FRUSTUM`. + ---- .. _class_Camera_property_h_offset: @@ -348,7 +350,7 @@ The camera's projection mode. In :ref:`PROJECTION_PERSPECTIVE` locks on axis, ``size`` sets the other axis' size length. +The camera's size in meters measured as the diameter of the width or height, depending on :ref:`keep_aspect`. Only applicable in orthogonal and frustum modes. ---- @@ -471,7 +473,7 @@ Enables or disables the given ``layer`` in the :ref:`cull_mask` size, :ref:`Vector2` offset, :ref:`float` z_near, :ref:`float` z_far **)** -Sets the camera projection to frustum mode (see :ref:`PROJECTION_FRUSTUM`), by specifying a ``size``, an ``offset``, and the ``z_near`` and ``z_far`` clip planes in world space units. +Sets the camera projection to frustum mode (see :ref:`PROJECTION_FRUSTUM`), by specifying a ``size``, an ``offset``, and the ``z_near`` and ``z_far`` clip planes in world space units. See also :ref:`frustum_offset`. ---- diff --git a/classes/class_canvasitem.rst b/classes/class_canvasitem.rst index 42e6de44e..f7ee2c205 100644 --- a/classes/class_canvasitem.rst +++ b/classes/class_canvasitem.rst @@ -21,7 +21,7 @@ Description Base class of anything 2D. Canvas items are laid out in a tree; children inherit and extend their parent's transform. ``CanvasItem`` is extended by :ref:`Control` for anything GUI-related, and by :ref:`Node2D` for anything related to the 2D engine. -Any ``CanvasItem`` can draw. For this, :ref:`update` must be called, then :ref:`NOTIFICATION_DRAW` will be received on idle time to request redraw. Because of this, canvas items don't need to be redrawn on every frame, improving the performance significantly. Several functions for drawing on the ``CanvasItem`` are provided (see ``draw_*`` functions). However, they can only be used inside the :ref:`Object._notification`, signal or :ref:`_draw` virtual functions. +Any ``CanvasItem`` can draw. For this, :ref:`update` is called by the engine, then :ref:`NOTIFICATION_DRAW` will be received on idle time to request redraw. Because of this, canvas items don't need to be redrawn on every frame, improving the performance significantly. Several functions for drawing on the ``CanvasItem`` are provided (see ``draw_*`` functions). However, they can only be used inside :ref:`_draw`, its corresponding :ref:`Object._notification` or methods connected to the :ref:`draw` signal. Canvas items are drawn in tree order. By default, children are on top of their parents so a root ``CanvasItem`` will be drawn behind everything. This behavior can be changed on a per-item basis. @@ -165,7 +165,9 @@ Signals - **draw** **(** **)** -Emitted when the ``CanvasItem`` must redraw. This can only be connected realtime, as deferred will not allow drawing. +Emitted when the ``CanvasItem`` must redraw, *after* the related :ref:`NOTIFICATION_DRAW` notification, and *before* :ref:`_draw` is called. + +\ **Note:** Deferred connections do not allow drawing through the ``draw_*`` methods. ---- @@ -241,7 +243,7 @@ Constants - **NOTIFICATION_LOCAL_TRANSFORM_CHANGED** = **35** --- The ``CanvasItem``'s local transform has changed. This notification is only received if enabled by :ref:`set_notify_local_transform`. -- **NOTIFICATION_DRAW** = **30** --- The ``CanvasItem`` is requested to draw. +- **NOTIFICATION_DRAW** = **30** --- The ``CanvasItem`` is requested to draw (see :ref:`_draw`). - **NOTIFICATION_VISIBILITY_CHANGED** = **31** --- The ``CanvasItem``'s visibility has changed. @@ -377,7 +379,9 @@ Method Descriptions - void **_draw** **(** **)** |virtual| -Overridable function called by the engine (if defined) to draw the canvas item. +Called when ``CanvasItem`` has been requested to redraw (when :ref:`update` is called, either manually or by the engine). + +Corresponds to the :ref:`NOTIFICATION_DRAW` notification in :ref:`Object._notification`. ---- @@ -719,7 +723,7 @@ Returns ``true`` if global transform notifications are communicated to children. - :ref:`bool` **is_visible_in_tree** **(** **)** |const| -Returns ``true`` if the node is present in the :ref:`SceneTree`, its :ref:`visible` property is ``true`` and all its antecedents are also visible. If any antecedent is hidden, this node will not be visible in the scene tree. +Returns ``true`` if the node is present in the :ref:`SceneTree`, its :ref:`visible` property is ``true`` and all its antecedents are also visible. If any antecedent is hidden, this node will not be visible in the scene tree, and is consequently not drawn (see :ref:`_draw`). ---- @@ -775,7 +779,7 @@ Show the ``CanvasItem`` if it's currently hidden. This is equivalent to setting - void **update** **(** **)** -Queue the ``CanvasItem`` for update. :ref:`NOTIFICATION_DRAW` will be called on idle time to request redraw. +Queues the ``CanvasItem`` to redraw. During idle time, if ``CanvasItem`` is visible, :ref:`NOTIFICATION_DRAW` is sent and :ref:`_draw` is called. This only occurs **once** per frame, even if this method has been called multiple times. .. |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_canvaslayer.rst b/classes/class_canvaslayer.rst index ee562635e..2ad52e5ab 100644 --- a/classes/class_canvaslayer.rst +++ b/classes/class_canvaslayer.rst @@ -104,7 +104,9 @@ The custom :ref:`Viewport` node assigned to the ``CanvasLayer``. | *Getter* | is_following_viewport() | +-----------+----------------------------+ -Sets the layer to follow the viewport in order to simulate a pseudo 3D effect. +If enabled, the ``CanvasLayer`` will use the viewport's transform, so it will move when camera moves instead of being anchored in a fixed position on the screen. + +Together with :ref:`follow_viewport_scale` it can be used for a pseudo 3D effect. ---- diff --git a/classes/class_control.rst b/classes/class_control.rst index a2d72c179..be66974c0 100644 --- a/classes/class_control.rst +++ b/classes/class_control.rst @@ -818,7 +818,7 @@ Tells Godot which node it should give keyboard focus to if the user presses the | *Getter* | get_focus_next() | +-----------+-----------------------+ -Tells Godot which node it should give keyboard focus to if the user presses Tab on a keyboard by default. You can change the key by editing the ``ui_focus_next`` input action. +Tells Godot which node it should give keyboard focus to if the user presses :kbd:`Tab` on a keyboard by default. You can change the key by editing the ``ui_focus_next`` input action. If this property is not set, Godot will select a "best guess" based on surrounding nodes in the scene tree. @@ -836,7 +836,7 @@ If this property is not set, Godot will select a "best guess" based on surroundi | *Getter* | get_focus_previous() | +-----------+---------------------------+ -Tells Godot which node it should give keyboard focus to if the user presses Shift+Tab on a keyboard by default. You can change the key by editing the ``ui_focus_prev`` input action. +Tells Godot which node it should give keyboard focus to if the user presses :kbd:`Shift + Tab` on a keyboard by default. You can change the key by editing the ``ui_focus_prev`` input action. If this property is not set, Godot will select a "best guess" based on surrounding nodes in the scene tree. @@ -1697,6 +1697,8 @@ Creates an :ref:`InputEventMouseButton` that attemp Steal the focus from another control and become the focused control (see :ref:`focus_mode`). +\ **Note**: Using this method together with :ref:`Object.call_deferred` makes it more reliable, especially when called inside :ref:`Node._ready`. + ---- .. _class_Control_method_has_color: diff --git a/classes/class_cpuparticles.rst b/classes/class_cpuparticles.rst index 151049984..0c40debc3 100644 --- a/classes/class_cpuparticles.rst +++ b/classes/class_cpuparticles.rst @@ -1273,7 +1273,7 @@ Emission lifetime randomness ratio. | *Getter* | get_param() | +-----------+------------------+ -Initial scale applied to each particle. +Initial scale applied to each particle. This can be set to a negative value to flip the particle on all axes. ---- diff --git a/classes/class_cpuparticles2d.rst b/classes/class_cpuparticles2d.rst index 7df35b733..e0783fe58 100644 --- a/classes/class_cpuparticles2d.rst +++ b/classes/class_cpuparticles2d.rst @@ -1158,7 +1158,7 @@ Emission lifetime randomness ratio. | *Getter* | get_param() | +-----------+------------------+ -Initial scale applied to each particle. +Initial scale applied to each particle. This can be set to a negative value to flip the particle on both axes. ---- diff --git a/classes/class_curve.rst b/classes/class_curve.rst index b1a992227..ccf3124f2 100644 --- a/classes/class_curve.rst +++ b/classes/class_curve.rst @@ -19,6 +19,8 @@ Description A curve that can be saved and re-used for other objects. By default, it ranges between ``0`` and ``1`` on the Y axis and positions points relative to the ``0.5`` Y position. +See also :ref:`Gradient` which is designed for color interpolation. See also :ref:`Curve2D` and :ref:`Curve3D`. + Properties ---------- diff --git a/classes/class_curve2d.rst b/classes/class_curve2d.rst index 61ebe85d3..fb1965b59 100644 --- a/classes/class_curve2d.rst +++ b/classes/class_curve2d.rst @@ -31,43 +31,43 @@ Properties Methods ------- -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`add_point` **(** :ref:`Vector2` position, :ref:`Vector2` in=Vector2( 0, 0 ), :ref:`Vector2` out=Vector2( 0, 0 ), :ref:`int` at_position=-1 **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`clear_points` **(** **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`get_baked_length` **(** **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolVector2Array` | :ref:`get_baked_points` **(** **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`get_closest_offset` **(** :ref:`Vector2` to_point **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_closest_point` **(** :ref:`Vector2` to_point **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_point_count` **(** **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_point_in` **(** :ref:`int` idx **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_point_out` **(** :ref:`int` idx **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_point_position` **(** :ref:`int` idx **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`interpolate` **(** :ref:`int` idx, :ref:`float` t **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`interpolate_baked` **(** :ref:`float` offset, :ref:`bool` cubic=false **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`interpolatef` **(** :ref:`float` fofs **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`remove_point` **(** :ref:`int` idx **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_point_in` **(** :ref:`int` idx, :ref:`Vector2` position **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_point_out` **(** :ref:`int` idx, :ref:`Vector2` position **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_point_position` **(** :ref:`int` idx, :ref:`Vector2` position **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolVector2Array` | :ref:`tessellate` **(** :ref:`int` max_stages=5, :ref:`float` tolerance_degrees=4 **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_point` **(** :ref:`Vector2` position, :ref:`Vector2` in=Vector2( 0, 0 ), :ref:`Vector2` out=Vector2( 0, 0 ), :ref:`int` index=-1 **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear_points` **(** **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_baked_length` **(** **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolVector2Array` | :ref:`get_baked_points` **(** **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_closest_offset` **(** :ref:`Vector2` to_point **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_closest_point` **(** :ref:`Vector2` to_point **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_point_count` **(** **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_point_in` **(** :ref:`int` idx **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_point_out` **(** :ref:`int` idx **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_point_position` **(** :ref:`int` idx **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`interpolate` **(** :ref:`int` idx, :ref:`float` t **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`interpolate_baked` **(** :ref:`float` offset, :ref:`bool` cubic=false **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`interpolatef` **(** :ref:`float` fofs **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_point` **(** :ref:`int` idx **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_point_in` **(** :ref:`int` idx, :ref:`Vector2` position **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_point_out` **(** :ref:`int` idx, :ref:`Vector2` position **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_point_position` **(** :ref:`int` idx, :ref:`Vector2` position **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolVector2Array` | :ref:`tessellate` **(** :ref:`int` max_stages=5, :ref:`float` tolerance_degrees=4 **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Property Descriptions --------------------- @@ -91,11 +91,11 @@ Method Descriptions .. _class_Curve2D_method_add_point: -- void **add_point** **(** :ref:`Vector2` position, :ref:`Vector2` in=Vector2( 0, 0 ), :ref:`Vector2` out=Vector2( 0, 0 ), :ref:`int` at_position=-1 **)** +- void **add_point** **(** :ref:`Vector2` position, :ref:`Vector2` in=Vector2( 0, 0 ), :ref:`Vector2` out=Vector2( 0, 0 ), :ref:`int` index=-1 **)** -Adds a point to a curve at ``position`` relative to the ``Curve2D``'s position, with control points ``in`` and ``out``. +Adds a point with the specified ``position`` relative to the curve's own position, with control points ``in`` and ``out``. Appends the new point at the end of the point list. -If ``at_position`` is given, the point is inserted before the point number ``at_position``, moving that point (and every point after) after the inserted point. If ``at_position`` is not given, or is an illegal value (``at_position <0`` or ``at_position >= [method get_point_count]``), the point will be appended at the end of the point list. +If ``index`` is given, the new point is inserted before the existing point identified by index ``index``. Every existing point starting from ``index`` is shifted further down the list of points. The index must be greater than or equal to ``0`` and must not exceed the number of existing points in the line. See :ref:`get_point_count`. ---- diff --git a/classes/class_curve3d.rst b/classes/class_curve3d.rst index 18f20b2f1..6a4213f2d 100644 --- a/classes/class_curve3d.rst +++ b/classes/class_curve3d.rst @@ -33,53 +33,53 @@ Properties Methods ------- -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`add_point` **(** :ref:`Vector3` position, :ref:`Vector3` in=Vector3( 0, 0, 0 ), :ref:`Vector3` out=Vector3( 0, 0, 0 ), :ref:`int` at_position=-1 **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`clear_points` **(** **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`get_baked_length` **(** **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolVector3Array` | :ref:`get_baked_points` **(** **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolRealArray` | :ref:`get_baked_tilts` **(** **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolVector3Array` | :ref:`get_baked_up_vectors` **(** **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`get_closest_offset` **(** :ref:`Vector3` to_point **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`get_closest_point` **(** :ref:`Vector3` to_point **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_point_count` **(** **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`get_point_in` **(** :ref:`int` idx **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`get_point_out` **(** :ref:`int` idx **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`get_point_position` **(** :ref:`int` idx **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`get_point_tilt` **(** :ref:`int` idx **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`interpolate` **(** :ref:`int` idx, :ref:`float` t **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`interpolate_baked` **(** :ref:`float` offset, :ref:`bool` cubic=false **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`interpolate_baked_up_vector` **(** :ref:`float` offset, :ref:`bool` apply_tilt=false **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector3` | :ref:`interpolatef` **(** :ref:`float` fofs **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`remove_point` **(** :ref:`int` idx **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_point_in` **(** :ref:`int` idx, :ref:`Vector3` position **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_point_out` **(** :ref:`int` idx, :ref:`Vector3` position **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_point_position` **(** :ref:`int` idx, :ref:`Vector3` position **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_point_tilt` **(** :ref:`int` idx, :ref:`float` tilt **)** | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolVector3Array` | :ref:`tessellate` **(** :ref:`int` max_stages=5, :ref:`float` tolerance_degrees=4 **)** |const| | -+-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_point` **(** :ref:`Vector3` position, :ref:`Vector3` in=Vector3( 0, 0, 0 ), :ref:`Vector3` out=Vector3( 0, 0, 0 ), :ref:`int` index=-1 **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear_points` **(** **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_baked_length` **(** **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolVector3Array` | :ref:`get_baked_points` **(** **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolRealArray` | :ref:`get_baked_tilts` **(** **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolVector3Array` | :ref:`get_baked_up_vectors` **(** **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_closest_offset` **(** :ref:`Vector3` to_point **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`get_closest_point` **(** :ref:`Vector3` to_point **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_point_count` **(** **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`get_point_in` **(** :ref:`int` idx **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`get_point_out` **(** :ref:`int` idx **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`get_point_position` **(** :ref:`int` idx **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_point_tilt` **(** :ref:`int` idx **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`interpolate` **(** :ref:`int` idx, :ref:`float` t **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`interpolate_baked` **(** :ref:`float` offset, :ref:`bool` cubic=false **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`interpolate_baked_up_vector` **(** :ref:`float` offset, :ref:`bool` apply_tilt=false **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`interpolatef` **(** :ref:`float` fofs **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_point` **(** :ref:`int` idx **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_point_in` **(** :ref:`int` idx, :ref:`Vector3` position **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_point_out` **(** :ref:`int` idx, :ref:`Vector3` position **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_point_position` **(** :ref:`int` idx, :ref:`Vector3` position **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_point_tilt` **(** :ref:`int` idx, :ref:`float` tilt **)** | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolVector3Array` | :ref:`tessellate` **(** :ref:`int` max_stages=5, :ref:`float` tolerance_degrees=4 **)** |const| | ++-------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Property Descriptions --------------------- @@ -119,11 +119,11 @@ Method Descriptions .. _class_Curve3D_method_add_point: -- void **add_point** **(** :ref:`Vector3` position, :ref:`Vector3` in=Vector3( 0, 0, 0 ), :ref:`Vector3` out=Vector3( 0, 0, 0 ), :ref:`int` at_position=-1 **)** +- void **add_point** **(** :ref:`Vector3` position, :ref:`Vector3` in=Vector3( 0, 0, 0 ), :ref:`Vector3` out=Vector3( 0, 0, 0 ), :ref:`int` index=-1 **)** -Adds a point to a curve at ``position`` relative to the ``Curve3D``'s position, with control points ``in`` and ``out``. +Adds a point with the specified ``position`` relative to the curve's own position, with control points ``in`` and ``out``. Appends the new point at the end of the point list. -If ``at_position`` is given, the point is inserted before the point number ``at_position``, moving that point (and every point after) after the inserted point. If ``at_position`` is not given, or is an illegal value (``at_position <0`` or ``at_position >= [method get_point_count]``), the point will be appended at the end of the point list. +If ``index`` is given, the new point is inserted before the existing point identified by index ``index``. Every existing point starting from ``index`` is shifted further down the list of points. The index must be greater than or equal to ``0`` and must not exceed the number of existing points in the line. See :ref:`get_point_count`. ---- diff --git a/classes/class_dictionary.rst b/classes/class_dictionary.rst index cc08cdd39..7b64c7e8f 100644 --- a/classes/class_dictionary.rst +++ b/classes/class_dictionary.rst @@ -15,7 +15,7 @@ Dictionary type. Description ----------- -Dictionary type. Associative container which contains values referenced by unique keys. Dictionaries are composed of pairs of keys (which must be unique) and values. Dictionaries will preserve the insertion order when adding elements, even though this may not be reflected when printing the dictionary. In other programming languages, this data structure is sometimes referred to as a hash map or associative array. +Dictionary type. Associative container, which contains values referenced by unique keys. Dictionaries are composed of pairs of keys (which must be unique) and values. Dictionaries will preserve the insertion order when adding elements. In other programming languages, this data structure is sometimes referred to as a hash map or associative array. You can define a dictionary by placing a comma-separated list of ``key: value`` pairs in curly braces ``{}``. @@ -134,6 +134,8 @@ Methods +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`erase` **(** :ref:`Variant` key **)** | +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Variant` | :ref:`find_key` **(** :ref:`Variant` value **)** | ++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get` **(** :ref:`Variant` key, :ref:`Variant` default=null **)** | +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has` **(** :ref:`Variant` key **)** | @@ -188,6 +190,16 @@ Erase a dictionary key/value pair by key. Returns ``true`` if the given key was ---- +.. _class_Dictionary_method_find_key: + +- :ref:`Variant` **find_key** **(** :ref:`Variant` value **)** + +Returns the first key whose associated value is equal to ``value``, or ``null`` if no such value is found. + +\ **Note:** ``null`` is also a valid key. If you have it in your ``Dictionary``, the :ref:`find_key` method can give misleading results. + +---- + .. _class_Dictionary_method_get: - :ref:`Variant` **get** **(** :ref:`Variant` key, :ref:`Variant` default=null **)** diff --git a/classes/class_editorproperty.rst b/classes/class_editorproperty.rst index 42c352e82..a3f726965 100644 --- a/classes/class_editorproperty.rst +++ b/classes/class_editorproperty.rst @@ -48,8 +48,6 @@ Methods +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_edited_property` **(** **)** | +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_tooltip_text` **(** **)** |const| | -+-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_bottom_editor` **(** :ref:`Control` editor **)** | +-----------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`update_property` **(** **)** |virtual| | @@ -76,7 +74,7 @@ Used by sub-inspectors. Emit it if what was selected was an Object ID. .. _class_EditorProperty_signal_property_changed: -- **property_changed** **(** :ref:`String` property, :ref:`Variant` value **)** +- **property_changed** **(** :ref:`String` property, :ref:`Variant` value, :ref:`String` field, :ref:`bool` changing **)** Do not emit this manually, use the :ref:`emit_changed` method instead. @@ -262,14 +260,6 @@ Gets the edited property. If your editor is for a single property (added via :re ---- -.. _class_EditorProperty_method_get_tooltip_text: - -- :ref:`String` **get_tooltip_text** **(** **)** |const| - -Must be implemented to provide a custom tooltip to the property editor. - ----- - .. _class_EditorProperty_method_set_bottom_editor: - void **set_bottom_editor** **(** :ref:`Control` editor **)** diff --git a/classes/class_editorscript.rst b/classes/class_editorscript.rst index 3cbc211b3..6655b4272 100644 --- a/classes/class_editorscript.rst +++ b/classes/class_editorscript.rst @@ -17,7 +17,7 @@ Base script that can be used to add extension functions to the editor. Description ----------- -Scripts extending this class and implementing its :ref:`_run` method can be executed from the Script Editor's **File > Run** menu option (or by pressing ``Ctrl+Shift+X``) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using :ref:`EditorPlugin`\ s instead. +Scripts extending this class and implementing its :ref:`_run` method can be executed from the Script Editor's **File > Run** menu option (or by pressing :kbd:`Ctrl + Shift + X`) while the editor is running. This is useful for adding custom in-editor functionality to Godot. For more complex additions, consider using :ref:`EditorPlugin`\ s instead. \ **Note:** Extending scripts need to have ``tool`` mode enabled. diff --git a/classes/class_editorsettings.rst b/classes/class_editorsettings.rst index 138dbf2f9..faac9fcd7 100644 --- a/classes/class_editorsettings.rst +++ b/classes/class_editorsettings.rst @@ -35,6 +35,435 @@ Accessing the settings can be done using the following methods, such as: \ **Note:** This class shouldn't be instantiated directly. Instead, access the singleton using :ref:`EditorInterface.get_editor_settings`. +Properties +---------- + ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`docks/filesystem/always_show_folders` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`docks/filesystem/thumbnail_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`docks/property_editor/auto_refresh_interval` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`docks/property_editor/subresource_hue_tint` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`docks/scene_tree/start_create_dialog_fully_expanded` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/bone_color1` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/bone_color2` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/bone_ik_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/bone_outline_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/2d/bone_outline_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/bone_selected_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/2d/bone_width` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/2d/constrain_editor_view` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/grid_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/guides_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/2d/pan_speed` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/2d/scroll_to_pan` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/2d/simple_panning` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/smart_snapping_line_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/2d/viewport_border_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/2d/warped_mouse_panning` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/default_fov` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/default_z_far` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/default_z_near` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/freelook/freelook_activation_modifier` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/freelook/freelook_base_speed` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/freelook/freelook_inertia` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/freelook/freelook_navigation_scheme` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/freelook/freelook_sensitivity` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/freelook/freelook_speed_zoom_link` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/grid_division_level_bias` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/grid_division_level_max` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/grid_division_level_min` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/grid_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/grid_xy_plane` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/grid_xz_plane` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/grid_yz_plane` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/lightmap_baking_number_of_cpu_threads` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/navigation/emulate_3_button_mouse` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/navigation/emulate_numpad` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/navigation/invert_x_axis` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/navigation/invert_y_axis` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/navigation/navigation_scheme` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/navigation/orbit_modifier` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/navigation/pan_modifier` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/3d/navigation/warped_mouse_panning` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/navigation/zoom_modifier` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/navigation/zoom_style` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/navigation_feel/orbit_inertia` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/navigation_feel/orbit_sensitivity` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/navigation_feel/translation_inertia` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/3d/navigation_feel/zoom_inertia` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/3d/primary_grid_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/3d/primary_grid_steps` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/3d/secondary_grid_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/3d/selection_box_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/instanced` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/joint` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/3d_gizmos/gizmo_colors/shape` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/animation/autorename_animation_tracks` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/animation/confirm_insert_track` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/animation/default_create_bezier_tracks` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/animation/default_create_reset_tracks` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/animation/onion_layers_future_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`editors/animation/onion_layers_past_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/grid_map/pick_distance` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/grid_map/preview_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`editors/poly_editor/point_grab_radius` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editors/poly_editor/show_previous_outline` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`editors/visual_editors/minimap_opacity` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`filesystem/directories/autoscan_project_path` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`filesystem/directories/default_project_path` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`filesystem/file_dialog/display_mode` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`filesystem/file_dialog/show_hidden_files` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`filesystem/file_dialog/thumbnail_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`filesystem/on_save/compress_binary_resources` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`filesystem/on_save/safe_save_on_backup_then_rename` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/editor/automatically_open_screenshots` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`interface/editor/code_font` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`interface/editor/code_font_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`interface/editor/custom_display_scale` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/editor/dim_editor_on_dialog_popup` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`interface/editor/display_scale` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`interface/editor/editor_language` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/editor/font_antialiased` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`interface/editor/font_hinting` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`interface/editor/low_processor_mode_sleep_usec` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`interface/editor/main_font` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`interface/editor/main_font_bold` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`interface/editor/main_font_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/editor/quit_confirmation` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/editor/save_each_scene_on_quit` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/editor/separate_distraction_mode` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`interface/editor/unfocused_low_processor_mode_sleep_usec` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`interface/inspector/max_array_dictionary_items_per_page` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`interface/scene_tabs/minimum_width` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/scene_tabs/resize_if_many_tabs` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/scene_tabs/show_script_button` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/scene_tabs/show_thumbnail_on_hover` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`interface/theme/accent_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`interface/theme/additional_spacing` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`interface/theme/base_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`interface/theme/border_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`interface/theme/contrast` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`interface/theme/custom_theme` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/theme/highlight_tabs` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`interface/theme/icon_and_font_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`interface/theme/preset` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`interface/theme/relationship_line_opacity` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`interface/theme/use_graph_node_headers` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`network/debug/remote_host` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`network/debug/remote_port` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`network/http_proxy/host` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`network/http_proxy/port` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`network/ssl/editor_ssl_certificates` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`project_manager/sorting_order` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`run/auto_save/save_before_running` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`run/output/always_clear_output_on_play` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`run/output/always_close_output_on_stop` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`run/output/always_open_output_on_play` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`run/output/font_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`run/window_placement/rect` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`run/window_placement/rect_custom_position` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`run/window_placement/screen` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/appearance/code_folding` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/appearance/line_length_guideline_hard_column` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/appearance/line_length_guideline_soft_column` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/appearance/line_numbers_zero_padded` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/appearance/show_bookmark_gutter` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/appearance/show_breakpoint_gutter` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/appearance/show_info_gutter` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/appearance/show_line_length_guidelines` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/appearance/show_line_numbers` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/appearance/word_wrap` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/completion/add_type_hints` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/completion/auto_brace_complete` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`text_editor/completion/callhint_tooltip_offset` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`text_editor/completion/code_complete_delay` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/completion/complete_file_paths` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`text_editor/completion/idle_parse_delay` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/completion/put_callhint_tooltip_below_current_line` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/completion/use_single_quotes` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/cursor/block_caret` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/cursor/caret_blink` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`text_editor/cursor/caret_blink_speed` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/cursor/right_click_moves_caret` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/cursor/scroll_past_end_of_file` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/files/auto_reload_and_parse_scripts_on_save` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/files/auto_reload_scripts_on_external_change` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/files/autosave_interval_secs` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/files/restore_scripts_on_load` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/files/trim_trailing_whitespace_on_save` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/help/help_font_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/help/help_source_font_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/help/help_title_font_size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/help/show_help_index` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/background_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/base_type_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/bookmark_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/brace_mismatch_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/breakpoint_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/caret_background_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/caret_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/code_folding_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/comment_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/completion_background_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/completion_existing_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/completion_font_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/completion_scroll_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/completion_selected_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/control_flow_keyword_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/current_line_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/engine_type_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/executing_line_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/function_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/highlighting/highlight_all_occurrences` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/highlighting/highlight_current_line` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/highlighting/highlight_type_safe_lines` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/keyword_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/line_length_guideline_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/line_number_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/mark_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/member_variable_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/number_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/safe_line_number_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/search_result_border_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/search_result_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/selection_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/string_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/symbol_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/highlighting/syntax_highlighting` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/text_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/text_selected_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/user_type_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Color` | :ref:`text_editor/highlighting/word_highlighted_color` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/indent/auto_indent` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/indent/convert_indent_on_save` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/indent/draw_spaces` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/indent/draw_tabs` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/indent/size` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/indent/type` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/navigation/drag_and_drop_selection` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/navigation/minimap_width` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/navigation/mouse_extra_buttons_navigate_history` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/navigation/show_minimap` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/navigation/smooth_scrolling` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/navigation/stay_in_script_editor_on_node_selected` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/navigation/v_scroll_speed` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/script_list/show_members_overview` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`text_editor/theme/color_theme` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`text_editor/theme/line_spacing` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`text_editor/tools/sort_members_outline_alphabetically` | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + Methods ------- @@ -88,6 +517,1279 @@ Constants - **NOTIFICATION_EDITOR_SETTINGS_CHANGED** = **10000** --- Emitted after any editor setting has changed. It's used by various editor plugins to update their visuals on theme changes or logic on configuration changes. +Property Descriptions +--------------------- + +.. _class_EditorSettings_property_docks/filesystem/always_show_folders: + +- :ref:`bool` **docks/filesystem/always_show_folders** + +---- + +.. _class_EditorSettings_property_docks/filesystem/thumbnail_size: + +- :ref:`int` **docks/filesystem/thumbnail_size** + +---- + +.. _class_EditorSettings_property_docks/property_editor/auto_refresh_interval: + +- :ref:`float` **docks/property_editor/auto_refresh_interval** + +---- + +.. _class_EditorSettings_property_docks/property_editor/subresource_hue_tint: + +- :ref:`float` **docks/property_editor/subresource_hue_tint** + +---- + +.. _class_EditorSettings_property_docks/scene_tree/start_create_dialog_fully_expanded: + +- :ref:`bool` **docks/scene_tree/start_create_dialog_fully_expanded** + +---- + +.. _class_EditorSettings_property_editors/2d/bone_color1: + +- :ref:`Color` **editors/2d/bone_color1** + +---- + +.. _class_EditorSettings_property_editors/2d/bone_color2: + +- :ref:`Color` **editors/2d/bone_color2** + +---- + +.. _class_EditorSettings_property_editors/2d/bone_ik_color: + +- :ref:`Color` **editors/2d/bone_ik_color** + +---- + +.. _class_EditorSettings_property_editors/2d/bone_outline_color: + +- :ref:`Color` **editors/2d/bone_outline_color** + +---- + +.. _class_EditorSettings_property_editors/2d/bone_outline_size: + +- :ref:`int` **editors/2d/bone_outline_size** + +---- + +.. _class_EditorSettings_property_editors/2d/bone_selected_color: + +- :ref:`Color` **editors/2d/bone_selected_color** + +---- + +.. _class_EditorSettings_property_editors/2d/bone_width: + +- :ref:`int` **editors/2d/bone_width** + +---- + +.. _class_EditorSettings_property_editors/2d/constrain_editor_view: + +- :ref:`bool` **editors/2d/constrain_editor_view** + +---- + +.. _class_EditorSettings_property_editors/2d/grid_color: + +- :ref:`Color` **editors/2d/grid_color** + +---- + +.. _class_EditorSettings_property_editors/2d/guides_color: + +- :ref:`Color` **editors/2d/guides_color** + +---- + +.. _class_EditorSettings_property_editors/2d/pan_speed: + +- :ref:`int` **editors/2d/pan_speed** + +---- + +.. _class_EditorSettings_property_editors/2d/scroll_to_pan: + +- :ref:`bool` **editors/2d/scroll_to_pan** + +---- + +.. _class_EditorSettings_property_editors/2d/simple_panning: + +- :ref:`bool` **editors/2d/simple_panning** + +---- + +.. _class_EditorSettings_property_editors/2d/smart_snapping_line_color: + +- :ref:`Color` **editors/2d/smart_snapping_line_color** + +---- + +.. _class_EditorSettings_property_editors/2d/viewport_border_color: + +- :ref:`Color` **editors/2d/viewport_border_color** + +---- + +.. _class_EditorSettings_property_editors/2d/warped_mouse_panning: + +- :ref:`bool` **editors/2d/warped_mouse_panning** + +---- + +.. _class_EditorSettings_property_editors/3d/default_fov: + +- :ref:`float` **editors/3d/default_fov** + +---- + +.. _class_EditorSettings_property_editors/3d/default_z_far: + +- :ref:`float` **editors/3d/default_z_far** + +---- + +.. _class_EditorSettings_property_editors/3d/default_z_near: + +- :ref:`float` **editors/3d/default_z_near** + +---- + +.. _class_EditorSettings_property_editors/3d/freelook/freelook_activation_modifier: + +- :ref:`int` **editors/3d/freelook/freelook_activation_modifier** + +---- + +.. _class_EditorSettings_property_editors/3d/freelook/freelook_base_speed: + +- :ref:`float` **editors/3d/freelook/freelook_base_speed** + +---- + +.. _class_EditorSettings_property_editors/3d/freelook/freelook_inertia: + +- :ref:`float` **editors/3d/freelook/freelook_inertia** + +---- + +.. _class_EditorSettings_property_editors/3d/freelook/freelook_navigation_scheme: + +- :ref:`int` **editors/3d/freelook/freelook_navigation_scheme** + +---- + +.. _class_EditorSettings_property_editors/3d/freelook/freelook_sensitivity: + +- :ref:`float` **editors/3d/freelook/freelook_sensitivity** + +---- + +.. _class_EditorSettings_property_editors/3d/freelook/freelook_speed_zoom_link: + +- :ref:`bool` **editors/3d/freelook/freelook_speed_zoom_link** + +---- + +.. _class_EditorSettings_property_editors/3d/grid_division_level_bias: + +- :ref:`float` **editors/3d/grid_division_level_bias** + +---- + +.. _class_EditorSettings_property_editors/3d/grid_division_level_max: + +- :ref:`int` **editors/3d/grid_division_level_max** + +---- + +.. _class_EditorSettings_property_editors/3d/grid_division_level_min: + +- :ref:`int` **editors/3d/grid_division_level_min** + +---- + +.. _class_EditorSettings_property_editors/3d/grid_size: + +- :ref:`int` **editors/3d/grid_size** + +---- + +.. _class_EditorSettings_property_editors/3d/grid_xy_plane: + +- :ref:`bool` **editors/3d/grid_xy_plane** + +---- + +.. _class_EditorSettings_property_editors/3d/grid_xz_plane: + +- :ref:`bool` **editors/3d/grid_xz_plane** + +---- + +.. _class_EditorSettings_property_editors/3d/grid_yz_plane: + +- :ref:`bool` **editors/3d/grid_yz_plane** + +---- + +.. _class_EditorSettings_property_editors/3d/lightmap_baking_number_of_cpu_threads: + +- :ref:`int` **editors/3d/lightmap_baking_number_of_cpu_threads** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/emulate_3_button_mouse: + +- :ref:`bool` **editors/3d/navigation/emulate_3_button_mouse** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/emulate_numpad: + +- :ref:`bool` **editors/3d/navigation/emulate_numpad** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/invert_x_axis: + +- :ref:`bool` **editors/3d/navigation/invert_x_axis** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/invert_y_axis: + +- :ref:`bool` **editors/3d/navigation/invert_y_axis** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/navigation_scheme: + +- :ref:`int` **editors/3d/navigation/navigation_scheme** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/orbit_modifier: + +- :ref:`int` **editors/3d/navigation/orbit_modifier** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/pan_modifier: + +- :ref:`int` **editors/3d/navigation/pan_modifier** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/warped_mouse_panning: + +- :ref:`bool` **editors/3d/navigation/warped_mouse_panning** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/zoom_modifier: + +- :ref:`int` **editors/3d/navigation/zoom_modifier** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation/zoom_style: + +- :ref:`int` **editors/3d/navigation/zoom_style** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation_feel/orbit_inertia: + +- :ref:`float` **editors/3d/navigation_feel/orbit_inertia** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation_feel/orbit_sensitivity: + +- :ref:`float` **editors/3d/navigation_feel/orbit_sensitivity** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation_feel/translation_inertia: + +- :ref:`float` **editors/3d/navigation_feel/translation_inertia** + +---- + +.. _class_EditorSettings_property_editors/3d/navigation_feel/zoom_inertia: + +- :ref:`float` **editors/3d/navigation_feel/zoom_inertia** + +---- + +.. _class_EditorSettings_property_editors/3d/primary_grid_color: + +- :ref:`Color` **editors/3d/primary_grid_color** + +---- + +.. _class_EditorSettings_property_editors/3d/primary_grid_steps: + +- :ref:`int` **editors/3d/primary_grid_steps** + +---- + +.. _class_EditorSettings_property_editors/3d/secondary_grid_color: + +- :ref:`Color` **editors/3d/secondary_grid_color** + +---- + +.. _class_EditorSettings_property_editors/3d/selection_box_color: + +- :ref:`Color` **editors/3d/selection_box_color** + +---- + +.. _class_EditorSettings_property_editors/3d_gizmos/gizmo_colors/instanced: + +- :ref:`Color` **editors/3d_gizmos/gizmo_colors/instanced** + +---- + +.. _class_EditorSettings_property_editors/3d_gizmos/gizmo_colors/joint: + +- :ref:`Color` **editors/3d_gizmos/gizmo_colors/joint** + +---- + +.. _class_EditorSettings_property_editors/3d_gizmos/gizmo_colors/shape: + +- :ref:`Color` **editors/3d_gizmos/gizmo_colors/shape** + +---- + +.. _class_EditorSettings_property_editors/animation/autorename_animation_tracks: + +- :ref:`bool` **editors/animation/autorename_animation_tracks** + +---- + +.. _class_EditorSettings_property_editors/animation/confirm_insert_track: + +- :ref:`bool` **editors/animation/confirm_insert_track** + +---- + +.. _class_EditorSettings_property_editors/animation/default_create_bezier_tracks: + +- :ref:`bool` **editors/animation/default_create_bezier_tracks** + +---- + +.. _class_EditorSettings_property_editors/animation/default_create_reset_tracks: + +- :ref:`bool` **editors/animation/default_create_reset_tracks** + +---- + +.. _class_EditorSettings_property_editors/animation/onion_layers_future_color: + +- :ref:`Color` **editors/animation/onion_layers_future_color** + +---- + +.. _class_EditorSettings_property_editors/animation/onion_layers_past_color: + +- :ref:`Color` **editors/animation/onion_layers_past_color** + +---- + +.. _class_EditorSettings_property_editors/grid_map/pick_distance: + +- :ref:`float` **editors/grid_map/pick_distance** + +---- + +.. _class_EditorSettings_property_editors/grid_map/preview_size: + +- :ref:`int` **editors/grid_map/preview_size** + +---- + +.. _class_EditorSettings_property_editors/poly_editor/point_grab_radius: + +- :ref:`int` **editors/poly_editor/point_grab_radius** + +---- + +.. _class_EditorSettings_property_editors/poly_editor/show_previous_outline: + +- :ref:`bool` **editors/poly_editor/show_previous_outline** + +---- + +.. _class_EditorSettings_property_editors/visual_editors/minimap_opacity: + +- :ref:`float` **editors/visual_editors/minimap_opacity** + +---- + +.. _class_EditorSettings_property_filesystem/directories/autoscan_project_path: + +- :ref:`String` **filesystem/directories/autoscan_project_path** + +---- + +.. _class_EditorSettings_property_filesystem/directories/default_project_path: + +- :ref:`String` **filesystem/directories/default_project_path** + +---- + +.. _class_EditorSettings_property_filesystem/file_dialog/display_mode: + +- :ref:`int` **filesystem/file_dialog/display_mode** + +---- + +.. _class_EditorSettings_property_filesystem/file_dialog/show_hidden_files: + +- :ref:`bool` **filesystem/file_dialog/show_hidden_files** + +---- + +.. _class_EditorSettings_property_filesystem/file_dialog/thumbnail_size: + +- :ref:`int` **filesystem/file_dialog/thumbnail_size** + +---- + +.. _class_EditorSettings_property_filesystem/on_save/compress_binary_resources: + +- :ref:`bool` **filesystem/on_save/compress_binary_resources** + +---- + +.. _class_EditorSettings_property_filesystem/on_save/safe_save_on_backup_then_rename: + +- :ref:`bool` **filesystem/on_save/safe_save_on_backup_then_rename** + +---- + +.. _class_EditorSettings_property_interface/editor/automatically_open_screenshots: + +- :ref:`bool` **interface/editor/automatically_open_screenshots** + +---- + +.. _class_EditorSettings_property_interface/editor/code_font: + +- :ref:`String` **interface/editor/code_font** + +---- + +.. _class_EditorSettings_property_interface/editor/code_font_size: + +- :ref:`int` **interface/editor/code_font_size** + +---- + +.. _class_EditorSettings_property_interface/editor/custom_display_scale: + +- :ref:`float` **interface/editor/custom_display_scale** + +---- + +.. _class_EditorSettings_property_interface/editor/dim_editor_on_dialog_popup: + +- :ref:`bool` **interface/editor/dim_editor_on_dialog_popup** + +---- + +.. _class_EditorSettings_property_interface/editor/display_scale: + +- :ref:`int` **interface/editor/display_scale** + +---- + +.. _class_EditorSettings_property_interface/editor/editor_language: + +- :ref:`String` **interface/editor/editor_language** + +---- + +.. _class_EditorSettings_property_interface/editor/font_antialiased: + +- :ref:`bool` **interface/editor/font_antialiased** + +---- + +.. _class_EditorSettings_property_interface/editor/font_hinting: + +- :ref:`int` **interface/editor/font_hinting** + +---- + +.. _class_EditorSettings_property_interface/editor/low_processor_mode_sleep_usec: + +- :ref:`float` **interface/editor/low_processor_mode_sleep_usec** + +---- + +.. _class_EditorSettings_property_interface/editor/main_font: + +- :ref:`String` **interface/editor/main_font** + +---- + +.. _class_EditorSettings_property_interface/editor/main_font_bold: + +- :ref:`String` **interface/editor/main_font_bold** + +---- + +.. _class_EditorSettings_property_interface/editor/main_font_size: + +- :ref:`int` **interface/editor/main_font_size** + +---- + +.. _class_EditorSettings_property_interface/editor/quit_confirmation: + +- :ref:`bool` **interface/editor/quit_confirmation** + +---- + +.. _class_EditorSettings_property_interface/editor/save_each_scene_on_quit: + +- :ref:`bool` **interface/editor/save_each_scene_on_quit** + +---- + +.. _class_EditorSettings_property_interface/editor/separate_distraction_mode: + +- :ref:`bool` **interface/editor/separate_distraction_mode** + +---- + +.. _class_EditorSettings_property_interface/editor/unfocused_low_processor_mode_sleep_usec: + +- :ref:`float` **interface/editor/unfocused_low_processor_mode_sleep_usec** + +---- + +.. _class_EditorSettings_property_interface/inspector/max_array_dictionary_items_per_page: + +- :ref:`int` **interface/inspector/max_array_dictionary_items_per_page** + +---- + +.. _class_EditorSettings_property_interface/scene_tabs/minimum_width: + +- :ref:`int` **interface/scene_tabs/minimum_width** + +---- + +.. _class_EditorSettings_property_interface/scene_tabs/resize_if_many_tabs: + +- :ref:`bool` **interface/scene_tabs/resize_if_many_tabs** + +---- + +.. _class_EditorSettings_property_interface/scene_tabs/show_script_button: + +- :ref:`bool` **interface/scene_tabs/show_script_button** + +---- + +.. _class_EditorSettings_property_interface/scene_tabs/show_thumbnail_on_hover: + +- :ref:`bool` **interface/scene_tabs/show_thumbnail_on_hover** + +---- + +.. _class_EditorSettings_property_interface/theme/accent_color: + +- :ref:`Color` **interface/theme/accent_color** + +---- + +.. _class_EditorSettings_property_interface/theme/additional_spacing: + +- :ref:`float` **interface/theme/additional_spacing** + +---- + +.. _class_EditorSettings_property_interface/theme/base_color: + +- :ref:`Color` **interface/theme/base_color** + +---- + +.. _class_EditorSettings_property_interface/theme/border_size: + +- :ref:`int` **interface/theme/border_size** + +---- + +.. _class_EditorSettings_property_interface/theme/contrast: + +- :ref:`float` **interface/theme/contrast** + +---- + +.. _class_EditorSettings_property_interface/theme/custom_theme: + +- :ref:`String` **interface/theme/custom_theme** + +---- + +.. _class_EditorSettings_property_interface/theme/highlight_tabs: + +- :ref:`bool` **interface/theme/highlight_tabs** + +---- + +.. _class_EditorSettings_property_interface/theme/icon_and_font_color: + +- :ref:`int` **interface/theme/icon_and_font_color** + +---- + +.. _class_EditorSettings_property_interface/theme/preset: + +- :ref:`String` **interface/theme/preset** + +---- + +.. _class_EditorSettings_property_interface/theme/relationship_line_opacity: + +- :ref:`float` **interface/theme/relationship_line_opacity** + +---- + +.. _class_EditorSettings_property_interface/theme/use_graph_node_headers: + +- :ref:`bool` **interface/theme/use_graph_node_headers** + +---- + +.. _class_EditorSettings_property_network/debug/remote_host: + +- :ref:`String` **network/debug/remote_host** + +---- + +.. _class_EditorSettings_property_network/debug/remote_port: + +- :ref:`int` **network/debug/remote_port** + +---- + +.. _class_EditorSettings_property_network/http_proxy/host: + +- :ref:`String` **network/http_proxy/host** + +---- + +.. _class_EditorSettings_property_network/http_proxy/port: + +- :ref:`int` **network/http_proxy/port** + +---- + +.. _class_EditorSettings_property_network/ssl/editor_ssl_certificates: + +- :ref:`String` **network/ssl/editor_ssl_certificates** + +---- + +.. _class_EditorSettings_property_project_manager/sorting_order: + +- :ref:`int` **project_manager/sorting_order** + +---- + +.. _class_EditorSettings_property_run/auto_save/save_before_running: + +- :ref:`bool` **run/auto_save/save_before_running** + +---- + +.. _class_EditorSettings_property_run/output/always_clear_output_on_play: + +- :ref:`bool` **run/output/always_clear_output_on_play** + +---- + +.. _class_EditorSettings_property_run/output/always_close_output_on_stop: + +- :ref:`bool` **run/output/always_close_output_on_stop** + +---- + +.. _class_EditorSettings_property_run/output/always_open_output_on_play: + +- :ref:`bool` **run/output/always_open_output_on_play** + +---- + +.. _class_EditorSettings_property_run/output/font_size: + +- :ref:`int` **run/output/font_size** + +---- + +.. _class_EditorSettings_property_run/window_placement/rect: + +- :ref:`int` **run/window_placement/rect** + +---- + +.. _class_EditorSettings_property_run/window_placement/rect_custom_position: + +- :ref:`Vector2` **run/window_placement/rect_custom_position** + +---- + +.. _class_EditorSettings_property_run/window_placement/screen: + +- :ref:`int` **run/window_placement/screen** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/code_folding: + +- :ref:`bool` **text_editor/appearance/code_folding** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/line_length_guideline_hard_column: + +- :ref:`int` **text_editor/appearance/line_length_guideline_hard_column** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/line_length_guideline_soft_column: + +- :ref:`int` **text_editor/appearance/line_length_guideline_soft_column** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/line_numbers_zero_padded: + +- :ref:`bool` **text_editor/appearance/line_numbers_zero_padded** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/show_bookmark_gutter: + +- :ref:`bool` **text_editor/appearance/show_bookmark_gutter** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/show_breakpoint_gutter: + +- :ref:`bool` **text_editor/appearance/show_breakpoint_gutter** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/show_info_gutter: + +- :ref:`bool` **text_editor/appearance/show_info_gutter** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/show_line_length_guidelines: + +- :ref:`bool` **text_editor/appearance/show_line_length_guidelines** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/show_line_numbers: + +- :ref:`bool` **text_editor/appearance/show_line_numbers** + +---- + +.. _class_EditorSettings_property_text_editor/appearance/word_wrap: + +- :ref:`bool` **text_editor/appearance/word_wrap** + +---- + +.. _class_EditorSettings_property_text_editor/completion/add_type_hints: + +- :ref:`bool` **text_editor/completion/add_type_hints** + +---- + +.. _class_EditorSettings_property_text_editor/completion/auto_brace_complete: + +- :ref:`bool` **text_editor/completion/auto_brace_complete** + +---- + +.. _class_EditorSettings_property_text_editor/completion/callhint_tooltip_offset: + +- :ref:`Vector2` **text_editor/completion/callhint_tooltip_offset** + +---- + +.. _class_EditorSettings_property_text_editor/completion/code_complete_delay: + +- :ref:`float` **text_editor/completion/code_complete_delay** + +---- + +.. _class_EditorSettings_property_text_editor/completion/complete_file_paths: + +- :ref:`bool` **text_editor/completion/complete_file_paths** + +---- + +.. _class_EditorSettings_property_text_editor/completion/idle_parse_delay: + +- :ref:`float` **text_editor/completion/idle_parse_delay** + +---- + +.. _class_EditorSettings_property_text_editor/completion/put_callhint_tooltip_below_current_line: + +- :ref:`bool` **text_editor/completion/put_callhint_tooltip_below_current_line** + +---- + +.. _class_EditorSettings_property_text_editor/completion/use_single_quotes: + +- :ref:`bool` **text_editor/completion/use_single_quotes** + +---- + +.. _class_EditorSettings_property_text_editor/cursor/block_caret: + +- :ref:`bool` **text_editor/cursor/block_caret** + +---- + +.. _class_EditorSettings_property_text_editor/cursor/caret_blink: + +- :ref:`bool` **text_editor/cursor/caret_blink** + +---- + +.. _class_EditorSettings_property_text_editor/cursor/caret_blink_speed: + +- :ref:`float` **text_editor/cursor/caret_blink_speed** + +---- + +.. _class_EditorSettings_property_text_editor/cursor/right_click_moves_caret: + +- :ref:`bool` **text_editor/cursor/right_click_moves_caret** + +---- + +.. _class_EditorSettings_property_text_editor/cursor/scroll_past_end_of_file: + +- :ref:`bool` **text_editor/cursor/scroll_past_end_of_file** + +---- + +.. _class_EditorSettings_property_text_editor/files/auto_reload_and_parse_scripts_on_save: + +- :ref:`bool` **text_editor/files/auto_reload_and_parse_scripts_on_save** + +---- + +.. _class_EditorSettings_property_text_editor/files/auto_reload_scripts_on_external_change: + +- :ref:`bool` **text_editor/files/auto_reload_scripts_on_external_change** + +---- + +.. _class_EditorSettings_property_text_editor/files/autosave_interval_secs: + +- :ref:`int` **text_editor/files/autosave_interval_secs** + +---- + +.. _class_EditorSettings_property_text_editor/files/restore_scripts_on_load: + +- :ref:`bool` **text_editor/files/restore_scripts_on_load** + +---- + +.. _class_EditorSettings_property_text_editor/files/trim_trailing_whitespace_on_save: + +- :ref:`bool` **text_editor/files/trim_trailing_whitespace_on_save** + +---- + +.. _class_EditorSettings_property_text_editor/help/help_font_size: + +- :ref:`int` **text_editor/help/help_font_size** + +---- + +.. _class_EditorSettings_property_text_editor/help/help_source_font_size: + +- :ref:`int` **text_editor/help/help_source_font_size** + +---- + +.. _class_EditorSettings_property_text_editor/help/help_title_font_size: + +- :ref:`int` **text_editor/help/help_title_font_size** + +---- + +.. _class_EditorSettings_property_text_editor/help/show_help_index: + +- :ref:`bool` **text_editor/help/show_help_index** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/background_color: + +- :ref:`Color` **text_editor/highlighting/background_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/base_type_color: + +- :ref:`Color` **text_editor/highlighting/base_type_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/bookmark_color: + +- :ref:`Color` **text_editor/highlighting/bookmark_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/brace_mismatch_color: + +- :ref:`Color` **text_editor/highlighting/brace_mismatch_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/breakpoint_color: + +- :ref:`Color` **text_editor/highlighting/breakpoint_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/caret_background_color: + +- :ref:`Color` **text_editor/highlighting/caret_background_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/caret_color: + +- :ref:`Color` **text_editor/highlighting/caret_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/code_folding_color: + +- :ref:`Color` **text_editor/highlighting/code_folding_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/comment_color: + +- :ref:`Color` **text_editor/highlighting/comment_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/completion_background_color: + +- :ref:`Color` **text_editor/highlighting/completion_background_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/completion_existing_color: + +- :ref:`Color` **text_editor/highlighting/completion_existing_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/completion_font_color: + +- :ref:`Color` **text_editor/highlighting/completion_font_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/completion_scroll_color: + +- :ref:`Color` **text_editor/highlighting/completion_scroll_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/completion_selected_color: + +- :ref:`Color` **text_editor/highlighting/completion_selected_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/control_flow_keyword_color: + +- :ref:`Color` **text_editor/highlighting/control_flow_keyword_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/current_line_color: + +- :ref:`Color` **text_editor/highlighting/current_line_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/engine_type_color: + +- :ref:`Color` **text_editor/highlighting/engine_type_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/executing_line_color: + +- :ref:`Color` **text_editor/highlighting/executing_line_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/function_color: + +- :ref:`Color` **text_editor/highlighting/function_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/highlight_all_occurrences: + +- :ref:`bool` **text_editor/highlighting/highlight_all_occurrences** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/highlight_current_line: + +- :ref:`bool` **text_editor/highlighting/highlight_current_line** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/highlight_type_safe_lines: + +- :ref:`bool` **text_editor/highlighting/highlight_type_safe_lines** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/keyword_color: + +- :ref:`Color` **text_editor/highlighting/keyword_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/line_length_guideline_color: + +- :ref:`Color` **text_editor/highlighting/line_length_guideline_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/line_number_color: + +- :ref:`Color` **text_editor/highlighting/line_number_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/mark_color: + +- :ref:`Color` **text_editor/highlighting/mark_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/member_variable_color: + +- :ref:`Color` **text_editor/highlighting/member_variable_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/number_color: + +- :ref:`Color` **text_editor/highlighting/number_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/safe_line_number_color: + +- :ref:`Color` **text_editor/highlighting/safe_line_number_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/search_result_border_color: + +- :ref:`Color` **text_editor/highlighting/search_result_border_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/search_result_color: + +- :ref:`Color` **text_editor/highlighting/search_result_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/selection_color: + +- :ref:`Color` **text_editor/highlighting/selection_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/string_color: + +- :ref:`Color` **text_editor/highlighting/string_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/symbol_color: + +- :ref:`Color` **text_editor/highlighting/symbol_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/syntax_highlighting: + +- :ref:`bool` **text_editor/highlighting/syntax_highlighting** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/text_color: + +- :ref:`Color` **text_editor/highlighting/text_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/text_selected_color: + +- :ref:`Color` **text_editor/highlighting/text_selected_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/user_type_color: + +- :ref:`Color` **text_editor/highlighting/user_type_color** + +---- + +.. _class_EditorSettings_property_text_editor/highlighting/word_highlighted_color: + +- :ref:`Color` **text_editor/highlighting/word_highlighted_color** + +---- + +.. _class_EditorSettings_property_text_editor/indent/auto_indent: + +- :ref:`bool` **text_editor/indent/auto_indent** + +---- + +.. _class_EditorSettings_property_text_editor/indent/convert_indent_on_save: + +- :ref:`bool` **text_editor/indent/convert_indent_on_save** + +---- + +.. _class_EditorSettings_property_text_editor/indent/draw_spaces: + +- :ref:`bool` **text_editor/indent/draw_spaces** + +---- + +.. _class_EditorSettings_property_text_editor/indent/draw_tabs: + +- :ref:`bool` **text_editor/indent/draw_tabs** + +---- + +.. _class_EditorSettings_property_text_editor/indent/size: + +- :ref:`int` **text_editor/indent/size** + +---- + +.. _class_EditorSettings_property_text_editor/indent/type: + +- :ref:`int` **text_editor/indent/type** + +---- + +.. _class_EditorSettings_property_text_editor/navigation/drag_and_drop_selection: + +- :ref:`bool` **text_editor/navigation/drag_and_drop_selection** + +---- + +.. _class_EditorSettings_property_text_editor/navigation/minimap_width: + +- :ref:`int` **text_editor/navigation/minimap_width** + +---- + +.. _class_EditorSettings_property_text_editor/navigation/mouse_extra_buttons_navigate_history: + +- :ref:`bool` **text_editor/navigation/mouse_extra_buttons_navigate_history** + +---- + +.. _class_EditorSettings_property_text_editor/navigation/show_minimap: + +- :ref:`bool` **text_editor/navigation/show_minimap** + +---- + +.. _class_EditorSettings_property_text_editor/navigation/smooth_scrolling: + +- :ref:`bool` **text_editor/navigation/smooth_scrolling** + +---- + +.. _class_EditorSettings_property_text_editor/navigation/stay_in_script_editor_on_node_selected: + +- :ref:`bool` **text_editor/navigation/stay_in_script_editor_on_node_selected** + +---- + +.. _class_EditorSettings_property_text_editor/navigation/v_scroll_speed: + +- :ref:`int` **text_editor/navigation/v_scroll_speed** + +---- + +.. _class_EditorSettings_property_text_editor/script_list/show_members_overview: + +- :ref:`bool` **text_editor/script_list/show_members_overview** + +---- + +.. _class_EditorSettings_property_text_editor/theme/color_theme: + +- :ref:`String` **text_editor/theme/color_theme** + +---- + +.. _class_EditorSettings_property_text_editor/theme/line_spacing: + +- :ref:`int` **text_editor/theme/line_spacing** + +---- + +.. _class_EditorSettings_property_text_editor/tools/sort_members_outline_alphabetically: + +- :ref:`bool` **text_editor/tools/sort_members_outline_alphabetically** + Method Descriptions ------------------- diff --git a/classes/class_file.rst b/classes/class_file.rst index 6947bb859..7170b24ef 100644 --- a/classes/class_file.rst +++ b/classes/class_file.rst @@ -76,7 +76,7 @@ Methods +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_8` **(** **)** |const| | +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_as_text` **(** **)** |const| | +| :ref:`String` | :ref:`get_as_text` **(** :ref:`bool` skip_cr=true **)** |const| | +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolByteArray` | :ref:`get_buffer` **(** :ref:`int` len **)** |const| | +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -297,11 +297,11 @@ Returns the next 8 bits from the file as an integer. See :ref:`store_8` **get_as_text** **(** **)** |const| +- :ref:`String` **get_as_text** **(** :ref:`bool` skip_cr=true **)** |const| -Returns the whole file as a :ref:`String`. +Returns the whole file as a :ref:`String`. Text is interpreted as being UTF-8 encoded. -Text is interpreted as being UTF-8 encoded. +If ``skip_cr`` is ``true``, carriage return characters (``\r``, CR) will be ignored when parsing the UTF-8, so that only line feed characters (``\n``, LF) represent a new line (Unix convention). ---- diff --git a/classes/class_filedialog.rst b/classes/class_filedialog.rst index f1b9e7bc9..bf4686b2f 100644 --- a/classes/class_filedialog.rst +++ b/classes/class_filedialog.rst @@ -39,6 +39,8 @@ Properties +-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`mode_overrides_title` | ``true`` | +-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`root_subfolder` | ``""`` | ++-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`show_hidden_files` | ``false`` | +-----------------------------------------------+-----------------------------------------------------------------------------+---------------------------------------------------------------------------------------------+ | :ref:`String` | window_title | ``"Save a File"`` (overrides :ref:`WindowDialog`) | @@ -263,6 +265,22 @@ If ``true``, changing the ``Mode`` property will set the window title accordingl ---- +.. _class_FileDialog_property_root_subfolder: + +- :ref:`String` **root_subfolder** + ++-----------+---------------------------+ +| *Default* | ``""`` | ++-----------+---------------------------+ +| *Setter* | set_root_subfolder(value) | ++-----------+---------------------------+ +| *Getter* | get_root_subfolder() | ++-----------+---------------------------+ + +If non-empty, the given sub-folder will be "root" of this ``FileDialog``, i.e. user won't be able to go to its parent directory. + +---- + .. _class_FileDialog_property_show_hidden_files: - :ref:`bool` **show_hidden_files** diff --git a/classes/class_font.rst b/classes/class_font.rst index e8f809f73..3ce26648e 100644 --- a/classes/class_font.rst +++ b/classes/class_font.rst @@ -104,6 +104,8 @@ See also :ref:`CanvasItem.draw_string`. Draw character ``char`` into a canvas item using the font at a given position, with ``modulate`` color, and optionally kerning if ``next`` is passed. clipping the width. ``position`` specifies the baseline, not the top. To draw from the top, *ascent* must be added to the Y axis. The width used by the character is returned, making this function useful for drawing strings character by character. +If ``outline`` is ``true``, the outline of the character is drawn instead of the character itself. + ---- .. _class_Font_method_get_ascent: diff --git a/classes/class_gradient.rst b/classes/class_gradient.rst index aa6c0770c..8ad4084c7 100644 --- a/classes/class_gradient.rst +++ b/classes/class_gradient.rst @@ -17,7 +17,9 @@ A color interpolator resource which can be used to generate colors between user- Description ----------- -Given a set of colors, this resource will interpolate them in order. This means that if you have color 1, color 2 and color 3, the ramp will interpolate from color 1 to color 2 and from color 2 to color 3. The ramp will initially have 2 colors (black and white), one (black) at ramp lower offset 0 and the other (white) at the ramp higher offset 1. +Given a set of colors, this resource will interpolate them in order. This means that if you have color 1, color 2 and color 3, the gradient will interpolate from color 1 to color 2 and from color 2 to color 3. The gradient will initially have 2 colors (black and white), one (black) at gradient lower offset 0 and the other (white) at the gradient higher offset 1. + +See also :ref:`Curve` which supports more complex easing methods, but does not support colors. Properties ---------- diff --git a/classes/class_gradienttexture.rst b/classes/class_gradienttexture.rst index 5c7a18412..f4941ce37 100644 --- a/classes/class_gradienttexture.rst +++ b/classes/class_gradienttexture.rst @@ -22,11 +22,13 @@ GradientTexture uses a :ref:`Gradient` to fill the texture data. Properties ---------- -+---------------------------------+----------------------------------------------------------+----------+ -| :ref:`Gradient` | :ref:`gradient` | | -+---------------------------------+----------------------------------------------------------+----------+ -| :ref:`int` | :ref:`width` | ``2048`` | -+---------------------------------+----------------------------------------------------------+----------+ ++---------------------------------+----------------------------------------------------------+-----------+ +| :ref:`Gradient` | :ref:`gradient` | | ++---------------------------------+----------------------------------------------------------+-----------+ +| :ref:`bool` | :ref:`use_hdr` | ``false`` | ++---------------------------------+----------------------------------------------------------+-----------+ +| :ref:`int` | :ref:`width` | ``2048`` | ++---------------------------------+----------------------------------------------------------+-----------+ Property Descriptions --------------------- @@ -45,6 +47,22 @@ The :ref:`Gradient` that will be used to fill the texture. ---- +.. _class_GradientTexture_property_use_hdr: + +- :ref:`bool` **use_hdr** + ++-----------+--------------------+ +| *Default* | ``false`` | ++-----------+--------------------+ +| *Setter* | set_use_hdr(value) | ++-----------+--------------------+ +| *Getter* | is_using_hdr() | ++-----------+--------------------+ + +If ``true``, the generated texture will support high dynamic range (:ref:`Image.FORMAT_RGBAF` format). This allows for glow effects to work if :ref:`Environment.glow_enabled` is ``true``. If ``false``, the generated texture will use low dynamic range; overbright colors will be clamped (:ref:`Image.FORMAT_RGBA8` format). + +---- + .. _class_GradientTexture_property_width: - :ref:`int` **width** diff --git a/classes/class_graphedit.rst b/classes/class_graphedit.rst index a2705ebd5..cdb33f941 100644 --- a/classes/class_graphedit.rst +++ b/classes/class_graphedit.rst @@ -171,7 +171,7 @@ Emitted when user dragging connection from output port into empty space of the g - **copy_nodes_request** **(** **)** -Emitted when the user presses ``Ctrl + C``. +Emitted when the user presses :kbd:`Ctrl + C`. ---- @@ -217,7 +217,7 @@ Emitted when a GraphNode is selected. - **paste_nodes_request** **(** **)** -Emitted when the user presses ``Ctrl + V``. +Emitted when the user presses :kbd:`Ctrl + V`. ---- diff --git a/classes/class_graphnode.rst b/classes/class_graphnode.rst index 0094e5e80..3998976ab 100644 --- a/classes/class_graphnode.rst +++ b/classes/class_graphnode.rst @@ -179,12 +179,28 @@ Emitted when the GraphNode is requested to be resized. Happens on dragging the r ---- +.. _class_GraphNode_signal_selected: + +- **selected** **(** **)** + +Emitted when the GraphNode is selected. + +---- + .. _class_GraphNode_signal_slot_updated: - **slot_updated** **(** :ref:`int` idx **)** Emitted when any GraphNode's slot is updated. +---- + +.. _class_GraphNode_signal_unselected: + +- **unselected** **(** **)** + +Emitted when the GraphNode is unselected. + Enumerations ------------ diff --git a/classes/class_httpclient.rst b/classes/class_httpclient.rst index f962b8e03..d250db579 100644 --- a/classes/class_httpclient.rst +++ b/classes/class_httpclient.rst @@ -17,7 +17,9 @@ Low-level hyper-text transfer protocol client. Description ----------- -Hyper-text transfer protocol client (sometimes called "User Agent"). Used to make HTTP requests to download web content, upload files and other data or to communicate with various services, among other use cases. **See the :ref:`HTTPRequest` node for a higher-level alternative.**\ +Hyper-text transfer protocol client (sometimes called "User Agent"). Used to make HTTP requests to download web content, upload files and other data or to communicate with various services, among other use cases. + +See the :ref:`HTTPRequest` node for a higher-level alternative. \ **Note:** This client only needs to connect to a host once (see :ref:`connect_to_host`) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See :ref:`request` for a full example and to get started. diff --git a/classes/class_input.rst b/classes/class_input.rst index 4d6357042..068b6be4c 100644 --- a/classes/class_input.rst +++ b/classes/class_input.rst @@ -83,7 +83,7 @@ Methods +--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_joy_vibration_strength` **(** :ref:`int` device **)** | +--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_last_mouse_speed` **(** **)** |const| | +| :ref:`Vector2` | :ref:`get_last_mouse_speed` **(** **)** | +--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`get_magnetometer` **(** **)** |const| | +--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -156,6 +156,8 @@ Enumerations .. _class_Input_constant_MOUSE_MODE_CONFINED: +.. _class_Input_constant_MOUSE_MODE_CONFINED_HIDDEN: + enum **MouseMode**: - **MOUSE_MODE_VISIBLE** = **0** --- Makes the mouse cursor visible if it is hidden. @@ -166,7 +168,9 @@ enum **MouseMode**: \ **Note:** If you want to process the mouse's movement in this mode, you need to use :ref:`InputEventMouseMotion.relative`. -- **MOUSE_MODE_CONFINED** = **3** --- Makes the mouse cursor visible but confines it to the game window. +- **MOUSE_MODE_CONFINED** = **3** --- Confines the mouse cursor to the game window, and make it visible. + +- **MOUSE_MODE_CONFINED_HIDDEN** = **4** --- Confines the mouse cursor to the game window, and make it hidden. ---- @@ -468,9 +472,9 @@ Returns the strength of the joypad vibration: x is the strength of the weak moto .. _class_Input_method_get_last_mouse_speed: -- :ref:`Vector2` **get_last_mouse_speed** **(** **)** |const| +- :ref:`Vector2` **get_last_mouse_speed** **(** **)** -Returns the mouse speed for the last time the cursor was moved, and this until the next frame where the mouse moves. This means that even if the mouse is not moving, this function will still return the value of the last motion. +Returns the last mouse speed. To provide a precise and jitter-free speed, mouse speed is only calculated every 0.1s. Therefore, mouse speed will lag mouse movements. ---- @@ -713,12 +717,16 @@ Stops the vibration of the joypad. - void **vibrate_handheld** **(** :ref:`int` duration_ms=500 **)** -Vibrate Android and iOS devices. +Vibrate handheld devices. + +\ **Note:** This method is implemented on Android, iOS, and HTML5. \ **Note:** For Android, it requires enabling the ``VIBRATE`` permission in the export preset. \ **Note:** For iOS, specifying the duration is supported in iOS 13 and later. +\ **Note:** Some web browsers such as Safari and Firefox for Android do not support this method. + ---- .. _class_Input_method_warp_mouse_position: diff --git a/classes/class_inputeventkey.rst b/classes/class_inputeventkey.rst index d5ca0b24c..45aef0f0f 100644 --- a/classes/class_inputeventkey.rst +++ b/classes/class_inputeventkey.rst @@ -140,7 +140,7 @@ Method Descriptions - :ref:`int` **get_physical_scancode_with_modifiers** **(** **)** |const| -Returns the physical scancode combined with modifier keys such as ``Shift`` or ``Alt``. See also :ref:`InputEventWithModifiers`. +Returns the physical scancode combined with modifier keys such as :kbd:`Shift` or :kbd:`Alt`. See also :ref:`InputEventWithModifiers`. To get a human-readable representation of the ``InputEventKey`` with modifiers, use ``OS.get_scancode_string(event.get_physical_scancode_with_modifiers())`` where ``event`` is the ``InputEventKey``. @@ -150,7 +150,7 @@ To get a human-readable representation of the ``InputEventKey`` with modifiers, - :ref:`int` **get_scancode_with_modifiers** **(** **)** |const| -Returns the scancode combined with modifier keys such as ``Shift`` or ``Alt``. See also :ref:`InputEventWithModifiers`. +Returns the scancode combined with modifier keys such as :kbd:`Shift` or :kbd:`Alt`. See also :ref:`InputEventWithModifiers`. To get a human-readable representation of the ``InputEventKey`` with modifiers, use ``OS.get_scancode_string(event.get_scancode_with_modifiers())`` where ``event`` is the ``InputEventKey``. diff --git a/classes/class_inputeventwithmodifiers.rst b/classes/class_inputeventwithmodifiers.rst index ed4d36067..18febc4c0 100644 --- a/classes/class_inputeventwithmodifiers.rst +++ b/classes/class_inputeventwithmodifiers.rst @@ -19,7 +19,7 @@ Base class for keys events with modifiers. Description ----------- -Contains keys events information with modifiers support like ``Shift`` or ``Alt``. See :ref:`Node._input`. +Contains keys events information with modifiers support like :kbd:`Shift` or :kbd:`Alt`. See :ref:`Node._input`. Tutorials --------- @@ -56,7 +56,7 @@ Property Descriptions | *Getter* | get_alt() | +-----------+----------------+ -State of the ``Alt`` modifier. +State of the :kbd:`Alt` modifier. ---- @@ -72,7 +72,7 @@ State of the ``Alt`` modifier. | *Getter* | get_command() | +-----------+--------------------+ -State of the ``Command`` modifier. +State of the :kbd:`Command` modifier. ---- @@ -88,7 +88,7 @@ State of the ``Command`` modifier. | *Getter* | get_control() | +-----------+--------------------+ -State of the ``Ctrl`` modifier. +State of the :kbd:`Ctrl` modifier. ---- @@ -104,7 +104,7 @@ State of the ``Ctrl`` modifier. | *Getter* | get_metakey() | +-----------+--------------------+ -State of the ``Meta`` modifier. +State of the :kbd:`Meta` modifier. ---- @@ -120,7 +120,7 @@ State of the ``Meta`` modifier. | *Getter* | get_shift() | +-----------+------------------+ -State of the ``Shift`` modifier. +State of the :kbd:`Shift` modifier. .. |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_instanceplaceholder.rst b/classes/class_instanceplaceholder.rst index 42dc3717b..6348bf5de 100644 --- a/classes/class_instanceplaceholder.rst +++ b/classes/class_instanceplaceholder.rst @@ -41,7 +41,9 @@ Method Descriptions - :ref:`Node` **create_instance** **(** :ref:`bool` replace=false, :ref:`PackedScene` custom_scene=null **)** -Not thread-safe. Use :ref:`Object.call_deferred` if calling from a thread. +Call this method to actually load in the node. The created node will be placed as a sibling *above* the ``InstancePlaceholder`` in the scene tree. The :ref:`Node`'s reference is also returned for convenience. + +\ **Note:** :ref:`create_instance` is not thread-safe. Use :ref:`Object.call_deferred` if calling from a thread. ---- @@ -57,6 +59,10 @@ Gets the path to the :ref:`PackedScene` resource file that is - :ref:`Dictionary` **get_stored_values** **(** :ref:`bool` with_order=false **)** +Returns the list of properties that will be applied to the node when :ref:`create_instance` is called. + +If ``with_order`` is ``true``, a key named ``.order`` (note the leading period) is added to the dictionary. This ``.order`` key is an :ref:`Array` of :ref:`String` property names specifying the order in which properties will be applied (with index 0 being the first). + ---- .. _class_InstancePlaceholder_method_replace_by_instance: diff --git a/classes/class_itemlist.rst b/classes/class_itemlist.rst index a084a0d17..bf944edbe 100644 --- a/classes/class_itemlist.rst +++ b/classes/class_itemlist.rst @@ -19,7 +19,7 @@ Description This control provides a selectable list of items that may be in a single (or multiple columns) with option of text, icons, or both text and icon. Tooltips are supported and may be different for every item in the list. -Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing Enter. +Selectable items in the list may be selected or deselected and multiple selection may be enabled. Selection with right mouse button may also be enabled to allow use of popup context menus. Items may also be "activated" by double-clicking them or by pressing :kbd:`Enter`. Item text only supports single-line strings, newline characters (e.g. ``\n``) in the string won't produce a newline. Text wrapping is enabled in :ref:`ICON_MODE_TOP` mode, but column's width is adjusted to fully fit its content by default. You need to set :ref:`fixed_column_width` greater than zero to wrap the text. @@ -181,7 +181,7 @@ Signals - **item_activated** **(** :ref:`int` index **)** -Triggered when specified list item is activated via double-clicking or by pressing Enter. +Triggered when specified list item is activated via double-clicking or by pressing :kbd:`Enter`. ---- @@ -258,7 +258,7 @@ enum **SelectMode**: - **SELECT_SINGLE** = **0** --- Only allow selecting a single item. -- **SELECT_MULTI** = **1** --- Allows selecting multiple items by holding Ctrl or Shift. +- **SELECT_MULTI** = **1** --- Allows selecting multiple items by holding :kbd:`Ctrl` or :kbd:`Shift`. Property Descriptions --------------------- @@ -682,7 +682,7 @@ Sets the foreground color of the item specified by ``idx`` index to the specifie Disables (or enables) the item at the specified index. -Disabled items cannot be selected and do not trigger activation signals (when double-clicking or pressing Enter). +Disabled items cannot be selected and do not trigger activation signals (when double-clicking or pressing :kbd:`Enter`). ---- diff --git a/classes/class_line2d.rst b/classes/class_line2d.rst index b8f602a75..90c0b77f5 100644 --- a/classes/class_line2d.rst +++ b/classes/class_line2d.rst @@ -62,19 +62,19 @@ Properties Methods ------- -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`add_point` **(** :ref:`Vector2` position, :ref:`int` at_position=-1 **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`clear_points` **(** **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_point_count` **(** **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_point_position` **(** :ref:`int` i **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`remove_point` **(** :ref:`int` i **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_point_position` **(** :ref:`int` i, :ref:`Vector2` position **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_point` **(** :ref:`Vector2` position, :ref:`int` index=-1 **)** | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear_points` **(** **)** | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_point_count` **(** **)** |const| | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_point_position` **(** :ref:`int` index **)** |const| | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_point` **(** :ref:`int` index **)** | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_point_position` **(** :ref:`int` index, :ref:`Vector2` position **)** | ++-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------+ Enumerations ------------ @@ -345,11 +345,11 @@ Method Descriptions .. _class_Line2D_method_add_point: -- void **add_point** **(** :ref:`Vector2` position, :ref:`int` at_position=-1 **)** +- void **add_point** **(** :ref:`Vector2` position, :ref:`int` index=-1 **)** -Adds a point at the ``position``. Appends the point at the end of the line. +Adds a point with the specified ``position`` relative to the line's own position. Appends the new point at the end of the point list. -If ``at_position`` is given, the point is inserted before the point number ``at_position``, moving that point (and every point after) after the inserted point. If ``at_position`` is not given, or is an illegal value (``at_position < 0`` or ``at_position >= [method get_point_count]``), the point will be appended at the end of the point list. +If ``index`` is given, the new point is inserted before the existing point identified by index ``index``. Every existing point starting from ``index`` is shifted further down the list of points. The index must be greater than or equal to ``0`` and must not exceed the number of existing points in the line. See :ref:`get_point_count`. ---- @@ -365,31 +365,31 @@ Removes all points from the line. - :ref:`int` **get_point_count** **(** **)** |const| -Returns the Line2D's amount of points. +Returns the amount of points in the line. ---- .. _class_Line2D_method_get_point_position: -- :ref:`Vector2` **get_point_position** **(** :ref:`int` i **)** |const| +- :ref:`Vector2` **get_point_position** **(** :ref:`int` index **)** |const| -Returns point ``i``'s position. +Returns the position of the point at index ``index``. ---- .. _class_Line2D_method_remove_point: -- void **remove_point** **(** :ref:`int` i **)** +- void **remove_point** **(** :ref:`int` index **)** -Removes the point at index ``i`` from the line. +Removes the point at index ``index`` from the line. ---- .. _class_Line2D_method_set_point_position: -- void **set_point_position** **(** :ref:`int` i, :ref:`Vector2` position **)** +- void **set_point_position** **(** :ref:`int` index, :ref:`Vector2` position **)** -Overwrites the position in point ``i`` with the supplied ``position``. +Overwrites the position of the point at index ``index`` with the supplied ``position``. .. |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_lineedit.rst b/classes/class_lineedit.rst index 7cc96657f..7297793d5 100644 --- a/classes/class_lineedit.rst +++ b/classes/class_lineedit.rst @@ -21,90 +21,92 @@ LineEdit provides a single-line string editor, used for text fields. It features many built-in shortcuts which will always be available (``Ctrl`` here maps to ``Command`` on macOS): -- Ctrl + C: Copy +- :kbd:`Ctrl + C`: Copy -- Ctrl + X: Cut +- :kbd:`Ctrl + X`: Cut -- Ctrl + V or Ctrl + Y: Paste/"yank" +- :kbd:`Ctrl + V or Ctrl + Y`: Paste/"yank" -- Ctrl + Z: Undo +- :kbd:`Ctrl + Z`: Undo -- Ctrl + Shift + Z: Redo +- :kbd:`Ctrl + Shift + Z`: Redo -- Ctrl + U: Delete text from the cursor position to the beginning of the line +- :kbd:`Ctrl + U`: Delete text from the cursor position to the beginning of the line -- Ctrl + K: Delete text from the cursor position to the end of the line +- :kbd:`Ctrl + K`: Delete text from the cursor position to the end of the line -- Ctrl + A: Select all text +- :kbd:`Ctrl + A`: Select all text -- Up/Down arrow: Move the cursor to the beginning/end of the line +- :kbd:`Up Arrow`/:kbd:`Down arrow`: Move the cursor to the beginning/end of the line On macOS, some extra keyboard shortcuts are available: -- Ctrl + F: Like the right arrow key, move the cursor one character right +- :kbd:`Ctrl + F`: Same as :kbd:`Right Arrow`, move the cursor one character right -- Ctrl + B: Like the left arrow key, move the cursor one character left +- :kbd:`Ctrl + B`: Same as :kbd:`Left Arrow`, move the cursor one character left -- Ctrl + P: Like the up arrow key, move the cursor to the previous line +- :kbd:`Ctrl + P`: Same as :kbd:`Up Arrow`, move the cursor to the previous line -- Ctrl + N: Like the down arrow key, move the cursor to the next line +- :kbd:`Ctrl + N`: Same as :kbd:`Down Arrow`, move the cursor to the next line -- Ctrl + D: Like the Delete key, delete the character on the right side of cursor +- :kbd:`Ctrl + D`: Same as :kbd:`Delete`, delete the character on the right side of cursor -- Ctrl + H: Like the Backspace key, delete the character on the left side of the cursor +- :kbd:`Ctrl + H`: Same as :kbd:`Backspace`, delete the character on the left side of the cursor -- Command + Left arrow: Like the Home key, move the cursor to the beginning of the line +- :kbd:`Cmd + Left arrow`: Same as :kbd:`Home`, move the cursor to the beginning of the line -- Command + Right arrow: Like the End key, move the cursor to the end of the line +- :kbd:`Cmd + Right arrow`: Same as :kbd:`End`, move the cursor to the end of the line Properties ---------- -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`Align` | :ref:`align` | ``0`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`caret_blink` | ``false`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`caret_blink_speed` | ``0.65`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`caret_position` | ``0`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`clear_button_enabled` | ``false`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`context_menu_enabled` | ``true`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`deselect_on_focus_loss_enabled` | ``true`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`editable` | ``true`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`expand_to_text_length` | ``false`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`FocusMode` | focus_mode | ``2`` (overrides :ref:`Control`) | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`max_length` | ``0`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`middle_mouse_paste_enabled` | ``true`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`CursorShape` | mouse_default_cursor_shape | ``1`` (overrides :ref:`Control`) | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`placeholder_alpha` | ``0.6`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`placeholder_text` | ``""`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`Texture` | :ref:`right_icon` | | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`secret` | ``false`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`secret_character` | ``"*"`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`selecting_enabled` | ``true`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`shortcut_keys_enabled` | ``true`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`text` | ``""`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`virtual_keyboard_enabled` | ``true`` | -+----------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`Align` | :ref:`align` | ``0`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`caret_blink` | ``false`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`caret_blink_speed` | ``0.65`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`caret_position` | ``0`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`clear_button_enabled` | ``false`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`context_menu_enabled` | ``true`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`deselect_on_focus_loss_enabled` | ``true`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`editable` | ``true`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`expand_to_text_length` | ``false`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`FocusMode` | focus_mode | ``2`` (overrides :ref:`Control`) | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`max_length` | ``0`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`middle_mouse_paste_enabled` | ``true`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`CursorShape` | mouse_default_cursor_shape | ``1`` (overrides :ref:`Control`) | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`placeholder_alpha` | ``0.6`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`placeholder_text` | ``""`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`Texture` | :ref:`right_icon` | | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`secret` | ``false`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`secret_character` | ``"*"`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`selecting_enabled` | ``true`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`shortcut_keys_enabled` | ``true`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`text` | ``""`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`virtual_keyboard_enabled` | ``true`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ +| :ref:`VirtualKeyboardType` | :ref:`virtual_keyboard_type` | ``0`` | ++---------------------------------------------------------------+-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ Methods ------- @@ -256,6 +258,46 @@ Non-printable escape characters are automatically stripped from the OS clipboard - **MENU_MAX** = **7** --- Represents the size of the :ref:`MenuItems` enum. +---- + +.. _enum_LineEdit_VirtualKeyboardType: + +.. _class_LineEdit_constant_KEYBOARD_TYPE_DEFAULT: + +.. _class_LineEdit_constant_KEYBOARD_TYPE_MULTILINE: + +.. _class_LineEdit_constant_KEYBOARD_TYPE_NUMBER: + +.. _class_LineEdit_constant_KEYBOARD_TYPE_NUMBER_DECIMAL: + +.. _class_LineEdit_constant_KEYBOARD_TYPE_PHONE: + +.. _class_LineEdit_constant_KEYBOARD_TYPE_EMAIL_ADDRESS: + +.. _class_LineEdit_constant_KEYBOARD_TYPE_PASSWORD: + +.. _class_LineEdit_constant_KEYBOARD_TYPE_URL: + +enum **VirtualKeyboardType**: + +- **KEYBOARD_TYPE_DEFAULT** = **0** --- Default text virtual keyboard. + +- **KEYBOARD_TYPE_MULTILINE** = **1** --- Multiline virtual keyboard. + +- **KEYBOARD_TYPE_NUMBER** = **2** --- Virtual number keypad, useful for PIN entry. + +- **KEYBOARD_TYPE_NUMBER_DECIMAL** = **3** --- Virtual number keypad, useful for entering fractional numbers. + +- **KEYBOARD_TYPE_PHONE** = **4** --- Virtual phone number keypad. + +- **KEYBOARD_TYPE_EMAIL_ADDRESS** = **5** --- Virtual keyboard with additional keys to assist with typing email addresses. + +- **KEYBOARD_TYPE_PASSWORD** = **6** --- Virtual keyboard for entering a password. On most platforms, this should disable autocomplete and autocapitalization. + +\ **Note:** This is not supported on HTML5 or below iOS version 11.0. Instead, this will behave identically to :ref:`KEYBOARD_TYPE_DEFAULT`. + +- **KEYBOARD_TYPE_URL** = **7** --- Virtual keyboard with additional keys to assist with typing URLs. + Property Descriptions --------------------- @@ -593,6 +635,22 @@ String value of the ``LineEdit``. If ``true``, the native virtual keyboard is shown when focused on platforms that support it. +---- + +.. _class_LineEdit_property_virtual_keyboard_type: + +- :ref:`VirtualKeyboardType` **virtual_keyboard_type** + ++-----------+----------------------------------+ +| *Default* | ``0`` | ++-----------+----------------------------------+ +| *Setter* | set_virtual_keyboard_type(value) | ++-----------+----------------------------------+ +| *Getter* | get_virtual_keyboard_type() | ++-----------+----------------------------------+ + +Specifies the type of virtual keyboard to show. + Method Descriptions ------------------- diff --git a/classes/class_mesh.rst b/classes/class_mesh.rst index 8d5d75c6d..79b3a2688 100644 --- a/classes/class_mesh.rst +++ b/classes/class_mesh.rst @@ -313,7 +313,7 @@ Calculate a :ref:`ConcavePolygonShape` from the mesh. - :ref:`TriangleMesh` **generate_triangle_mesh** **(** **)** |const| -Generate a :ref:`TriangleMesh` from the mesh. +Generate a :ref:`TriangleMesh` from the mesh. Considers only surfaces using one of these primitive types: :ref:`PRIMITIVE_TRIANGLES`, :ref:`PRIMITIVE_TRIANGLE_STRIP`, or :ref:`PRIMITIVE_TRIANGLE_FAN`. ---- diff --git a/classes/class_meshinstance.rst b/classes/class_meshinstance.rst index 05b4d7e6d..201b4124e 100644 --- a/classes/class_meshinstance.rst +++ b/classes/class_meshinstance.rst @@ -19,7 +19,7 @@ Node that instances meshes into a scenario. Description ----------- -MeshInstance is a node that takes a :ref:`Mesh` resource and adds it to the current scenario by creating an instance of it. This is the class most often used to get 3D geometry rendered and can be used to instance a single :ref:`Mesh` in many places. This allows to reuse geometry and save on resources. When a :ref:`Mesh` has to be instanced more than thousands of times at close proximity, consider using a :ref:`MultiMesh` in a :ref:`MultiMeshInstance` instead. +MeshInstance is a node that takes a :ref:`Mesh` resource and adds it to the current scenario by creating an instance of it. This is the class most often used to get 3D geometry rendered and can be used to instance a single :ref:`Mesh` in many places. This allows reusing geometry, which can save on resources. When a :ref:`Mesh` has to be instanced more than thousands of times at close proximity, consider using a :ref:`MultiMesh` in a :ref:`MultiMeshInstance` instead. Tutorials --------- diff --git a/classes/class_multimesh.rst b/classes/class_multimesh.rst index a4c6376b2..8582962df 100644 --- a/classes/class_multimesh.rst +++ b/classes/class_multimesh.rst @@ -343,7 +343,7 @@ When the order of instances is coherent, the simpler :ref:`set_as_bulk_array` is non-``null`` on the ``MultiMesh`` and :ref:`SpatialMaterial.vertex_color_use_as_albedo` is ``true`` on the material. +For the color to take effect, ensure that :ref:`color_format` is non-``null`` on the ``MultiMesh`` and :ref:`SpatialMaterial.vertex_color_use_as_albedo` is ``true`` on the material. If the color doesn't look as expected, make sure the material's albedo color is set to pure white (``Color(1, 1, 1)``). ---- diff --git a/classes/class_navigation2dserver.rst b/classes/class_navigation2dserver.rst index f23e6dbb3..ee86a33a1 100644 --- a/classes/class_navigation2dserver.rst +++ b/classes/class_navigation2dserver.rst @@ -92,7 +92,7 @@ Methods +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`map_get_regions` **(** :ref:`RID` map **)** |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`map_is_active` **(** :ref:`RID` nap **)** |const| | +| :ref:`bool` | :ref:`map_is_active` **(** :ref:`RID` map **)** |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`map_set_active` **(** :ref:`RID` map, :ref:`bool` active **)** |const| | +-------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -255,7 +255,9 @@ Sets the current velocity of the agent. - void **free_rid** **(** :ref:`RID` rid **)** |const| -Destroys the given RID. +Destroys an object created by the Navigation2DServer. + +\ **Note:** See :ref:`VisualServer.free_rid` for details on how to handle RIDs for freed objects. ---- @@ -355,7 +357,7 @@ Returns all navigation regions :ref:`RID`\ s that are currently assig .. _class_Navigation2DServer_method_map_is_active: -- :ref:`bool` **map_is_active** **(** :ref:`RID` nap **)** |const| +- :ref:`bool` **map_is_active** **(** :ref:`RID` map **)** |const| Returns ``true`` if the map is active. diff --git a/classes/class_navigationagent.rst b/classes/class_navigationagent.rst index b407d6181..24f4c5fad 100644 --- a/classes/class_navigationagent.rst +++ b/classes/class_navigationagent.rst @@ -118,7 +118,7 @@ Notifies when the player-defined target, set with :ref:`set_target_location` safe_velocity **)** -Notifies when the collision avoidance velocity is calculated after a call to :ref:`set_velocity`. +Notifies when the collision avoidance velocity is calculated after a call to :ref:`set_velocity`. Only emitted when :ref:`avoidance_enabled` is true. Property Descriptions --------------------- diff --git a/classes/class_navigationagent2d.rst b/classes/class_navigationagent2d.rst index b374ae187..cfeae6757 100644 --- a/classes/class_navigationagent2d.rst +++ b/classes/class_navigationagent2d.rst @@ -114,7 +114,7 @@ Notifies when the player-defined target, set with :ref:`set_target_location` safe_velocity **)** -Notifies when the collision avoidance velocity is calculated after a call to :ref:`set_velocity`. +Notifies when the collision avoidance velocity is calculated after a call to :ref:`set_velocity`. Only emitted when :ref:`avoidance_enabled` is true. Property Descriptions --------------------- diff --git a/classes/class_navigationserver.rst b/classes/class_navigationserver.rst index a6dc91ac1..c3c2a8bf9 100644 --- a/classes/class_navigationserver.rst +++ b/classes/class_navigationserver.rst @@ -96,7 +96,7 @@ Methods +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3` | :ref:`map_get_up` **(** :ref:`RID` map **)** |const| | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`map_is_active` **(** :ref:`RID` nap **)** |const| | +| :ref:`bool` | :ref:`map_is_active` **(** :ref:`RID` map **)** |const| | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`map_set_active` **(** :ref:`RID` map, :ref:`bool` active **)** |const| | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -267,7 +267,9 @@ Sets the current velocity of the agent. - void **free_rid** **(** :ref:`RID` rid **)** |const| -Destroys the given RID. +Destroys an object created by the NavigationServer. + +\ **Note:** See :ref:`VisualServer.free_rid` for details on how to handle RIDs for freed objects. ---- @@ -391,7 +393,7 @@ Returns the map's up direction. .. _class_NavigationServer_method_map_is_active: -- :ref:`bool` **map_is_active** **(** :ref:`RID` nap **)** |const| +- :ref:`bool` **map_is_active** **(** :ref:`RID` map **)** |const| Returns ``true`` if the map is active. diff --git a/classes/class_networkedmultiplayercustom.rst b/classes/class_networkedmultiplayercustom.rst index 9357d155c..fedf03227 100644 --- a/classes/class_networkedmultiplayercustom.rst +++ b/classes/class_networkedmultiplayercustom.rst @@ -64,6 +64,8 @@ When your script receives a packet from other peers over the network (originatin Initialize the peer with the given ``peer_id`` (must be between 1 and 2147483647). +Can only be called if the connection status is :ref:`NetworkedMultiplayerPeer.CONNECTION_CONNECTING`. See :ref:`set_connection_status`. + ---- .. _class_NetworkedMultiplayerCustom_method_set_connection_status: @@ -72,6 +74,10 @@ Initialize the peer with the given ``peer_id`` (must be between 1 and 2147483647 Set the state of the connection. See :ref:`ConnectionStatus`. +This will emit the :ref:`NetworkedMultiplayerPeer.connection_succeeded`, :ref:`NetworkedMultiplayerPeer.connection_failed` or :ref:`NetworkedMultiplayerPeer.server_disconnected` signals depending on the status and if the peer has the unique network id of ``1``. + +You can only change to :ref:`NetworkedMultiplayerPeer.CONNECTION_CONNECTING` from :ref:`NetworkedMultiplayerPeer.CONNECTION_DISCONNECTED` and to :ref:`NetworkedMultiplayerPeer.CONNECTION_CONNECTED` from :ref:`NetworkedMultiplayerPeer.CONNECTION_CONNECTING`. + ---- .. _class_NetworkedMultiplayerCustom_method_set_max_packet_size: diff --git a/classes/class_node.rst b/classes/class_node.rst index 5c56de0c9..f3181ef09 100644 --- a/classes/class_node.rst +++ b/classes/class_node.rst @@ -507,7 +507,7 @@ Implemented on all platforms. Implemented on all platforms. -- **NOTIFICATION_WM_QUIT_REQUEST** = **1006** --- Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or Alt+F4). +- **NOTIFICATION_WM_QUIT_REQUEST** = **1006** --- Notification received from the OS when a quit request is sent (e.g. closing the window with a "Close" button or :kbd:`Alt + F4`). Implemented on desktop platforms. diff --git a/classes/class_node2d.rst b/classes/class_node2d.rst index a8a28d11d..a66f756c0 100644 --- a/classes/class_node2d.rst +++ b/classes/class_node2d.rst @@ -12,7 +12,7 @@ Node2D **Inherits:** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` -**Inherited By:** :ref:`AnimatedSprite`, :ref:`AudioStreamPlayer2D`, :ref:`BackBufferCopy`, :ref:`Bone2D`, :ref:`CPUParticles2D`, :ref:`Camera2D`, :ref:`CanvasModulate`, :ref:`CollisionObject2D`, :ref:`CollisionPolygon2D`, :ref:`CollisionShape2D`, :ref:`Joint2D`, :ref:`Light2D`, :ref:`LightOccluder2D`, :ref:`Line2D`, :ref:`Listener2D`, :ref:`MeshInstance2D`, :ref:`MultiMeshInstance2D`, :ref:`Navigation2D`, :ref:`NavigationPolygonInstance`, :ref:`ParallaxLayer`, :ref:`Particles2D`, :ref:`Path2D`, :ref:`PathFollow2D`, :ref:`Polygon2D`, :ref:`Position2D`, :ref:`RayCast2D`, :ref:`RemoteTransform2D`, :ref:`Skeleton2D`, :ref:`Sprite`, :ref:`TileMap`, :ref:`TouchScreenButton`, :ref:`VisibilityNotifier2D`, :ref:`YSort` +**Inherited By:** :ref:`AnimatedSprite`, :ref:`AudioStreamPlayer2D`, :ref:`BackBufferCopy`, :ref:`Bone2D`, :ref:`CPUParticles2D`, :ref:`Camera2D`, :ref:`CanvasModulate`, :ref:`CollisionObject2D`, :ref:`CollisionPolygon2D`, :ref:`CollisionShape2D`, :ref:`Joint2D`, :ref:`Light2D`, :ref:`LightOccluder2D`, :ref:`Line2D`, :ref:`Listener2D`, :ref:`MeshInstance2D`, :ref:`MultiMeshInstance2D`, :ref:`Navigation2D`, :ref:`NavigationPolygonInstance`, :ref:`ParallaxLayer`, :ref:`Particles2D`, :ref:`Path2D`, :ref:`PathFollow2D`, :ref:`Polygon2D`, :ref:`Position2D`, :ref:`RayCast2D`, :ref:`RemoteTransform2D`, :ref:`ShapeCast2D`, :ref:`Skeleton2D`, :ref:`Sprite`, :ref:`TileMap`, :ref:`TouchScreenButton`, :ref:`VisibilityNotifier2D`, :ref:`YSort` A 2D game object, inherited by all 2D-related nodes. Has a position, rotation, scale, and Z index. diff --git a/classes/class_os.rst b/classes/class_os.rst index 8eb8e2f8f..1276664c2 100644 --- a/classes/class_os.rst +++ b/classes/class_os.rst @@ -74,257 +74,277 @@ Properties Methods ------- -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`alert` **(** :ref:`String` text, :ref:`String` title="Alert!" **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`can_draw` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`can_use_threads` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`center_window` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`close_midi_inputs` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`crash` **(** :ref:`String` message **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`delay_msec` **(** :ref:`int` msec **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`delay_usec` **(** :ref:`int` usec **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`dump_memory_to_file` **(** :ref:`String` file **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`dump_resources_to_file` **(** :ref:`String` file **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`execute` **(** :ref:`String` path, :ref:`PoolStringArray` arguments, :ref:`bool` blocking=true, :ref:`Array` output=[ ], :ref:`bool` read_stderr=false, :ref:`bool` open_console=false **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`find_scancode_from_string` **(** :ref:`String` string **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_audio_driver_count` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_audio_driver_name` **(** :ref:`int` driver **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_cache_dir` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolStringArray` | :ref:`get_cmdline_args` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_config_dir` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolStringArray` | :ref:`get_connected_midi_inputs` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`VideoDriver` | :ref:`get_current_video_driver` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_data_dir` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Dictionary` | :ref:`get_date` **(** :ref:`bool` utc=false **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Dictionary` | :ref:`get_datetime` **(** :ref:`bool` utc=false **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Dictionary` | :ref:`get_datetime_from_unix_time` **(** :ref:`int` unix_time_val **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Array` | :ref:`get_display_cutouts` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_dynamic_memory_usage` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_environment` **(** :ref:`String` variable **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_executable_path` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolStringArray` | :ref:`get_granted_permissions` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_ime_selection` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_ime_text` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_latin_keyboard_variant` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_locale` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_locale_language` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_main_thread_id` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_model_name` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_name` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_native_handle` **(** :ref:`HandleType` handle_type **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_power_percent_left` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_power_seconds_left` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PowerState` | :ref:`get_power_state` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_process_id` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_processor_count` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_processor_name` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_real_window_size` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_scancode_string` **(** :ref:`int` code **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_screen_count` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_screen_dpi` **(** :ref:`int` screen=-1 **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`get_screen_max_scale` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_screen_position` **(** :ref:`int` screen=-1 **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`get_screen_refresh_rate` **(** :ref:`int` screen=-1 **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`float` | :ref:`get_screen_scale` **(** :ref:`int` screen=-1 **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Vector2` | :ref:`get_screen_size` **(** :ref:`int` screen=-1 **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_splash_tick_msec` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_static_memory_peak_usage` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_static_memory_usage` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_system_dir` **(** :ref:`SystemDir` dir, :ref:`bool` shared_storage=true **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_system_time_msecs` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_system_time_secs` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_tablet_driver_count` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_tablet_driver_name` **(** :ref:`int` idx **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_thread_caller_id` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_ticks_msec` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_ticks_usec` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Dictionary` | :ref:`get_time` **(** :ref:`bool` utc=false **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Dictionary` | :ref:`get_time_zone_info` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_unique_id` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_unix_time` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_unix_time_from_datetime` **(** :ref:`Dictionary` datetime **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_user_data_dir` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_video_driver_count` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_video_driver_name` **(** :ref:`VideoDriver` driver **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_virtual_keyboard_height` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Rect2` | :ref:`get_window_safe_area` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`global_menu_add_item` **(** :ref:`String` menu, :ref:`String` label, :ref:`Variant` id, :ref:`Variant` meta **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`global_menu_add_separator` **(** :ref:`String` menu **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`global_menu_clear` **(** :ref:`String` menu **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`global_menu_remove_item` **(** :ref:`String` menu, :ref:`int` idx **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`has_clipboard` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`has_environment` **(** :ref:`String` variable **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`has_feature` **(** :ref:`String` tag_name **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`has_touchscreen_ui_hint` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`has_virtual_keyboard` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`hide_virtual_keyboard` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`is_debug_build` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`is_ok_left_and_cancel_right` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`is_process_running` **(** :ref:`int` pid **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`is_scancode_unicode` **(** :ref:`int` code **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`is_stdout_verbose` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`is_userfs_persistent` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`is_window_always_on_top` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`is_window_focused` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`keyboard_get_current_layout` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`keyboard_get_layout_count` **(** **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`keyboard_get_layout_language` **(** :ref:`int` index **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`keyboard_get_layout_name` **(** :ref:`int` index **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`keyboard_get_scancode_from_physical` **(** :ref:`int` scancode **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`keyboard_set_current_layout` **(** :ref:`int` index **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Error` | :ref:`kill` **(** :ref:`int` pid **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Error` | :ref:`move_to_trash` **(** :ref:`String` path **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`move_window_to_foreground` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`native_video_is_playing` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`native_video_pause` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Error` | :ref:`native_video_play` **(** :ref:`String` path, :ref:`float` volume, :ref:`String` audio_track, :ref:`String` subtitle_track **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`native_video_stop` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`native_video_unpause` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`open_midi_inputs` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`print_all_resources` **(** :ref:`String` tofile="" **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`print_all_textures_by_size` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`print_resources_by_type` **(** :ref:`PoolStringArray` types **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`print_resources_in_use` **(** :ref:`bool` short=false **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`request_attention` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`request_permission` **(** :ref:`String` name **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`request_permissions` **(** **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`set_environment` **(** :ref:`String` variable, :ref:`String` value **)** |const| | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_icon` **(** :ref:`Image` icon **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_ime_active` **(** :ref:`bool` active **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_ime_position` **(** :ref:`Vector2` position **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_native_icon` **(** :ref:`String` filename **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Error` | :ref:`set_thread_name` **(** :ref:`String` name **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_use_file_access_save_and_swap` **(** :ref:`bool` enabled **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_window_always_on_top` **(** :ref:`bool` enabled **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_window_mouse_passthrough` **(** :ref:`PoolVector2Array` region **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_window_title` **(** :ref:`String` title **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Error` | :ref:`shell_open` **(** :ref:`String` uri **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`show_virtual_keyboard` **(** :ref:`String` existing_text="", :ref:`bool` multiline=false **)** | -+-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`alert` **(** :ref:`String` text, :ref:`String` title="Alert!" **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`can_draw` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`can_use_threads` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`center_window` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`close_midi_inputs` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`crash` **(** :ref:`String` message **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`delay_msec` **(** :ref:`int` msec **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`delay_usec` **(** :ref:`int` usec **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`dump_memory_to_file` **(** :ref:`String` file **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`dump_resources_to_file` **(** :ref:`String` file **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`execute` **(** :ref:`String` path, :ref:`PoolStringArray` arguments, :ref:`bool` blocking=true, :ref:`Array` output=[ ], :ref:`bool` read_stderr=false, :ref:`bool` open_console=false **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`find_scancode_from_string` **(** :ref:`String` string **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_audio_driver_count` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_audio_driver_name` **(** :ref:`int` driver **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_cache_dir` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_cmdline_args` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_config_dir` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_connected_midi_inputs` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`VideoDriver` | :ref:`get_current_video_driver` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_data_dir` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Dictionary` | :ref:`get_date` **(** :ref:`bool` utc=false **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Dictionary` | :ref:`get_datetime` **(** :ref:`bool` utc=false **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Dictionary` | :ref:`get_datetime_from_unix_time` **(** :ref:`int` unix_time_val **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Array` | :ref:`get_display_cutouts` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_dynamic_memory_usage` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_environment` **(** :ref:`String` variable **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_executable_path` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_granted_permissions` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_ime_selection` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_ime_text` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_latin_keyboard_variant` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_locale` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_locale_language` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_main_thread_id` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_model_name` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_name` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_native_handle` **(** :ref:`HandleType` handle_type **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_power_percent_left` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_power_seconds_left` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PowerState` | :ref:`get_power_state` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_process_id` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_processor_count` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_processor_name` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_real_window_size` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_scancode_string` **(** :ref:`int` code **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_screen_count` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_screen_dpi` **(** :ref:`int` screen=-1 **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_screen_max_scale` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_screen_position` **(** :ref:`int` screen=-1 **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_screen_refresh_rate` **(** :ref:`int` screen=-1 **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_screen_scale` **(** :ref:`int` screen=-1 **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_screen_size` **(** :ref:`int` screen=-1 **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_splash_tick_msec` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_static_memory_peak_usage` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_static_memory_usage` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_system_dir` **(** :ref:`SystemDir` dir, :ref:`bool` shared_storage=true **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_system_time_msecs` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_system_time_secs` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_tablet_driver_count` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_tablet_driver_name` **(** :ref:`int` idx **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_thread_caller_id` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_ticks_msec` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_ticks_usec` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Dictionary` | :ref:`get_time` **(** :ref:`bool` utc=false **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Dictionary` | :ref:`get_time_zone_info` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_unique_id` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_unix_time` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_unix_time_from_datetime` **(** :ref:`Dictionary` datetime **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_user_data_dir` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_video_driver_count` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_video_driver_name` **(** :ref:`VideoDriver` driver **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_virtual_keyboard_height` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Rect2` | :ref:`get_window_safe_area` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`global_menu_add_item` **(** :ref:`String` menu, :ref:`String` label, :ref:`Variant` id, :ref:`Variant` meta **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`global_menu_add_separator` **(** :ref:`String` menu **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`global_menu_clear` **(** :ref:`String` menu **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`global_menu_remove_item` **(** :ref:`String` menu, :ref:`int` idx **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`has_clipboard` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`has_environment` **(** :ref:`String` variable **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`has_feature` **(** :ref:`String` tag_name **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`has_touchscreen_ui_hint` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`has_virtual_keyboard` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`hide_virtual_keyboard` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_debug_build` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_ok_left_and_cancel_right` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_process_running` **(** :ref:`int` pid **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_scancode_unicode` **(** :ref:`int` code **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_stdout_verbose` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_userfs_persistent` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_window_always_on_top` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_window_focused` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`keyboard_get_current_layout` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`keyboard_get_layout_count` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`keyboard_get_layout_language` **(** :ref:`int` index **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`keyboard_get_layout_name` **(** :ref:`int` index **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`keyboard_get_scancode_from_physical` **(** :ref:`int` scancode **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`keyboard_set_current_layout` **(** :ref:`int` index **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Error` | :ref:`kill` **(** :ref:`int` pid **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Error` | :ref:`move_to_trash` **(** :ref:`String` path **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`move_window_to_foreground` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`native_video_is_playing` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`native_video_pause` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Error` | :ref:`native_video_play` **(** :ref:`String` path, :ref:`float` volume, :ref:`String` audio_track, :ref:`String` subtitle_track **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`native_video_stop` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`native_video_unpause` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`open_midi_inputs` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`print_all_resources` **(** :ref:`String` tofile="" **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`print_all_textures_by_size` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`print_resources_by_type` **(** :ref:`PoolStringArray` types **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`print_resources_in_use` **(** :ref:`bool` short=false **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`request_attention` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`request_permission` **(** :ref:`String` name **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`request_permissions` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`set_environment` **(** :ref:`String` variable, :ref:`String` value **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_icon` **(** :ref:`Image` icon **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_ime_active` **(** :ref:`bool` active **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_ime_position` **(** :ref:`Vector2` position **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_native_icon` **(** :ref:`String` filename **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Error` | :ref:`set_thread_name` **(** :ref:`String` name **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_use_file_access_save_and_swap` **(** :ref:`bool` enabled **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_window_always_on_top` **(** :ref:`bool` enabled **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_window_mouse_passthrough` **(** :ref:`PoolVector2Array` region **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_window_title` **(** :ref:`String` title **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Error` | :ref:`shell_open` **(** :ref:`String` uri **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`show_virtual_keyboard` **(** :ref:`String` existing_text="", :ref:`bool` multiline=false **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`show_virtual_keyboard_type` **(** :ref:`String` existing_text="", :ref:`VirtualKeyboardType` type=0 **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Array` | :ref:`tts_get_voices` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`tts_get_voices_for_language` **(** :ref:`String` language **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`tts_is_paused` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`tts_is_speaking` **(** **)** |const| | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`tts_pause` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`tts_resume` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`tts_set_utterance_callback` **(** :ref:`TTSUtteranceEvent` event, :ref:`Object` object, :ref:`String` callback **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`tts_speak` **(** :ref:`String` text, :ref:`String` voice, :ref:`int` volume=50, :ref:`float` pitch=1.0, :ref:`float` rate=1.0, :ref:`int` utterance_id=0, :ref:`bool` interrupt=false **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`tts_stop` **(** **)** | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Enumerations ------------ @@ -517,6 +537,46 @@ enum **ScreenOrientation**: ---- +.. _enum_OS_VirtualKeyboardType: + +.. _class_OS_constant_KEYBOARD_TYPE_DEFAULT: + +.. _class_OS_constant_KEYBOARD_TYPE_MULTILINE: + +.. _class_OS_constant_KEYBOARD_TYPE_NUMBER: + +.. _class_OS_constant_KEYBOARD_TYPE_NUMBER_DECIMAL: + +.. _class_OS_constant_KEYBOARD_TYPE_PHONE: + +.. _class_OS_constant_KEYBOARD_TYPE_EMAIL_ADDRESS: + +.. _class_OS_constant_KEYBOARD_TYPE_PASSWORD: + +.. _class_OS_constant_KEYBOARD_TYPE_URL: + +enum **VirtualKeyboardType**: + +- **KEYBOARD_TYPE_DEFAULT** = **0** --- Default text virtual keyboard. + +- **KEYBOARD_TYPE_MULTILINE** = **1** --- Multiline virtual keyboard. + +- **KEYBOARD_TYPE_NUMBER** = **2** --- Virtual number keypad, useful for PIN entry. + +- **KEYBOARD_TYPE_NUMBER_DECIMAL** = **3** --- Virtual number keypad, useful for entering fractional numbers. + +- **KEYBOARD_TYPE_PHONE** = **4** --- Virtual phone number keypad. + +- **KEYBOARD_TYPE_EMAIL_ADDRESS** = **5** --- Virtual keyboard with additional keys to assist with typing email addresses. + +- **KEYBOARD_TYPE_PASSWORD** = **6** --- Virtual keyboard for entering a password. On most platforms, this should disable autocomplete and autocapitalization. + +\ **Note:** This is not supported on HTML5 or below iOS version 11.0. Instead, this will behave identically to :ref:`KEYBOARD_TYPE_DEFAULT`. + +- **KEYBOARD_TYPE_URL** = **7** --- Virtual keyboard with additional keys to assist with typing URLs. + +---- + .. _enum_OS_SystemDir: .. _class_OS_constant_SYSTEM_DIR_DESKTOP: @@ -579,6 +639,28 @@ enum **PowerState**: - **POWERSTATE_CHARGED** = **4** --- Plugged in, battery fully charged. +---- + +.. _enum_OS_TTSUtteranceEvent: + +.. _class_OS_constant_TTS_UTTERANCE_STARTED: + +.. _class_OS_constant_TTS_UTTERANCE_ENDED: + +.. _class_OS_constant_TTS_UTTERANCE_CANCELED: + +.. _class_OS_constant_TTS_UTTERANCE_BOUNDARY: + +enum **TTSUtteranceEvent**: + +- **TTS_UTTERANCE_STARTED** = **0** --- Utterance has begun to be spoken. + +- **TTS_UTTERANCE_ENDED** = **1** --- Utterance was successfully finished. + +- **TTS_UTTERANCE_CANCELED** = **2** --- Utterance was canceled, or TTS service was unable to process it. + +- **TTS_UTTERANCE_BOUNDARY** = **3** --- Utterance reached a word or sentence boundary. + Property Descriptions --------------------- @@ -1665,6 +1747,8 @@ Returns the current UNIX epoch timestamp in seconds. \ **Important:** This is the system clock that the user can manually set. **Never use** this method for precise time calculation since its results are also subject to automatic adjustments by the operating system. **Always use** :ref:`get_ticks_usec` or :ref:`get_ticks_msec` for precise time calculation instead, since they are guaranteed to be monotonic (i.e. never decrease). +\ **Note:** To get a floating point timestamp with sub-second precision, use :ref:`Time.get_unix_time_from_system`. + ---- .. _class_OS_method_get_unix_time_from_datetime: @@ -2267,7 +2351,141 @@ The ``existing_text`` parameter is useful for implementing your own :ref:`LineEd The ``multiline`` parameter needs to be set to ``true`` to be able to enter multiple lines of text, as in :ref:`TextEdit`. -\ **Note:** This method is implemented on Android, iOS and UWP. +\ **Note:** This method is equivalent to calling :ref:`show_virtual_keyboard_type` with either default or multiline keyboard type. It is kept for compatibility with previous Godot releases and should be considered *deprecated* and replaced by :ref:`show_virtual_keyboard_type`. + +\ **Note:** This method is implemented on Android, iOS, UWP, and HTML5. + +---- + +.. _class_OS_method_show_virtual_keyboard_type: + +- void **show_virtual_keyboard_type** **(** :ref:`String` existing_text="", :ref:`VirtualKeyboardType` type=0 **)** + +Shows the virtual keyboard if the platform has one. + +The ``existing_text`` parameter is useful for implementing your own :ref:`LineEdit` or :ref:`TextEdit`, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions). + +The ``type`` parameter allows selecting which virtual keyboard to show. + +\ **Note:** This method is implemented on Android, iOS, UWP, and HTML5. + +---- + +.. _class_OS_method_tts_get_voices: + +- :ref:`Array` **tts_get_voices** **(** **)** |const| + +Returns an :ref:`Array` of voice information dictionaries. + +Each :ref:`Dictionary` contains two :ref:`String` entries: + +- ``name`` is voice name. + +- ``id`` is voice identifier. + +- ``language`` is language code in ``lang_Variant`` format. ``lang`` part is a 2 or 3-letter code based on the ISO-639 standard, in lowercase. And ``Variant`` part is an engine dependent string describing country, region or/and dialect. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. + +---- + +.. _class_OS_method_tts_get_voices_for_language: + +- :ref:`PoolStringArray` **tts_get_voices_for_language** **(** :ref:`String` language **)** |const| + +Returns an :ref:`PoolStringArray` of voice identifiers for the ``language``. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. + +---- + +.. _class_OS_method_tts_is_paused: + +- :ref:`bool` **tts_is_paused** **(** **)** |const| + +Returns ``true`` if the synthesizer is in a paused state. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. + +---- + +.. _class_OS_method_tts_is_speaking: + +- :ref:`bool` **tts_is_speaking** **(** **)** |const| + +Returns ``true`` if the synthesizer is generating speech, or have utterance waiting in the queue. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. + +---- + +.. _class_OS_method_tts_pause: + +- void **tts_pause** **(** **)** + +Puts the synthesizer into a paused state. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. + +---- + +.. _class_OS_method_tts_resume: + +- void **tts_resume** **(** **)** + +Resumes the synthesizer if it was paused. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. + +---- + +.. _class_OS_method_tts_set_utterance_callback: + +- void **tts_set_utterance_callback** **(** :ref:`TTSUtteranceEvent` event, :ref:`Object` object, :ref:`String` callback **)** + +Adds a callback, which is called when the utterance has started, finished, canceled or reached a text boundary. + +- ``TTS_UTTERANCE_STARTED``, ``TTS_UTTERANCE_ENDED``, and ``TTS_UTTERANCE_CANCELED`` callable's method should take one :ref:`int` parameter, the utterance id. + +- ``TTS_UTTERANCE_BOUNDARY`` callable's method should take two :ref:`int` parameters, the index of the character and the utterance id. + +\ **Note:** The granularity of the boundary callbacks is engine dependent. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. + +---- + +.. _class_OS_method_tts_speak: + +- void **tts_speak** **(** :ref:`String` text, :ref:`String` voice, :ref:`int` volume=50, :ref:`float` pitch=1.0, :ref:`float` rate=1.0, :ref:`int` utterance_id=0, :ref:`bool` interrupt=false **)** + +Adds an utterance to the queue. If ``interrupt`` is ``true``, the queue is cleared first. + +- ``voice`` identifier is one of the ``"id"`` values returned by :ref:`tts_get_voices` or one of the values returned by :ref:`tts_get_voices_for_language`. + +- ``volume`` ranges from ``0`` (lowest) to ``100`` (highest). + +- ``pitch`` ranges from ``0.0`` (lowest) to ``2.0`` (highest), ``1.0`` is default pitch for the current voice. + +- ``rate`` ranges from ``0.1`` (lowest) to ``10.0`` (highest), ``1.0`` is a normal speaking rate. Other values act as a percentage relative. + +- ``utterance_id`` is passed as a parameter to the callback functions. + +\ **Note:** On Windows and Linux, utterance ``text`` can use SSML markup. SSML support is engine and voice dependent. If the engine does not support SSML, you should strip out all XML markup before calling :ref:`tts_speak`. + +\ **Note:** The granularity of pitch, rate, and volume is engine and voice dependent. Values may be truncated. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. + +---- + +.. _class_OS_method_tts_stop: + +- void **tts_stop** **(** **)** + +Stops synthesis in progress and removes all utterances from the queue. + +\ **Note:** This method is implemented on Android, iOS, HTML5, Linux, macOS, and Windows. .. |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_parallaxlayer.rst b/classes/class_parallaxlayer.rst index d17d6a61f..7e08f1306 100644 --- a/classes/class_parallaxlayer.rst +++ b/classes/class_parallaxlayer.rst @@ -51,6 +51,8 @@ Property Descriptions The ParallaxLayer's :ref:`Texture` mirroring. Useful for creating an infinite scrolling background. If an axis is set to ``0``, the :ref:`Texture` will not be mirrored. +If the length of the viewport axis is bigger than twice the mirrored axis size, it will not repeat infinitely, as the parallax layer only draws 2 instances of the texture at any one time. + ---- .. _class_ParallaxLayer_property_motion_offset: diff --git a/classes/class_particlesmaterial.rst b/classes/class_particlesmaterial.rst index 9d9cf0c51..bb060b3db 100644 --- a/classes/class_particlesmaterial.rst +++ b/classes/class_particlesmaterial.rst @@ -1059,7 +1059,7 @@ Radial acceleration randomness ratio. | *Getter* | get_param() | +-----------+------------------+ -Initial scale applied to each particle. +Initial scale applied to each particle. This can be set to a negative value to flip the particle on all axes. ---- diff --git a/classes/class_physics2dserver.rst b/classes/class_physics2dserver.rst index 992096d58..b6be30571 100644 --- a/classes/class_physics2dserver.rst +++ b/classes/class_physics2dserver.rst @@ -1202,7 +1202,9 @@ Sets a damped spring joint parameter. See :ref:`DampedStringParam` rid **)** -Destroys any of the objects created by Physics2DServer. If the :ref:`RID` passed is not one of the objects that can be created by Physics2DServer, an error will be sent to the console. +Destroys an object created by the Physics2DServer. + +\ **Note:** See :ref:`VisualServer.free_rid` for details on how to handle RIDs for freed objects. ---- diff --git a/classes/class_physicsserver.rst b/classes/class_physicsserver.rst index 9511f0de4..7e2a6b4e8 100644 --- a/classes/class_physicsserver.rst +++ b/classes/class_physicsserver.rst @@ -1486,7 +1486,9 @@ Sets a cone_twist_joint parameter (see :ref:`ConeTwistJointParam` rid **)** -Destroys any of the objects created by PhysicsServer. If the :ref:`RID` passed is not one of the objects that can be created by PhysicsServer, an error will be sent to the console. +Destroys an object created by the PhysicsServer. + +\ **Note:** See :ref:`VisualServer.free_rid` for details on how to handle RIDs for freed objects. ---- diff --git a/classes/class_poolbytearray.rst b/classes/class_poolbytearray.rst index 60186176c..c9184653e 100644 --- a/classes/class_poolbytearray.rst +++ b/classes/class_poolbytearray.rst @@ -45,6 +45,8 @@ Methods +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`append_array` **(** :ref:`PoolByteArray` array **)** | +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear` **(** **)** | ++-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PoolByteArray` | :ref:`compress` **(** :ref:`int` compression_mode=0 **)** | +-------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count` **(** :ref:`int` value **)** | @@ -115,6 +117,14 @@ Appends a ``PoolByteArray`` at the end of this array. ---- +.. _class_PoolByteArray_method_clear: + +- void **clear** **(** **)** + +Clears the array. This is equivalent to using :ref:`resize` with a size of ``0``. + +---- + .. _class_PoolByteArray_method_compress: - :ref:`PoolByteArray` **compress** **(** :ref:`int` compression_mode=0 **)** diff --git a/classes/class_poolcolorarray.rst b/classes/class_poolcolorarray.rst index c26f57608..9ff65f2f4 100644 --- a/classes/class_poolcolorarray.rst +++ b/classes/class_poolcolorarray.rst @@ -45,6 +45,8 @@ Methods +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`append_array` **(** :ref:`PoolColorArray` array **)** | +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear` **(** **)** | ++---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count` **(** :ref:`Color` value **)** | +---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`empty` **(** **)** | @@ -101,6 +103,14 @@ Appends a ``PoolColorArray`` at the end of this array. ---- +.. _class_PoolColorArray_method_clear: + +- void **clear** **(** **)** + +Clears the array. This is equivalent to using :ref:`resize` with a size of ``0``. + +---- + .. _class_PoolColorArray_method_count: - :ref:`int` **count** **(** :ref:`Color` value **)** diff --git a/classes/class_poolintarray.rst b/classes/class_poolintarray.rst index f92562338..e417c5407 100644 --- a/classes/class_poolintarray.rst +++ b/classes/class_poolintarray.rst @@ -47,6 +47,8 @@ Methods +-----------------------------------------+-----------------------------------------------------------------------------------------------------------------------+ | void | :ref:`append_array` **(** :ref:`PoolIntArray` array **)** | +-----------------------------------------+-----------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear` **(** **)** | ++-----------------------------------------+-----------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count` **(** :ref:`int` value **)** | +-----------------------------------------+-----------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`empty` **(** **)** | @@ -103,6 +105,14 @@ Appends a ``PoolIntArray`` at the end of this array. ---- +.. _class_PoolIntArray_method_clear: + +- void **clear** **(** **)** + +Clears the array. This is equivalent to using :ref:`resize` with a size of ``0``. + +---- + .. _class_PoolIntArray_method_count: - :ref:`int` **count** **(** :ref:`int` value **)** diff --git a/classes/class_poolrealarray.rst b/classes/class_poolrealarray.rst index 67e83891a..da6aa28b5 100644 --- a/classes/class_poolrealarray.rst +++ b/classes/class_poolrealarray.rst @@ -47,6 +47,8 @@ Methods +-------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`append_array` **(** :ref:`PoolRealArray` array **)** | +-------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear` **(** **)** | ++-------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count` **(** :ref:`float` value **)** | +-------------------------------------------+---------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`empty` **(** **)** | @@ -103,6 +105,14 @@ Appends a ``PoolRealArray`` at the end of this array. ---- +.. _class_PoolRealArray_method_clear: + +- void **clear** **(** **)** + +Clears the array. This is equivalent to using :ref:`resize` with a size of ``0``. + +---- + .. _class_PoolRealArray_method_count: - :ref:`int` **count** **(** :ref:`float` value **)** diff --git a/classes/class_poolstringarray.rst b/classes/class_poolstringarray.rst index c4f64e151..28c2db96c 100644 --- a/classes/class_poolstringarray.rst +++ b/classes/class_poolstringarray.rst @@ -50,6 +50,8 @@ Methods +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`append_array` **(** :ref:`PoolStringArray` array **)** | +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear` **(** **)** | ++-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count` **(** :ref:`String` value **)** | +-----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`empty` **(** **)** | @@ -108,6 +110,14 @@ Appends a ``PoolStringArray`` at the end of this array. ---- +.. _class_PoolStringArray_method_clear: + +- void **clear** **(** **)** + +Clears the array. This is equivalent to using :ref:`resize` with a size of ``0``. + +---- + .. _class_PoolStringArray_method_count: - :ref:`int` **count** **(** :ref:`String` value **)** diff --git a/classes/class_poolvector2array.rst b/classes/class_poolvector2array.rst index 3ef7b0ade..28ff8379d 100644 --- a/classes/class_poolvector2array.rst +++ b/classes/class_poolvector2array.rst @@ -50,6 +50,8 @@ Methods +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`append_array` **(** :ref:`PoolVector2Array` array **)** | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear` **(** **)** | ++-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count` **(** :ref:`Vector2` value **)** | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`empty` **(** **)** | @@ -106,6 +108,14 @@ Appends a ``PoolVector2Array`` at the end of this array. ---- +.. _class_PoolVector2Array_method_clear: + +- void **clear** **(** **)** + +Clears the array. This is equivalent to using :ref:`resize` with a size of ``0``. + +---- + .. _class_PoolVector2Array_method_count: - :ref:`int` **count** **(** :ref:`Vector2` value **)** diff --git a/classes/class_poolvector3array.rst b/classes/class_poolvector3array.rst index 2b250eaaa..4402672b7 100644 --- a/classes/class_poolvector3array.rst +++ b/classes/class_poolvector3array.rst @@ -45,6 +45,8 @@ Methods +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`append_array` **(** :ref:`PoolVector3Array` array **)** | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear` **(** **)** | ++-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`count` **(** :ref:`Vector3` value **)** | +-------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`empty` **(** **)** | @@ -101,6 +103,14 @@ Appends a ``PoolVector3Array`` at the end of this array. ---- +.. _class_PoolVector3Array_method_clear: + +- void **clear** **(** **)** + +Clears the array. This is equivalent to using :ref:`resize` with a size of ``0``. + +---- + .. _class_PoolVector3Array_method_count: - :ref:`int` **count** **(** :ref:`Vector3` value **)** diff --git a/classes/class_popupmenu.rst b/classes/class_popupmenu.rst index 12cc72f98..a5c9de45d 100644 --- a/classes/class_popupmenu.rst +++ b/classes/class_popupmenu.rst @@ -639,6 +639,8 @@ Removes the item at index ``idx`` from the menu. Sets the currently focused item as the given ``index``. +Passing ``-1`` as the index makes so that no item is focused. + ---- .. _class_PopupMenu_method_set_hide_on_window_lose_focus: diff --git a/classes/class_popuppanel.rst b/classes/class_popuppanel.rst index 60f1953d3..2b08dedff 100644 --- a/classes/class_popuppanel.rst +++ b/classes/class_popuppanel.rst @@ -19,6 +19,8 @@ Description Class for displaying popups with a panel background. In some cases it might be simpler to use than :ref:`Popup`, since it provides a configurable background. If you are making windows, better check :ref:`WindowDialog`. +If any :ref:`Control` node is added as a child of this ``PopupPanel``, it will be stretched to fit the panel's size (similar to how :ref:`PanelContainer` works). + Theme Properties ---------------- diff --git a/classes/class_primitivemesh.rst b/classes/class_primitivemesh.rst index edc495ff4..ada3c2dfd 100644 --- a/classes/class_primitivemesh.rst +++ b/classes/class_primitivemesh.rst @@ -12,7 +12,7 @@ PrimitiveMesh **Inherits:** :ref:`Mesh` **<** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` -**Inherited By:** :ref:`CapsuleMesh`, :ref:`CubeMesh`, :ref:`CylinderMesh`, :ref:`PlaneMesh`, :ref:`PointMesh`, :ref:`PrismMesh`, :ref:`QuadMesh`, :ref:`SphereMesh`, :ref:`TextMesh` +**Inherited By:** :ref:`CapsuleMesh`, :ref:`CubeMesh`, :ref:`CylinderMesh`, :ref:`PlaneMesh`, :ref:`PointMesh`, :ref:`PrismMesh`, :ref:`QuadMesh`, :ref:`SphereMesh`, :ref:`TextMesh`, :ref:`TorusMesh` Base class for all primitive meshes. Handles applying a :ref:`Material` to a primitive mesh. diff --git a/classes/class_projectsettings.rst b/classes/class_projectsettings.rst index a1fdc5800..aaba03d1e 100644 --- a/classes/class_projectsettings.rst +++ b/classes/class_projectsettings.rst @@ -46,6 +46,8 @@ Properties +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`application/boot_splash/image` | ``""`` | +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`application/boot_splash/minimum_display_time` | ``0`` | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`application/boot_splash/show_image` | ``true`` | +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`application/boot_splash/use_filter` | ``true`` | @@ -88,6 +90,10 @@ Properties +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`application/run/main_scene` | ``""`` | +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`audio/2d_panning_strength` | ``1.0`` | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`audio/3d_panning_strength` | ``1.0`` | ++-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`audio/channel_disable_threshold_db` | ``-60.0`` | +-----------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`audio/channel_disable_time` | ``2.0`` | @@ -1134,6 +1140,18 @@ Path to an image used as the boot splash. If left empty, the default Godot Engin ---- +.. _class_ProjectSettings_property_application/boot_splash/minimum_display_time: + +- :ref:`int` **application/boot_splash/minimum_display_time** + ++-----------+-------+ +| *Default* | ``0`` | ++-----------+-------+ + +Minimum boot splash display time (in milliseconds). It is not recommended to set too high values for this setting. + +---- + .. _class_ProjectSettings_property_application/boot_splash/show_image: - :ref:`bool` **application/boot_splash/show_image** @@ -1414,6 +1432,30 @@ Path to the main scene file that will be loaded when the project runs. ---- +.. _class_ProjectSettings_property_audio/2d_panning_strength: + +- :ref:`float` **audio/2d_panning_strength** + ++-----------+---------+ +| *Default* | ``1.0`` | ++-----------+---------+ + +The base strength of the panning effect for all AudioStreamPlayer2D nodes. The panning strength can be further scaled on each Node using :ref:`AudioStreamPlayer2D.panning_strength`. + +---- + +.. _class_ProjectSettings_property_audio/3d_panning_strength: + +- :ref:`float` **audio/3d_panning_strength** + ++-----------+---------+ +| *Default* | ``1.0`` | ++-----------+---------+ + +The base strength of the panning effect for all AudioStreamPlayer3D nodes. The panning strength can be further scaled on each Node using :ref:`AudioStreamPlayer3D.panning_strength`. + +---- + .. _class_ProjectSettings_property_audio/channel_disable_threshold_db: - :ref:`float` **audio/channel_disable_threshold_db** @@ -1468,6 +1510,8 @@ Specifies the audio driver to use. This setting is platform-dependent as each pl If ``true``, microphone input will be allowed. This requires appropriate permissions to be set when exporting to Android or iOS. +\ **Note:** If the operating system blocks access to audio input devices (due to the user's privacy settings), audio capture will only return silence. On Windows 10 and later, make sure that apps are allowed to access the microphone in the OS' privacy settings. + ---- .. _class_ProjectSettings_property_audio/mix_rate: @@ -6676,7 +6720,11 @@ If ``true``, allows falling back to the GLES2 driver if the GLES3 driver is not | *Default* | ``4`` | +-----------+-------+ -Maximum anisotropic filter level used for textures with anisotropy enabled. Higher values will result in sharper textures when viewed from oblique angles, at the cost of performance. Only power-of-two values are valid (2, 4, 8, 16). +Maximum anisotropic filter level used for textures with anisotropy enabled. Higher values will result in sharper textures when viewed from oblique angles, at the cost of performance. With the exception of ``1``, only power-of-two values are valid (``2``, ``4``, ``8``, ``16``). A value of ``1`` forcibly disables anisotropic filtering, even on textures where it is enabled. + +\ **Note:** For performance reasons, anisotropic filtering *is not enabled by default* on textures. For this setting to have an effect, anisotropic texture filtering can be enabled by selecting a texture in the FileSystem dock, going to the Import dock, checking the **Anisotropic** checkbox then clicking **Reimport**. However, anisotropic filtering is rarely useful in 2D, so only enable it for textures in 2D if it makes a meaningful visual difference. + +\ **Note:** This property is only read when the project starts. There is currently no way to change this setting at run-time. ---- diff --git a/classes/class_resourceformatloader.rst b/classes/class_resourceformatloader.rst index 1ccf5954b..c62e58ece 100644 --- a/classes/class_resourceformatloader.rst +++ b/classes/class_resourceformatloader.rst @@ -26,19 +26,19 @@ Extending this class allows you to define your own loader. Be sure to respect th Methods ------- -+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`get_dependencies` **(** :ref:`String` path, :ref:`String` add_types **)** |virtual| | -+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolStringArray` | :ref:`get_recognized_extensions` **(** **)** |virtual| | -+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_resource_type` **(** :ref:`String` path **)** |virtual| | -+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`handles_type` **(** :ref:`String` typename **)** |virtual| | -+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Variant` | :ref:`load` **(** :ref:`String` path, :ref:`String` original_path **)** |virtual| | -+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`rename_dependencies` **(** :ref:`String` path, :ref:`String` renames **)** |virtual| | -+-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`get_dependencies` **(** :ref:`String` path, :ref:`String` add_types **)** |virtual| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_recognized_extensions` **(** **)** |virtual| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_resource_type` **(** :ref:`String` path **)** |virtual| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`handles_type` **(** :ref:`String` typename **)** |virtual| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Variant` | :ref:`load` **(** :ref:`String` path, :ref:`String` original_path, :ref:`bool` no_subresource_cache **)** |virtual| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`rename_dependencies` **(** :ref:`String` path, :ref:`String` renames **)** |virtual| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Method Descriptions ------------------- @@ -83,9 +83,9 @@ Tells which resource class this loader can load. .. _class_ResourceFormatLoader_method_load: -- :ref:`Variant` **load** **(** :ref:`String` path, :ref:`String` original_path **)** |virtual| +- :ref:`Variant` **load** **(** :ref:`String` path, :ref:`String` original_path, :ref:`bool` no_subresource_cache **)** |virtual| -Loads a resource when the engine finds this loader to be compatible. If the loaded resource is the result of an import, ``original_path`` will target the source file. Returns a :ref:`Resource` object on success, or an :ref:`Error` constant in case of failure. +Loads a resource when the engine finds this loader to be compatible. If the loaded resource is the result of an import, ``original_path`` will target the source file. If ``no_subresource_cache`` is true, sub-resources should not be cached. Returns a :ref:`Resource` object on success, or an :ref:`Error` constant in case of failure. ---- diff --git a/classes/class_resourceinteractiveloader.rst b/classes/class_resourceinteractiveloader.rst index d4ca79d3c..576c1519f 100644 --- a/classes/class_resourceinteractiveloader.rst +++ b/classes/class_resourceinteractiveloader.rst @@ -19,6 +19,13 @@ Description Interactive :ref:`Resource` loader. This object is returned by :ref:`ResourceLoader` when performing an interactive load. It allows loading resources with high granularity, which makes it mainly useful for displaying loading bars or percentages. +Properties +---------- + ++-------------------------+--------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`no_subresource_cache` | ++-------------------------+--------------------------------------------------------------------------------------------+ + Methods ------- @@ -34,6 +41,21 @@ Methods | :ref:`Error` | :ref:`wait` **(** **)** | +---------------------------------------+----------------------------------------------------------------------------------------------------+ +Property Descriptions +--------------------- + +.. _class_ResourceInteractiveLoader_property_no_subresource_cache: + +- :ref:`bool` **no_subresource_cache** + ++----------+---------------------------------+ +| *Setter* | set_no_subresource_cache(value) | ++----------+---------------------------------+ +| *Getter* | get_no_subresource_cache() | ++----------+---------------------------------+ + +Configures whether nested resources, if included, should not be cached. + Method Descriptions ------------------- diff --git a/classes/class_resourceloader.rst b/classes/class_resourceloader.rst index 846ad8ad0..6b3751c78 100644 --- a/classes/class_resourceloader.rst +++ b/classes/class_resourceloader.rst @@ -29,23 +29,23 @@ Tutorials Methods ------- -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`exists` **(** :ref:`String` path, :ref:`String` type_hint="" **)** | -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolStringArray` | :ref:`get_dependencies` **(** :ref:`String` path **)** | -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`PoolStringArray` | :ref:`get_recognized_extensions_for_type` **(** :ref:`String` type **)** | -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`has` **(** :ref:`String` path **)** | -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`has_cached` **(** :ref:`String` path **)** | -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Resource` | :ref:`load` **(** :ref:`String` path, :ref:`String` type_hint="", :ref:`bool` no_cache=false **)** | -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`ResourceInteractiveLoader` | :ref:`load_interactive` **(** :ref:`String` path, :ref:`String` type_hint="" **)** | -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_abort_on_missing_resources` **(** :ref:`bool` abort **)** | -+-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`exists` **(** :ref:`String` path, :ref:`String` type_hint="" **)** | ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_dependencies` **(** :ref:`String` path **)** | ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_recognized_extensions_for_type` **(** :ref:`String` type **)** | ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`has` **(** :ref:`String` path **)** | ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`has_cached` **(** :ref:`String` path **)** | ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Resource` | :ref:`load` **(** :ref:`String` path, :ref:`String` type_hint="", :ref:`bool` no_cache=false **)** | ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`ResourceInteractiveLoader` | :ref:`load_interactive` **(** :ref:`String` path, :ref:`String` type_hint="", :ref:`bool` no_cache=false **)** | ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_abort_on_missing_resources` **(** :ref:`bool` abort **)** | ++-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Method Descriptions ------------------- @@ -104,7 +104,7 @@ The registered :ref:`ResourceFormatLoader`\ s are qu An optional ``type_hint`` can be used to further specify the :ref:`Resource` type that should be handled by the :ref:`ResourceFormatLoader`. Anything that inherits from :ref:`Resource` can be used as a type hint, for example :ref:`Image`. -If ``no_cache`` is ``true``, the resource cache will be bypassed and the resource will be loaded anew. Otherwise, the cached resource will be returned if it exists. +If ``no_cache`` is ``true``, the resource cache will be bypassed, and the resource will be loaded anew. Otherwise, the cached resource will be returned if it exists. Returns an empty resource if no :ref:`ResourceFormatLoader` could handle the file. @@ -114,12 +114,14 @@ GDScript has a simplified :ref:`@GDScript.load` bui .. _class_ResourceLoader_method_load_interactive: -- :ref:`ResourceInteractiveLoader` **load_interactive** **(** :ref:`String` path, :ref:`String` type_hint="" **)** +- :ref:`ResourceInteractiveLoader` **load_interactive** **(** :ref:`String` path, :ref:`String` type_hint="", :ref:`bool` no_cache=false **)** Starts loading a resource interactively. The returned :ref:`ResourceInteractiveLoader` object allows to load with high granularity, calling its :ref:`ResourceInteractiveLoader.poll` method successively to load chunks. An optional ``type_hint`` can be used to further specify the :ref:`Resource` type that should be handled by the :ref:`ResourceFormatLoader`. Anything that inherits from :ref:`Resource` can be used as a type hint, for example :ref:`Image`. +If ``no_cache`` is ``true``, the resource cache will be bypassed, and the resource will be loaded anew. Otherwise, the cached resource will be returned if it exists. + ---- .. _class_ResourceLoader_method_set_abort_on_missing_resources: diff --git a/classes/class_scenetree.rst b/classes/class_scenetree.rst index 6ec902c61..28d36cf68 100644 --- a/classes/class_scenetree.rst +++ b/classes/class_scenetree.rst @@ -357,6 +357,8 @@ The current scene. If ``true``, collision shapes will be visible when running the game from the editor for debugging purposes. +\ **Note:** This property is not designed to be changed at run-time. Changing the value of :ref:`debug_collisions_hint` while the project is running will not have the desired effect. + ---- .. _class_SceneTree_property_debug_navigation_hint: @@ -373,6 +375,8 @@ If ``true``, collision shapes will be visible when running the game from the edi If ``true``, navigation polygons will be visible when running the game from the editor for debugging purposes. +\ **Note:** This property is not designed to be changed at run-time. Changing the value of :ref:`debug_navigation_hint` while the project is running will not have the desired effect. + ---- .. _class_SceneTree_property_edited_scene_root: @@ -591,6 +595,8 @@ Returns :ref:`@GlobalScope.OK` on success or :re \ **Note:** The scene change is deferred, which means that the new scene node is added on the next idle frame. You won't be able to access it immediately after the :ref:`change_scene_to` call. +\ **Note:** Passing a value of ``null`` into the method will unload the current scene without loading a new one. + ---- .. _class_SceneTree_method_create_timer: diff --git a/classes/class_shape2d.rst b/classes/class_shape2d.rst index e8eaa2950..168703c53 100644 --- a/classes/class_shape2d.rst +++ b/classes/class_shape2d.rst @@ -63,7 +63,9 @@ Property Descriptions | *Getter* | get_custom_solver_bias() | +-----------+-------------------------------+ -The shape's custom solver bias. +The shape's custom solver bias. Defines how much bodies react to enforce contact separation when this shape is involved. + +When set to ``0.0``, the default value of ``0.3`` is used. Method Descriptions ------------------- diff --git a/classes/class_shapecast.rst b/classes/class_shapecast.rst new file mode 100644 index 000000000..4fc76b0c4 --- /dev/null +++ b/classes/class_shapecast.rst @@ -0,0 +1,406 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/ShapeCast.xml. + +.. _class_ShapeCast: + +ShapeCast +========= + +**Inherits:** :ref:`Spatial` **<** :ref:`Node` **<** :ref:`Object` + +Node for physics collision sweep and immediate overlap queries. Similar to the :ref:`RayCast` node. + +Description +----------- + +Shape casting allows to detect collision objects by sweeping the :ref:`shape` along the cast direction determined by :ref:`target_position` (useful for things like beam weapons). + +Immediate collision overlaps can be done with the :ref:`target_position` set to ``Vector3(0, 0, 0)`` and by calling :ref:`force_shapecast_update` within the same **physics_frame**. This also helps to overcome some limitations of :ref:`Area` when used as a continuous detection area, often requiring waiting a couple of frames before collision information is available to :ref:`Area` nodes, and when using the signals creates unnecessary complexity. + +The node can detect multiple collision objects, but it's usually used to detect the first collision. + +\ **Note:** Shape casting is more computationally expensive compared to ray casting. + +Properties +---------- + ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`bool` | :ref:`collide_with_areas` | ``false`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`bool` | :ref:`collide_with_bodies` | ``true`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`int` | :ref:`collision_mask` | ``1`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`Array` | :ref:`collision_result` | | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`Color` | :ref:`debug_shape_custom_color` | ``Color( 0, 0, 0, 1 )`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`bool` | :ref:`enabled` | ``true`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`bool` | :ref:`exclude_parent` | ``true`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`float` | :ref:`margin` | ``0.0`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`int` | :ref:`max_results` | ``32`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`Shape` | :ref:`shape` | | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ +| :ref:`Vector3` | :ref:`target_position` | ``Vector3( 0, -1, 0 )`` | ++-------------------------------+------------------------------------------------------------------------------------+-------------------------+ + +Methods +------- + ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_exception` **(** :ref:`Object` node **)** | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_exception_rid` **(** :ref:`RID` rid **)** | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear_exceptions` **(** **)** | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`force_shapecast_update` **(** **)** | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_closest_collision_safe_fraction` **(** **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_closest_collision_unsafe_fraction` **(** **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Object` | :ref:`get_collider` **(** :ref:`int` index **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_collider_shape` **(** :ref:`int` index **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_collision_count` **(** **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`get_collision_mask_value` **(** :ref:`int` layer_number **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`get_collision_normal` **(** :ref:`int` index **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector3` | :ref:`get_collision_point` **(** :ref:`int` index **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_colliding` **(** **)** |const| | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_exception` **(** :ref:`Object` node **)** | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_exception_rid` **(** :ref:`RID` rid **)** | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`resource_changed` **(** :ref:`Resource` resource **)** | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_collision_mask_value` **(** :ref:`int` layer_number, :ref:`bool` value **)** | ++-------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Property Descriptions +--------------------- + +.. _class_ShapeCast_property_collide_with_areas: + +- :ref:`bool` **collide_with_areas** + ++-----------+---------------------------------+ +| *Default* | ``false`` | ++-----------+---------------------------------+ +| *Setter* | set_collide_with_areas(value) | ++-----------+---------------------------------+ +| *Getter* | is_collide_with_areas_enabled() | ++-----------+---------------------------------+ + +If ``true``, collision with :ref:`Area`\ s will be reported. + +---- + +.. _class_ShapeCast_property_collide_with_bodies: + +- :ref:`bool` **collide_with_bodies** + ++-----------+----------------------------------+ +| *Default* | ``true`` | ++-----------+----------------------------------+ +| *Setter* | set_collide_with_bodies(value) | ++-----------+----------------------------------+ +| *Getter* | is_collide_with_bodies_enabled() | ++-----------+----------------------------------+ + +If ``true``, collision with :ref:`PhysicsBody`\ s will be reported. + +---- + +.. _class_ShapeCast_property_collision_mask: + +- :ref:`int` **collision_mask** + ++-----------+---------------------------+ +| *Default* | ``1`` | ++-----------+---------------------------+ +| *Setter* | set_collision_mask(value) | ++-----------+---------------------------+ +| *Getter* | get_collision_mask() | ++-----------+---------------------------+ + +The shape's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information. + +---- + +.. _class_ShapeCast_property_collision_result: + +- :ref:`Array` **collision_result** + +Returns the complete collision information from the collision sweep. The data returned is the same as in the :ref:`PhysicsDirectSpaceState.get_rest_info` method. + +---- + +.. _class_ShapeCast_property_debug_shape_custom_color: + +- :ref:`Color` **debug_shape_custom_color** + ++-----------+-------------------------------------+ +| *Default* | ``Color( 0, 0, 0, 1 )`` | ++-----------+-------------------------------------+ +| *Setter* | set_debug_shape_custom_color(value) | ++-----------+-------------------------------------+ +| *Getter* | get_debug_shape_custom_color() | ++-----------+-------------------------------------+ + +The custom color to use to draw the shape in the editor and at run-time if **Visible Collision Shapes** is enabled in the **Debug** menu. This color will be highlighted at run-time if the ``ShapeCast`` is colliding with something. + +If set to ``Color(0.0, 0.0, 0.0)`` (by default), the color set in :ref:`ProjectSettings.debug/shapes/collision/shape_color` is used. + +---- + +.. _class_ShapeCast_property_enabled: + +- :ref:`bool` **enabled** + ++-----------+--------------------+ +| *Default* | ``true`` | ++-----------+--------------------+ +| *Setter* | set_enabled(value) | ++-----------+--------------------+ +| *Getter* | is_enabled() | ++-----------+--------------------+ + +If ``true``, collisions will be reported. + +---- + +.. _class_ShapeCast_property_exclude_parent: + +- :ref:`bool` **exclude_parent** + ++-----------+--------------------------------+ +| *Default* | ``true`` | ++-----------+--------------------------------+ +| *Setter* | set_exclude_parent_body(value) | ++-----------+--------------------------------+ +| *Getter* | get_exclude_parent_body() | ++-----------+--------------------------------+ + +If ``true``, the parent node will be excluded from collision detection. + +---- + +.. _class_ShapeCast_property_margin: + +- :ref:`float` **margin** + ++-----------+-------------------+ +| *Default* | ``0.0`` | ++-----------+-------------------+ +| *Setter* | set_margin(value) | ++-----------+-------------------+ +| *Getter* | get_margin() | ++-----------+-------------------+ + +The collision margin for the shape. A larger margin helps detecting collisions more consistently, at the cost of precision. + +---- + +.. _class_ShapeCast_property_max_results: + +- :ref:`int` **max_results** + ++-----------+------------------------+ +| *Default* | ``32`` | ++-----------+------------------------+ +| *Setter* | set_max_results(value) | ++-----------+------------------------+ +| *Getter* | get_max_results() | ++-----------+------------------------+ + +The number of intersections can be limited with this parameter, to reduce the processing time. + +---- + +.. _class_ShapeCast_property_shape: + +- :ref:`Shape` **shape** + ++----------+------------------+ +| *Setter* | set_shape(value) | ++----------+------------------+ +| *Getter* | get_shape() | ++----------+------------------+ + +The :ref:`Shape` to be used for collision queries. + +---- + +.. _class_ShapeCast_property_target_position: + +- :ref:`Vector3` **target_position** + ++-----------+----------------------------+ +| *Default* | ``Vector3( 0, -1, 0 )`` | ++-----------+----------------------------+ +| *Setter* | set_target_position(value) | ++-----------+----------------------------+ +| *Getter* | get_target_position() | ++-----------+----------------------------+ + +The shape's destination point, relative to this node's ``position``. + +Method Descriptions +------------------- + +.. _class_ShapeCast_method_add_exception: + +- void **add_exception** **(** :ref:`Object` node **)** + +Adds a collision exception so the shape does not report collisions with the specified :ref:`CollisionObject` node. + +---- + +.. _class_ShapeCast_method_add_exception_rid: + +- void **add_exception_rid** **(** :ref:`RID` rid **)** + +Adds a collision exception so the shape does not report collisions with the specified :ref:`RID`. + +---- + +.. _class_ShapeCast_method_clear_exceptions: + +- void **clear_exceptions** **(** **)** + +Removes all collision exceptions for this ``ShapeCast``. + +---- + +.. _class_ShapeCast_method_force_shapecast_update: + +- void **force_shapecast_update** **(** **)** + +Updates the collision information for the shape. Use this method to update the collision information immediately instead of waiting for the next ``_physics_process`` call, for example if the shape or its parent has changed state. + +\ **Note:** ``enabled`` is not required for this to work. + +---- + +.. _class_ShapeCast_method_get_closest_collision_safe_fraction: + +- :ref:`float` **get_closest_collision_safe_fraction** **(** **)** |const| + +The fraction from the ``ShapeCast``'s origin to its :ref:`target_position` (between 0 and 1) of how far the shape can move without triggering a collision. + +---- + +.. _class_ShapeCast_method_get_closest_collision_unsafe_fraction: + +- :ref:`float` **get_closest_collision_unsafe_fraction** **(** **)** |const| + +The fraction from the ``ShapeCast``'s origin to its :ref:`target_position` (between 0 and 1) of how far the shape must move to trigger a collision. + +---- + +.. _class_ShapeCast_method_get_collider: + +- :ref:`Object` **get_collider** **(** :ref:`int` index **)** |const| + +Returns the collided :ref:`Object` of one of the multiple collisions at ``index``, or ``null`` if no object is intersecting the shape (i.e. :ref:`is_colliding` returns ``false``). + +---- + +.. _class_ShapeCast_method_get_collider_shape: + +- :ref:`int` **get_collider_shape** **(** :ref:`int` index **)** |const| + +Returns the shape ID of the colliding shape of one of the multiple collisions at ``index``, or ``0`` if no object is intersecting the shape (i.e. :ref:`is_colliding` returns ``false``). + +---- + +.. _class_ShapeCast_method_get_collision_count: + +- :ref:`int` **get_collision_count** **(** **)** |const| + +The number of collisions detected at the point of impact. Use this to iterate over multiple collisions as provided by :ref:`get_collider`, :ref:`get_collider_shape`, :ref:`get_collision_point`, and :ref:`get_collision_normal` methods. + +---- + +.. _class_ShapeCast_method_get_collision_mask_value: + +- :ref:`bool` **get_collision_mask_value** **(** :ref:`int` layer_number **)** |const| + +Returns whether or not the specified layer of the :ref:`collision_mask` is enabled, given a ``layer_number`` between 1 and 32. + +---- + +.. _class_ShapeCast_method_get_collision_normal: + +- :ref:`Vector3` **get_collision_normal** **(** :ref:`int` index **)** |const| + +Returns the normal of one of the multiple collisions at ``index`` of the intersecting object. + +---- + +.. _class_ShapeCast_method_get_collision_point: + +- :ref:`Vector3` **get_collision_point** **(** :ref:`int` index **)** |const| + +Returns the collision point of one of the multiple collisions at ``index`` where the shape intersects the colliding object. + +\ **Note:** this point is in the **global** coordinate system. + +---- + +.. _class_ShapeCast_method_is_colliding: + +- :ref:`bool` **is_colliding** **(** **)** |const| + +Returns whether any object is intersecting with the shape's vector (considering the vector length). + +---- + +.. _class_ShapeCast_method_remove_exception: + +- void **remove_exception** **(** :ref:`Object` node **)** + +Removes a collision exception so the shape does report collisions with the specified :ref:`CollisionObject` node. + +---- + +.. _class_ShapeCast_method_remove_exception_rid: + +- void **remove_exception_rid** **(** :ref:`RID` rid **)** + +Removes a collision exception so the shape does report collisions with the specified :ref:`RID`. + +---- + +.. _class_ShapeCast_method_resource_changed: + +- void **resource_changed** **(** :ref:`Resource` resource **)** + +This method is used internally to update the debug gizmo in the editor. Any code placed in this function will be called whenever the :ref:`shape` resource is modified. + +---- + +.. _class_ShapeCast_method_set_collision_mask_value: + +- void **set_collision_mask_value** **(** :ref:`int` layer_number, :ref:`bool` value **)** + +Based on ``value``, enables or disables the specified layer in the :ref:`collision_mask`, given a ``layer_number`` between 1 and 32. + +.. |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_shapecast2d.rst b/classes/class_shapecast2d.rst new file mode 100644 index 000000000..c445ffca4 --- /dev/null +++ b/classes/class_shapecast2d.rst @@ -0,0 +1,376 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/ShapeCast2D.xml. + +.. _class_ShapeCast2D: + +ShapeCast2D +=========== + +**Inherits:** :ref:`Node2D` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` + +Node for physics collision sweep and immediate overlap queries. Similar to the :ref:`RayCast2D` node. + +Description +----------- + +Shape casting allows to detect collision objects by sweeping the :ref:`shape` along the cast direction determined by :ref:`target_position` (useful for things like beam weapons). + +Immediate collision overlaps can be done with the :ref:`target_position` set to ``Vector2(0, 0)`` and by calling :ref:`force_shapecast_update` within the same **physics_frame**. This also helps to overcome some limitations of :ref:`Area2D` when used as a continuous detection area, often requiring waiting a couple of frames before collision information is available to :ref:`Area2D` nodes, and when using the signals creates unnecessary complexity. + +The node can detect multiple collision objects, but it's usually used to detect the first collision. + +\ **Note:** Shape casting is more computationally expensive compared to ray casting. + +Properties +---------- + ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`bool` | :ref:`collide_with_areas` | ``false`` | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`bool` | :ref:`collide_with_bodies` | ``true`` | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`int` | :ref:`collision_mask` | ``1`` | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`Array` | :ref:`collision_result` | | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`bool` | :ref:`enabled` | ``true`` | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`bool` | :ref:`exclude_parent` | ``true`` | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`float` | :ref:`margin` | ``0.0`` | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`int` | :ref:`max_results` | ``32`` | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`Shape2D` | :ref:`shape` | | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ +| :ref:`Vector2` | :ref:`target_position` | ``Vector2( 0, 50 )`` | ++-------------------------------+----------------------------------------------------------------------------+----------------------+ + +Methods +------- + ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_exception` **(** :ref:`Object` node **)** | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_exception_rid` **(** :ref:`RID` rid **)** | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear_exceptions` **(** **)** | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`force_shapecast_update` **(** **)** | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_closest_collision_safe_fraction` **(** **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`float` | :ref:`get_closest_collision_unsafe_fraction` **(** **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Object` | :ref:`get_collider` **(** :ref:`int` index **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_collider_shape` **(** :ref:`int` index **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_collision_count` **(** **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`get_collision_mask_value` **(** :ref:`int` layer_number **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_collision_normal` **(** :ref:`int` index **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Vector2` | :ref:`get_collision_point` **(** :ref:`int` index **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`is_colliding` **(** **)** |const| | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_exception` **(** :ref:`Object` node **)** | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_exception_rid` **(** :ref:`RID` rid **)** | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_collision_mask_value` **(** :ref:`int` layer_number, :ref:`bool` value **)** | ++-------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Property Descriptions +--------------------- + +.. _class_ShapeCast2D_property_collide_with_areas: + +- :ref:`bool` **collide_with_areas** + ++-----------+---------------------------------+ +| *Default* | ``false`` | ++-----------+---------------------------------+ +| *Setter* | set_collide_with_areas(value) | ++-----------+---------------------------------+ +| *Getter* | is_collide_with_areas_enabled() | ++-----------+---------------------------------+ + +If ``true``, collision with :ref:`Area2D`\ s will be reported. + +---- + +.. _class_ShapeCast2D_property_collide_with_bodies: + +- :ref:`bool` **collide_with_bodies** + ++-----------+----------------------------------+ +| *Default* | ``true`` | ++-----------+----------------------------------+ +| *Setter* | set_collide_with_bodies(value) | ++-----------+----------------------------------+ +| *Getter* | is_collide_with_bodies_enabled() | ++-----------+----------------------------------+ + +If ``true``, collision with :ref:`PhysicsBody2D`\ s will be reported. + +---- + +.. _class_ShapeCast2D_property_collision_mask: + +- :ref:`int` **collision_mask** + ++-----------+---------------------------+ +| *Default* | ``1`` | ++-----------+---------------------------+ +| *Setter* | set_collision_mask(value) | ++-----------+---------------------------+ +| *Getter* | get_collision_mask() | ++-----------+---------------------------+ + +The shape's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. + +---- + +.. _class_ShapeCast2D_property_collision_result: + +- :ref:`Array` **collision_result** + +Returns the complete collision information from the collision sweep. The data returned is the same as in the :ref:`Physics2DDirectSpaceState.get_rest_info` method. + +---- + +.. _class_ShapeCast2D_property_enabled: + +- :ref:`bool` **enabled** + ++-----------+--------------------+ +| *Default* | ``true`` | ++-----------+--------------------+ +| *Setter* | set_enabled(value) | ++-----------+--------------------+ +| *Getter* | is_enabled() | ++-----------+--------------------+ + +If ``true``, collisions will be reported. + +---- + +.. _class_ShapeCast2D_property_exclude_parent: + +- :ref:`bool` **exclude_parent** + ++-----------+--------------------------------+ +| *Default* | ``true`` | ++-----------+--------------------------------+ +| *Setter* | set_exclude_parent_body(value) | ++-----------+--------------------------------+ +| *Getter* | get_exclude_parent_body() | ++-----------+--------------------------------+ + +If ``true``, the parent node will be excluded from collision detection. + +---- + +.. _class_ShapeCast2D_property_margin: + +- :ref:`float` **margin** + ++-----------+-------------------+ +| *Default* | ``0.0`` | ++-----------+-------------------+ +| *Setter* | set_margin(value) | ++-----------+-------------------+ +| *Getter* | get_margin() | ++-----------+-------------------+ + +The collision margin for the shape. A larger margin helps detecting collisions more consistently, at the cost of precision. + +---- + +.. _class_ShapeCast2D_property_max_results: + +- :ref:`int` **max_results** + ++-----------+------------------------+ +| *Default* | ``32`` | ++-----------+------------------------+ +| *Setter* | set_max_results(value) | ++-----------+------------------------+ +| *Getter* | get_max_results() | ++-----------+------------------------+ + +The number of intersections can be limited with this parameter, to reduce the processing time. + +---- + +.. _class_ShapeCast2D_property_shape: + +- :ref:`Shape2D` **shape** + ++----------+------------------+ +| *Setter* | set_shape(value) | ++----------+------------------+ +| *Getter* | get_shape() | ++----------+------------------+ + +The :ref:`Shape2D`-derived shape to be used for collision queries. + +---- + +.. _class_ShapeCast2D_property_target_position: + +- :ref:`Vector2` **target_position** + ++-----------+----------------------------+ +| *Default* | ``Vector2( 0, 50 )`` | ++-----------+----------------------------+ +| *Setter* | set_target_position(value) | ++-----------+----------------------------+ +| *Getter* | get_target_position() | ++-----------+----------------------------+ + +The shape's destination point, relative to this node's ``position``. + +Method Descriptions +------------------- + +.. _class_ShapeCast2D_method_add_exception: + +- void **add_exception** **(** :ref:`Object` node **)** + +Adds a collision exception so the shape does not report collisions with the specified :ref:`CollisionObject2D` node. + +---- + +.. _class_ShapeCast2D_method_add_exception_rid: + +- void **add_exception_rid** **(** :ref:`RID` rid **)** + +Adds a collision exception so the shape does not report collisions with the specified :ref:`RID`. + +---- + +.. _class_ShapeCast2D_method_clear_exceptions: + +- void **clear_exceptions** **(** **)** + +Removes all collision exceptions for this shape. + +---- + +.. _class_ShapeCast2D_method_force_shapecast_update: + +- void **force_shapecast_update** **(** **)** + +Updates the collision information for the shape. Use this method to update the collision information immediately instead of waiting for the next ``_physics_process`` call, for example if the shape or its parent has changed state. + +\ **Note:** ``enabled`` is not required for this to work. + +---- + +.. _class_ShapeCast2D_method_get_closest_collision_safe_fraction: + +- :ref:`float` **get_closest_collision_safe_fraction** **(** **)** |const| + +The fraction from the ``ShapeCast2D``'s origin to its :ref:`target_position` (between 0 and 1) of how far the shape can move without triggering a collision. + +---- + +.. _class_ShapeCast2D_method_get_closest_collision_unsafe_fraction: + +- :ref:`float` **get_closest_collision_unsafe_fraction** **(** **)** |const| + +The fraction from the ``ShapeCast2D``'s origin to its :ref:`target_position` (between 0 and 1) of how far the shape must move to trigger a collision. + +---- + +.. _class_ShapeCast2D_method_get_collider: + +- :ref:`Object` **get_collider** **(** :ref:`int` index **)** |const| + +Returns the collided :ref:`Object` of one of the multiple collisions at ``index``, or ``null`` if no object is intersecting the shape (i.e. :ref:`is_colliding` returns ``false``). + +---- + +.. _class_ShapeCast2D_method_get_collider_shape: + +- :ref:`int` **get_collider_shape** **(** :ref:`int` index **)** |const| + +Returns the shape ID of the colliding shape of one of the multiple collisions at ``index``, or ``0`` if no object is intersecting the shape (i.e. :ref:`is_colliding` returns ``false``). + +---- + +.. _class_ShapeCast2D_method_get_collision_count: + +- :ref:`int` **get_collision_count** **(** **)** |const| + +The number of collisions detected at the point of impact. Use this to iterate over multiple collisions as provided by :ref:`get_collider`, :ref:`get_collider_shape`, :ref:`get_collision_point`, and :ref:`get_collision_normal` methods. + +---- + +.. _class_ShapeCast2D_method_get_collision_mask_value: + +- :ref:`bool` **get_collision_mask_value** **(** :ref:`int` layer_number **)** |const| + +Returns whether or not the specified layer of the :ref:`collision_mask` is enabled, given a ``layer_number`` between 1 and 32. + +---- + +.. _class_ShapeCast2D_method_get_collision_normal: + +- :ref:`Vector2` **get_collision_normal** **(** :ref:`int` index **)** |const| + +Returns the normal of one of the multiple collisions at ``index`` of the intersecting object. + +---- + +.. _class_ShapeCast2D_method_get_collision_point: + +- :ref:`Vector2` **get_collision_point** **(** :ref:`int` index **)** |const| + +Returns the collision point of one of the multiple collisions at ``index`` where the shape intersects the colliding object. + +\ **Note:** this point is in the **global** coordinate system. + +---- + +.. _class_ShapeCast2D_method_is_colliding: + +- :ref:`bool` **is_colliding** **(** **)** |const| + +Returns whether any object is intersecting with the shape's vector (considering the vector length). + +---- + +.. _class_ShapeCast2D_method_remove_exception: + +- void **remove_exception** **(** :ref:`Object` node **)** + +Removes a collision exception so the shape does report collisions with the specified :ref:`CollisionObject2D` node. + +---- + +.. _class_ShapeCast2D_method_remove_exception_rid: + +- void **remove_exception_rid** **(** :ref:`RID` rid **)** + +Removes a collision exception so the shape does report collisions with the specified :ref:`RID`. + +---- + +.. _class_ShapeCast2D_method_set_collision_mask_value: + +- void **set_collision_mask_value** **(** :ref:`int` layer_number, :ref:`bool` value **)** + +Based on ``value``, enables or disables the specified layer in the :ref:`collision_mask`, given a ``layer_number`` between 1 and 32. + +.. |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_spatial.rst b/classes/class_spatial.rst index 9776861d8..3391157c9 100644 --- a/classes/class_spatial.rst +++ b/classes/class_spatial.rst @@ -12,7 +12,7 @@ Spatial **Inherits:** :ref:`Node` **<** :ref:`Object` -**Inherited By:** :ref:`ARVRAnchor`, :ref:`ARVRController`, :ref:`ARVROrigin`, :ref:`AudioStreamPlayer3D`, :ref:`BoneAttachment`, :ref:`Camera`, :ref:`CollisionObject`, :ref:`CollisionPolygon`, :ref:`CollisionShape`, :ref:`CullInstance`, :ref:`GridMap`, :ref:`Joint`, :ref:`Listener`, :ref:`Navigation`, :ref:`NavigationMeshInstance`, :ref:`Occluder`, :ref:`Path`, :ref:`PathFollow`, :ref:`Portal`, :ref:`Position3D`, :ref:`ProximityGroup`, :ref:`RayCast`, :ref:`RemoteTransform`, :ref:`Room`, :ref:`RoomGroup`, :ref:`RoomManager`, :ref:`Skeleton`, :ref:`SpringArm`, :ref:`VehicleWheel` +**Inherited By:** :ref:`ARVRAnchor`, :ref:`ARVRController`, :ref:`ARVROrigin`, :ref:`AudioStreamPlayer3D`, :ref:`BoneAttachment`, :ref:`Camera`, :ref:`CollisionObject`, :ref:`CollisionPolygon`, :ref:`CollisionShape`, :ref:`CullInstance`, :ref:`GridMap`, :ref:`Joint`, :ref:`Listener`, :ref:`Navigation`, :ref:`NavigationMeshInstance`, :ref:`Occluder`, :ref:`Path`, :ref:`PathFollow`, :ref:`Portal`, :ref:`Position3D`, :ref:`ProximityGroup`, :ref:`RayCast`, :ref:`RemoteTransform`, :ref:`Room`, :ref:`RoomGroup`, :ref:`RoomManager`, :ref:`ShapeCast`, :ref:`Skeleton`, :ref:`SpringArm`, :ref:`VehicleWheel` Most basic 3D game object, parent of all 3D-related nodes. diff --git a/classes/class_spatialmaterial.rst b/classes/class_spatialmaterial.rst index 4950b5b6f..e1727f670 100644 --- a/classes/class_spatialmaterial.rst +++ b/classes/class_spatialmaterial.rst @@ -220,7 +220,7 @@ Properties +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+ | :ref:`bool` | :ref:`uv1_triplanar` | ``false`` | +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+ -| :ref:`float` | :ref:`uv1_triplanar_sharpness` | ``1.0`` | +| :ref:`float` | :ref:`uv1_triplanar_sharpness` | | +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+ | :ref:`Vector3` | :ref:`uv2_offset` | ``Vector3( 0, 0, 0 )`` | +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+ @@ -228,7 +228,7 @@ Properties +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+ | :ref:`bool` | :ref:`uv2_triplanar` | ``false`` | +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+ -| :ref:`float` | :ref:`uv2_triplanar_sharpness` | ``1.0`` | +| :ref:`float` | :ref:`uv2_triplanar_sharpness` | | +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+ | :ref:`bool` | :ref:`vertex_color_is_srgb` | ``false`` | +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+-------------------------+ @@ -768,7 +768,7 @@ If ``true``, anisotropy is enabled. Anisotropy changes the shape of the specular \ **Note:** Mesh tangents are needed for anisotropy to work. If the mesh does not contain tangents, the anisotropy effect will appear broken. -\ **Note:** Material anisotropy should not to be confused with anisotropic texture filtering. Anisotropic texture filtering can be enabled by selecting a texture in the FileSystem dock, going to the Import dock, checking the **Anisotropic** checkbox then clicking **Reimport**. +\ **Note:** Material anisotropy should not to be confused with anisotropic texture filtering. Anisotropic texture filtering can be enabled by selecting a texture in the FileSystem dock, going to the Import dock, checking the **Anisotropic** checkbox then clicking **Reimport**. The anisotropic filtering level can be changed by adjusting :ref:`ProjectSettings.rendering/quality/filters/anisotropic_filter_level`. ---- @@ -2188,16 +2188,16 @@ If ``true``, instead of using ``UV`` textures will use a triplanar texture looku - :ref:`float` **uv1_triplanar_sharpness** -+-----------+------------------------------------------+ -| *Default* | ``1.0`` | -+-----------+------------------------------------------+ -| *Setter* | set_uv1_triplanar_blend_sharpness(value) | -+-----------+------------------------------------------+ -| *Getter* | get_uv1_triplanar_blend_sharpness() | -+-----------+------------------------------------------+ ++----------+------------------------------------------+ +| *Setter* | set_uv1_triplanar_blend_sharpness(value) | ++----------+------------------------------------------+ +| *Getter* | get_uv1_triplanar_blend_sharpness() | ++----------+------------------------------------------+ A lower number blends the texture more softly while a higher number blends the texture more sharply. +\ **Note:** :ref:`uv1_triplanar_sharpness` is clamped between ``0.0`` and ``150.0`` (inclusive) as values outside that range can look broken depending on the mesh. + ---- .. _class_SpatialMaterial_property_uv2_offset: @@ -2252,16 +2252,16 @@ If ``true``, instead of using ``UV2`` textures will use a triplanar texture look - :ref:`float` **uv2_triplanar_sharpness** -+-----------+------------------------------------------+ -| *Default* | ``1.0`` | -+-----------+------------------------------------------+ -| *Setter* | set_uv2_triplanar_blend_sharpness(value) | -+-----------+------------------------------------------+ -| *Getter* | get_uv2_triplanar_blend_sharpness() | -+-----------+------------------------------------------+ ++----------+------------------------------------------+ +| *Setter* | set_uv2_triplanar_blend_sharpness(value) | ++----------+------------------------------------------+ +| *Getter* | get_uv2_triplanar_blend_sharpness() | ++----------+------------------------------------------+ A lower number blends the texture more softly while a higher number blends the texture more sharply. +\ **Note:** :ref:`uv2_triplanar_sharpness` is clamped between ``0.0`` and ``150.0`` (inclusive) as values outside that range can look broken depending on the mesh. + ---- .. _class_SpatialMaterial_property_vertex_color_is_srgb: diff --git a/classes/class_sprite3d.rst b/classes/class_sprite3d.rst index 5d37fc7b4..f4907c60e 100644 --- a/classes/class_sprite3d.rst +++ b/classes/class_sprite3d.rst @@ -140,7 +140,7 @@ The region of the atlas texture to display. :ref:`region_enabled` object to draw. If :ref:`GeometryInstance.material_override` is used, this will be overridden. +:ref:`Texture` object to draw. If :ref:`GeometryInstance.material_override` is used, this will be overridden. The size information is still used. ---- diff --git a/classes/class_string.rst b/classes/class_string.rst index 610ca76b6..2aaf56ae4 100644 --- a/classes/class_string.rst +++ b/classes/class_string.rst @@ -1029,6 +1029,8 @@ Splits the string by a ``delimiter`` string and returns an array of the substrin The splits in the returned array are sorted in the same order as the original string, from left to right. +If ``allow_empty`` is ``true``, and there are two adjacent delimiters in the string, it will add an empty string to the array of substrings at this position. + If ``maxsplit`` is specified, it defines the number of splits to do from the right up to ``maxsplit``. The default value of 0 means that all items are split, thus giving the same result as :ref:`split`. Example: @@ -1114,6 +1116,8 @@ Returns a simplified canonical path. Splits the string by a ``delimiter`` string and returns an array of the substrings. The ``delimiter`` can be of any length. +If ``allow_empty`` is ``true``, and there are two adjacent delimiters in the string, it will add an empty string to the array of substrings at this position. + If ``maxsplit`` is specified, it defines the number of splits to do from the left up to ``maxsplit``. The default value of ``0`` means that all items are split. If you need only one element from the array at a specific index, :ref:`get_slice` is a more performant option. @@ -1140,6 +1144,8 @@ Splits the string in floats by using a delimiter string and returns an array of For example, ``"1,2.5,3"`` will return ``[1,2.5,3]`` if split by ``","``. +If ``allow_empty`` is ``true``, and there are two adjacent delimiters in the string, it will add an empty string to the array of substrings at this position. + ---- .. _class_String_method_strip_edges: diff --git a/classes/class_tabs.rst b/classes/class_tabs.rst index a0d605b3e..f80becc1c 100644 --- a/classes/class_tabs.rst +++ b/classes/class_tabs.rst @@ -37,45 +37,49 @@ Properties Methods ------- -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`add_tab` **(** :ref:`String` title="", :ref:`Texture` icon=null **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`ensure_tab_visible` **(** :ref:`int` idx **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`get_offset_buttons_visible` **(** **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_previous_tab` **(** **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`get_select_with_rmb` **(** **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_tab_count` **(** **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`bool` | :ref:`get_tab_disabled` **(** :ref:`int` tab_idx **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Texture` | :ref:`get_tab_icon` **(** :ref:`int` tab_idx **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_tab_offset` **(** **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Rect2` | :ref:`get_tab_rect` **(** :ref:`int` tab_idx **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_tab_title` **(** :ref:`int` tab_idx **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`int` | :ref:`get_tabs_rearrange_group` **(** **)** |const| | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`move_tab` **(** :ref:`int` from, :ref:`int` to **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`remove_tab` **(** :ref:`int` tab_idx **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_select_with_rmb` **(** :ref:`bool` enabled **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_tab_disabled` **(** :ref:`int` tab_idx, :ref:`bool` disabled **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_tab_icon` **(** :ref:`int` tab_idx, :ref:`Texture` icon **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_tab_title` **(** :ref:`int` tab_idx, :ref:`String` title **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_tabs_rearrange_group` **(** :ref:`int` group_id **)** | -+-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------+ ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_tab` **(** :ref:`String` title="", :ref:`Texture` icon=null **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`ensure_tab_visible` **(** :ref:`int` idx **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`get_offset_buttons_visible` **(** **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_previous_tab` **(** **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`get_select_with_rmb` **(** **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Texture` | :ref:`get_tab_button_icon` **(** :ref:`int` tab_idx **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_tab_count` **(** **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`bool` | :ref:`get_tab_disabled` **(** :ref:`int` tab_idx **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Texture` | :ref:`get_tab_icon` **(** :ref:`int` tab_idx **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_tab_offset` **(** **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Rect2` | :ref:`get_tab_rect` **(** :ref:`int` tab_idx **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_tab_title` **(** :ref:`int` tab_idx **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`get_tabs_rearrange_group` **(** **)** |const| | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`move_tab` **(** :ref:`int` from, :ref:`int` to **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_tab` **(** :ref:`int` tab_idx **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_select_with_rmb` **(** :ref:`bool` enabled **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_tab_button_icon` **(** :ref:`int` tab_idx, :ref:`Texture` icon **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_tab_disabled` **(** :ref:`int` tab_idx, :ref:`bool` disabled **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_tab_icon` **(** :ref:`int` tab_idx, :ref:`Texture` icon **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_tab_title` **(** :ref:`int` tab_idx, :ref:`String` title **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_tabs_rearrange_group` **(** :ref:`int` group_id **)** | ++-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------+ Theme Properties ---------------- @@ -133,7 +137,7 @@ Emitted when the active tab is rearranged via mouse drag. See :ref:`drag_to_rear - **right_button_pressed** **(** :ref:`int` tab **)** -Emitted when a tab is right-clicked. +Emitted when a tab's right button is pressed. See :ref:`set_tab_button_icon`. ---- @@ -336,6 +340,14 @@ Returns ``true`` if select with right mouse button is enabled. ---- +.. _class_Tabs_method_get_tab_button_icon: + +- :ref:`Texture` **get_tab_button_icon** **(** :ref:`int` tab_idx **)** |const| + +Returns the button icon from the tab at index ``tab_idx``. + +---- + .. _class_Tabs_method_get_tab_count: - :ref:`int` **get_tab_count** **(** **)** |const| @@ -416,6 +428,14 @@ If ``true``, enables selecting a tab with the right mouse button. ---- +.. _class_Tabs_method_set_tab_button_icon: + +- void **set_tab_button_icon** **(** :ref:`int` tab_idx, :ref:`Texture` icon **)** + +Sets the button icon from the tab at index ``tab_idx``. + +---- + .. _class_Tabs_method_set_tab_disabled: - void **set_tab_disabled** **(** :ref:`int` tab_idx, :ref:`bool` disabled **)** diff --git a/classes/class_torusmesh.rst b/classes/class_torusmesh.rst new file mode 100644 index 000000000..3ef69a9ab --- /dev/null +++ b/classes/class_torusmesh.rst @@ -0,0 +1,102 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/TorusMesh.xml. + +.. _class_TorusMesh: + +TorusMesh +========= + +**Inherits:** :ref:`PrimitiveMesh` **<** :ref:`Mesh` **<** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` + +Class representing a torus :ref:`PrimitiveMesh`. + +Description +----------- + +Class representing a torus :ref:`PrimitiveMesh`. + +Properties +---------- + ++---------------------------+--------------------------------------------------------------+---------+ +| :ref:`float` | :ref:`inner_radius` | ``0.5`` | ++---------------------------+--------------------------------------------------------------+---------+ +| :ref:`float` | :ref:`outer_radius` | ``1.0`` | ++---------------------------+--------------------------------------------------------------+---------+ +| :ref:`int` | :ref:`ring_segments` | ``32`` | ++---------------------------+--------------------------------------------------------------+---------+ +| :ref:`int` | :ref:`rings` | ``64`` | ++---------------------------+--------------------------------------------------------------+---------+ + +Property Descriptions +--------------------- + +.. _class_TorusMesh_property_inner_radius: + +- :ref:`float` **inner_radius** + ++-----------+-------------------------+ +| *Default* | ``0.5`` | ++-----------+-------------------------+ +| *Setter* | set_inner_radius(value) | ++-----------+-------------------------+ +| *Getter* | get_inner_radius() | ++-----------+-------------------------+ + +The inner radius of the torus. + +---- + +.. _class_TorusMesh_property_outer_radius: + +- :ref:`float` **outer_radius** + ++-----------+-------------------------+ +| *Default* | ``1.0`` | ++-----------+-------------------------+ +| *Setter* | set_outer_radius(value) | ++-----------+-------------------------+ +| *Getter* | get_outer_radius() | ++-----------+-------------------------+ + +The outer radius of the torus. + +---- + +.. _class_TorusMesh_property_ring_segments: + +- :ref:`int` **ring_segments** + ++-----------+--------------------------+ +| *Default* | ``32`` | ++-----------+--------------------------+ +| *Setter* | set_ring_segments(value) | ++-----------+--------------------------+ +| *Getter* | get_ring_segments() | ++-----------+--------------------------+ + +The number of edges each ring of the torus is constructed of. + +---- + +.. _class_TorusMesh_property_rings: + +- :ref:`int` **rings** + ++-----------+------------------+ +| *Default* | ``64`` | ++-----------+------------------+ +| *Setter* | set_rings(value) | ++-----------+------------------+ +| *Getter* | get_rings() | ++-----------+------------------+ + +The number of slices the torus is constructed of. + +.. |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_translationserver.rst b/classes/class_translationserver.rst index edd455db5..a516cde7a 100644 --- a/classes/class_translationserver.rst +++ b/classes/class_translationserver.rst @@ -29,23 +29,39 @@ Tutorials Methods ------- -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`add_translation` **(** :ref:`Translation` translation **)** | -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`clear` **(** **)** | -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`Array` | :ref:`get_loaded_locales` **(** **)** |const| | -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_locale` **(** **)** |const| | -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`get_locale_name` **(** :ref:`String` locale **)** |const| | -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`remove_translation` **(** :ref:`Translation` translation **)** | -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ -| void | :ref:`set_locale` **(** :ref:`String` locale **)** | -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ -| :ref:`String` | :ref:`translate` **(** :ref:`String` message **)** |const| | -+-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------+ ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`add_translation` **(** :ref:`Translation` translation **)** | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`clear` **(** **)** | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`int` | :ref:`compare_locales` **(** :ref:`String` locale_a, :ref:`String` locale_b **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_all_countries` **(** **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_all_languages` **(** **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`PoolStringArray` | :ref:`get_all_scripts` **(** **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_country_name` **(** :ref:`String` country **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_language_name` **(** :ref:`String` language **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`Array` | :ref:`get_loaded_locales` **(** **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_locale` **(** **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_locale_name` **(** :ref:`String` locale **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`get_script_name` **(** :ref:`String` script **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`remove_translation` **(** :ref:`Translation` translation **)** | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`set_locale` **(** :ref:`String` locale **)** | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`standardize_locale` **(** :ref:`String` locale **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| :ref:`String` | :ref:`translate` **(** :ref:`String` message **)** |const| | ++-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Method Descriptions ------------------- @@ -66,6 +82,54 @@ Clears the server from all translations. ---- +.. _class_TranslationServer_method_compare_locales: + +- :ref:`int` **compare_locales** **(** :ref:`String` locale_a, :ref:`String` locale_b **)** |const| + +Compares two locales and return similarity score between ``0``\ (no match) and ``10``\ (full match). + +---- + +.. _class_TranslationServer_method_get_all_countries: + +- :ref:`PoolStringArray` **get_all_countries** **(** **)** |const| + +Returns array of known country codes. + +---- + +.. _class_TranslationServer_method_get_all_languages: + +- :ref:`PoolStringArray` **get_all_languages** **(** **)** |const| + +Returns array of known language codes. + +---- + +.. _class_TranslationServer_method_get_all_scripts: + +- :ref:`PoolStringArray` **get_all_scripts** **(** **)** |const| + +Returns array of known script codes. + +---- + +.. _class_TranslationServer_method_get_country_name: + +- :ref:`String` **get_country_name** **(** :ref:`String` country **)** |const| + +Returns readable country name for the ``country`` code. + +---- + +.. _class_TranslationServer_method_get_language_name: + +- :ref:`String` **get_language_name** **(** :ref:`String` language **)** |const| + +Returns readable language name for the ``language`` code. + +---- + .. _class_TranslationServer_method_get_loaded_locales: - :ref:`Array` **get_loaded_locales** **(** **)** |const| @@ -92,6 +156,14 @@ Returns a locale's language and its variant (e.g. ``"en_US"`` would return ``"En ---- +.. _class_TranslationServer_method_get_script_name: + +- :ref:`String` **get_script_name** **(** :ref:`String` script **)** |const| + +Returns readable script name for the ``script`` code. + +---- + .. _class_TranslationServer_method_remove_translation: - void **remove_translation** **(** :ref:`Translation` translation **)** @@ -110,6 +182,14 @@ If translations have been loaded beforehand for the new locale, they will be app ---- +.. _class_TranslationServer_method_standardize_locale: + +- :ref:`String` **standardize_locale** **(** :ref:`String` locale **)** |const| + +Retunrs ``locale`` string standardized to match known locales (e.g. ``en-US`` would be matched to ``en_US``). + +---- + .. _class_TranslationServer_method_translate: - :ref:`String` **translate** **(** :ref:`String` message **)** |const| diff --git a/classes/class_upnp.rst b/classes/class_upnp.rst index 42d875199..e60396596 100644 --- a/classes/class_upnp.rst +++ b/classes/class_upnp.rst @@ -12,21 +12,20 @@ UPNP **Inherits:** :ref:`Reference` **<** :ref:`Object` -UPNP network functions. +Universal Plug and Play (UPnP) functions for network device discovery, querying and port forwarding. Description ----------- -Provides UPNP functionality to discover :ref:`UPNPDevice`\ s on the local network and execute commands on them, like managing port mappings (port forwarding) and querying the local and remote network IP address. Note that methods on this class are synchronous and block the calling thread. +This class can be used to discover compatible :ref:`UPNPDevice`\ s on the local network and execute commands on them, like managing port mappings (for port forwarding/NAT traversal) and querying the local and remote network IP address. Note that methods on this class are synchronous and block the calling thread. -To forward a specific port: +To forward a specific port (here ``7777``, note both :ref:`discover` and :ref:`add_port_mapping` can return errors that should be checked): :: - const PORT = 7777 var upnp = UPNP.new() - upnp.discover(2000, 2, "InternetGatewayDevice") - upnp.add_port_mapping(port) + upnp.discover() + upnp.add_port_mapping(7777) To close a specific port (e.g. after you have finished using it): @@ -41,7 +40,7 @@ To close a specific port (e.g. after you have finished using it): # Emitted when UPnP port mapping setup is completed (regardless of success or failure). signal upnp_completed(error) - # Replace this with your own server port number between 1025 and 65535. + # Replace this with your own server port number between 1024 and 65535. const SERVER_PORT = 3928 var thread = null @@ -68,6 +67,22 @@ To close a specific port (e.g. after you have finished using it): # Wait for thread finish here to handle game exit while the thread is running. thread.wait_to_finish() +\ **Terminology:** In the context of UPnP networking, "gateway" (or "internet gateway device", short IGD) refers to network devices that allow computers in the local network to access the internet ("wide area network", WAN). These gateways are often also called "routers". + +\ **Pitfalls:**\ + +- As explained above, these calls are blocking and shouldn't be run on the main thread, especially as they can block for multiple seconds at a time. Use threading! + +- Networking is physical and messy. Packets get lost in transit or get filtered, addresses, free ports and assigned mappings change, and devices may leave or join the network at any time. Be mindful of this, be diligent when checking and handling errors, and handle these gracefully if you can: add clear error UI, timeouts and re-try handling. + +- Port mappings may change (and be removed) at any time, and the remote/external IP address of the gateway can change likewise. You should consider re-querying the external IP and try to update/refresh the port mapping periodically (for example, every 5 minutes and on networking failures). + +- Not all devices support UPnP, and some users disable UPnP support. You need to handle this (e.g. documenting and requiring the user to manually forward ports, or adding alternative methods of NAT traversal, like a relay/mirror server, or NAT hole punching, STUN/TURN, etc.). + +- Consider what happens on mapping conflicts. Maybe multiple users on the same network would like to play your game at the same time, or maybe another application uses the same port. Make the port configurable, and optimally choose a port automatically (re-trying with a different port on failure). + +\ **Further reading:** If you want to know more about UPnP (and the Internet Gateway Device (IGD) and Port Control Protocol (PCP) specifically), `Wikipedia `__ is a good first stop, the specification can be found at the `Open Connectivity Foundation `__ and Godot's implementation is based on the `MiniUPnP client `__. + Properties ---------- @@ -293,11 +308,15 @@ Adds the given :ref:`UPNPDevice` to the list of discovered dev - :ref:`int` **add_port_mapping** **(** :ref:`int` port, :ref:`int` port_internal=0, :ref:`String` desc="", :ref:`String` proto="UDP", :ref:`int` duration=0 **)** |const| -Adds a mapping to forward the external ``port`` (between 1 and 65535) on the default gateway (see :ref:`get_gateway`) to the ``internal_port`` on the local machine for the given protocol ``proto`` (either ``TCP`` or ``UDP``, with UDP being the default). If a port mapping for the given port and protocol combination already exists on that gateway device, this method tries to overwrite it. If that is not desired, you can retrieve the gateway manually with :ref:`get_gateway` and call :ref:`add_port_mapping` on it, if any. +Adds a mapping to forward the external ``port`` (between 1 and 65535, although recommended to use port 1024 or above) on the default gateway (see :ref:`get_gateway`) to the ``internal_port`` on the local machine for the given protocol ``proto`` (either ``TCP`` or ``UDP``, with UDP being the default). If a port mapping for the given port and protocol combination already exists on that gateway device, this method tries to overwrite it. If that is not desired, you can retrieve the gateway manually with :ref:`get_gateway` and call :ref:`add_port_mapping` on it, if any. Note that forwarding a well-known port (below 1024) with UPnP may fail depending on the device. + +Depending on the gateway device, if a mapping for that port already exists, it will either be updated or it will refuse this command due to that conflict, especially if the existing mapping for that port wasn't created via UPnP or points to a different network address (or device) than this one. If ``internal_port`` is ``0`` (the default), the same port number is used for both the external and the internal port (the ``port`` value). -The description (``desc``) is shown in some router UIs and can be used to point out which application added the mapping. The mapping's lease duration can be limited by specifying a ``duration`` (in seconds). However, some routers are incompatible with one or both of these, so use with caution and add fallback logic in case of errors to retry without them if in doubt. +The description (``desc``) is shown in some routers management UIs and can be used to point out which application added the mapping. + +The mapping's lease ``duration`` can be limited by specifying a duration in seconds. The default of ``0`` means no duration, i.e. a permanent lease and notably some devices only support these permanent leases. Note that whether permanent or not, this is only a request and the gateway may still decide at any point to remove the mapping (which usually happens on a reboot of the gateway, when its external IP address changes, or on some models when it detects a port mapping has become inactive, i.e. had no traffic for multiple minutes). If not ``0`` (permanent), the allowed range according to spec is between ``120`` (2 minutes) and ``86400`` seconds (24 hours). See :ref:`UPNPResult` for possible return values. @@ -315,7 +334,7 @@ Clears the list of discovered devices. - :ref:`int` **delete_port_mapping** **(** :ref:`int` port, :ref:`String` proto="UDP" **)** |const| -Deletes the port mapping for the given port and protocol combination on the default gateway (see :ref:`get_gateway`) if one exists. ``port`` must be a valid port between 1 and 65535, ``proto`` can be either ``TCP`` or ``UDP``. See :ref:`UPNPResult` for possible return values. +Deletes the port mapping for the given port and protocol combination on the default gateway (see :ref:`get_gateway`) if one exists. ``port`` must be a valid port between 1 and 65535, ``proto`` can be either ``TCP`` or ``UDP``. May be refused for mappings pointing to addresses other than this one, for well-known ports (below 1024), or for mappings not added via UPnP. See :ref:`UPNPResult` for possible return values. ---- diff --git a/classes/class_upnpdevice.rst b/classes/class_upnpdevice.rst index 25e05c94b..8735597b5 100644 --- a/classes/class_upnpdevice.rst +++ b/classes/class_upnpdevice.rst @@ -12,12 +12,12 @@ UPNPDevice **Inherits:** :ref:`Reference` **<** :ref:`Object` -UPNP device. +Universal Plug and Play (UPnP) device. Description ----------- -UPNP device. See :ref:`UPNP` for UPNP discovery and utility functions. Provides low-level access to UPNP control commands. Allows to manage port mappings (port forwarding) and to query network information of the device (like local and external IP address and status). Note that methods on this class are synchronous and block the calling thread. +Universal Plug and Play (UPnP) device. See :ref:`UPNP` for UPnP discovery and utility functions. Provides low-level access to UPNP control commands. Allows to manage port mappings (port forwarding) and to query network information of the device (like local and external IP address and status). Note that methods on this class are synchronous and block the calling thread. Properties ---------- diff --git a/classes/class_visualinstance.rst b/classes/class_visualinstance.rst index c5e282859..f15f2c689 100644 --- a/classes/class_visualinstance.rst +++ b/classes/class_visualinstance.rst @@ -24,9 +24,13 @@ The ``VisualInstance`` is used to connect a resource to a visual representation. Properties ---------- -+-----------------------+-----------------------------------------------------+-------+ -| :ref:`int` | :ref:`layers` | ``1`` | -+-----------------------+-----------------------------------------------------+-------+ ++---------------------------+---------------------------------------------------------------------------------------+----------+ +| :ref:`int` | :ref:`layers` | ``1`` | ++---------------------------+---------------------------------------------------------------------------------------+----------+ +| :ref:`float` | :ref:`sorting_offset` | ``0.0`` | ++---------------------------+---------------------------------------------------------------------------------------+----------+ +| :ref:`bool` | :ref:`sorting_use_aabb_center` | ``true`` | ++---------------------------+---------------------------------------------------------------------------------------+----------+ Methods ------- @@ -66,6 +70,40 @@ The render layer(s) this ``VisualInstance`` is drawn on. This object will only be visible for :ref:`Camera`\ s whose cull mask includes the render object this ``VisualInstance`` is set to. +---- + +.. _class_VisualInstance_property_sorting_offset: + +- :ref:`float` **sorting_offset** + ++-----------+---------------------------+ +| *Default* | ``0.0`` | ++-----------+---------------------------+ +| *Setter* | set_sorting_offset(value) | ++-----------+---------------------------+ +| *Getter* | get_sorting_offset() | ++-----------+---------------------------+ + +The sorting offset used by this ``VisualInstance``. Adjusting it to a higher value will make the ``VisualInstance`` reliably draw on top of other ``VisualInstance``\ s that are otherwise positioned at the same spot. + +---- + +.. _class_VisualInstance_property_sorting_use_aabb_center: + +- :ref:`bool` **sorting_use_aabb_center** + ++-----------+------------------------------------+ +| *Default* | ``true`` | ++-----------+------------------------------------+ +| *Setter* | set_sorting_use_aabb_center(value) | ++-----------+------------------------------------+ +| *Getter* | is_sorting_use_aabb_center() | ++-----------+------------------------------------+ + +If ``true``, the object is sorted based on the :ref:`AABB` center. Sorted based on the global position otherwise. + +The :ref:`AABB` center based sorting is generally more accurate for 3D models. The position based sorting instead allows to better control the drawing order when working with :ref:`Particles` and :ref:`CPUParticles`. + Method Descriptions ------------------- diff --git a/classes/class_visualserver.rst b/classes/class_visualserver.rst index 19053144f..9f7b62fc6 100644 --- a/classes/class_visualserver.rst +++ b/classes/class_visualserver.rst @@ -57,12 +57,16 @@ Methods +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`camera_create` **(** **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`camera_reset_physics_interpolation` **(** :ref:`RID` camera **)** | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_cull_mask` **(** :ref:`RID` camera, :ref:`int` layers **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_environment` **(** :ref:`RID` camera, :ref:`RID` env **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_frustum` **(** :ref:`RID` camera, :ref:`float` size, :ref:`Vector2` offset, :ref:`float` z_near, :ref:`float` z_far **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`camera_set_interpolated` **(** :ref:`RID` camera, :ref:`bool` interpolated **)** | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_orthogonal` **(** :ref:`RID` camera, :ref:`float` size, :ref:`float` z_near, :ref:`float` z_far **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`camera_set_perspective` **(** :ref:`RID` camera, :ref:`float` fovy_degrees, :ref:`float` z_near, :ref:`float` z_far **)** | @@ -369,6 +373,8 @@ Methods +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_geometry_set_material_override` **(** :ref:`RID` instance, :ref:`RID` material **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`instance_reset_physics_interpolation` **(** :ref:`RID` instance **)** | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_base` **(** :ref:`RID` instance, :ref:`RID` base **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_blend_shape_weight` **(** :ref:`RID` instance, :ref:`int` shape, :ref:`float` weight **)** | @@ -379,6 +385,8 @@ Methods +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_extra_visibility_margin` **(** :ref:`RID` instance, :ref:`float` margin **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`instance_set_interpolated` **(** :ref:`RID` instance, :ref:`bool` interpolated **)** | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_layer_mask` **(** :ref:`RID` instance, :ref:`int` mask **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`instance_set_scenario` **(** :ref:`RID` instance, :ref:`RID` scenario **)** | @@ -545,6 +553,8 @@ Methods +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform2D` | :ref:`multimesh_instance_get_transform_2d` **(** :ref:`RID` multimesh, :ref:`int` index **)** |const| | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`multimesh_instance_reset_physics_interpolation` **(** :ref:`RID` multimesh, :ref:`int` index **)** | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_instance_set_color` **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Color` color **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_instance_set_custom_data` **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Color` custom_data **)** | @@ -555,8 +565,14 @@ Methods +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_as_bulk_array` **(** :ref:`RID` multimesh, :ref:`PoolRealArray` array **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`multimesh_set_as_bulk_array_interpolated` **(** :ref:`RID` multimesh, :ref:`PoolRealArray` array, :ref:`PoolRealArray` array_previous **)** | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_mesh` **(** :ref:`RID` multimesh, :ref:`RID` mesh **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`multimesh_set_physics_interpolated` **(** :ref:`RID` multimesh, :ref:`bool` interpolated **)** | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| void | :ref:`multimesh_set_physics_interpolation_quality` **(** :ref:`RID` multimesh, :ref:`MultimeshPhysicsInterpolationQuality` quality **)** | ++---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_visible_instances` **(** :ref:`RID` multimesh, :ref:`int` visible **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`omni_light_create` **(** **)** | @@ -1790,6 +1806,20 @@ enum **MultimeshCustomDataFormat**: ---- +.. _enum_VisualServer_MultimeshPhysicsInterpolationQuality: + +.. _class_VisualServer_constant_MULTIMESH_INTERP_QUALITY_FAST: + +.. _class_VisualServer_constant_MULTIMESH_INTERP_QUALITY_HIGH: + +enum **MultimeshPhysicsInterpolationQuality**: + +- **MULTIMESH_INTERP_QUALITY_FAST** = **0** --- MultiMesh physics interpolation favours speed over quality. + +- **MULTIMESH_INTERP_QUALITY_HIGH** = **1** --- MultiMesh physics interpolation favours quality over speed. + +---- + .. _enum_VisualServer_ReflectionProbeUpdateMode: .. _class_VisualServer_constant_REFLECTION_PROBE_UPDATE_ONCE: @@ -2059,6 +2089,16 @@ Once finished with your RID, you will want to free the RID using the VisualServe ---- +.. _class_VisualServer_method_camera_reset_physics_interpolation: + +- void **camera_reset_physics_interpolation** **(** :ref:`RID` camera **)** + +Prevents physics interpolation for the current physics tick. + +This is useful when moving a :ref:`Camera` to a new location, to give an instantaneous change rather than interpolation from the previous location. + +---- + .. _class_VisualServer_method_camera_set_cull_mask: - void **camera_set_cull_mask** **(** :ref:`RID` camera, :ref:`int` layers **)** @@ -2083,6 +2123,14 @@ Sets camera to use frustum projection. This mode allows adjusting the ``offset`` ---- +.. _class_VisualServer_method_camera_set_interpolated: + +- void **camera_set_interpolated** **(** :ref:`RID` camera, :ref:`bool` interpolated **)** + +Turns on and off physics interpolation for the :ref:`Camera`. + +---- + .. _class_VisualServer_method_camera_set_orthogonal: - void **camera_set_orthogonal** **(** :ref:`RID` camera, :ref:`float` size, :ref:`float` z_near, :ref:`float` z_far **)** @@ -2875,7 +2923,21 @@ Synchronizes threads. - void **free_rid** **(** :ref:`RID` rid **)** -Tries to free an object in the VisualServer. +Destroys an object created by the VisualServer. If the :ref:`RID` passed is not one created by the server that created it (e.g. VisualServer, PhysicsServer, etc.), an error will be sent to the console. + +\ **Note:** After freeing the object, the RID now has a reference to invalid memory. It is not safe to use or free an invalid RID. Before using the RID again, make sure to assign it to ``RID()`` or any other valid RID. + +:: + + var r: RID = VisualServer.get_test_cube() + VisualServer.free_rid(r) + print("ID: ", r.get_id()) # It is not safe to access or free an invalid RID + r = RID() # Reset the RID so it is safe to use again. + print("ID: ", r.get_id()) + + # Output: + # ID: 157 # Freed RID has invalid data + # ID: 0 # RID has been properly reset ---- @@ -3349,6 +3411,16 @@ Sets a material that will override the material for all surfaces on the mesh ass ---- +.. _class_VisualServer_method_instance_reset_physics_interpolation: + +- void **instance_reset_physics_interpolation** **(** :ref:`RID` instance **)** + +Prevents physics interpolation for the current physics tick. + +This is useful when moving an instance to a new location, to give an instantaneous change rather than interpolation from the previous location. + +---- + .. _class_VisualServer_method_instance_set_base: - void **instance_set_base** **(** :ref:`RID` instance, :ref:`RID` base **)** @@ -3389,6 +3461,14 @@ Sets a margin to increase the size of the AABB when culling objects from the vie ---- +.. _class_VisualServer_method_instance_set_interpolated: + +- void **instance_set_interpolated** **(** :ref:`RID` instance, :ref:`bool` interpolated **)** + +Turns on and off physics interpolation for the instance. + +---- + .. _class_VisualServer_method_instance_set_layer_mask: - void **instance_set_layer_mask** **(** :ref:`RID` instance, :ref:`int` mask **)** @@ -4071,6 +4151,16 @@ Returns the :ref:`Transform2D` of the specified instance. For ---- +.. _class_VisualServer_method_multimesh_instance_reset_physics_interpolation: + +- void **multimesh_instance_reset_physics_interpolation** **(** :ref:`RID` multimesh, :ref:`int` index **)** + +Prevents physics interpolation for the specified instance during the current physics tick. + +This is useful when moving an instance to a new location, to give an instantaneous change rather than interpolation from the previous location. + +---- + .. _class_VisualServer_method_multimesh_instance_set_color: - void **multimesh_instance_set_color** **(** :ref:`RID` multimesh, :ref:`int` index, :ref:`Color` color **)** @@ -4119,6 +4209,16 @@ All data is packed in one large float array. An array may look like this: Transf ---- +.. _class_VisualServer_method_multimesh_set_as_bulk_array_interpolated: + +- void **multimesh_set_as_bulk_array_interpolated** **(** :ref:`RID` multimesh, :ref:`PoolRealArray` array, :ref:`PoolRealArray` array_previous **)** + +Alternative version of :ref:`multimesh_set_as_bulk_array` for use with physics interpolation. + +Takes both an array of current data and an array of data for the previous physics tick. + +---- + .. _class_VisualServer_method_multimesh_set_mesh: - void **multimesh_set_mesh** **(** :ref:`RID` multimesh, :ref:`RID` mesh **)** @@ -4127,6 +4227,24 @@ Sets the mesh to be drawn by the multimesh. Equivalent to :ref:`MultiMesh.mesh` multimesh, :ref:`bool` interpolated **)** + +Turns on and off physics interpolation for the :ref:`MultiMesh`. + +---- + +.. _class_VisualServer_method_multimesh_set_physics_interpolation_quality: + +- void **multimesh_set_physics_interpolation_quality** **(** :ref:`RID` multimesh, :ref:`MultimeshPhysicsInterpolationQuality` quality **)** + +Sets the physics interpolation quality for the :ref:`MultiMesh`. + +A value of ``0`` gives fast but low quality interpolation, a value of ``1`` gives slower but higher quality interpolation. + +---- + .. _class_VisualServer_method_multimesh_set_visible_instances: - void **multimesh_set_visible_instances** **(** :ref:`RID` multimesh, :ref:`int` visible **)** diff --git a/classes/class_weakref.rst b/classes/class_weakref.rst index 5988d02c8..6ec6e2c8a 100644 --- a/classes/class_weakref.rst +++ b/classes/class_weakref.rst @@ -33,7 +33,7 @@ Method Descriptions - :ref:`Variant` **get_ref** **(** **)** |const| -Returns the :ref:`Object` this weakref is referring to. +Returns the :ref:`Object` this weakref is referring to. Returns ``null`` if that object no longer exists. .. |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.)`