diff --git a/classes/class_@gdscript.rst b/classes/class_@gdscript.rst index 16e427b1b04..787e68d96bb 100644 --- a/classes/class_@gdscript.rst +++ b/classes/class_@gdscript.rst @@ -662,7 +662,7 @@ Add a custom icon to the current script. The icon specified at ``icon_path`` is \ **Note:** As annotations describe their subject, the :ref:`@icon` annotation must be placed before the class definition and inheritance. -\ **Note:** Unlike most other annotations, the argument of the :ref:`@icon` annotation must be a string literal (constant expressions are not supported). +\ **Note:** Unlike other annotations, the argument of the :ref:`@icon` annotation must be a string literal (constant expressions are not supported). .. rst-class:: classref-item-separator @@ -748,20 +748,6 @@ Mark the current script as a tool script, allowing it to be loaded and executed ---- -.. _class_@GDScript_annotation_@uid: - -.. rst-class:: classref-annotation - -**@uid** **(** :ref:`String` uid **)** - -Stores information about UID of this script. This annotation is auto-generated when saving the script and must not be modified manually. Only applies to scripts saved as separate files (i.e. not built-in). - -\ **Note:** Unlike most other annotations, the argument of the :ref:`@uid` annotation must be a string literal (constant expressions are not supported). - -.. rst-class:: classref-item-separator - ----- - .. _class_@GDScript_annotation_@warning_ignore: .. rst-class:: classref-annotation @@ -856,7 +842,7 @@ Returns a single character (as a :ref:`String`) of the given Unico :ref:`Variant` **convert** **(** :ref:`Variant` what, :ref:`int` type **)** -*Deprecated.* Use :ref:`@GlobalScope.type_convert` instead. +**Deprecated:** Use :ref:`@GlobalScope.type_convert` instead. Converts ``what`` to ``type`` in the best way possible. The ``type`` uses the :ref:`Variant.Type` values. diff --git a/classes/class_@globalscope.rst b/classes/class_@globalscope.rst index f8a6c09f74b..772db97b118 100644 --- a/classes/class_@globalscope.rst +++ b/classes/class_@globalscope.rst @@ -2393,6 +2393,42 @@ Group Switch key mask. ---- +.. _enum_@GlobalScope_KeyLocation: + +.. rst-class:: classref-enumeration + +enum **KeyLocation**: + +.. _class_@GlobalScope_constant_KEY_LOCATION_UNSPECIFIED: + +.. rst-class:: classref-enumeration-constant + +:ref:`KeyLocation` **KEY_LOCATION_UNSPECIFIED** = ``0`` + +Used for keys which only appear once, or when a comparison doesn't need to differentiate the ``LEFT`` and ``RIGHT`` versions. + +For example, when using :ref:`InputEvent.is_match`, an event which has :ref:`KEY_LOCATION_UNSPECIFIED` will match any :ref:`KeyLocation` on the passed event. + +.. _class_@GlobalScope_constant_KEY_LOCATION_LEFT: + +.. rst-class:: classref-enumeration-constant + +:ref:`KeyLocation` **KEY_LOCATION_LEFT** = ``1`` + +A key which is to the left of its twin. + +.. _class_@GlobalScope_constant_KEY_LOCATION_RIGHT: + +.. rst-class:: classref-enumeration-constant + +:ref:`KeyLocation` **KEY_LOCATION_RIGHT** = ``2`` + +A key which is to the right of its twin. + +.. rst-class:: classref-item-separator + +---- + .. _enum_@GlobalScope_MouseButton: .. rst-class:: classref-enumeration @@ -2835,7 +2871,7 @@ enum **MIDIMessage**: :ref:`MIDIMessage` **MIDI_MESSAGE_NONE** = ``0`` -Enum value which doesn't correspond to any MIDI message. This is used to initialize :ref:`MIDIMessage` properties with a generic state. +Does not correspond to any MIDI message. This is the default value of :ref:`InputEventMIDI.message`. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF: @@ -2843,7 +2879,9 @@ Enum value which doesn't correspond to any MIDI message. This is used to initial :ref:`MIDIMessage` **MIDI_MESSAGE_NOTE_OFF** = ``8`` -MIDI note OFF message. Not all MIDI devices send this event; some send :ref:`MIDI_MESSAGE_NOTE_ON` with zero velocity instead. See the documentation of :ref:`InputEventMIDI` for information of how to use MIDI inputs. +MIDI message sent when a note is released. + +\ **Note:** Not all MIDI devices send this message; some may send :ref:`MIDI_MESSAGE_NOTE_ON` with :ref:`InputEventMIDI.velocity` set to ``0``. .. _class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON: @@ -2851,7 +2889,7 @@ MIDI note OFF message. Not all MIDI devices send this event; some send :ref:`MID :ref:`MIDIMessage` **MIDI_MESSAGE_NOTE_ON** = ``9`` -MIDI note ON message. Some MIDI devices send this event with velocity zero instead of :ref:`MIDI_MESSAGE_NOTE_OFF`, but implementations vary. See the documentation of :ref:`InputEventMIDI` for information of how to use MIDI inputs. +MIDI message sent when a note is pressed. .. _class_@GlobalScope_constant_MIDI_MESSAGE_AFTERTOUCH: @@ -2859,7 +2897,7 @@ MIDI note ON message. Some MIDI devices send this event with velocity zero inste :ref:`MIDIMessage` **MIDI_MESSAGE_AFTERTOUCH** = ``10`` -MIDI aftertouch message. This message is most often sent by pressing down on the key after it "bottoms out". +MIDI message sent to indicate a change in pressure while a note is being pressed down, also called aftertouch. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE: @@ -2867,7 +2905,7 @@ MIDI aftertouch message. This message is most often sent by pressing down on the :ref:`MIDIMessage` **MIDI_MESSAGE_CONTROL_CHANGE** = ``11`` -MIDI control change message. This message is sent when a controller value changes. Controllers include devices such as pedals and levers. +MIDI message sent when a controller value changes. In a MIDI device, a controller is any input that doesn't play notes. These may include sliders for volume, balance, and panning, as well as switches and pedals. See the `General MIDI specification `__ for a small list. .. _class_@GlobalScope_constant_MIDI_MESSAGE_PROGRAM_CHANGE: @@ -2875,7 +2913,7 @@ MIDI control change message. This message is sent when a controller value change :ref:`MIDIMessage` **MIDI_MESSAGE_PROGRAM_CHANGE** = ``12`` -MIDI program change message. This message sent when the program patch number changes. +MIDI message sent when the MIDI device changes its current instrument (also called *program* or *preset*). .. _class_@GlobalScope_constant_MIDI_MESSAGE_CHANNEL_PRESSURE: @@ -2883,7 +2921,7 @@ MIDI program change message. This message sent when the program patch number cha :ref:`MIDIMessage` **MIDI_MESSAGE_CHANNEL_PRESSURE** = ``13`` -MIDI channel pressure message. This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch as it indicates the highest pressure across all keys. +MIDI message sent to indicate a change in pressure for the whole channel. Some MIDI devices may send this instead of :ref:`MIDI_MESSAGE_AFTERTOUCH`. .. _class_@GlobalScope_constant_MIDI_MESSAGE_PITCH_BEND: @@ -2891,7 +2929,7 @@ MIDI channel pressure message. This message is most often sent by pressing down :ref:`MIDIMessage` **MIDI_MESSAGE_PITCH_BEND** = ``14`` -MIDI pitch bend message. This message is sent to indicate a change in the pitch bender (wheel or lever, typically). +MIDI message sent when the value of the pitch bender changes, usually a wheel on the MIDI device. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_EXCLUSIVE: @@ -2899,7 +2937,9 @@ MIDI pitch bend message. This message is sent to indicate a change in the pitch :ref:`MIDIMessage` **MIDI_MESSAGE_SYSTEM_EXCLUSIVE** = ``240`` -MIDI system exclusive message. This has behavior exclusive to the device you're receiving input from. Getting this data is not implemented in Godot. +MIDI system exclusive (SysEx) message. This type of message is not standardized and it's highly dependent on the MIDI device sending it. + +\ **Note:** Getting this message's data from :ref:`InputEventMIDI` is not implemented. .. _class_@GlobalScope_constant_MIDI_MESSAGE_QUARTER_FRAME: @@ -2907,7 +2947,9 @@ MIDI system exclusive message. This has behavior exclusive to the device you're :ref:`MIDIMessage` **MIDI_MESSAGE_QUARTER_FRAME** = ``241`` -MIDI quarter frame message. Contains timing information that is used to synchronize MIDI devices. Getting this data is not implemented in Godot. +MIDI message sent every quarter frame to keep connected MIDI devices synchronized. Related to :ref:`MIDI_MESSAGE_TIMING_CLOCK`. + +\ **Note:** Getting this message's data from :ref:`InputEventMIDI` is not implemented. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_POSITION_POINTER: @@ -2915,7 +2957,9 @@ MIDI quarter frame message. Contains timing information that is used to synchron :ref:`MIDIMessage` **MIDI_MESSAGE_SONG_POSITION_POINTER** = ``242`` -MIDI song position pointer message. Gives the number of 16th notes since the start of the song. Getting this data is not implemented in Godot. +MIDI message sent to jump onto a new position in the current sequence or song. + +\ **Note:** Getting this message's data from :ref:`InputEventMIDI` is not implemented. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SONG_SELECT: @@ -2923,7 +2967,9 @@ MIDI song position pointer message. Gives the number of 16th notes since the sta :ref:`MIDIMessage` **MIDI_MESSAGE_SONG_SELECT** = ``243`` -MIDI song select message. Specifies which sequence or song is to be played. Getting this data is not implemented in Godot. +MIDI message sent to select a sequence or song to play. + +\ **Note:** Getting this message's data from :ref:`InputEventMIDI` is not implemented. .. _class_@GlobalScope_constant_MIDI_MESSAGE_TUNE_REQUEST: @@ -2931,7 +2977,7 @@ MIDI song select message. Specifies which sequence or song is to be played. Gett :ref:`MIDIMessage` **MIDI_MESSAGE_TUNE_REQUEST** = ``246`` -MIDI tune request message. Upon receiving a tune request, all analog synthesizers should tune their oscillators. +MIDI message sent to request a tuning calibration. Used on analog synthesizers. Most modern MIDI devices do not need this message. .. _class_@GlobalScope_constant_MIDI_MESSAGE_TIMING_CLOCK: @@ -2939,7 +2985,7 @@ MIDI tune request message. Upon receiving a tune request, all analog synthesizer :ref:`MIDIMessage` **MIDI_MESSAGE_TIMING_CLOCK** = ``248`` -MIDI timing clock message. Sent 24 times per quarter note when synchronization is required. +MIDI message sent 24 times after :ref:`MIDI_MESSAGE_QUARTER_FRAME`, to keep connected MIDI devices synchronized. .. _class_@GlobalScope_constant_MIDI_MESSAGE_START: @@ -2947,7 +2993,7 @@ MIDI timing clock message. Sent 24 times per quarter note when synchronization i :ref:`MIDIMessage` **MIDI_MESSAGE_START** = ``250`` -MIDI start message. Start the current sequence playing. This message will be followed with Timing Clocks. +MIDI message sent to start the current sequence or song from the beginning. .. _class_@GlobalScope_constant_MIDI_MESSAGE_CONTINUE: @@ -2955,7 +3001,7 @@ MIDI start message. Start the current sequence playing. This message will be fol :ref:`MIDIMessage` **MIDI_MESSAGE_CONTINUE** = ``251`` -MIDI continue message. Continue at the point the sequence was stopped. +MIDI message sent to resume from the point the current sequence or song was paused. .. _class_@GlobalScope_constant_MIDI_MESSAGE_STOP: @@ -2963,7 +3009,7 @@ MIDI continue message. Continue at the point the sequence was stopped. :ref:`MIDIMessage` **MIDI_MESSAGE_STOP** = ``252`` -MIDI stop message. Stop the current sequence. +MIDI message sent to pause the current sequence or song. .. _class_@GlobalScope_constant_MIDI_MESSAGE_ACTIVE_SENSING: @@ -2971,7 +3017,7 @@ MIDI stop message. Stop the current sequence. :ref:`MIDIMessage` **MIDI_MESSAGE_ACTIVE_SENSING** = ``254`` -MIDI active sensing message. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. +MIDI message sent repeatedly while the MIDI device is idle, to tell the receiver that the connection is alive. Most MIDI devices do not send this message. .. _class_@GlobalScope_constant_MIDI_MESSAGE_SYSTEM_RESET: @@ -2979,7 +3025,7 @@ MIDI active sensing message. This message is intended to be sent repeatedly to t :ref:`MIDIMessage` **MIDI_MESSAGE_SYSTEM_RESET** = ``255`` -MIDI system reset message. Reset all receivers in the system to power-up status. It should not be sent on power-up itself. +MIDI message sent to reset a MIDI device to its default state, as if it was just turned on. It should not be sent when the MIDI device is being turned on. .. rst-class:: classref-item-separator @@ -3698,7 +3744,13 @@ Examples: :ref:`PropertyHint` **PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE** = ``24`` -*Deprecated.* This hint is not used anywhere and will be removed in the future. +**Deprecated:** This hint is not used anywhere and will be removed in the future. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. _class_@GlobalScope_constant_PROPERTY_HINT_OBJECT_TOO_BIG: @@ -3738,9 +3790,13 @@ Hints that a :ref:`String` property is a path to a file. Editing i :ref:`PropertyHint` **PROPERTY_HINT_INT_IS_OBJECTID** = ``29`` -Hints that an :ref:`int` property is an object ID. +**Deprecated:** This hint is not used anywhere and will be removed in the future. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + -\ *Deprecated.* This hint is not used anywhere and will be removed in the future. .. _class_@GlobalScope_constant_PROPERTY_HINT_INT_IS_POINTER: @@ -3942,9 +3998,13 @@ If this property is modified, all inspector fields will be refreshed. :ref:`PropertyUsageFlags` **PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE** = ``32768`` -Signifies a default value from a placeholder script instance. +**Deprecated:** This hint is not used anywhere and will be removed in the future. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + -\ *Deprecated.* This hint is not used anywhere and will be removed in the future. .. _class_@GlobalScope_constant_PROPERTY_USAGE_CLASS_IS_ENUM: @@ -4024,9 +4084,13 @@ Inserting an animation key frame of this property will automatically increment t :ref:`PropertyUsageFlags` **PROPERTY_USAGE_DEFERRED_SET_RESOURCE** = ``33554432`` -When loading, the resource for this property can be set at the end of loading. +**Deprecated:** This hint is not used anywhere and will be removed in the future. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + -\ *Deprecated.* This hint is not used anywhere and will be removed in the future. .. _class_@GlobalScope_constant_PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT: @@ -7285,6 +7349,8 @@ Encodes a :ref:`Variant` value to a byte array, without encoding \ **Note:** If you need object serialization, see :ref:`var_to_bytes_with_objects`. +\ **Note:** Encoding :ref:`Callable` is not supported and will result in an empty value, regardless of the data. + .. rst-class:: classref-item-separator ---- @@ -7297,6 +7363,8 @@ Encodes a :ref:`Variant` value to a byte array, without encoding Encodes a :ref:`Variant` value to a byte array. Encoding objects is allowed (and can potentially include executable code). Deserialization can be done with :ref:`bytes_to_var_with_objects`. +\ **Note:** Encoding :ref:`Callable` is not supported and will result in an empty value, regardless of the data. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_animatedsprite2d.rst b/classes/class_animatedsprite2d.rst index 14694f60e1b..6c98c61599f 100644 --- a/classes/class_animatedsprite2d.rst +++ b/classes/class_animatedsprite2d.rst @@ -113,6 +113,8 @@ Emitted when :ref:`animation` changes Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback. +\ **Note:** This signal is not emitted if an animation is looping. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_animatedsprite3d.rst b/classes/class_animatedsprite3d.rst index 00d764ef917..d2c3b682b7a 100644 --- a/classes/class_animatedsprite3d.rst +++ b/classes/class_animatedsprite3d.rst @@ -103,6 +103,8 @@ Emitted when :ref:`animation` changes Emitted when the animation reaches the end, or the start if it is played in reverse. When the animation finishes, it pauses the playback. +\ **Note:** This signal is not emitted if an animation is looping. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_animatedtexture.rst b/classes/class_animatedtexture.rst index 32877b2fa79..58dafe79c3d 100644 --- a/classes/class_animatedtexture.rst +++ b/classes/class_animatedtexture.rst @@ -10,6 +10,8 @@ AnimatedTexture =============== +**Deprecated:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Texture2D` **<** :ref:`Texture` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Proxy texture for simple frame-based animations. @@ -29,8 +31,6 @@ The playback of the animation is controlled by the :ref:`speed_scale` **UPDATE_CAPTURE** = ``2`` -Same as linear interpolation, but also interpolates from the current value (i.e. dynamically at runtime) if the first key isn't at 0 seconds. +Same as :ref:`UPDATE_CONTINUOUS` but works as a flag to capture the value of the current object and perform interpolation in some methods. See also :ref:`AnimationMixer.capture` and :ref:`AnimationPlayer.play_with_capture`. .. rst-class:: classref-item-separator diff --git a/classes/class_animationmixer.rst b/classes/class_animationmixer.rst index 08fcd22daa1..8f2d3bde243 100644 --- a/classes/class_animationmixer.rst +++ b/classes/class_animationmixer.rst @@ -66,6 +66,8 @@ Methods +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`advance` **(** :ref:`float` delta **)** | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`capture` **(** :ref:`StringName` name, :ref:`float` duration, :ref:`TransitionType` trans_type=0, :ref:`EaseType` ease_type=0 **)** | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear_caches` **(** **)** | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`StringName` | :ref:`find_animation` **(** :ref:`Animation` animation **)** |const| | @@ -447,6 +449,22 @@ Manually advance the animations by the specified time (in seconds). ---- +.. _class_AnimationMixer_method_capture: + +.. rst-class:: classref-method + +void **capture** **(** :ref:`StringName` name, :ref:`float` duration, :ref:`TransitionType` trans_type=0, :ref:`EaseType` ease_type=0 **)** + +If the animation track specified by ``name`` has an option :ref:`Animation.UPDATE_CAPTURE`, stores current values of the objects indicated by the track path as a cache. If there is already a captured cache, the old cache is discarded. + +After this it will interpolate with current animation blending result during the playback process for the time specified by ``duration``, working like a crossfade. + +You can specify ``trans_type`` as the curve for the interpolation. For better results, it may be appropriate to specify :ref:`Tween.TRANS_LINEAR` for cases where the first key of the track begins with a non-zero value or where the key value does not change, and :ref:`Tween.TRANS_QUAD` for cases where the key value changes linearly. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationMixer_method_clear_caches: .. rst-class:: classref-method diff --git a/classes/class_animationplayer.rst b/classes/class_animationplayer.rst index 7d61a81129a..7a5c0808300 100644 --- a/classes/class_animationplayer.rst +++ b/classes/class_animationplayer.rst @@ -72,47 +72,49 @@ Methods .. table:: :widths: auto - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`StringName` | :ref:`animation_get_next` **(** :ref:`StringName` animation_from **)** |const| | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`animation_set_next` **(** :ref:`StringName` animation_from, :ref:`StringName` animation_to **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`clear_queue` **(** **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`get_blend_time` **(** :ref:`StringName` animation_from, :ref:`StringName` animation_to **)** |const| | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`AnimationMethodCallMode` | :ref:`get_method_call_mode` **(** **)** |const| | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`get_playing_speed` **(** **)** |const| | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`AnimationProcessCallback` | :ref:`get_process_callback` **(** **)** |const| | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`get_queue` **(** **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`NodePath` | :ref:`get_root` **(** **)** |const| | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_playing` **(** **)** |const| | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`pause` **(** **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`play` **(** :ref:`StringName` name="", :ref:`float` custom_blend=-1, :ref:`float` custom_speed=1.0, :ref:`bool` from_end=false **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`play_backwards` **(** :ref:`StringName` name="", :ref:`float` custom_blend=-1 **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`queue` **(** :ref:`StringName` name **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`seek` **(** :ref:`float` seconds, :ref:`bool` update=false, :ref:`bool` update_only=false **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_blend_time` **(** :ref:`StringName` animation_from, :ref:`StringName` animation_to, :ref:`float` sec **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_method_call_mode` **(** :ref:`AnimationMethodCallMode` mode **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_process_callback` **(** :ref:`AnimationProcessCallback` mode **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_root` **(** :ref:`NodePath` path **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`stop` **(** :ref:`bool` keep_state=false **)** | - +--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`animation_get_next` **(** :ref:`StringName` animation_from **)** |const| | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`animation_set_next` **(** :ref:`StringName` animation_from, :ref:`StringName` animation_to **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`clear_queue` **(** **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_blend_time` **(** :ref:`StringName` animation_from, :ref:`StringName` animation_to **)** |const| | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AnimationMethodCallMode` | :ref:`get_method_call_mode` **(** **)** |const| | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_playing_speed` **(** **)** |const| | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AnimationProcessCallback` | :ref:`get_process_callback` **(** **)** |const| | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_queue` **(** **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath` | :ref:`get_root` **(** **)** |const| | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_playing` **(** **)** |const| | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`pause` **(** **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`play` **(** :ref:`StringName` name="", :ref:`float` custom_blend=-1, :ref:`float` custom_speed=1.0, :ref:`bool` from_end=false **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`play_backwards` **(** :ref:`StringName` name="", :ref:`float` custom_blend=-1 **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`play_with_capture` **(** :ref:`StringName` name, :ref:`float` duration=-1.0, :ref:`float` custom_blend=-1, :ref:`float` custom_speed=1.0, :ref:`bool` from_end=false, :ref:`TransitionType` trans_type=0, :ref:`EaseType` ease_type=0 **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`queue` **(** :ref:`StringName` name **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`seek` **(** :ref:`float` seconds, :ref:`bool` update=false, :ref:`bool` update_only=false **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_blend_time` **(** :ref:`StringName` animation_from, :ref:`StringName` animation_to, :ref:`float` sec **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_method_call_mode` **(** :ref:`AnimationMethodCallMode` mode **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_process_callback` **(** :ref:`AnimationProcessCallback` mode **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_root` **(** :ref:`NodePath` path **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`stop` **(** :ref:`bool` keep_state=false **)** | + +--------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -166,7 +168,13 @@ enum **AnimationProcessCallback**: :ref:`AnimationProcessCallback` **ANIMATION_PROCESS_PHYSICS** = ``0`` -For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS`. +**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS`. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. _class_AnimationPlayer_constant_ANIMATION_PROCESS_IDLE: @@ -174,7 +182,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PRO :ref:`AnimationProcessCallback` **ANIMATION_PROCESS_IDLE** = ``1`` -For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE`. +**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE`. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. _class_AnimationPlayer_constant_ANIMATION_PROCESS_MANUAL: @@ -182,7 +196,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PRO :ref:`AnimationProcessCallback` **ANIMATION_PROCESS_MANUAL** = ``2`` -For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL`. +**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL`. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. rst-class:: classref-item-separator @@ -200,7 +220,13 @@ enum **AnimationMethodCallMode**: :ref:`AnimationMethodCallMode` **ANIMATION_METHOD_CALL_DEFERRED** = ``0`` -For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_DEFERRED`. +**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_DEFERRED`. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. _class_AnimationPlayer_constant_ANIMATION_METHOD_CALL_IMMEDIATE: @@ -208,7 +234,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_MET :ref:`AnimationMethodCallMode` **ANIMATION_METHOD_CALL_IMMEDIATE** = ``1`` -For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_IMMEDIATE`. +**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_METHOD_IMMEDIATE`. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. rst-class:: classref-section-separator @@ -418,7 +450,11 @@ Returns the blend time (in seconds) between two animations, referenced by their :ref:`AnimationMethodCallMode` **get_method_call_mode** **(** **)** |const| -For backward compatibility. See :ref:`AnimationCallbackModeMethod`. +**Deprecated:** Use :ref:`AnimationMixer.callback_mode_method` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator @@ -444,7 +480,11 @@ Returns a negative value if the current animation is playing backwards. :ref:`AnimationProcessCallback` **get_process_callback** **(** **)** |const| -For backward compatibility. See :ref:`AnimationCallbackModeProcess`. +**Deprecated:** Use :ref:`AnimationMixer.callback_mode_process` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator @@ -468,7 +508,11 @@ Returns a list of the animation keys that are currently queued to play. :ref:`NodePath` **get_root** **(** **)** |const| -For backward compatibility. See :ref:`AnimationMixer.root_node`. +**Deprecated:** Use :ref:`AnimationMixer.root_node` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator @@ -532,6 +576,29 @@ This method is a shorthand for :ref:`play` wi ---- +.. _class_AnimationPlayer_method_play_with_capture: + +.. rst-class:: classref-method + +void **play_with_capture** **(** :ref:`StringName` name, :ref:`float` duration=-1.0, :ref:`float` custom_blend=-1, :ref:`float` custom_speed=1.0, :ref:`bool` from_end=false, :ref:`TransitionType` trans_type=0, :ref:`EaseType` ease_type=0 **)** + +See :ref:`AnimationMixer.capture`. It is almost the same as the following: + +:: + + capture(name, duration, trans_type, ease_type) + play(name, custom_blend, custom_speed, from_end) + +If name is blank, it specifies :ref:`assigned_animation`. + +If ``duration`` is a negative value, the duration is set to the interval between the current position and the first key, when ``from_end`` is ``true``, uses the interval between the current position and the last key instead. + +\ **Note:** The ``duration`` takes :ref:`speed_scale` into account, but ``custom_speed`` does not, because the capture cache is interpolated with the blend result and the result may contain multiple animations. + +.. rst-class:: classref-item-separator + +---- + .. _class_AnimationPlayer_method_queue: .. rst-class:: classref-method @@ -554,7 +621,7 @@ void **seek** **(** :ref:`float` seconds, :ref:`bool` u Seeks the animation to the ``seconds`` point in time (in seconds). If ``update`` is ``true``, the animation updates too, otherwise it updates at process time. Events between the current frame and ``seconds`` are skipped. -If ``update_only`` is true, the method / audio / animation playback tracks will not be processed. +If ``update_only`` is ``true``, the method / audio / animation playback tracks will not be processed. \ **Note:** Seeking to the end of the animation doesn't emit :ref:`AnimationMixer.animation_finished`. If you want to skip animation and emit the signal, use :ref:`AnimationMixer.advance`. @@ -580,7 +647,11 @@ Specifies a blend time (in seconds) between two animations, referenced by their void **set_method_call_mode** **(** :ref:`AnimationMethodCallMode` mode **)** -For backward compatibility. See :ref:`AnimationCallbackModeMethod`. +**Deprecated:** Use :ref:`AnimationMixer.callback_mode_method` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator @@ -592,7 +663,11 @@ For backward compatibility. See :ref:`AnimationCallbackModeMethod` mode **)** -For backward compatibility. See :ref:`AnimationCallbackModeProcess`. +**Deprecated:** Use :ref:`AnimationMixer.callback_mode_process` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator @@ -604,7 +679,11 @@ For backward compatibility. See :ref:`AnimationCallbackModeProcess` path **)** -For backward compatibility. See :ref:`AnimationMixer.root_node`. +**Deprecated:** Use :ref:`AnimationMixer.root_node` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator diff --git a/classes/class_animationtree.rst b/classes/class_animationtree.rst index 5198c2a4749..b65120f575e 100644 --- a/classes/class_animationtree.rst +++ b/classes/class_animationtree.rst @@ -102,7 +102,13 @@ enum **AnimationProcessCallback**: :ref:`AnimationProcessCallback` **ANIMATION_PROCESS_PHYSICS** = ``0`` -For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS`. +**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_PHYSICS`. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. _class_AnimationTree_constant_ANIMATION_PROCESS_IDLE: @@ -110,7 +116,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PRO :ref:`AnimationProcessCallback` **ANIMATION_PROCESS_IDLE** = ``1`` -For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE`. +**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_IDLE`. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. _class_AnimationTree_constant_ANIMATION_PROCESS_MANUAL: @@ -118,7 +130,13 @@ For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PRO :ref:`AnimationProcessCallback` **ANIMATION_PROCESS_MANUAL** = ``2`` -For backward compatibility. See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL`. +**Deprecated:** See :ref:`AnimationMixer.ANIMATION_CALLBACK_MODE_PROCESS_MANUAL`. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + .. rst-class:: classref-section-separator @@ -191,7 +209,11 @@ Method Descriptions :ref:`AnimationProcessCallback` **get_process_callback** **(** **)** |const| -For backward compatibility. See :ref:`AnimationCallbackModeProcess`. +**Deprecated:** Use :ref:`AnimationMixer.callback_mode_process` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! .. rst-class:: classref-item-separator @@ -203,7 +225,11 @@ For backward compatibility. See :ref:`AnimationCallbackModeProcess` mode **)** -For backward compatibility. See :ref:`AnimationCallbackModeProcess`. +**Deprecated:** Use :ref:`AnimationMixer.callback_mode_process` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_area2d.rst b/classes/class_area2d.rst index ced6547a658..cfbd37de3f9 100644 --- a/classes/class_area2d.rst +++ b/classes/class_area2d.rst @@ -1,5 +1,8 @@ :github_url: hide +.. meta:: + :keywords: trigger + .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. diff --git a/classes/class_area3d.rst b/classes/class_area3d.rst index 7e185b2139e..c987350dd8f 100644 --- a/classes/class_area3d.rst +++ b/classes/class_area3d.rst @@ -1,5 +1,8 @@ :github_url: hide +.. meta:: + :keywords: trigger + .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. diff --git a/classes/class_astargrid2d.rst b/classes/class_astargrid2d.rst index 81f62ecb279..17b6a16072e 100644 --- a/classes/class_astargrid2d.rst +++ b/classes/class_astargrid2d.rst @@ -452,9 +452,9 @@ The region of grid cells available for pathfinding. If changed, :ref:`update` value **)** - :ref:`Vector2i` **get_size** **(** **)** -The size of the grid (number of cells of size :ref:`cell_size` on each axis). If changed, :ref:`update` needs to be called before finding the next path. +**Deprecated:** Use :ref:`region` instead. -\ *Deprecated.* Use :ref:`region` instead. +The size of the grid (number of cells of size :ref:`cell_size` on each axis). If changed, :ref:`update` needs to be called before finding the next path. .. rst-class:: classref-section-separator diff --git a/classes/class_audioeffect.rst b/classes/class_audioeffect.rst index 1a8812c6124..4d092c7d33f 100644 --- a/classes/class_audioeffect.rst +++ b/classes/class_audioeffect.rst @@ -14,20 +14,24 @@ AudioEffect **Inherited By:** :ref:`AudioEffectAmplify`, :ref:`AudioEffectCapture`, :ref:`AudioEffectChorus`, :ref:`AudioEffectCompressor`, :ref:`AudioEffectDelay`, :ref:`AudioEffectDistortion`, :ref:`AudioEffectEQ`, :ref:`AudioEffectFilter`, :ref:`AudioEffectLimiter`, :ref:`AudioEffectPanner`, :ref:`AudioEffectPhaser`, :ref:`AudioEffectPitchShift`, :ref:`AudioEffectRecord`, :ref:`AudioEffectReverb`, :ref:`AudioEffectSpectrumAnalyzer`, :ref:`AudioEffectStereoEnhance` -Audio effect for audio. +Base class for audio effect resources. .. rst-class:: classref-introduction-group Description ----------- -Base resource for audio bus. Applies an audio effect on the bus that the resource is applied on. +The base :ref:`Resource` for every audio effect. In the editor, an audio effect can be added to the current bus layout through the Audio panel. At run-time, it is also possible to manipulate audio effects through :ref:`AudioServer.add_bus_effect`, :ref:`AudioServer.remove_bus_effect`, and :ref:`AudioServer.get_bus_effect`. + +When applied on a bus, an audio effect creates a corresponding :ref:`AudioEffectInstance`. The instance is directly responsible for manipulating the sound, based on the original audio effect's properties. .. rst-class:: classref-introduction-group Tutorials --------- +- :doc:`Audio buses <../tutorials/audio/audio_buses>` + - `Audio Mic Record Demo `__ .. rst-class:: classref-reftable-group @@ -57,9 +61,21 @@ Method Descriptions :ref:`AudioEffectInstance` **_instantiate** **(** **)** |virtual| -.. container:: contribute +Override this method to customize the :ref:`AudioEffectInstance` created when this effect is applied on a bus in the editor's Audio panel, or through :ref:`AudioServer.add_bus_effect`. + +:: + + extends AudioEffect + + @export var strength = 4.0 + + func _instantiate(): + var effect = CustomAudioEffectInstance.new() + effect.base = self + + return effect - There is currently no description for this method. Please help us by :ref:`contributing one `! +\ **Note:** It is recommended to keep a reference to the original **AudioEffect** in the new instance. Depending on the implementation this allows the effect instance to listen for changes at run-time and be modified accordingly. .. |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_audioeffectinstance.rst b/classes/class_audioeffectinstance.rst index 8ab1a42f4b6..bf872a656f4 100644 --- a/classes/class_audioeffectinstance.rst +++ b/classes/class_audioeffectinstance.rst @@ -14,9 +14,21 @@ AudioEffectInstance **Inherited By:** :ref:`AudioEffectSpectrumAnalyzerInstance` -.. container:: contribute +Manipulates the audio it receives for a given effect. - There is currently no description for this class. Please help us by :ref:`contributing one `! +.. rst-class:: classref-introduction-group + +Description +----------- + +An audio effect instance manipulates the audio it receives for a given effect. This instance is automatically created by an :ref:`AudioEffect` when it is added to a bus, and should usually not be created directly. If necessary, it can be fetched at run-time with :ref:`AudioServer.get_bus_effect_instance`. + +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`Audio buses <../tutorials/audio/audio_buses>` .. rst-class:: classref-reftable-group @@ -47,9 +59,9 @@ Method Descriptions void **_process** **(** const void* src_buffer, AudioFrame* dst_buffer, :ref:`int` frame_count **)** |virtual| -.. container:: contribute +Called by the :ref:`AudioServer` to process this effect. When :ref:`_process_silence` is not overridden or it returns ``false``, this method is called only when the bus is active. - There is currently no description for this method. Please help us by :ref:`contributing one `! +\ **Note:** It is not useful to override this method in GDScript or C#. Only GDExtension can take advantage of it. .. rst-class:: classref-item-separator @@ -61,9 +73,9 @@ void **_process** **(** const void* src_buffer, AudioFrame* dst_buffer, :ref:`in :ref:`bool` **_process_silence** **(** **)** |virtual| |const| -.. container:: contribute +Override this method to customize the processing behavior of this effect instance. - There is currently no description for this method. Please help us by :ref:`contributing one `! +Should return ``true`` to force the :ref:`AudioServer` to always call :ref:`_process`, even if the bus has been muted or cannot otherwise be heard. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` diff --git a/classes/class_audioserver.rst b/classes/class_audioserver.rst index b379ba4e6a7..0bfd71cb249 100644 --- a/classes/class_audioserver.rst +++ b/classes/class_audioserver.rst @@ -744,9 +744,9 @@ Sets the volume of the bus at index ``bus_idx`` to ``volume_db``. void **set_enable_tagging_used_audio_streams** **(** :ref:`bool` enable **)** -.. container:: contribute +If set to ``true``, all instances of :ref:`AudioStreamPlayback` will call :ref:`AudioStreamPlayback._tag_used_streams` every mix step. - There is currently no description for this method. Please help us by :ref:`contributing one `! +\ **Note:** This is enabled by default in the editor, as it is used by editor plugins for the audio stream previews. .. rst-class:: classref-item-separator diff --git a/classes/class_audiostream.rst b/classes/class_audiostream.rst index 02ac570840d..dab39e11831 100644 --- a/classes/class_audiostream.rst +++ b/classes/class_audiostream.rst @@ -98,9 +98,9 @@ Method Descriptions :ref:`int` **_get_beat_count** **(** **)** |virtual| |const| -.. container:: contribute +Overridable method. Should return the total number of beats of this audio stream. Used by the engine to determine the position of every beat. - There is currently no description for this method. Please help us by :ref:`contributing one `! +Ideally, the returned value should be based off the stream's sample rate (:ref:`AudioStreamWAV.mix_rate`, for example). .. rst-class:: classref-item-separator @@ -112,9 +112,9 @@ Method Descriptions :ref:`float` **_get_bpm** **(** **)** |virtual| |const| -.. container:: contribute +Overridable method. Should return the tempo of this audio stream, in beats per minute (BPM). Used by the engine to determine the position of every beat. - There is currently no description for this method. Please help us by :ref:`contributing one `! +Ideally, the returned value should be based off the stream's sample rate (:ref:`AudioStreamWAV.mix_rate`, for example). .. rst-class:: classref-item-separator @@ -126,9 +126,7 @@ Method Descriptions :ref:`float` **_get_length** **(** **)** |virtual| |const| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Override this method to customize the returned value of :ref:`get_length`. Should return the length of this audio stream, in seconds. .. rst-class:: classref-item-separator @@ -152,9 +150,7 @@ Return the controllable parameters of this stream. This array contains dictionar :ref:`String` **_get_stream_name** **(** **)** |virtual| |const| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Override this method to customize the name assigned to this audio stream. Unused by the engine. .. rst-class:: classref-item-separator @@ -166,9 +162,7 @@ Return the controllable parameters of this stream. This array contains dictionar :ref:`AudioStreamPlayback` **_instantiate_playback** **(** **)** |virtual| |const| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Override this method to customize the returned value of :ref:`instantiate_playback`. Should returned a new :ref:`AudioStreamPlayback` created when the stream is played (such as by an :ref:`AudioStreamPlayer`).. .. rst-class:: classref-item-separator @@ -180,9 +174,7 @@ Return the controllable parameters of this stream. This array contains dictionar :ref:`bool` **_is_monophonic** **(** **)** |virtual| |const| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Override this method to customize the returned value of :ref:`is_monophonic`. Should return ``true`` if this audio stream only supports one channel. .. rst-class:: classref-item-separator @@ -206,7 +198,7 @@ Returns the length of the audio stream in seconds. :ref:`AudioStreamPlayback` **instantiate_playback** **(** **)** -Returns an AudioStreamPlayback. Useful for when you want to extend :ref:`_instantiate_playback` but call :ref:`instantiate_playback` from an internally held AudioStream subresource. An example of this can be found in the source files for ``AudioStreamRandomPitch::instantiate_playback``. +Returns a newly created :ref:`AudioStreamPlayback` intended to play this audio stream. Useful for when you want to extend :ref:`_instantiate_playback` but call :ref:`instantiate_playback` from an internally held AudioStream subresource. An example of this can be found in the source code for ``AudioStreamRandomPitch::instantiate_playback``. .. rst-class:: classref-item-separator @@ -218,7 +210,7 @@ Returns an AudioStreamPlayback. Useful for when you want to extend :ref:`_instan :ref:`bool` **is_monophonic** **(** **)** |const| -Returns true if this audio stream only supports monophonic playback, or false if the audio stream supports polyphony. +Returns ``true`` if this audio stream only supports one channel (*monophony*), or ``false`` if the audio stream supports two or more channels (*polyphony*). .. |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_audiostreamplayback.rst b/classes/class_audiostreamplayback.rst index 874a6435826..faf2f31dc59 100644 --- a/classes/class_audiostreamplayback.rst +++ b/classes/class_audiostreamplayback.rst @@ -75,9 +75,7 @@ Method Descriptions :ref:`int` **_get_loop_count** **(** **)** |virtual| |const| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Overridable method. Should return how many times this audio stream has looped. Most built-in playbacks always return ``0``. .. rst-class:: classref-item-separator @@ -101,9 +99,7 @@ Return the current value of a playback parameter by name (see :ref:`AudioStream. :ref:`float` **_get_playback_position** **(** **)** |virtual| |const| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Overridable method. Should return the current progress along the audio stream, in seconds. .. rst-class:: classref-item-separator @@ -115,9 +111,7 @@ Return the current value of a playback parameter by name (see :ref:`AudioStream. :ref:`bool` **_is_playing** **(** **)** |virtual| |const| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Overridable method. Should return ``true`` if this playback is active and playing its audio stream. .. rst-class:: classref-item-separator @@ -129,9 +123,9 @@ Return the current value of a playback parameter by name (see :ref:`AudioStream. :ref:`int` **_mix** **(** AudioFrame* buffer, :ref:`float` rate_scale, :ref:`int` frames **)** |virtual| -.. container:: contribute +Override this method to customize how the audio stream is mixed. This method is called even if the playback is not active. - There is currently no description for this method. Please help us by :ref:`contributing one `! +\ **Note:** It is not useful to override this method in GDScript or C#. Only GDExtension can take advantage of it. .. rst-class:: classref-item-separator @@ -143,9 +137,7 @@ Return the current value of a playback parameter by name (see :ref:`AudioStream. void **_seek** **(** :ref:`float` position **)** |virtual| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Override this method to customize what happens when seeking this audio stream at the given ``position``, such as by calling :ref:`AudioStreamPlayer.seek`. .. rst-class:: classref-item-separator @@ -169,9 +161,7 @@ Set the current value of a playback parameter by name (see :ref:`AudioStream._ge void **_start** **(** :ref:`float` from_pos **)** |virtual| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Override this method to customize what happens when the playback starts at the given position, such as by calling :ref:`AudioStreamPlayer.play`. .. rst-class:: classref-item-separator @@ -183,9 +173,7 @@ void **_start** **(** :ref:`float` from_pos **)** |virtual| void **_stop** **(** **)** |virtual| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Override this method to customize what happens when the playback is stopped, such as by calling :ref:`AudioStreamPlayer.stop`. .. rst-class:: classref-item-separator @@ -197,9 +185,7 @@ void **_stop** **(** **)** |virtual| void **_tag_used_streams** **(** **)** |virtual| -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one `! +Overridable method. Called whenever the audio stream is mixed if the playback is active and :ref:`AudioServer.set_enable_tagging_used_audio_streams` has been set to ``true``. Editor plugins may use this method to "tag" the current position along the audio stream and display it in a preview. .. |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_basematerial3d.rst b/classes/class_basematerial3d.rst index 5de49da36e3..54b8fda3582 100644 --- a/classes/class_basematerial3d.rst +++ b/classes/class_basematerial3d.rst @@ -1723,6 +1723,8 @@ If ``true``, the shader will keep the scale set for the mesh. Otherwise, the sca Controls how the object faces the camera. See :ref:`BillboardMode`. +\ **Note:** When billboarding is enabled and the material also casts shadows, billboards will face **the** camera in the scene when rendering shadows. In scenes with multiple cameras, the intended shadow cannot be determined and this will result in undefined behavior. See `GitHub Pull Request #72638 `__ for details. + \ **Note:** Billboard mode is not suitable for VR because the left-right vector of the camera is not horizontal when the screen is attached to your head instead of on the table. See `GitHub issue #41567 `__ for details. .. rst-class:: classref-item-separator diff --git a/classes/class_basis.rst b/classes/class_basis.rst index 7b6246485bb..bf066fdfc3e 100644 --- a/classes/class_basis.rst +++ b/classes/class_basis.rst @@ -17,14 +17,18 @@ A 3×3 matrix for representing 3D rotation and scale. Description ----------- -A 3×3 matrix used for representing 3D rotation and scale. Usually used as an orthogonal basis for a :ref:`Transform3D`. +The **Basis** built-in :ref:`Variant` type is a 3x3 `matrix `__ used to represent 3D rotation, scale, and shear. It is frequently used within a :ref:`Transform3D`. -Contains 3 vector fields X, Y and Z as its columns, which are typically interpreted as the local basis vectors of a transformation. For such use, it is composed of a scaling and a rotation matrix, in that order (M = R.S). +A **Basis** is composed by 3 axis vectors, each representing a column of the matrix: :ref:`x`, :ref:`y`, and :ref:`z`. The length of each axis (:ref:`Vector3.length`) influences the basis's scale, while the direction of all axes influence the rotation. Usually, these axes are perpendicular to one another. However, when you rotate any axis individually, the basis becomes sheared. Applying a sheared basis to a 3D model will make the model appear distorted. -Basis can also be accessed as an array of 3D vectors. These vectors are usually orthogonal to each other, but are not necessarily normalized (due to scaling). +A **Basis** is **orthogonal** if its axes are perpendicular to each other. A basis is **normalized** if the length of every axis is ``1``. A basis is **uniform** if all axes share the same length (see :ref:`get_scale`). A basis is **orthonormal** if it is both orthogonal and normalized, which allows it to only represent rotations. A basis is **conformal** if it is both orthogonal and uniform, which ensures it is not distorted. For a general introduction, see the :doc:`Matrices and transforms <../tutorials/math/matrices_and_transforms>` tutorial. +\ **Note:** Godot uses a `right-handed coordinate system `__, which is a common standard. For directions, the convention for built-in types like :ref:`Camera3D` is for -Z to point forward (+X is right, +Y is up, and +Z is back). Other objects may use different direction conventions. For more information, see the `Importing 3D Scenes <../tutorials/assets_pipeline/importing_scenes.html#d-asset-direction-conventions>`__ tutorial. + +\ **Note:** The basis matrices are exposed as `column-major `__ order, which is the same as OpenGL. However, they are stored internally in row-major order, which is the same as DirectX. + .. note:: There are notable differences when using this API with C#. See :ref:`doc_c_sharp_differences` for more information. @@ -175,7 +179,26 @@ Constants **IDENTITY** = ``Basis(1, 0, 0, 0, 1, 0, 0, 0, 1)`` -The identity basis, with no rotation or scaling applied. +The identity basis. This is a basis with no rotation, no shear, and its scale being ``1``. This means that: + +- The :ref:`x` points right (:ref:`Vector3.RIGHT`); + +- The :ref:`y` points up (:ref:`Vector3.UP`); + +- The :ref:`z` points back (:ref:`Vector3.BACK`). + +:: + + var basis := Basis.IDENTITY + print("| X | Y | Z") + print("| %s | %s | %s" % [basis.x.x, basis.y.x, basis.z.x]) + print("| %s | %s | %s" % [basis.x.y, basis.y.y, basis.z.y]) + print("| %s | %s | %s" % [basis.x.z, basis.y.z, basis.z.z]) + # Prints: + # | X | Y | Z + # | 1 | 0 | 0 + # | 0 | 1 | 0 + # | 0 | 0 | 1 This is identical to creating :ref:`Basis` without any parameters. This constant can be used to make your code clearer, and for consistency with C#. @@ -185,7 +208,9 @@ This is identical to creating :ref:`Basis` withou **FLIP_X** = ``Basis(-1, 0, 0, 0, 1, 0, 0, 0, 1)`` -The basis that will flip something along the X axis when used in a transformation. +When any basis is multiplied by :ref:`FLIP_X`, it negates all components of the :ref:`x` axis (the X column). + +When :ref:`FLIP_X` is multiplied by any basis, it negates the :ref:`Vector3.x` component of all axes (the X row). .. _class_Basis_constant_FLIP_Y: @@ -193,7 +218,9 @@ The basis that will flip something along the X axis when used in a transformatio **FLIP_Y** = ``Basis(1, 0, 0, 0, -1, 0, 0, 0, 1)`` -The basis that will flip something along the Y axis when used in a transformation. +When any basis is multiplied by :ref:`FLIP_Y`, it negates all components of the :ref:`y` axis (the Y column). + +When :ref:`FLIP_Y` is multiplied by any basis, it negates the :ref:`Vector3.y` component of all axes (the Y row). .. _class_Basis_constant_FLIP_Z: @@ -201,7 +228,9 @@ The basis that will flip something along the Y axis when used in a transformatio **FLIP_Z** = ``Basis(1, 0, 0, 0, 1, 0, 0, 0, -1)`` -The basis that will flip something along the Z axis when used in a transformation. +When any basis is multiplied by :ref:`FLIP_Z`, it negates all components of the :ref:`z` axis (the Z column). + +When :ref:`FLIP_Z` is multiplied by any basis, it negates the :ref:`Vector3.z` component of all axes (the Z row). .. rst-class:: classref-section-separator @@ -218,7 +247,9 @@ Property Descriptions :ref:`Vector3` **x** = ``Vector3(1, 0, 0)`` -The basis matrix's X vector (column 0). Equivalent to array index ``0``. +The basis's X axis, and the column ``0`` of the matrix. + +On the identity basis, this vector points right (:ref:`Vector3.RIGHT`). .. rst-class:: classref-item-separator @@ -230,7 +261,9 @@ The basis matrix's X vector (column 0). Equivalent to array index ``0``. :ref:`Vector3` **y** = ``Vector3(0, 1, 0)`` -The basis matrix's Y vector (column 1). Equivalent to array index ``1``. +The basis's Y axis, and the column ``1`` of the matrix. + +On the identity basis, this vector points up (:ref:`Vector3.UP`). .. rst-class:: classref-item-separator @@ -242,7 +275,9 @@ The basis matrix's Y vector (column 1). Equivalent to array index ``1``. :ref:`Vector3` **z** = ``Vector3(0, 0, 1)`` -The basis matrix's Z vector (column 2). Equivalent to array index ``2``. +The basis's Z axis, and the column ``2`` of the matrix. + +On the identity basis, this vector points back (:ref:`Vector3.BACK`). .. rst-class:: classref-section-separator @@ -259,7 +294,7 @@ Constructor Descriptions :ref:`Basis` **Basis** **(** **)** -Constructs a default-initialized **Basis** set to :ref:`IDENTITY`. +Constructs a **Basis** identical to the :ref:`IDENTITY`. .. rst-class:: classref-item-separator @@ -279,7 +314,9 @@ Constructs a **Basis** as a copy of the given **Basis**. :ref:`Basis` **Basis** **(** :ref:`Vector3` axis, :ref:`float` angle **)** -Constructs a pure rotation basis matrix, rotated around the given ``axis`` by ``angle`` (in radians). The axis must be a normalized vector. +Constructs a **Basis** that only represents rotation, rotated around the ``axis`` by the given ``angle``, in radians. The axis must be a normalized vector. + +\ **Note:** This is the same as using :ref:`rotated` on the :ref:`IDENTITY` basis. With more than one angle consider using :ref:`from_euler`, instead. .. rst-class:: classref-item-separator @@ -289,7 +326,9 @@ Constructs a pure rotation basis matrix, rotated around the given ``axis`` by `` :ref:`Basis` **Basis** **(** :ref:`Quaternion` from **)** -Constructs a pure rotation basis matrix from the given quaternion. +Constructs a **Basis** that only represents rotation from the given :ref:`Quaternion`. + +\ **Note:** Quaternions *only* store rotation, not scale. Because of this, conversions from **Basis** to :ref:`Quaternion` cannot always be reversed. .. rst-class:: classref-item-separator @@ -299,7 +338,7 @@ Constructs a pure rotation basis matrix from the given quaternion. :ref:`Basis` **Basis** **(** :ref:`Vector3` x_axis, :ref:`Vector3` y_axis, :ref:`Vector3` z_axis **)** -Constructs a basis matrix from 3 axis vectors (matrix columns). +Constructs a **Basis** from 3 axis vectors. These are the columns of the basis matrix. .. rst-class:: classref-section-separator @@ -316,9 +355,13 @@ Method Descriptions :ref:`float` **determinant** **(** **)** |const| -Returns the determinant of the basis matrix. If the basis is uniformly scaled, its determinant is the square of the scale. +Returns the `determinant `__ of this basis's matrix. For advanced math, this number can be used to determine a few attributes: + +- If the determinant is exactly ``0``, the basis is not invertible (see :ref:`inverse`). -A negative determinant means the basis has a negative scale. A zero determinant means the basis isn't invertible, and is usually considered invalid. +- If the determinant is a negative number, the basis represents a negative scale. + +\ **Note:** If the basis's scale is the same for every axis, its determinant is always that scale by the power of 2. .. rst-class:: classref-item-separator @@ -330,7 +373,13 @@ A negative determinant means the basis has a negative scale. A zero determinant :ref:`Basis` **from_euler** **(** :ref:`Vector3` euler, :ref:`int` order=2 **)** |static| -Constructs a pure rotation Basis matrix from Euler angles in the specified Euler rotation order. By default, use YXZ order (most common). See the :ref:`EulerOrder` enum for possible values. +Constructs a new **Basis** that only represents rotation from the given :ref:`Vector3` of `Euler angles `__, in radians. + +- The :ref:`Vector3.x` should contain the angle around the :ref:`x` axis (pitch). + +- The :ref:`Vector3.y` should contain the angle around the :ref:`y` axis (yaw). + +- The :ref:`Vector3.z` should contain the angle around the :ref:`z` axis (roll). .. tabs:: @@ -351,6 +400,8 @@ Constructs a pure rotation Basis matrix from Euler angles in the specified Euler +The order of each consecutive rotation can be changed with ``order`` (see :ref:`EulerOrder` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ`): the basis rotates first around the Y axis (yaw), then X (pitch), and lastly Z (roll). When using the opposite method :ref:`get_euler`, this order is reversed. + .. rst-class:: classref-item-separator ---- @@ -361,7 +412,7 @@ Constructs a pure rotation Basis matrix from Euler angles in the specified Euler :ref:`Basis` **from_scale** **(** :ref:`Vector3` scale **)** |static| -Constructs a pure scale basis matrix with no rotation or shearing. The scale values are set as the diagonal of the matrix, and the other parts of the matrix are zero. +Constructs a new **Basis** that only represents scale, with no rotation or shear, from the given ``scale`` vector. .. tabs:: @@ -384,6 +435,8 @@ Constructs a pure scale basis matrix with no rotation or shearing. The scale val +\ **Note:** In linear algebra, the matrix of this basis is also known as a `diagonal matrix `__. + .. rst-class:: classref-item-separator ---- @@ -394,9 +447,19 @@ Constructs a pure scale basis matrix with no rotation or shearing. The scale val :ref:`Vector3` **get_euler** **(** :ref:`int` order=2 **)** |const| -Returns the basis's rotation in the form of Euler angles. The Euler order depends on the ``order`` parameter, by default it uses the YXZ convention: when decomposing, first Z, then X, and Y last. The returned vector contains the rotation angles in the format (X angle, Y angle, Z angle). +Returns this basis's rotation as a :ref:`Vector3` of `Euler angles `__, in radians. + +- The :ref:`Vector3.x` contains the angle around the :ref:`x` axis (pitch); + +- The :ref:`Vector3.y` contains the angle around the :ref:`y` axis (yaw); + +- The :ref:`Vector3.z` contains the angle around the :ref:`z` axis (roll). + +The order of each consecutive rotation can be changed with ``order`` (see :ref:`EulerOrder` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ`): Z (roll) is calculated first, then X (pitch), and lastly Y (yaw). When using the opposite method :ref:`from_euler`, this order is reversed. + +\ **Note:** Euler angles are much more intuitive but are not suitable for 3D math. Because of this, consider using the :ref:`get_rotation_quaternion` method instead, which returns a :ref:`Quaternion`. -Consider using the :ref:`get_rotation_quaternion` method instead, which returns a :ref:`Quaternion` quaternion instead of Euler angles. +\ **Note:** In the Inspector dock, a basis's rotation is often displayed in Euler angles (in degrees), as is the case with the :ref:`Node3D.rotation` property. .. rst-class:: classref-item-separator @@ -408,7 +471,9 @@ Consider using the :ref:`get_rotation_quaternion` **get_rotation_quaternion** **(** **)** |const| -Returns the basis's rotation in the form of a quaternion. See :ref:`get_euler` if you need Euler angles, but keep in mind quaternions should generally be preferred to Euler angles. +Returns this basis's rotation as a :ref:`Quaternion`. + +\ **Note:** Quatenions are much more suitable for 3D math but are less intuitive. For user interfaces, consider using the :ref:`get_euler` method, which returns Euler angles. .. rst-class:: classref-item-separator @@ -420,7 +485,7 @@ Returns the basis's rotation in the form of a quaternion. See :ref:`get_euler` **get_scale** **(** **)** |const| -Assuming that the matrix is the combination of a rotation and scaling, return the absolute value of scaling factors along each axis. +Returns the length of each axis of this basis, as a :ref:`Vector3`. If the basis is not sheared, this is the scaling factor. It is not affected by rotation. .. tabs:: @@ -453,6 +518,8 @@ Assuming that the matrix is the combination of a rotation and scaling, return th +\ **Note:** If the value returned by :ref:`determinant` is negative, the scale is also negative. + .. rst-class:: classref-item-separator ---- @@ -463,7 +530,7 @@ Assuming that the matrix is the combination of a rotation and scaling, return th :ref:`Basis` **inverse** **(** **)** |const| -Returns the inverse of the matrix. +Returns the `inverse of this basis's matrix `__. .. rst-class:: classref-item-separator @@ -475,7 +542,7 @@ Returns the inverse of the matrix. :ref:`bool` **is_conformal** **(** **)** |const| -Returns ``true`` if the basis is conformal, meaning it preserves angles and distance ratios, and may only be composed of rotation and uniform scale. Returns ``false`` if the basis has non-uniform scale or shear/skew. This can be used to validate if the basis is non-distorted, which is important for physics and other use cases. +Returns ``true`` if this basis is conformal. A conformal basis is both *orthogonal* (the axes are perpendicular to each other) and *uniform* (the axes share the same length). This method can be especially useful during physics calculations. .. rst-class:: classref-item-separator @@ -511,11 +578,11 @@ Returns ``true`` if this basis is finite, by calling :ref:`@GlobalScope.is_finit :ref:`Basis` **looking_at** **(** :ref:`Vector3` target, :ref:`Vector3` up=Vector3(0, 1, 0), :ref:`bool` use_model_front=false **)** |static| -Creates a Basis with a rotation such that the forward axis (-Z) points towards the ``target`` position. +Creates a new **Basis** with a rotation such that the forward axis (-Z) points towards the ``target`` position. -The up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the forward axis. The resulting Basis is orthonormalized. The ``target`` and ``up`` vectors cannot be zero, and cannot be parallel to each other. +By default, the -Z axis (camera forward) is treated as forward (implies +X is right). If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forward (implies +X is left) and points toward the ``target`` position. -If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forward (implies +X is left) and points toward the ``target`` position. By default, the -Z axis (camera forward) is treated as forward (implies +X is right). +The up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the forward axis. The returned basis is orthonormalized (see :ref:`orthonormalized`). The ``target`` and ``up`` vectors cannot be :ref:`Vector3.ZERO`, and cannot be parallel to each other. .. rst-class:: classref-item-separator @@ -527,7 +594,9 @@ If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forw :ref:`Basis` **orthonormalized** **(** **)** |const| -Returns the orthonormalized version of the matrix (useful to call from time to time to avoid rounding error for orthogonal matrices). This performs a Gram-Schmidt orthonormalization on the basis of the matrix. +Returns the orthonormalized version of this basis. An orthonormal basis is both *orthogonal* (the axes are perpendicular to each other) and *normalized* (the axes have a length of ``1``), which also means it can only represent rotation. + +It is often useful to call this method to avoid rounding errors on a rotating basis: .. tabs:: @@ -563,7 +632,9 @@ Returns the orthonormalized version of the matrix (useful to call from time to t :ref:`Basis` **rotated** **(** :ref:`Vector3` axis, :ref:`float` angle **)** |const| -Introduce an additional rotation around the given axis by ``angle`` (in radians). The axis must be a normalized vector. +Returns this basis rotated around the given ``axis`` by ``angle`` (in radians). The ``axis`` must be a normalized vector (see :ref:`Vector3.normalized`). + +Positive values rotate this basis clockwise around the axis, while negative values rotate it counterclockwise. .. tabs:: @@ -598,7 +669,9 @@ Introduce an additional rotation around the given axis by ``angle`` (in radians) :ref:`Basis` **scaled** **(** :ref:`Vector3` scale **)** |const| -Introduce an additional scaling specified by the given 3D scaling factor. +Returns this basis with each axis's components scaled by the given ``scale``'s components. + +The basis matrix's rows are multiplied by ``scale``'s components. This operation is a global scale (relative to the parent). .. tabs:: @@ -641,7 +714,20 @@ Introduce an additional scaling specified by the given 3D scaling factor. :ref:`Basis` **slerp** **(** :ref:`Basis` to, :ref:`float` weight **)** |const| -Assuming that the matrix is a proper rotation matrix, slerp performs a spherical-linear interpolation with another rotation matrix. +Performs a spherical-linear interpolation with the ``to`` basis, given a ``weight``. Both this basis and ``to`` should represent a rotation. + +\ **Example:** Smoothly rotate a :ref:`Node3D` to the target basis over time, with a :ref:`Tween`. + +:: + + var start_basis = Basis.IDENTITY + var target_basis = Basis.IDENTITY.rotated(Vector3.UP, TAU / 2) + + func _ready(): + create_tween().tween_method(interpolate, 0.0, 1.0, 5.0).set_trans(Tween.TRANS_EXPO) + + func interpolate(weight): + basis = start_basis.slerp(target_basis, weight) .. rst-class:: classref-item-separator @@ -653,7 +739,9 @@ Assuming that the matrix is a proper rotation matrix, slerp performs a spherical :ref:`float` **tdotx** **(** :ref:`Vector3` with **)** |const| -Transposed dot product with the X axis of the matrix. +Returns the transposed dot product between ``with`` and the :ref:`x` axis (see :ref:`transposed`). + +This is equivalent to ``basis.x.dot(vector)``. .. rst-class:: classref-item-separator @@ -665,7 +753,9 @@ Transposed dot product with the X axis of the matrix. :ref:`float` **tdoty** **(** :ref:`Vector3` with **)** |const| -Transposed dot product with the Y axis of the matrix. +Returns the transposed dot product between ``with`` and the :ref:`y` axis (see :ref:`transposed`). + +This is equivalent to ``basis.y.dot(vector)``. .. rst-class:: classref-item-separator @@ -677,7 +767,9 @@ Transposed dot product with the Y axis of the matrix. :ref:`float` **tdotz** **(** :ref:`Vector3` with **)** |const| -Transposed dot product with the Z axis of the matrix. +Returns the transposed dot product between ``with`` and the :ref:`z` axis (see :ref:`transposed`). + +This is equivalent to ``basis.z.dot(vector)``. .. rst-class:: classref-item-separator @@ -689,7 +781,7 @@ Transposed dot product with the Z axis of the matrix. :ref:`Basis` **transposed** **(** **)** |const| -Returns the transposed version of the matrix. +Returns the transposed version of this basis. This turns the basis matrix's columns into rows, and its rows into columns. .. tabs:: @@ -737,7 +829,7 @@ Operator Descriptions :ref:`bool` **operator !=** **(** :ref:`Basis` right **)** -Returns ``true`` if the **Basis** matrices are not equal. +Returns ``true`` if the components of both **Basis** matrices are not equal. \ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx` instead, which is more reliable. @@ -751,7 +843,9 @@ Returns ``true`` if the **Basis** matrices are not equal. :ref:`Basis` **operator *** **(** :ref:`Basis` right **)** -Composes these two basis matrices by multiplying them together. This has the effect of transforming the second basis (the child) by the first basis (the parent). +Transforms (multiplies) the ``right`` basis by this basis. + +This is the operation performed between parent and child :ref:`Node3D`\ s. .. rst-class:: classref-item-separator @@ -763,7 +857,22 @@ Composes these two basis matrices by multiplying them together. This has the eff :ref:`Vector3` **operator *** **(** :ref:`Vector3` right **)** -Transforms (multiplies) the :ref:`Vector3` by the given **Basis** matrix. +Transforms (multiplies) the ``right`` vector by this basis, returning a :ref:`Vector3`. + + +.. tabs:: + + .. code-tab:: gdscript + + var my_basis = Basis(Vector3(1, 1, 1), Vector3(1, 1, 1), Vector3(0, 2, 5)) + print(my_basis * Vector3(1, 2, 3)) # Prints (7, 3, 16) + + .. code-tab:: csharp + + var myBasis = new Basis(new Vector3(1, 1, 1), new Vector3(1, 1, 1), new Vector3(0, 2, 5)); + GD.Print(my_basis * new Vector3(1, 2, 3)); // Prints (7, 3, 16) + + .. rst-class:: classref-item-separator @@ -775,7 +884,7 @@ Transforms (multiplies) the :ref:`Vector3` by the given **Basis** :ref:`Basis` **operator *** **(** :ref:`float` right **)** -This operator multiplies all components of the **Basis**, which scales it uniformly. +Multiplies all components of the **Basis** by the given :ref:`float`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value. .. rst-class:: classref-item-separator @@ -787,7 +896,7 @@ This operator multiplies all components of the **Basis**, which scales it unifor :ref:`Basis` **operator *** **(** :ref:`int` right **)** -This operator multiplies all components of the **Basis**, which scales it uniformly. +Multiplies all components of the **Basis** by the given :ref:`int`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value. .. rst-class:: classref-item-separator @@ -799,7 +908,7 @@ This operator multiplies all components of the **Basis**, which scales it unifor :ref:`Basis` **operator /** **(** :ref:`float` right **)** -This operator divides all components of the **Basis**, which inversely scales it uniformly. +Divides all components of the **Basis** by the given :ref:`float`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value. .. rst-class:: classref-item-separator @@ -811,7 +920,7 @@ This operator divides all components of the **Basis**, which inversely scales it :ref:`Basis` **operator /** **(** :ref:`int` right **)** -This operator divides all components of the **Basis**, which inversely scales it uniformly. +Divides all components of the **Basis** by the given :ref:`int`. This affects the basis's scale uniformly, resizing all 3 axes by the ``right`` value. .. rst-class:: classref-item-separator @@ -823,7 +932,7 @@ This operator divides all components of the **Basis**, which inversely scales it :ref:`bool` **operator ==** **(** :ref:`Basis` right **)** -Returns ``true`` if the **Basis** matrices are exactly equal. +Returns ``true`` if the components of both **Basis** matrices are exactly equal. \ **Note:** Due to floating-point precision errors, consider using :ref:`is_equal_approx` instead, which is more reliable. @@ -837,7 +946,9 @@ Returns ``true`` if the **Basis** matrices are exactly equal. :ref:`Vector3` **operator []** **(** :ref:`int` index **)** -Access basis components using their index. ``b[0]`` is equivalent to ``b.x``, ``b[1]`` is equivalent to ``b.y``, and ``b[2]`` is equivalent to ``b.z``. +Accesses each axis (column) of this basis by their index. Index ``0`` is the same as :ref:`x`, index ``1`` is the same as :ref:`y`, and index ``2`` is the same as :ref:`z`. + +\ **Note:** In C++, this operator accesses the rows of the basis matrix, *not* the columns. For the same behavior as scripting languages, use the ``set_column`` and ``get_column`` methods. .. |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_bone2d.rst b/classes/class_bone2d.rst index d4a59a3d7d7..6b1e6cb6699 100644 --- a/classes/class_bone2d.rst +++ b/classes/class_bone2d.rst @@ -104,7 +104,7 @@ Method Descriptions void **apply_rest** **(** **)** -Stores the node's current transforms in :ref:`rest`. +Resets the bone to the rest pose. This is equivalent to setting :ref:`Node2D.transform` to :ref:`rest`. .. rst-class:: classref-item-separator diff --git a/classes/class_callable.rst b/classes/class_callable.rst index 49b51f4be8e..2658af1bd1f 100644 --- a/classes/class_callable.rst +++ b/classes/class_callable.rst @@ -242,11 +242,23 @@ void **call_deferred** **(** ... **)** |vararg| |const| Calls the method represented by this **Callable** in deferred mode, i.e. at the end of the current frame. Arguments can be passed and should match the method's signature. -:: + +.. tabs:: + + .. code-tab:: gdscript func _ready(): grab_focus.call_deferred() + .. code-tab:: csharp + + public override void _Ready() + { + Callable.From(GrabFocus).CallDeferred(); + } + + + See also :ref:`Object.call_deferred`. .. rst-class:: classref-item-separator diff --git a/classes/class_collisionshape3d.rst b/classes/class_collisionshape3d.rst index 50a0facfc70..be61d7c5a56 100644 --- a/classes/class_collisionshape3d.rst +++ b/classes/class_collisionshape3d.rst @@ -130,7 +130,9 @@ Sets the collision shape's shape to the addition of all its convexed :ref:`MeshI void **resource_changed** **(** :ref:`Resource` resource **)** -*Obsoleted.* Use :ref:`Resource.changed` instead. +**Deprecated:** Use :ref:`Resource.changed` instead. + +This method does nothing. .. |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_color.rst b/classes/class_color.rst index a64c63d9030..0698715d5f5 100644 --- a/classes/class_color.rst +++ b/classes/class_color.rst @@ -17,7 +17,7 @@ A color represented in RGBA format. Description ----------- -A color represented in RGBA format by a red (:ref:`r`), green (:ref:`g`), blue (:ref:`b`), and alpha (:ref:`a`) component. Each component is a 16-bit floating-point value, usually ranging from ``0.0`` to ``1.0``. Some properties (such as :ref:`CanvasItem.modulate`) may support values greater than ``1.0``, for overbright or HDR (High Dynamic Range) colors. +A color represented in RGBA format by a red (:ref:`r`), green (:ref:`g`), blue (:ref:`b`), and alpha (:ref:`a`) component. Each component is a 32-bit floating-point value, usually ranging from ``0.0`` to ``1.0``. Some properties (such as :ref:`CanvasItem.modulate`) may support values greater than ``1.0``, for overbright or HDR (High Dynamic Range) colors. Colors can be created in various ways: By the various **Color** constructors, by static methods such as :ref:`from_hsv`, and by using a name from the set of standardized colors based on `X11 color names `__ with the addition of :ref:`TRANSPARENT`. GDScript also provides :ref:`@GDScript.Color8`, which uses integers from ``0`` to ``255`` and doesn't support overbright colors. diff --git a/classes/class_control.rst b/classes/class_control.rst index dbd43913ecd..b5419093db5 100644 --- a/classes/class_control.rst +++ b/classes/class_control.rst @@ -1103,6 +1103,8 @@ See also :ref:`NOTIFICATION_MOUSE_EXIT_SELF` lets the event reach it and regardless if it's currently focused or not. \ **Note:** :ref:`CanvasItem.z_index` doesn't affect which Control receives the notification. @@ -1115,6 +1117,8 @@ See also :ref:`NOTIFICATION_MOUSE_ENTER` lets the event reach it and regardless if it's currently focused or not. \ **Note:** :ref:`CanvasItem.z_index` doesn't affect which Control receives the notification. diff --git a/classes/class_cpuparticles3d.rst b/classes/class_cpuparticles3d.rst index 218c57d0e9b..5afea9ce6be 100644 --- a/classes/class_cpuparticles3d.rst +++ b/classes/class_cpuparticles3d.rst @@ -38,153 +38,155 @@ Properties .. table:: :widths: auto - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`int` | :ref:`amount` | ``8`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`angle_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`angle_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`angle_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`angular_velocity_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`angular_velocity_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`angular_velocity_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`anim_offset_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`anim_offset_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`anim_offset_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`anim_speed_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`anim_speed_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`anim_speed_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Color` | :ref:`color` | ``Color(1, 1, 1, 1)`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Gradient` | :ref:`color_initial_ramp` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Gradient` | :ref:`color_ramp` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`damping_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`damping_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`damping_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Vector3` | :ref:`direction` | ``Vector3(1, 0, 0)`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`DrawOrder` | :ref:`draw_order` | ``0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Vector3` | :ref:`emission_box_extents` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`PackedColorArray` | :ref:`emission_colors` | ``PackedColorArray()`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`PackedVector3Array` | :ref:`emission_normals` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`PackedVector3Array` | :ref:`emission_points` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Vector3` | :ref:`emission_ring_axis` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`emission_ring_height` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`emission_ring_inner_radius` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`emission_ring_radius` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`EmissionShape` | :ref:`emission_shape` | ``0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`emission_sphere_radius` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`bool` | :ref:`emitting` | ``true`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`explosiveness` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`int` | :ref:`fixed_fps` | ``0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`flatness` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`bool` | :ref:`fract_delta` | ``true`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Vector3` | :ref:`gravity` | ``Vector3(0, -9.8, 0)`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`hue_variation_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`hue_variation_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`hue_variation_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`initial_velocity_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`initial_velocity_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`lifetime` | ``1.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`lifetime_randomness` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`linear_accel_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`linear_accel_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`linear_accel_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`bool` | :ref:`local_coords` | ``false`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Mesh` | :ref:`mesh` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`bool` | :ref:`one_shot` | ``false`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`orbit_velocity_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`orbit_velocity_max` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`orbit_velocity_min` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`bool` | :ref:`particle_flag_align_y` | ``false`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`bool` | :ref:`particle_flag_disable_z` | ``false`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`bool` | :ref:`particle_flag_rotate_y` | ``false`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`preprocess` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`radial_accel_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`radial_accel_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`radial_accel_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`randomness` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`scale_amount_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`scale_amount_max` | ``1.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`scale_amount_min` | ``1.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`scale_curve_x` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`scale_curve_y` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`scale_curve_z` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`speed_scale` | ``1.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`bool` | :ref:`split_scale` | ``false`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`spread` | ``45.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`Curve` | :ref:`tangential_accel_curve` | | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`tangential_accel_max` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ - | :ref:`float` | :ref:`tangential_accel_min` | ``0.0`` | - +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------+ + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`int` | :ref:`amount` | ``8`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`angle_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`angle_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`angle_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`angular_velocity_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`angular_velocity_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`angular_velocity_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`anim_offset_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`anim_offset_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`anim_offset_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`anim_speed_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`anim_speed_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`anim_speed_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Color` | :ref:`color` | ``Color(1, 1, 1, 1)`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Gradient` | :ref:`color_initial_ramp` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Gradient` | :ref:`color_ramp` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`damping_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`damping_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`damping_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Vector3` | :ref:`direction` | ``Vector3(1, 0, 0)`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`DrawOrder` | :ref:`draw_order` | ``0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Vector3` | :ref:`emission_box_extents` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`PackedColorArray` | :ref:`emission_colors` | ``PackedColorArray()`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`PackedVector3Array` | :ref:`emission_normals` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`PackedVector3Array` | :ref:`emission_points` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Vector3` | :ref:`emission_ring_axis` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`emission_ring_height` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`emission_ring_inner_radius` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`emission_ring_radius` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`EmissionShape` | :ref:`emission_shape` | ``0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`emission_sphere_radius` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`emitting` | ``true`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`explosiveness` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`int` | :ref:`fixed_fps` | ``0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`flatness` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`fract_delta` | ``true`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Vector3` | :ref:`gravity` | ``Vector3(0, -9.8, 0)`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`hue_variation_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`hue_variation_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`hue_variation_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`initial_velocity_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`initial_velocity_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`lifetime` | ``1.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`lifetime_randomness` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`linear_accel_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`linear_accel_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`linear_accel_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`local_coords` | ``false`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Mesh` | :ref:`mesh` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`one_shot` | ``false`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`orbit_velocity_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`orbit_velocity_max` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`orbit_velocity_min` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`particle_flag_align_y` | ``false`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`particle_flag_disable_z` | ``false`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`particle_flag_rotate_y` | ``false`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`preprocess` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`radial_accel_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`radial_accel_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`radial_accel_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`randomness` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`scale_amount_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`scale_amount_max` | ``1.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`scale_amount_min` | ``1.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`scale_curve_x` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`scale_curve_y` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`scale_curve_z` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`speed_scale` | ``1.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`bool` | :ref:`split_scale` | ``false`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`spread` | ``45.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`Curve` | :ref:`tangential_accel_curve` | | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`tangential_accel_max` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`float` | :ref:`tangential_accel_min` | ``0.0`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ + | :ref:`AABB` | :ref:`visibility_aabb` | ``AABB(-4, -4, -4, 8, 8, 8)`` | + +---------------------------------------------------------+---------------------------------------------------------------------------------------------+-------------------------------+ .. rst-class:: classref-reftable-group @@ -1756,6 +1758,25 @@ Maximum tangent acceleration. Minimum tangent acceleration. +.. rst-class:: classref-item-separator + +---- + +.. _class_CPUParticles3D_property_visibility_aabb: + +.. rst-class:: classref-property + +:ref:`AABB` **visibility_aabb** = ``AABB(-4, -4, -4, 8, 8, 8)`` + +.. rst-class:: classref-property-setget + +- void **set_visibility_aabb** **(** :ref:`AABB` value **)** +- :ref:`AABB` **get_visibility_aabb** **(** **)** + +The :ref:`AABB` that determines the node's region which needs to be visible on screen for the particle system to be active. + +Grow the box if particles suddenly appear/disappear when the node enters/exits the screen. The :ref:`AABB` can be grown via code or with the **Particles → Generate AABB** editor tool. + .. rst-class:: classref-section-separator ---- diff --git a/classes/class_diraccess.rst b/classes/class_diraccess.rst index 830a982bd7f..354e5fbffc2 100644 --- a/classes/class_diraccess.rst +++ b/classes/class_diraccess.rst @@ -1,5 +1,8 @@ :github_url: hide +.. meta:: + :keywords: directory, path, folder + .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. diff --git a/classes/class_displayserver.rst b/classes/class_displayserver.rst index 6b6d151bea8..55e415cf325 100644 --- a/classes/class_displayserver.rst +++ b/classes/class_displayserver.rst @@ -31,345 +31,363 @@ Methods .. table:: :widths: auto - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`clipboard_get` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Image` | :ref:`clipboard_get_image` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`clipboard_get_primary` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`clipboard_has` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`clipboard_has_image` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`clipboard_set` **(** :ref:`String` clipboard **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`clipboard_set_primary` **(** :ref:`String` clipboard_primary **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`CursorShape` | :ref:`cursor_get_shape` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`cursor_set_custom_image` **(** :ref:`Resource` cursor, :ref:`CursorShape` shape=0, :ref:`Vector2` hotspot=Vector2(0, 0) **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`cursor_set_shape` **(** :ref:`CursorShape` shape **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`dialog_input_text` **(** :ref:`String` title, :ref:`String` description, :ref:`String` existing_text, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`dialog_show` **(** :ref:`String` title, :ref:`String` description, :ref:`PackedStringArray` buttons, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`enable_for_stealing_focus` **(** :ref:`int` process_id **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`file_dialog_show` **(** :ref:`String` title, :ref:`String` current_directory, :ref:`String` filename, :ref:`bool` show_hidden, :ref:`FileDialogMode` mode, :ref:`PackedStringArray` filters, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`force_process_and_drop_events` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`get_accent_color` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2[]` | :ref:`get_display_cutouts` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2i` | :ref:`get_display_safe_area` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_keyboard_focus_screen` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_name` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_primary_screen` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_screen_count` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_screen_from_rect` **(** :ref:`Rect2` rect **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`get_swap_cancel_ok` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`get_window_at_screen_position` **(** :ref:`Vector2i` position **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedInt32Array` | :ref:`get_window_list` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_check_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_icon_check_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_icon_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_icon_radio_check_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_multistate_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`int` max_states, :ref:`int` default_state, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_radio_check_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_separator` **(** :ref:`String` menu_root, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_add_submenu_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`String` submenu, :ref:`int` index=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_clear` **(** :ref:`String` menu_root **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Key` | :ref:`global_menu_get_item_accelerator` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Callable` | :ref:`global_menu_get_item_callback` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_count` **(** :ref:`String` menu_root **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Texture2D` | :ref:`global_menu_get_item_icon` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_indentation_level` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_index_from_tag` **(** :ref:`String` menu_root, :ref:`Variant` tag **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_index_from_text` **(** :ref:`String` menu_root, :ref:`String` text **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Callable` | :ref:`global_menu_get_item_key_callback` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_max_states` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`global_menu_get_item_state` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`global_menu_get_item_submenu` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant` | :ref:`global_menu_get_item_tag` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`global_menu_get_item_text` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`global_menu_get_item_tooltip` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary` | :ref:`global_menu_get_system_menu_roots` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_checkable` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_checked` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_disabled` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_hidden` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`global_menu_is_item_radio_checkable` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_remove_item` **(** :ref:`String` menu_root, :ref:`int` idx **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_accelerator` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Key` keycode **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_callback` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_checkable` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checkable **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_checked` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checked **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_disabled` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` disabled **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_hidden` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` hidden **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_hover_callbacks` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_icon` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Texture2D` icon **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_indentation_level` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` level **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_key_callback` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` key_callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_max_states` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` max_states **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_radio_checkable` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checkable **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_state` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` state **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_submenu` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` submenu **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_tag` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Variant` tag **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_text` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` text **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_item_tooltip` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` tooltip **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`global_menu_set_popup_callbacks` **(** :ref:`String` menu_root, :ref:`Callable` open_callback, :ref:`Callable` close_callback **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`has_feature` **(** :ref:`Feature` feature **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`ime_get_selection` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`ime_get_text` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_dark_mode` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_dark_mode_supported` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_touchscreen_available` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`keyboard_get_current_layout` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Key` | :ref:`keyboard_get_keycode_from_physical` **(** :ref:`Key` keycode **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Key` | :ref:`keyboard_get_label_from_physical` **(** :ref:`Key` keycode **)** |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| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`keyboard_set_current_layout` **(** :ref:`int` index **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |bitfield|\<:ref:`MouseButtonMask`\> | :ref:`mouse_get_button_state` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`MouseMode` | :ref:`mouse_get_mode` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`mouse_get_position` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`mouse_set_mode` **(** :ref:`MouseMode` mouse_mode **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`process_events` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`screen_get_dpi` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Image` | :ref:`screen_get_image` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`screen_get_max_scale` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`ScreenOrientation` | :ref:`screen_get_orientation` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`screen_get_pixel` **(** :ref:`Vector2i` position **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`screen_get_position` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`screen_get_refresh_rate` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`screen_get_scale` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`screen_get_size` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2i` | :ref:`screen_get_usable_rect` **(** :ref:`int` screen=-1 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`screen_is_kept_on` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`screen_set_keep_on` **(** :ref:`bool` enable **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`screen_set_orientation` **(** :ref:`ScreenOrientation` orientation, :ref:`int` screen=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_icon` **(** :ref:`Image` image **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_native_icon` **(** :ref:`String` filename **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`tablet_get_current_driver` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`tablet_get_driver_count` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`tablet_get_driver_name` **(** :ref:`int` idx **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`tablet_set_current_driver` **(** :ref:`String` name **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary[]` | :ref:`tts_get_voices` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :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:`Callable` callable **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | 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` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`virtual_keyboard_get_height` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`virtual_keyboard_hide` **(** **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`virtual_keyboard_show` **(** :ref:`String` existing_text, :ref:`Rect2` position=Rect2(0, 0, 0, 0), :ref:`VirtualKeyboardType` type=0, :ref:`int` max_length=-1, :ref:`int` cursor_start=-1, :ref:`int` cursor_end=-1 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`warp_mouse` **(** :ref:`Vector2i` position **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_can_draw` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`window_get_active_popup` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`window_get_attached_instance_id` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`window_get_current_screen` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_get_flag` **(** :ref:`WindowFlags` flag, :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_max_size` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_min_size` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`WindowMode` | :ref:`window_get_mode` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`window_get_native_handle` **(** :ref:`HandleType` handle_type, :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Rect2i` | :ref:`window_get_popup_safe_rect` **(** :ref:`int` window **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_position` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_position_with_decorations` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector3i` | :ref:`window_get_safe_title_margins` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_size` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_size_with_decorations` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2i` | :ref:`window_get_title_size` **(** :ref:`String` title, :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`VSyncMode` | :ref:`window_get_vsync_mode` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_is_focused` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_is_maximize_allowed` **(** :ref:`int` window_id=0 **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_maximize_on_title_dbl_click` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`window_minimize_on_title_dbl_click` **(** **)** |const| | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_move_to_foreground` **(** :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_request_attention` **(** :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_current_screen` **(** :ref:`int` screen, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_drop_files_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_exclusive` **(** :ref:`int` window_id, :ref:`bool` exclusive **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_flag` **(** :ref:`WindowFlags` flag, :ref:`bool` enabled, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_ime_active` **(** :ref:`bool` active, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_ime_position` **(** :ref:`Vector2i` position, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_input_event_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_input_text_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_max_size` **(** :ref:`Vector2i` max_size, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_min_size` **(** :ref:`Vector2i` min_size, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_mode` **(** :ref:`WindowMode` mode, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_mouse_passthrough` **(** :ref:`PackedVector2Array` region, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_popup_safe_rect` **(** :ref:`int` window, :ref:`Rect2i` rect **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_position` **(** :ref:`Vector2i` position, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_rect_changed_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_size` **(** :ref:`Vector2i` size, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_title` **(** :ref:`String` title, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_transient` **(** :ref:`int` window_id, :ref:`int` parent_window_id **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_vsync_mode` **(** :ref:`VSyncMode` vsync_mode, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_window_buttons_offset` **(** :ref:`Vector2i` offset, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`window_set_window_event_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | - +-------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`clipboard_get` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Image` | :ref:`clipboard_get_image` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`clipboard_get_primary` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`clipboard_has` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`clipboard_has_image` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`clipboard_set` **(** :ref:`String` clipboard **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`clipboard_set_primary` **(** :ref:`String` clipboard_primary **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`create_status_indicator` **(** :ref:`Image` icon, :ref:`String` tooltip, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`CursorShape` | :ref:`cursor_get_shape` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`cursor_set_custom_image` **(** :ref:`Resource` cursor, :ref:`CursorShape` shape=0, :ref:`Vector2` hotspot=Vector2(0, 0) **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`cursor_set_shape` **(** :ref:`CursorShape` shape **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`delete_status_indicator` **(** :ref:`int` id **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`dialog_input_text` **(** :ref:`String` title, :ref:`String` description, :ref:`String` existing_text, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`dialog_show` **(** :ref:`String` title, :ref:`String` description, :ref:`PackedStringArray` buttons, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`enable_for_stealing_focus` **(** :ref:`int` process_id **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`file_dialog_show` **(** :ref:`String` title, :ref:`String` current_directory, :ref:`String` filename, :ref:`bool` show_hidden, :ref:`FileDialogMode` mode, :ref:`PackedStringArray` filters, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`file_dialog_with_options_show` **(** :ref:`String` title, :ref:`String` current_directory, :ref:`String` root, :ref:`String` filename, :ref:`bool` show_hidden, :ref:`FileDialogMode` mode, :ref:`PackedStringArray` filters, :ref:`Dictionary[]` options, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`force_process_and_drop_events` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_accent_color` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_base_color` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2[]` | :ref:`get_display_cutouts` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2i` | :ref:`get_display_safe_area` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_keyboard_focus_screen` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_name` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_primary_screen` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_screen_count` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_screen_from_rect` **(** :ref:`Rect2` rect **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_swap_cancel_ok` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_window_at_screen_position` **(** :ref:`Vector2i` position **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedInt32Array` | :ref:`get_window_list` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_check_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_icon_check_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_icon_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_icon_radio_check_item` **(** :ref:`String` menu_root, :ref:`Texture2D` icon, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_multistate_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`int` max_states, :ref:`int` default_state, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_radio_check_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`Callable` callback=Callable(), :ref:`Callable` key_callback=Callable(), :ref:`Variant` tag=null, :ref:`Key` accelerator=0, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_separator` **(** :ref:`String` menu_root, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_add_submenu_item` **(** :ref:`String` menu_root, :ref:`String` label, :ref:`String` submenu, :ref:`int` index=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_clear` **(** :ref:`String` menu_root **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Key` | :ref:`global_menu_get_item_accelerator` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Callable` | :ref:`global_menu_get_item_callback` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_count` **(** :ref:`String` menu_root **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`global_menu_get_item_icon` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_indentation_level` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_index_from_tag` **(** :ref:`String` menu_root, :ref:`Variant` tag **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_index_from_text` **(** :ref:`String` menu_root, :ref:`String` text **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Callable` | :ref:`global_menu_get_item_key_callback` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_max_states` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`global_menu_get_item_state` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`global_menu_get_item_submenu` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`global_menu_get_item_tag` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`global_menu_get_item_text` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`global_menu_get_item_tooltip` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`global_menu_get_system_menu_roots` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_checkable` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_checked` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_disabled` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_hidden` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`global_menu_is_item_radio_checkable` **(** :ref:`String` menu_root, :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_remove_item` **(** :ref:`String` menu_root, :ref:`int` idx **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_accelerator` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Key` keycode **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_callback` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_checkable` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checkable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_checked` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checked **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_disabled` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` disabled **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_hidden` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` hidden **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_hover_callbacks` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_icon` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Texture2D` icon **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_indentation_level` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` level **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_key_callback` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Callable` key_callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_max_states` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` max_states **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_radio_checkable` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`bool` checkable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_state` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`int` state **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_submenu` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` submenu **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_tag` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`Variant` tag **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_text` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` text **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_item_tooltip` **(** :ref:`String` menu_root, :ref:`int` idx, :ref:`String` tooltip **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`global_menu_set_popup_callbacks` **(** :ref:`String` menu_root, :ref:`Callable` open_callback, :ref:`Callable` close_callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_feature` **(** :ref:`Feature` feature **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`help_set_search_callbacks` **(** :ref:`Callable` search_callback, :ref:`Callable` action_callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`ime_get_selection` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`ime_get_text` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_dark_mode` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_dark_mode_supported` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_touchscreen_available` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`keyboard_get_current_layout` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Key` | :ref:`keyboard_get_keycode_from_physical` **(** :ref:`Key` keycode **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Key` | :ref:`keyboard_get_label_from_physical` **(** :ref:`Key` keycode **)** |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| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`keyboard_set_current_layout` **(** :ref:`int` index **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |bitfield|\<:ref:`MouseButtonMask`\> | :ref:`mouse_get_button_state` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`MouseMode` | :ref:`mouse_get_mode` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`mouse_get_position` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`mouse_set_mode` **(** :ref:`MouseMode` mouse_mode **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`process_events` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`screen_get_dpi` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Image` | :ref:`screen_get_image` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`screen_get_max_scale` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ScreenOrientation` | :ref:`screen_get_orientation` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`screen_get_pixel` **(** :ref:`Vector2i` position **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`screen_get_position` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`screen_get_refresh_rate` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`screen_get_scale` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`screen_get_size` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2i` | :ref:`screen_get_usable_rect` **(** :ref:`int` screen=-1 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`screen_is_kept_on` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`screen_set_keep_on` **(** :ref:`bool` enable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`screen_set_orientation` **(** :ref:`ScreenOrientation` orientation, :ref:`int` screen=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_icon` **(** :ref:`Image` image **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_native_icon` **(** :ref:`String` filename **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_system_theme_change_callback` **(** :ref:`Callable` callable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`status_indicator_set_callback` **(** :ref:`int` id, :ref:`Callable` callback **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`status_indicator_set_icon` **(** :ref:`int` id, :ref:`Image` icon **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`status_indicator_set_tooltip` **(** :ref:`int` id, :ref:`String` tooltip **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`tablet_get_current_driver` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`tablet_get_driver_count` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`tablet_get_driver_name` **(** :ref:`int` idx **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`tablet_set_current_driver` **(** :ref:`String` name **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary[]` | :ref:`tts_get_voices` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :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:`Callable` callable **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | 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` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`virtual_keyboard_get_height` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`virtual_keyboard_hide` **(** **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`virtual_keyboard_show` **(** :ref:`String` existing_text, :ref:`Rect2` position=Rect2(0, 0, 0, 0), :ref:`VirtualKeyboardType` type=0, :ref:`int` max_length=-1, :ref:`int` cursor_start=-1, :ref:`int` cursor_end=-1 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`warp_mouse` **(** :ref:`Vector2i` position **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_can_draw` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`window_get_active_popup` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`window_get_attached_instance_id` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`window_get_current_screen` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_get_flag` **(** :ref:`WindowFlags` flag, :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_max_size` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_min_size` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`WindowMode` | :ref:`window_get_mode` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`window_get_native_handle` **(** :ref:`HandleType` handle_type, :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2i` | :ref:`window_get_popup_safe_rect` **(** :ref:`int` window **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_position` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_position_with_decorations` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector3i` | :ref:`window_get_safe_title_margins` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_size` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_size_with_decorations` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2i` | :ref:`window_get_title_size` **(** :ref:`String` title, :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`VSyncMode` | :ref:`window_get_vsync_mode` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_is_focused` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_is_maximize_allowed` **(** :ref:`int` window_id=0 **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_maximize_on_title_dbl_click` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`window_minimize_on_title_dbl_click` **(** **)** |const| | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_move_to_foreground` **(** :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_request_attention` **(** :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_current_screen` **(** :ref:`int` screen, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_drop_files_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_exclusive` **(** :ref:`int` window_id, :ref:`bool` exclusive **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_flag` **(** :ref:`WindowFlags` flag, :ref:`bool` enabled, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_ime_active` **(** :ref:`bool` active, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_ime_position` **(** :ref:`Vector2i` position, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_input_event_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_input_text_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_max_size` **(** :ref:`Vector2i` max_size, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_min_size` **(** :ref:`Vector2i` min_size, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_mode` **(** :ref:`WindowMode` mode, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_mouse_passthrough` **(** :ref:`PackedVector2Array` region, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_popup_safe_rect` **(** :ref:`int` window, :ref:`Rect2i` rect **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_position` **(** :ref:`Vector2i` position, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_rect_changed_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_size` **(** :ref:`Vector2i` size, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_title` **(** :ref:`String` title, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_transient` **(** :ref:`int` window_id, :ref:`int` parent_window_id **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_vsync_mode` **(** :ref:`VSyncMode` vsync_mode, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_window_buttons_offset` **(** :ref:`Vector2i` offset, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`window_set_window_event_callback` **(** :ref:`Callable` callback, :ref:`int` window_id=0 **)** | + +-------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -416,7 +434,7 @@ Display server supports touchscreen input. **Windows, Linux (X11), Android, iOS, :ref:`Feature` **FEATURE_MOUSE** = ``3`` -Display server supports mouse input. **Windows, macOS, Linux (X11), Android, Web** +Display server supports mouse input. **Windows, macOS, Linux (X11/Wayland), Android, Web** .. _class_DisplayServer_constant_FEATURE_MOUSE_WARP: @@ -424,7 +442,7 @@ Display server supports mouse input. **Windows, macOS, Linux (X11), Android, Web :ref:`Feature` **FEATURE_MOUSE_WARP** = ``4`` -Display server supports warping mouse coordinates to keep the mouse cursor constrained within an area, but looping when one of the edges is reached. **Windows, macOS, Linux (X11)** +Display server supports warping mouse coordinates to keep the mouse cursor constrained within an area, but looping when one of the edges is reached. **Windows, macOS, Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_CLIPBOARD: @@ -432,7 +450,7 @@ Display server supports warping mouse coordinates to keep the mouse cursor const :ref:`Feature` **FEATURE_CLIPBOARD** = ``5`` -Display server supports setting and getting clipboard data. See also :ref:`FEATURE_CLIPBOARD_PRIMARY`. **Windows, macOS, Linux (X11), Android, iOS, Web** +Display server supports setting and getting clipboard data. See also :ref:`FEATURE_CLIPBOARD_PRIMARY`. **Windows, macOS, Linux (X11/Wayland), Android, iOS, Web** .. _class_DisplayServer_constant_FEATURE_VIRTUAL_KEYBOARD: @@ -448,7 +466,7 @@ Display server supports popping up a virtual keyboard when requested to input te :ref:`Feature` **FEATURE_CURSOR_SHAPE** = ``7`` -Display server supports setting the mouse cursor shape to be different from the default. **Windows, macOS, Linux (X11), Android, Web** +Display server supports setting the mouse cursor shape to be different from the default. **Windows, macOS, Linux (X11/Wayland), Android, Web** .. _class_DisplayServer_constant_FEATURE_CUSTOM_CURSOR_SHAPE: @@ -456,7 +474,7 @@ Display server supports setting the mouse cursor shape to be different from the :ref:`Feature` **FEATURE_CUSTOM_CURSOR_SHAPE** = ``8`` -Display server supports setting the mouse cursor shape to a custom image. **Windows, macOS, Linux (X11), Web** +Display server supports setting the mouse cursor shape to a custom image. **Windows, macOS, Linux (X11/Wayland), Web** .. _class_DisplayServer_constant_FEATURE_NATIVE_DIALOG: @@ -464,7 +482,7 @@ Display server supports setting the mouse cursor shape to a custom image. **Wind :ref:`Feature` **FEATURE_NATIVE_DIALOG** = ``9`` -Display server supports spawning dialogs using the operating system's native look-and-feel. **macOS** +Display server supports spawning dialogs using the operating system's native look-and-feel. **Windows, macOS, Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_IME: @@ -480,7 +498,7 @@ Display server supports `Input Method Editor ` **FEATURE_WINDOW_TRANSPARENCY** = ``11`` -Display server supports windows can use per-pixel transparency to make windows behind them partially or fully visible. **Windows, macOS, Linux (X11)** +Display server supports windows can use per-pixel transparency to make windows behind them partially or fully visible. **Windows, macOS, Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_HIDPI: @@ -488,7 +506,7 @@ Display server supports windows can use per-pixel transparency to make windows b :ref:`Feature` **FEATURE_HIDPI** = ``12`` -Display server supports querying the operating system's display scale factor. This allows for *reliable* automatic hiDPI display detection, as opposed to guessing based on the screen resolution and reported display DPI (which can be unreliable due to broken monitor EDID). **Windows, macOS** +Display server supports querying the operating system's display scale factor. This allows for *reliable* automatic hiDPI display detection, as opposed to guessing based on the screen resolution and reported display DPI (which can be unreliable due to broken monitor EDID). **Windows, Linux (Wayland), macOS** .. _class_DisplayServer_constant_FEATURE_ICON: @@ -520,7 +538,7 @@ Display server supports changing the screen orientation. **Android, iOS** :ref:`Feature` **FEATURE_SWAP_BUFFERS** = ``16`` -Display server supports V-Sync status can be changed from the default (which is forced to be enabled platforms not supporting this feature). **Windows, macOS, Linux (X11)** +Display server supports V-Sync status can be changed from the default (which is forced to be enabled platforms not supporting this feature). **Windows, macOS, Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_CLIPBOARD_PRIMARY: @@ -528,7 +546,7 @@ Display server supports V-Sync status can be changed from the default (which is :ref:`Feature` **FEATURE_CLIPBOARD_PRIMARY** = ``18`` -Display server supports Primary clipboard can be used. This is a different clipboard from :ref:`FEATURE_CLIPBOARD`. **Linux (X11)** +Display server supports Primary clipboard can be used. This is a different clipboard from :ref:`FEATURE_CLIPBOARD`. **Linux (X11/Wayland)** .. _class_DisplayServer_constant_FEATURE_TEXT_TO_SPEECH: @@ -536,7 +554,7 @@ Display server supports Primary clipboard can be used. This is a different clipb :ref:`Feature` **FEATURE_TEXT_TO_SPEECH** = ``19`` -Display server supports text-to-speech. See ``tts_*`` methods. **Windows, macOS, Linux (X11), Android, iOS, Web** +Display server supports text-to-speech. See ``tts_*`` methods. **Windows, macOS, Linux (X11/Wayland), Android, iOS, Web** .. _class_DisplayServer_constant_FEATURE_EXTEND_TO_TITLE: @@ -554,6 +572,22 @@ Display server supports expanding window content to the title. See :ref:`WINDOW_ Display server supports reading screen pixels. See :ref:`screen_get_pixel`. +.. _class_DisplayServer_constant_FEATURE_STATUS_INDICATOR: + +.. rst-class:: classref-enumeration-constant + +:ref:`Feature` **FEATURE_STATUS_INDICATOR** = ``22`` + +Display server supports application status indicators. + +.. _class_DisplayServer_constant_FEATURE_NATIVE_HELP: + +.. rst-class:: classref-enumeration-constant + +:ref:`Feature` **FEATURE_NATIVE_HELP** = ``23`` + +Display server supports native help system search callbacks. See :ref:`help_set_search_callbacks`. + .. rst-class:: classref-item-separator ---- @@ -1064,7 +1098,7 @@ The window background can be transparent. \ **Note:** This flag has no effect if :ref:`ProjectSettings.display/window/per_pixel_transparency/allowed` is set to ``false``. -\ **Note:** Transparency support is implemented on Linux (X11), macOS and Windows, but availability might vary depending on GPU driver, display manager, and compositor capabilities. +\ **Note:** Transparency support is implemented on Linux (X11/Wayland), macOS, and Windows, but availability might vary depending on GPU driver, display manager, and compositor capabilities. .. _class_DisplayServer_constant_WINDOW_FLAG_NO_FOCUS: @@ -1300,7 +1334,7 @@ OpenGL context (only with the GL Compatibility renderer): - Windows: ``HGLRC`` for the window (native GL), or ``EGLContext`` for the window (ANGLE). -- Linux: ``GLXContext*`` for the window. +- Linux (X11): ``GLXContext*`` for the window. - macOS: ``NSOpenGLContext*`` for the window (native GL), or ``EGLContext`` for the window (ANGLE). @@ -1365,6 +1399,8 @@ Constants Represents the screen containing the mouse pointer. +\ **Note:** On Linux (Wayland), this constant always represents the screen at index ``0``. + .. _class_DisplayServer_constant_SCREEN_WITH_KEYBOARD_FOCUS: .. rst-class:: classref-constant @@ -1373,6 +1409,8 @@ Represents the screen containing the mouse pointer. Represents the screen containing the window with the keyboard focus. +\ **Note:** On Linux (Wayland), this constant always represents the screen at index ``0``. + .. _class_DisplayServer_constant_SCREEN_PRIMARY: .. rst-class:: classref-constant @@ -1381,6 +1419,8 @@ Represents the screen containing the window with the keyboard focus. Represents the primary screen. +\ **Note:** On Linux (Wayland), this constant always represents the screen at index ``0``. + .. _class_DisplayServer_constant_SCREEN_OF_MAIN_WINDOW: .. rst-class:: classref-constant @@ -1389,6 +1429,8 @@ Represents the primary screen. Represents the screen where the main window is located. This is usually the default value in functions that allow specifying one of several screens. +\ **Note:** On Linux (Wayland), this constant always represents the screen at index ``0``. + .. _class_DisplayServer_constant_MAIN_WINDOW_ID: .. rst-class:: classref-constant @@ -1405,6 +1447,14 @@ The ID of the main window spawned by the engine, which can be passed to methods The ID that refers to a nonexistent window. This is returned by some **DisplayServer** methods if no window matches the requested result. +.. _class_DisplayServer_constant_INVALID_INDICATOR_ID: + +.. rst-class:: classref-constant + +**INVALID_INDICATOR_ID** = ``-1`` + +The ID that refers to a nonexistent application status indicator. + .. rst-class:: classref-section-separator ---- @@ -1446,7 +1496,7 @@ Returns the user's clipboard as an image if possible. Returns the user's `primary `__ clipboard as a string if possible. This is the clipboard that is set when the user selects text in any application, rather than when pressing :kbd:`Ctrl + C`. The clipboard data can then be pasted by clicking the middle mouse button in any application that supports the primary clipboard mechanism. -\ **Note:** This method is only implemented on Linux (X11). +\ **Note:** This method is only implemented on Linux (X11/Wayland). .. rst-class:: classref-item-separator @@ -1496,7 +1546,19 @@ void **clipboard_set_primary** **(** :ref:`String` clipboard_prima Sets the user's `primary `__ clipboard content to the given string. This is the clipboard that is set when the user selects text in any application, rather than when pressing :kbd:`Ctrl + C`. The clipboard data can then be pasted by clicking the middle mouse button in any application that supports the primary clipboard mechanism. -\ **Note:** This method is only implemented on Linux (X11). +\ **Note:** This method is only implemented on Linux (X11/Wayland). + +.. rst-class:: classref-item-separator + +---- + +.. _class_DisplayServer_method_create_status_indicator: + +.. rst-class:: classref-method + +:ref:`int` **create_status_indicator** **(** :ref:`Image` icon, :ref:`String` tooltip, :ref:`Callable` callback **)** + +Creates a new application status indicator with the specified icon, tooltip, and activation callback. .. rst-class:: classref-item-separator @@ -1538,6 +1600,18 @@ Sets the default mouse cursor shape. The cursor's appearance will vary depending ---- +.. _class_DisplayServer_method_delete_status_indicator: + +.. rst-class:: classref-method + +void **delete_status_indicator** **(** :ref:`int` id **)** + +Removes the application status indicator. + +.. rst-class:: classref-item-separator + +---- + .. _class_DisplayServer_method_dialog_input_text: .. rst-class:: classref-method @@ -1588,11 +1662,9 @@ Allows the ``process_id`` PID to steal focus from this window. In other words, t Displays OS native dialog for selecting files or directories in the file system. -Callbacks have the following arguments: ``bool status, PackedStringArray selected_paths, int selected_filter_index``. +Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int``. -\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG` feature. - -\ **Note:** This method is implemented on Linux, Windows and macOS. +\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG` feature. Supported platforms include Linux (X11/Wayland), Windows, and macOS. \ **Note:** ``current_directory`` might be ignored. @@ -1606,6 +1678,38 @@ Callbacks have the following arguments: ``bool status, PackedStringArray selecte ---- +.. _class_DisplayServer_method_file_dialog_with_options_show: + +.. rst-class:: classref-method + +:ref:`Error` **file_dialog_with_options_show** **(** :ref:`String` title, :ref:`String` current_directory, :ref:`String` root, :ref:`String` filename, :ref:`bool` show_hidden, :ref:`FileDialogMode` mode, :ref:`PackedStringArray` filters, :ref:`Dictionary[]` options, :ref:`Callable` callback **)** + +Displays OS native dialog for selecting files or directories in the file system with additional user selectable options. + +\ ``options`` is array of :ref:`Dictionary`\ s with the following keys: + +- ``"name"`` - option's name :ref:`String`. + +- ``"values"`` - :ref:`PackedStringArray` of values. If empty, boolean option (check box) is used. + +- ``"default"`` - default selected option index (:ref:`int`) or default boolean value (:ref:`bool`). + +Callbacks have the following arguments: ``status: bool, selected_paths: PackedStringArray, selected_filter_index: int, selected_option: Dictionary``. + +\ **Note:** This method is implemented if the display server has the :ref:`FEATURE_NATIVE_DIALOG` feature. Supported platforms include Linux (X11/Wayland), Windows, and macOS. + +\ **Note:** ``current_directory`` might be ignored. + +\ **Note:** On Linux (X11), ``show_hidden`` is ignored. + +\ **Note:** On macOS, native file dialogs have no title. + +\ **Note:** On macOS, sandboxed apps will save security-scoped bookmarks to retain access to the opened folders across multiple sessions. Use :ref:`OS.get_granted_permissions` to get a list of saved bookmarks. + +.. rst-class:: classref-item-separator + +---- + .. _class_DisplayServer_method_force_process_and_drop_events: .. rst-class:: classref-method @@ -1634,6 +1738,20 @@ Returns OS theme accent color. Returns ``Color(0, 0, 0, 0)``, if accent color is ---- +.. _class_DisplayServer_method_get_base_color: + +.. rst-class:: classref-method + +:ref:`Color` **get_base_color** **(** **)** |const| + +Returns the OS theme base color (default control background). Returns ``Color(0, 0, 0, 0)`` if the base color is unknown. + +\ **Note:** This method is implemented on macOS and Windows. + +.. rst-class:: classref-item-separator + +---- + .. _class_DisplayServer_method_get_display_cutouts: .. rst-class:: classref-method @@ -1678,9 +1796,9 @@ Returns the index of the screen containing the window with the keyboard focus, o :ref:`String` **get_name** **(** **)** |const| -Returns the name of the **DisplayServer** currently in use. Most operating systems only have a single **DisplayServer**, but Linux has access to more than one **DisplayServer** (although only X11 is currently implemented in Godot). +Returns the name of the **DisplayServer** currently in use. Most operating systems only have a single **DisplayServer**, but Linux has access to more than one **DisplayServer** (currently X11 and Wayland). -The names of built-in display servers are ``Windows``, ``macOS``, ``X11`` (Linux), ``Android``, ``iOS``, ``web`` (HTML5) and ``headless`` (when started with the ``--headless`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`). +The names of built-in display servers are ``Windows``, ``macOS``, ``X11`` (Linux), ``Wayland`` (Linux), ``Android``, ``iOS``, ``web`` (HTML5), and ``headless`` (when started with the ``--headless`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`). .. rst-class:: classref-item-separator @@ -2639,6 +2757,24 @@ Returns ``true`` if the specified ``feature`` is supported by the current **Disp ---- +.. _class_DisplayServer_method_help_set_search_callbacks: + +.. rst-class:: classref-method + +void **help_set_search_callbacks** **(** :ref:`Callable` search_callback, :ref:`Callable` action_callback **)** + +Sets native help system search callbacks. + +\ ``search_callback`` has the following arguments: ``String search_string, int result_limit`` and return a :ref:`Dictionary` with "key, display name" pairs for the search results. Called when the user enters search terms in the ``Help`` menu. + +\ ``action_callback`` has the following arguments: ``String key``. Called when the user selects a search result in the ``Help`` menu. + +\ **Note:** This method is implemented only on macOS. + +.. rst-class:: classref-item-separator + +---- + .. _class_DisplayServer_method_ime_get_selection: .. rst-class:: classref-method @@ -2675,7 +2811,7 @@ Returns the composition string contained within the `Input Method Editor ` index **)** Sets the active keyboard layout. -\ **Note:** This method is implemented on Linux (X11), macOS and Windows. +\ **Note:** This method is implemented on Linux (X11/Wayland), macOS and Windows. .. rst-class:: classref-item-separator @@ -2886,7 +3022,7 @@ Returns the dots per inch density of the specified screen. If ``screen`` is :ref xxhdpi - 480 dpi xxxhdpi - 640 dpi -\ **Note:** This method is implemented on Android, Linux (X11), macOS and Windows. Returns ``72`` on unsupported platforms. +\ **Note:** This method is implemented on Android, Linux (X11/Wayland), macOS and Windows. Returns ``72`` on unsupported platforms. .. rst-class:: classref-item-separator @@ -2973,6 +3109,8 @@ Returns the screen's top-left corner position in pixels. On multi-monitor setups See also :ref:`screen_get_size`. +\ **Note:** On Linux (Wayland) this method always returns ``(0, 0)``. + .. rst-class:: classref-item-separator ---- @@ -3101,6 +3239,56 @@ Sets the window icon (usually displayed in the top-left corner) in the operating ---- +.. _class_DisplayServer_method_set_system_theme_change_callback: + +.. rst-class:: classref-method + +void **set_system_theme_change_callback** **(** :ref:`Callable` callable **)** + +Sets the ``callable`` that should be called when system theme settings are changed. Callback method should have zero arguments. + +\ **Note:** This method is implemented on Android, iOS, macOS, Windows, and Linux (X11/Wayland). + +.. rst-class:: classref-item-separator + +---- + +.. _class_DisplayServer_method_status_indicator_set_callback: + +.. rst-class:: classref-method + +void **status_indicator_set_callback** **(** :ref:`int` id, :ref:`Callable` callback **)** + +Sets the application status indicator activation callback. + +.. rst-class:: classref-item-separator + +---- + +.. _class_DisplayServer_method_status_indicator_set_icon: + +.. rst-class:: classref-method + +void **status_indicator_set_icon** **(** :ref:`int` id, :ref:`Image` icon **)** + +Sets the application status indicator icon. + +.. rst-class:: classref-item-separator + +---- + +.. _class_DisplayServer_method_status_indicator_set_tooltip: + +.. rst-class:: classref-method + +void **status_indicator_set_tooltip** **(** :ref:`int` id, :ref:`String` tooltip **)** + +Sets the application status indicator tooltip. + +.. rst-class:: classref-item-separator + +---- + .. _class_DisplayServer_method_tablet_get_current_driver: .. rst-class:: classref-method @@ -3183,7 +3371,7 @@ Each :ref:`Dictionary` contains two :ref:`String Note that Godot depends on system libraries for text-to-speech functionality. These libraries are installed by default on Windows and macOS, but not on all Linux distributions. If they are not present, this method will return an empty list. This applies to both Godot users on Linux, as well as end-users on Linux running Godot games that use text-to-speech. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3199,7 +3387,7 @@ Note that Godot depends on system libraries for text-to-speech functionality. Th Returns an :ref:`PackedStringArray` of voice identifiers for the ``language``. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3215,7 +3403,7 @@ Returns an :ref:`PackedStringArray` of voice identifier Returns ``true`` if the synthesizer is in a paused state. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3231,7 +3419,7 @@ Returns ``true`` if the synthesizer is in a paused state. Returns ``true`` if the synthesizer is generating speech, or have utterance waiting in the queue. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3247,7 +3435,7 @@ void **tts_pause** **(** **)** Puts the synthesizer into a paused state. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3263,7 +3451,7 @@ void **tts_resume** **(** **)** Resumes the synthesizer if it was paused. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3285,7 +3473,7 @@ Adds a callback, which is called when the utterance has started, finished, cance \ **Note:** The granularity of the boundary callbacks is engine dependent. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3311,11 +3499,11 @@ Adds an utterance to the queue. If ``interrupt`` is ``true``, the queue is clear - ``utterance_id`` is passed as a parameter to the callback functions. -\ **Note:** On Windows and Linux (X11), 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:** On Windows and Linux (X11/Wayland), 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, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Wayland), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3331,7 +3519,7 @@ void **tts_stop** **(** **)** Stops synthesis in progress and removes all utterances from the queue. -\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11), macOS, and Windows. +\ **Note:** This method is implemented on Android, iOS, Web, Linux (X11/Linux), macOS, and Windows. \ **Note:** :ref:`ProjectSettings.audio/general/text_to_speech` should be ``true`` to use text-to-speech. @@ -3397,7 +3585,7 @@ void **warp_mouse** **(** :ref:`Vector2i` position **)** Sets the mouse cursor position to the given ``position`` relative to an origin at the upper left corner of the currently focused game Window Manager window. -\ **Note:** :ref:`warp_mouse` is only supported on Windows, macOS and Linux. It has no effect on Android, iOS and Web. +\ **Note:** :ref:`warp_mouse` is only supported on Windows, macOS, and Linux (X11/Wayland). It has no effect on Android, iOS, and Web. .. rst-class:: classref-item-separator @@ -3507,7 +3695,7 @@ Returns the mode of the given window. Returns internal structure pointers for use in plugins. -\ **Note:** This method is implemented on Android, Linux (X11), macOS and Windows. +\ **Note:** This method is implemented on Android, Linux (X11/Wayland), macOS, and Windows. .. rst-class:: classref-item-separator @@ -3709,7 +3897,7 @@ Sets the ``callback`` that should be called when files are dropped from the oper \ **Warning:** Advanced users only! Adding such a callback to a :ref:`Window` node will override its default implementation, which can introduce bugs. -\ **Note:** This method is implemented on Windows, macOS, Linux (X11) and Web. +\ **Note:** This method is implemented on Windows, macOS, Linux (X11/Wayland), and Web. .. rst-class:: classref-item-separator @@ -3921,6 +4109,8 @@ See also :ref:`window_get_position` instead. +\ **Note:** On Linux (Wayland): this method is a no-op. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_editorexportplatform.rst b/classes/class_editorexportplatform.rst index 2d13cbe28ff..e7abcbb6889 100644 --- a/classes/class_editorexportplatform.rst +++ b/classes/class_editorexportplatform.rst @@ -30,7 +30,7 @@ Used in scripting by :ref:`EditorExportPlugin` to conf Tutorials --------- -- `$DOCS_URL/tutorials/platform/consoles.html `__ +- :doc:`Console support in Godot <../tutorials/platform/consoles>` .. rst-class:: classref-reftable-group diff --git a/classes/class_editorexportplatformandroid.rst b/classes/class_editorexportplatformandroid.rst index 0e7c5ce57f7..246d185a3e7 100644 --- a/classes/class_editorexportplatformandroid.rst +++ b/classes/class_editorexportplatformandroid.rst @@ -54,8 +54,14 @@ Properties +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`custom_template/release` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`gradle_build/android_source_template` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`gradle_build/compress_native_libraries` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`gradle_build/export_format` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`gradle_build/gradle_build_directory` | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`gradle_build/min_sdk` | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`gradle_build/target_sdk` | @@ -526,7 +532,9 @@ A list of additional command line arguments, exported project will receive when :ref:`String` **custom_template/debug** -Path to the custom export template. If left empty, default template is used. +Path to an APK file to use as a custom export template for debug exports. If left empty, default template is used. + +\ **Note:** This is only used if :ref:`gradle_build/use_gradle_build` is disabled. .. rst-class:: classref-item-separator @@ -538,7 +546,35 @@ Path to the custom export template. If left empty, default template is used. :ref:`String` **custom_template/release** -Path to the custom export template. If left empty, default template is used. +Path to an APK file to use as a custom export template for release exports. If left empty, default template is used. + +\ **Note:** This is only used if :ref:`gradle_build/use_gradle_build` is disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformAndroid_property_gradle_build/android_source_template: + +.. rst-class:: classref-property + +:ref:`String` **gradle_build/android_source_template** + +Path to a ZIP file holding the source for the export template used in a Gradle build. If left empty, the default template is used. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformAndroid_property_gradle_build/compress_native_libraries: + +.. rst-class:: classref-property + +:ref:`bool` **gradle_build/compress_native_libraries** + +If ``true``, native libraries are compressed when performing a Gradle build. + +\ **Note:** Although your binary may be smaller, your application may load slower because the native libraries are not loaded directly from the binary at runtime. .. rst-class:: classref-item-separator @@ -556,6 +592,18 @@ Export format for Gradle build. ---- +.. _class_EditorExportPlatformAndroid_property_gradle_build/gradle_build_directory: + +.. rst-class:: classref-property + +:ref:`String` **gradle_build/gradle_build_directory** + +Path to the Gradle build directory. If left empty, then ``res://android`` will be used. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformAndroid_property_gradle_build/min_sdk: .. rst-class:: classref-property @@ -834,7 +882,13 @@ If ``true``, package signing is enabled. :ref:`String` **package/unique_name** -Unique application identifier in a reverse-DNS format, can only contain alphanumeric characters (``A-Z``, ``a-z``, and ``0-9``), hyphens (``-``), and periods (``.``). +Unique application identifier in a reverse-DNS format. The reverse DNS format should preferably match a domain name you control, but this is not strictly required. For instance, if you own ``example.com``, your package unique name should preferably be of the form ``com.example.mygame``. This identifier can only contain lowercase alphanumeric characters (``a-z``, and ``0-9``), underscores (``_``), and periods (``.``). Each component of the reverse DNS format must start with a letter: for instance, ``com.example.8game`` is not valid. + +If ``$genname`` is present in the value, it will be replaced by the project name converted to lowercase. If there are invalid characters in the project name, they will be stripped. If all characters in the project name are stripped, ``$genname`` is replaced by ``noname``. + +\ **Note:** Changing the package name will cause the package to be considered as a new package, with its own installation and data paths. The new package won't be usable to update existing installations. + +\ **Note:** When publishing to Google Play, the package name must be *globally* unique. This means no other apps published on Google Play must be using the same package name as yours. Otherwise, you'll be prevented from publishing your app on Google Play. .. rst-class:: classref-item-separator diff --git a/classes/class_editorexportplatformlinuxbsd.rst b/classes/class_editorexportplatformlinuxbsd.rst index 7d1d33de8dc..09d4542b2df 100644 --- a/classes/class_editorexportplatformlinuxbsd.rst +++ b/classes/class_editorexportplatformlinuxbsd.rst @@ -54,13 +54,9 @@ Properties +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`ssh_remote_deploy/run_script` | +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`texture_format/bptc` | + | :ref:`bool` | :ref:`texture_format/etc2_astc` | +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`texture_format/etc` | - +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`texture_format/etc2` | - +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`texture_format/s3tc` | + | :ref:`bool` | :ref:`texture_format/s3tc_bptc` | +-----------------------------+-----------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -240,49 +236,25 @@ The following variables can be used in the script: ---- -.. _class_EditorExportPlatformLinuxBSD_property_texture_format/bptc: - -.. rst-class:: classref-property - -:ref:`bool` **texture_format/bptc** - -If ``true``, project textures are exported in the BPTC format. - -.. rst-class:: classref-item-separator - ----- - -.. _class_EditorExportPlatformLinuxBSD_property_texture_format/etc: - -.. rst-class:: classref-property - -:ref:`bool` **texture_format/etc** - -If ``true``, project textures are exported in the ETC format. - -.. rst-class:: classref-item-separator - ----- - -.. _class_EditorExportPlatformLinuxBSD_property_texture_format/etc2: +.. _class_EditorExportPlatformLinuxBSD_property_texture_format/etc2_astc: .. rst-class:: classref-property -:ref:`bool` **texture_format/etc2** +:ref:`bool` **texture_format/etc2_astc** -If ``true``, project textures are exported in the ETC2 format. +If ``true``, project textures are exported in the ETC2/ASTC format. .. rst-class:: classref-item-separator ---- -.. _class_EditorExportPlatformLinuxBSD_property_texture_format/s3tc: +.. _class_EditorExportPlatformLinuxBSD_property_texture_format/s3tc_bptc: .. rst-class:: classref-property -:ref:`bool` **texture_format/s3tc** +:ref:`bool` **texture_format/s3tc_bptc** -If ``true``, project textures are exported in the S3TC format. +If ``true``, project textures are exported in the S3TC/BPTC format. .. |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_editorexportplatformweb.rst b/classes/class_editorexportplatformweb.rst index aca87a052d4..adc80a7befd 100644 --- a/classes/class_editorexportplatformweb.rst +++ b/classes/class_editorexportplatformweb.rst @@ -16,6 +16,15 @@ Exporter for the Web. .. rst-class:: classref-introduction-group +Description +----------- + +The Web exporter customizes how a web build is handled. In the editor's "Export" window, it is created when adding a new "Web" preset. + +\ **Note:** Godot on Web is rendered inside a ```` tag. Normally, the canvas cannot be positioned or resized manually, but otherwise acts as the main :ref:`Window` of the application. + +.. rst-class:: classref-introduction-group + Tutorials --------- @@ -31,47 +40,49 @@ Properties .. table:: :widths: auto - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`custom_template/debug` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`custom_template/release` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`html/canvas_resize_policy` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`html/custom_html_shell` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`html/experimental_virtual_keyboard` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`html/export_icon` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`html/focus_canvas_on_start` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`html/head_include` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`progressive_web_app/background_color` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`progressive_web_app/display` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`progressive_web_app/enabled` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`progressive_web_app/icon_144x144` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`progressive_web_app/icon_180x180` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`progressive_web_app/icon_512x512` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`progressive_web_app/offline_page` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`progressive_web_app/orientation` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`variant/extensions_support` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`variant/thread_support` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`vram_texture_compression/for_desktop` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`vram_texture_compression/for_mobile` | - +-----------------------------+--------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`custom_template/debug` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`custom_template/release` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`html/canvas_resize_policy` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`html/custom_html_shell` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`html/experimental_virtual_keyboard` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`html/export_icon` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`html/focus_canvas_on_start` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`html/head_include` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`progressive_web_app/background_color` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`progressive_web_app/display` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`progressive_web_app/enabled` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`progressive_web_app/ensure_cross_origin_isolation_headers` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`progressive_web_app/icon_144x144` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`progressive_web_app/icon_180x180` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`progressive_web_app/icon_512x512` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`progressive_web_app/offline_page` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`progressive_web_app/orientation` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`variant/extensions_support` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`variant/thread_support` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`vram_texture_compression/for_desktop` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`vram_texture_compression/for_mobile` | + +-----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -88,7 +99,7 @@ Property Descriptions :ref:`String` **custom_template/debug** -Path to the custom export template. If left empty, default template is used. +File path to the custom export template used for debug builds. If left empty, the default template is used. .. rst-class:: classref-item-separator @@ -100,7 +111,7 @@ Path to the custom export template. If left empty, default template is used. :ref:`String` **custom_template/release** -Path to the custom export template. If left empty, default template is used. +File path to the custom export template used for release builds. If left empty, the default template is used. .. rst-class:: classref-item-separator @@ -112,7 +123,13 @@ Path to the custom export template. If left empty, default template is used. :ref:`int` **html/canvas_resize_policy** -The canvas resize policy determines how the canvas should be resized by Godot. +Determines how the canvas should be resized by Godot. + +- **None:** The canvas is not automatically resized. + +- **Project:** The size of the canvas is dependent on the :ref:`ProjectSettings`. + +- **Adaptive:** The canvas is automatically resized to fit as much of the web page as possible. .. rst-class:: classref-item-separator @@ -124,9 +141,9 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`String` **html/custom_html_shell** -.. container:: contribute +The custom HTML page that wraps the exported web build. If left empty, the default HTML shell is used. - There is currently no description for this property. Please help us by :ref:`contributing one `! +For more information, see the :doc:`Customizing HTML5 Shell <../tutorials/platform/web/customizing_html5_shell>` tutorial. .. rst-class:: classref-item-separator @@ -138,9 +155,9 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`bool` **html/experimental_virtual_keyboard** -.. container:: contribute +If ``true``, embeds support for a virtual keyboard into the web page, which is shown when necessary on touchscreen devices. - There is currently no description for this property. Please help us by :ref:`contributing one `! +\ **Warning:** This feature is experimental and may be changed in a future release. .. rst-class:: classref-item-separator @@ -152,9 +169,7 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`bool` **html/export_icon** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If ``true``, the project icon will be used as the favicon for this application's web page. .. rst-class:: classref-item-separator @@ -166,9 +181,7 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`bool` **html/focus_canvas_on_start** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! +If ``true``, the canvas will be focused as soon as the application is loaded, if the browser window is already in focus. .. rst-class:: classref-item-separator @@ -180,9 +193,9 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`String` **html/head_include** -.. container:: contribute +Additional HTML tags to include inside the ````, such as ```` tags. - There is currently no description for this property. Please help us by :ref:`contributing one `! +\ **Note:** You do not need to add a ```` tag, as it is automatically included based on the project's name. .. rst-class:: classref-item-separator @@ -194,9 +207,7 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`Color<class_Color>` **progressive_web_app/background_color** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The background color used behind the web application. .. rst-class:: classref-item-separator @@ -208,9 +219,15 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`int<class_int>` **progressive_web_app/display** -.. container:: contribute +The `display mode <https://developer.mozilla.org/en-US/docs/Web/Manifest/display/>`__ to use for this progressive web application. Different browsers and platforms may not behave the same. + +- **Fullscreen:** Displays the app in fullscreen and hides all of the browser's UI elements. - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +- **Standalone:** Displays the app in a separate window and hides all of the browser's UI elements. + +- **Minimal UI:** Displays the app in a separate window and only shows the browser's UI elements for navigation. + +- **Browser:** Displays the app as a normal web page. .. rst-class:: classref-item-separator @@ -222,9 +239,21 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`bool<class_bool>` **progressive_web_app/enabled** -.. container:: contribute +If ``true``, turns this web build into a `progressive web application <https://en.wikipedia.org/wiki/Progressive_web_app>`__ (PWA). - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformWeb_property_progressive_web_app/ensure_cross_origin_isolation_headers: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **progressive_web_app/ensure_cross_origin_isolation_headers** + +When enabled, the progressive web app will make sure that each request has cross-origin isolation headers (COEP/COOP). + +This can simplify the setup to serve the exported game. .. rst-class:: classref-item-separator @@ -236,9 +265,9 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`String<class_String>` **progressive_web_app/icon_144x144** -.. container:: contribute +File path to the smallest icon for this web application. If not defined, defaults to the project icon. - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +\ **Note:** If the icon is not 144x144, it will be automatically resized for the final build. .. rst-class:: classref-item-separator @@ -250,9 +279,9 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`String<class_String>` **progressive_web_app/icon_180x180** -.. container:: contribute +File path to the small icon for this web application. If not defined, defaults to the project icon. - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +\ **Note:** If the icon is not 180x180, it will be automatically resized for the final build. .. rst-class:: classref-item-separator @@ -264,9 +293,9 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`String<class_String>` **progressive_web_app/icon_512x512** -.. container:: contribute +File path to the smallest icon for this web application. If not defined, defaults to the project icon. - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +\ **Note:** If the icon is not 512x512, it will be automatically resized for the final build. .. rst-class:: classref-item-separator @@ -278,9 +307,7 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`String<class_String>` **progressive_web_app/offline_page** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The page to display, should the server hosting the page not be available. This page is saved in the client's machine. .. rst-class:: classref-item-separator @@ -292,9 +319,13 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`int<class_int>` **progressive_web_app/orientation** -.. container:: contribute +The orientation to use when the web application is run through a mobile device. + +- **Any:** No orientation is forced. + +- **Landscape:** Forces a horizontal layout (wider than it is taller). - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +- **Portrait:** Forces a vertical layout (taller than it is wider). .. rst-class:: classref-item-separator @@ -306,9 +337,7 @@ The canvas resize policy determines how the canvas should be resized by Godot. :ref:`bool<class_bool>` **variant/extensions_support** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true`` enables :ref:`GDExtension<class_GDExtension>` support for this web build. .. rst-class:: classref-item-separator @@ -334,9 +363,7 @@ If disabled, the exported game will not support threads. As a result, it is more :ref:`bool<class_bool>` **vram_texture_compression/for_desktop** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, allows textures to be optimized for desktop through the S3TC algorithm. .. rst-class:: classref-item-separator @@ -348,9 +375,7 @@ If disabled, the exported game will not support threads. As a result, it is more :ref:`bool<class_bool>` **vram_texture_compression/for_mobile** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true`` allows textures to be optimized for mobile through the ETC2 algorithm. .. |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_editorexportplatformwindows.rst b/classes/class_editorexportplatformwindows.rst index 2199ab1d5b4..e5112eb3798 100644 --- a/classes/class_editorexportplatformwindows.rst +++ b/classes/class_editorexportplatformwindows.rst @@ -29,81 +29,81 @@ Properties .. table:: :widths: auto - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/company_name<class_EditorExportPlatformWindows_property_application/company_name>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/console_wrapper_icon<class_EditorExportPlatformWindows_property_application/console_wrapper_icon>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/copyright<class_EditorExportPlatformWindows_property_application/copyright>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`application/export_angle<class_EditorExportPlatformWindows_property_application/export_angle>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/file_description<class_EditorExportPlatformWindows_property_application/file_description>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/file_version<class_EditorExportPlatformWindows_property_application/file_version>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/icon<class_EditorExportPlatformWindows_property_application/icon>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`application/icon_interpolation<class_EditorExportPlatformWindows_property_application/icon_interpolation>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`application/modify_resources<class_EditorExportPlatformWindows_property_application/modify_resources>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/product_name<class_EditorExportPlatformWindows_property_application/product_name>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/product_version<class_EditorExportPlatformWindows_property_application/product_version>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`application/trademarks<class_EditorExportPlatformWindows_property_application/trademarks>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`binary_format/architecture<class_EditorExportPlatformWindows_property_binary_format/architecture>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`binary_format/embed_pck<class_EditorExportPlatformWindows_property_binary_format/embed_pck>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`codesign/custom_options<class_EditorExportPlatformWindows_property_codesign/custom_options>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`codesign/description<class_EditorExportPlatformWindows_property_codesign/description>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`codesign/digest_algorithm<class_EditorExportPlatformWindows_property_codesign/digest_algorithm>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`codesign/enable<class_EditorExportPlatformWindows_property_codesign/enable>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`codesign/identity<class_EditorExportPlatformWindows_property_codesign/identity>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`codesign/identity_type<class_EditorExportPlatformWindows_property_codesign/identity_type>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`codesign/password<class_EditorExportPlatformWindows_property_codesign/password>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`codesign/timestamp<class_EditorExportPlatformWindows_property_codesign/timestamp>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`codesign/timestamp_server_url<class_EditorExportPlatformWindows_property_codesign/timestamp_server_url>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`custom_template/debug<class_EditorExportPlatformWindows_property_custom_template/debug>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`custom_template/release<class_EditorExportPlatformWindows_property_custom_template/release>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`debug/export_console_wrapper<class_EditorExportPlatformWindows_property_debug/export_console_wrapper>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/cleanup_script<class_EditorExportPlatformWindows_property_ssh_remote_deploy/cleanup_script>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`ssh_remote_deploy/enabled<class_EditorExportPlatformWindows_property_ssh_remote_deploy/enabled>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/extra_args_scp<class_EditorExportPlatformWindows_property_ssh_remote_deploy/extra_args_scp>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/extra_args_ssh<class_EditorExportPlatformWindows_property_ssh_remote_deploy/extra_args_ssh>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/host<class_EditorExportPlatformWindows_property_ssh_remote_deploy/host>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/port<class_EditorExportPlatformWindows_property_ssh_remote_deploy/port>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/run_script<class_EditorExportPlatformWindows_property_ssh_remote_deploy/run_script>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`texture_format/bptc<class_EditorExportPlatformWindows_property_texture_format/bptc>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`texture_format/etc<class_EditorExportPlatformWindows_property_texture_format/etc>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`texture_format/etc2<class_EditorExportPlatformWindows_property_texture_format/etc2>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`texture_format/s3tc<class_EditorExportPlatformWindows_property_texture_format/s3tc>` | - +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/company_name<class_EditorExportPlatformWindows_property_application/company_name>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/console_wrapper_icon<class_EditorExportPlatformWindows_property_application/console_wrapper_icon>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/copyright<class_EditorExportPlatformWindows_property_application/copyright>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`application/d3d12_agility_sdk_multiarch<class_EditorExportPlatformWindows_property_application/d3d12_agility_sdk_multiarch>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`application/export_angle<class_EditorExportPlatformWindows_property_application/export_angle>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`application/export_d3d12<class_EditorExportPlatformWindows_property_application/export_d3d12>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/file_description<class_EditorExportPlatformWindows_property_application/file_description>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/file_version<class_EditorExportPlatformWindows_property_application/file_version>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/icon<class_EditorExportPlatformWindows_property_application/icon>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`application/icon_interpolation<class_EditorExportPlatformWindows_property_application/icon_interpolation>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`application/modify_resources<class_EditorExportPlatformWindows_property_application/modify_resources>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/product_name<class_EditorExportPlatformWindows_property_application/product_name>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/product_version<class_EditorExportPlatformWindows_property_application/product_version>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`application/trademarks<class_EditorExportPlatformWindows_property_application/trademarks>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`binary_format/architecture<class_EditorExportPlatformWindows_property_binary_format/architecture>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`binary_format/embed_pck<class_EditorExportPlatformWindows_property_binary_format/embed_pck>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`codesign/custom_options<class_EditorExportPlatformWindows_property_codesign/custom_options>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`codesign/description<class_EditorExportPlatformWindows_property_codesign/description>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`codesign/digest_algorithm<class_EditorExportPlatformWindows_property_codesign/digest_algorithm>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`codesign/enable<class_EditorExportPlatformWindows_property_codesign/enable>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`codesign/identity<class_EditorExportPlatformWindows_property_codesign/identity>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`codesign/identity_type<class_EditorExportPlatformWindows_property_codesign/identity_type>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`codesign/password<class_EditorExportPlatformWindows_property_codesign/password>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`codesign/timestamp<class_EditorExportPlatformWindows_property_codesign/timestamp>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`codesign/timestamp_server_url<class_EditorExportPlatformWindows_property_codesign/timestamp_server_url>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`custom_template/debug<class_EditorExportPlatformWindows_property_custom_template/debug>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`custom_template/release<class_EditorExportPlatformWindows_property_custom_template/release>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`debug/export_console_wrapper<class_EditorExportPlatformWindows_property_debug/export_console_wrapper>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/cleanup_script<class_EditorExportPlatformWindows_property_ssh_remote_deploy/cleanup_script>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`ssh_remote_deploy/enabled<class_EditorExportPlatformWindows_property_ssh_remote_deploy/enabled>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/extra_args_scp<class_EditorExportPlatformWindows_property_ssh_remote_deploy/extra_args_scp>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/extra_args_ssh<class_EditorExportPlatformWindows_property_ssh_remote_deploy/extra_args_ssh>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/host<class_EditorExportPlatformWindows_property_ssh_remote_deploy/host>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/port<class_EditorExportPlatformWindows_property_ssh_remote_deploy/port>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`ssh_remote_deploy/run_script<class_EditorExportPlatformWindows_property_ssh_remote_deploy/run_script>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`texture_format/etc2_astc<class_EditorExportPlatformWindows_property_texture_format/etc2_astc>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`texture_format/s3tc_bptc<class_EditorExportPlatformWindows_property_texture_format/s3tc_bptc>` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -150,6 +150,18 @@ Copyright notice for the bundle visible to the user. Optional. See `StringFileIn ---- +.. _class_EditorExportPlatformWindows_property_application/d3d12_agility_sdk_multiarch: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **application/d3d12_agility_sdk_multiarch** + +If ``true``, and :ref:`application/export_d3d12<class_EditorExportPlatformWindows_property_application/export_d3d12>` is set, the Agility SDK DLLs will be stored in arch-specific subdirectories. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformWindows_property_application/export_angle: .. rst-class:: classref-property @@ -162,6 +174,18 @@ If set to ``1``, ANGLE libraries are exported with the exported application. If ---- +.. _class_EditorExportPlatformWindows_property_application/export_d3d12: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **application/export_d3d12** + +If set to ``1``, Direct3D 12 runtime (DXIL, Agility SDK, PIX) libraries are exported with the exported application. If set to ``0``, Direct3D 12 libraries are exported only if :ref:`ProjectSettings.rendering/rendering_device/driver<class_ProjectSettings_property_rendering/rendering_device/driver>` is set to ``"d3d12"``. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatformWindows_property_application/file_description: .. rst-class:: classref-property @@ -540,49 +564,25 @@ The following variables can be used in the script: ---- -.. _class_EditorExportPlatformWindows_property_texture_format/bptc: - -.. rst-class:: classref-property - -:ref:`bool<class_bool>` **texture_format/bptc** - -If ``true``, project textures are exported in the BPTC format. - -.. rst-class:: classref-item-separator - ----- - -.. _class_EditorExportPlatformWindows_property_texture_format/etc: - -.. rst-class:: classref-property - -:ref:`bool<class_bool>` **texture_format/etc** - -If ``true``, project textures are exported in the ETC format. - -.. rst-class:: classref-item-separator - ----- - -.. _class_EditorExportPlatformWindows_property_texture_format/etc2: +.. _class_EditorExportPlatformWindows_property_texture_format/etc2_astc: .. rst-class:: classref-property -:ref:`bool<class_bool>` **texture_format/etc2** +:ref:`bool<class_bool>` **texture_format/etc2_astc** -If ``true``, project textures are exported in the ETC2 format. +If ``true``, project textures are exported in the ETC2/ASTC format. .. rst-class:: classref-item-separator ---- -.. _class_EditorExportPlatformWindows_property_texture_format/s3tc: +.. _class_EditorExportPlatformWindows_property_texture_format/s3tc_bptc: .. rst-class:: classref-property -:ref:`bool<class_bool>` **texture_format/s3tc** +:ref:`bool<class_bool>` **texture_format/s3tc_bptc** -If ``true``, project textures are exported in the S3TC format. +If ``true``, project textures are exported in the S3TC/BPTC format. .. |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_editorexportplugin.rst b/classes/class_editorexportplugin.rst index 80756ab0422..19e347939ff 100644 --- a/classes/class_editorexportplugin.rst +++ b/classes/class_editorexportplugin.rst @@ -77,6 +77,8 @@ Methods +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary[]<class_Dictionary>` | :ref:`_get_export_options<class_EditorExportPlugin_private_method__get_export_options>` **(** :ref:`EditorExportPlatform<class_EditorExportPlatform>` platform **)** |virtual| |const| | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary<class_Dictionary>` | :ref:`_get_export_options_overrides<class_EditorExportPlugin_private_method__get_export_options_overrides>` **(** :ref:`EditorExportPlatform<class_EditorExportPlatform>` platform **)** |virtual| |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String<class_String>` | :ref:`_get_name<class_EditorExportPlugin_private_method__get_name>` **(** **)** |virtual| |const| | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`_should_update_export_options<class_EditorExportPlugin_private_method__should_update_export_options>` **(** :ref:`EditorExportPlatform<class_EditorExportPlatform>` platform **)** |virtual| |const| | @@ -387,6 +389,36 @@ Each element in the return value is a :ref:`Dictionary<class_Dictionary>` with t ---- +.. _class_EditorExportPlugin_private_method__get_export_options_overrides: + +.. rst-class:: classref-method + +:ref:`Dictionary<class_Dictionary>` **_get_export_options_overrides** **(** :ref:`EditorExportPlatform<class_EditorExportPlatform>` platform **)** |virtual| |const| + +Return a :ref:`Dictionary<class_Dictionary>` of override values for export options, that will be used instead of user-provided values. Overridden options will be hidden from the user interface. + +:: + + class MyExportPlugin extends EditorExportPlugin: + func _get_name() -> String: + return "MyExportPlugin" + + func _supports_platform(platform) -> bool: + if platform is EditorExportPlatformPC: + # Run on all desktop platforms including Windows, MacOS and Linux. + return true + return false + + func _get_export_options_overrides(platform) -> Dictionary: + # Override "Embed PCK" to always be enabled. + return { + "binary_format/embed_pck": true, + } + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlugin_private_method__get_name: .. rst-class:: classref-method diff --git a/classes/class_editorinterface.rst b/classes/class_editorinterface.rst index fc3f8b45282..5663fb60291 100644 --- a/classes/class_editorinterface.rst +++ b/classes/class_editorinterface.rst @@ -59,103 +59,109 @@ Methods .. table:: :widths: auto - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`edit_node<class_EditorInterface_method_edit_node>` **(** :ref:`Node<class_Node>` node **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`edit_resource<class_EditorInterface_method_edit_resource>` **(** :ref:`Resource<class_Resource>` resource **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`edit_script<class_EditorInterface_method_edit_script>` **(** :ref:`Script<class_Script>` script, :ref:`int<class_int>` line=-1, :ref:`int<class_int>` column=0, :ref:`bool<class_bool>` grab_focus=true **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Control<class_Control>` | :ref:`get_base_control<class_EditorInterface_method_get_base_control>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`EditorCommandPalette<class_EditorCommandPalette>` | :ref:`get_command_palette<class_EditorInterface_method_get_command_palette>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`get_current_directory<class_EditorInterface_method_get_current_directory>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`get_current_feature_profile<class_EditorInterface_method_get_current_feature_profile>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`get_current_path<class_EditorInterface_method_get_current_path>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node<class_Node>` | :ref:`get_edited_scene_root<class_EditorInterface_method_get_edited_scene_root>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`VBoxContainer<class_VBoxContainer>` | :ref:`get_editor_main_screen<class_EditorInterface_method_get_editor_main_screen>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`EditorPaths<class_EditorPaths>` | :ref:`get_editor_paths<class_EditorInterface_method_get_editor_paths>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float<class_float>` | :ref:`get_editor_scale<class_EditorInterface_method_get_editor_scale>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`EditorSettings<class_EditorSettings>` | :ref:`get_editor_settings<class_EditorInterface_method_get_editor_settings>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Theme<class_Theme>` | :ref:`get_editor_theme<class_EditorInterface_method_get_editor_theme>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`SubViewport<class_SubViewport>` | :ref:`get_editor_viewport_2d<class_EditorInterface_method_get_editor_viewport_2d>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`SubViewport<class_SubViewport>` | :ref:`get_editor_viewport_3d<class_EditorInterface_method_get_editor_viewport_3d>` **(** :ref:`int<class_int>` idx=0 **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`FileSystemDock<class_FileSystemDock>` | :ref:`get_file_system_dock<class_EditorInterface_method_get_file_system_dock>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`EditorInspector<class_EditorInspector>` | :ref:`get_inspector<class_EditorInterface_method_get_inspector>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_open_scenes<class_EditorInterface_method_get_open_scenes>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`get_playing_scene<class_EditorInterface_method_get_playing_scene>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`EditorFileSystem<class_EditorFileSystem>` | :ref:`get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`EditorResourcePreview<class_EditorResourcePreview>` | :ref:`get_resource_previewer<class_EditorInterface_method_get_resource_previewer>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`ScriptEditor<class_ScriptEditor>` | :ref:`get_script_editor<class_EditorInterface_method_get_script_editor>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_selected_paths<class_EditorInterface_method_get_selected_paths>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`EditorSelection<class_EditorSelection>` | :ref:`get_selection<class_EditorInterface_method_get_selection>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`inspect_object<class_EditorInterface_method_inspect_object>` **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` for_property="", :ref:`bool<class_bool>` inspector_only=false **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_playing_scene<class_EditorInterface_method_is_playing_scene>` **(** **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_plugin_enabled<class_EditorInterface_method_is_plugin_enabled>` **(** :ref:`String<class_String>` plugin **)** |const| | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Texture2D[]<class_Texture2D>` | :ref:`make_mesh_previews<class_EditorInterface_method_make_mesh_previews>` **(** :ref:`Mesh[]<class_Mesh>` meshes, :ref:`int<class_int>` preview_size **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`mark_scene_as_unsaved<class_EditorInterface_method_mark_scene_as_unsaved>` **(** **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`open_scene_from_path<class_EditorInterface_method_open_scene_from_path>` **(** :ref:`String<class_String>` scene_filepath **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`play_current_scene<class_EditorInterface_method_play_current_scene>` **(** **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`play_custom_scene<class_EditorInterface_method_play_custom_scene>` **(** :ref:`String<class_String>` scene_filepath **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`play_main_scene<class_EditorInterface_method_play_main_scene>` **(** **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`popup_dialog<class_EditorInterface_method_popup_dialog>` **(** :ref:`Window<class_Window>` dialog, :ref:`Rect2i<class_Rect2i>` rect=Rect2i(0, 0, 0, 0) **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`popup_dialog_centered<class_EditorInterface_method_popup_dialog_centered>` **(** :ref:`Window<class_Window>` dialog, :ref:`Vector2i<class_Vector2i>` minsize=Vector2i(0, 0) **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`popup_dialog_centered_clamped<class_EditorInterface_method_popup_dialog_centered_clamped>` **(** :ref:`Window<class_Window>` dialog, :ref:`Vector2i<class_Vector2i>` minsize=Vector2i(0, 0), :ref:`float<class_float>` fallback_ratio=0.75 **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`popup_dialog_centered_ratio<class_EditorInterface_method_popup_dialog_centered_ratio>` **(** :ref:`Window<class_Window>` dialog, :ref:`float<class_float>` ratio=0.8 **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`reload_scene_from_path<class_EditorInterface_method_reload_scene_from_path>` **(** :ref:`String<class_String>` scene_filepath **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`restart_editor<class_EditorInterface_method_restart_editor>` **(** :ref:`bool<class_bool>` save=true **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`save_all_scenes<class_EditorInterface_method_save_all_scenes>` **(** **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save_scene<class_EditorInterface_method_save_scene>` **(** **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`save_scene_as<class_EditorInterface_method_save_scene_as>` **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` with_preview=true **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`select_file<class_EditorInterface_method_select_file>` **(** :ref:`String<class_String>` file **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_current_feature_profile<class_EditorInterface_method_set_current_feature_profile>` **(** :ref:`String<class_String>` profile_name **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_main_screen_editor<class_EditorInterface_method_set_main_screen_editor>` **(** :ref:`String<class_String>` name **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_plugin_enabled<class_EditorInterface_method_set_plugin_enabled>` **(** :ref:`String<class_String>` plugin, :ref:`bool<class_bool>` enabled **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`stop_playing_scene<class_EditorInterface_method_stop_playing_scene>` **(** **)** | - +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`edit_node<class_EditorInterface_method_edit_node>` **(** :ref:`Node<class_Node>` node **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`edit_resource<class_EditorInterface_method_edit_resource>` **(** :ref:`Resource<class_Resource>` resource **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`edit_script<class_EditorInterface_method_edit_script>` **(** :ref:`Script<class_Script>` script, :ref:`int<class_int>` line=-1, :ref:`int<class_int>` column=0, :ref:`bool<class_bool>` grab_focus=true **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Control<class_Control>` | :ref:`get_base_control<class_EditorInterface_method_get_base_control>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorCommandPalette<class_EditorCommandPalette>` | :ref:`get_command_palette<class_EditorInterface_method_get_command_palette>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_current_directory<class_EditorInterface_method_get_current_directory>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_current_feature_profile<class_EditorInterface_method_get_current_feature_profile>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_current_path<class_EditorInterface_method_get_current_path>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node<class_Node>` | :ref:`get_edited_scene_root<class_EditorInterface_method_get_edited_scene_root>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`VBoxContainer<class_VBoxContainer>` | :ref:`get_editor_main_screen<class_EditorInterface_method_get_editor_main_screen>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorPaths<class_EditorPaths>` | :ref:`get_editor_paths<class_EditorInterface_method_get_editor_paths>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`get_editor_scale<class_EditorInterface_method_get_editor_scale>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorSettings<class_EditorSettings>` | :ref:`get_editor_settings<class_EditorInterface_method_get_editor_settings>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Theme<class_Theme>` | :ref:`get_editor_theme<class_EditorInterface_method_get_editor_theme>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`SubViewport<class_SubViewport>` | :ref:`get_editor_viewport_2d<class_EditorInterface_method_get_editor_viewport_2d>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`SubViewport<class_SubViewport>` | :ref:`get_editor_viewport_3d<class_EditorInterface_method_get_editor_viewport_3d>` **(** :ref:`int<class_int>` idx=0 **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`FileSystemDock<class_FileSystemDock>` | :ref:`get_file_system_dock<class_EditorInterface_method_get_file_system_dock>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorInspector<class_EditorInspector>` | :ref:`get_inspector<class_EditorInterface_method_get_inspector>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_open_scenes<class_EditorInterface_method_get_open_scenes>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_playing_scene<class_EditorInterface_method_get_playing_scene>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorFileSystem<class_EditorFileSystem>` | :ref:`get_resource_filesystem<class_EditorInterface_method_get_resource_filesystem>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorResourcePreview<class_EditorResourcePreview>` | :ref:`get_resource_previewer<class_EditorInterface_method_get_resource_previewer>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ScriptEditor<class_ScriptEditor>` | :ref:`get_script_editor<class_EditorInterface_method_get_script_editor>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_selected_paths<class_EditorInterface_method_get_selected_paths>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorSelection<class_EditorSelection>` | :ref:`get_selection<class_EditorInterface_method_get_selection>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`inspect_object<class_EditorInterface_method_inspect_object>` **(** :ref:`Object<class_Object>` object, :ref:`String<class_String>` for_property="", :ref:`bool<class_bool>` inspector_only=false **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_multi_window_enabled<class_EditorInterface_method_is_multi_window_enabled>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_playing_scene<class_EditorInterface_method_is_playing_scene>` **(** **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_plugin_enabled<class_EditorInterface_method_is_plugin_enabled>` **(** :ref:`String<class_String>` plugin **)** |const| | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture2D[]<class_Texture2D>` | :ref:`make_mesh_previews<class_EditorInterface_method_make_mesh_previews>` **(** :ref:`Mesh[]<class_Mesh>` meshes, :ref:`int<class_int>` preview_size **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`mark_scene_as_unsaved<class_EditorInterface_method_mark_scene_as_unsaved>` **(** **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`open_scene_from_path<class_EditorInterface_method_open_scene_from_path>` **(** :ref:`String<class_String>` scene_filepath **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`play_current_scene<class_EditorInterface_method_play_current_scene>` **(** **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`play_custom_scene<class_EditorInterface_method_play_custom_scene>` **(** :ref:`String<class_String>` scene_filepath **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`play_main_scene<class_EditorInterface_method_play_main_scene>` **(** **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`popup_dialog<class_EditorInterface_method_popup_dialog>` **(** :ref:`Window<class_Window>` dialog, :ref:`Rect2i<class_Rect2i>` rect=Rect2i(0, 0, 0, 0) **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`popup_dialog_centered<class_EditorInterface_method_popup_dialog_centered>` **(** :ref:`Window<class_Window>` dialog, :ref:`Vector2i<class_Vector2i>` minsize=Vector2i(0, 0) **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`popup_dialog_centered_clamped<class_EditorInterface_method_popup_dialog_centered_clamped>` **(** :ref:`Window<class_Window>` dialog, :ref:`Vector2i<class_Vector2i>` minsize=Vector2i(0, 0), :ref:`float<class_float>` fallback_ratio=0.75 **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`popup_dialog_centered_ratio<class_EditorInterface_method_popup_dialog_centered_ratio>` **(** :ref:`Window<class_Window>` dialog, :ref:`float<class_float>` ratio=0.8 **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`popup_node_selector<class_EditorInterface_method_popup_node_selector>` **(** :ref:`Callable<class_Callable>` callback, :ref:`StringName[]<class_StringName>` valid_types=[] **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`popup_property_selector<class_EditorInterface_method_popup_property_selector>` **(** :ref:`Object<class_Object>` object, :ref:`Callable<class_Callable>` callback, :ref:`PackedInt32Array<class_PackedInt32Array>` type_filter=PackedInt32Array() **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`reload_scene_from_path<class_EditorInterface_method_reload_scene_from_path>` **(** :ref:`String<class_String>` scene_filepath **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`restart_editor<class_EditorInterface_method_restart_editor>` **(** :ref:`bool<class_bool>` save=true **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`save_all_scenes<class_EditorInterface_method_save_all_scenes>` **(** **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`save_scene<class_EditorInterface_method_save_scene>` **(** **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`save_scene_as<class_EditorInterface_method_save_scene_as>` **(** :ref:`String<class_String>` path, :ref:`bool<class_bool>` with_preview=true **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`select_file<class_EditorInterface_method_select_file>` **(** :ref:`String<class_String>` file **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_current_feature_profile<class_EditorInterface_method_set_current_feature_profile>` **(** :ref:`String<class_String>` profile_name **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_main_screen_editor<class_EditorInterface_method_set_main_screen_editor>` **(** :ref:`String<class_String>` name **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_plugin_enabled<class_EditorInterface_method_set_plugin_enabled>` **(** :ref:`String<class_String>` plugin, :ref:`bool<class_bool>` enabled **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`stop_playing_scene<class_EditorInterface_method_stop_playing_scene>` **(** **)** | + +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -329,6 +335,8 @@ Returns the edited (current) scene's root :ref:`Node<class_Node>`. Returns the editor control responsible for main screen plugins and tools. Use it with plugins that implement :ref:`EditorPlugin._has_main_screen<class_EditorPlugin_private_method__has_main_screen>`. +\ **Note:** This node is a :ref:`VBoxContainer<class_VBoxContainer>`, which means that if you add a :ref:`Control<class_Control>` child to it, you need to set the child's :ref:`Control.size_flags_vertical<class_Control_property_size_flags_vertical>` to :ref:`Control.SIZE_EXPAND_FILL<class_Control_constant_SIZE_EXPAND_FILL>` to make it use the full available space. + \ **Warning:** Removing and freeing this node will render a part of the editor useless and may cause a crash. .. rst-class:: classref-item-separator @@ -537,6 +545,24 @@ Shows the given property on the given ``object`` in the editor's Inspector dock. ---- +.. _class_EditorInterface_method_is_multi_window_enabled: + +.. rst-class:: classref-method + +:ref:`bool<class_bool>` **is_multi_window_enabled** **(** **)** |const| + +Returns ``true`` if multiple window support is enabled in the editor. Multiple window support is enabled if *all* of these statements are true: + +- :ref:`EditorSettings.interface/multi_window/enable<class_EditorSettings_property_interface/multi_window/enable>` is ``true``. + +- :ref:`EditorSettings.interface/editor/single_window_mode<class_EditorSettings_property_interface/editor/single_window_mode>` is ``false``. + +- :ref:`Viewport.gui_embed_subwindows<class_Viewport_property_gui_embed_subwindows>` is ``false``. This is forced to ``true`` on platforms that don't support multiple windows such as Web, or when the ``--single-window`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>` is used. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorInterface_method_is_playing_scene: .. rst-class:: classref-method @@ -689,6 +715,58 @@ See also :ref:`Window.set_unparent_when_invisible<class_Window_method_set_unpare ---- +.. _class_EditorInterface_method_popup_node_selector: + +.. rst-class:: classref-method + +void **popup_node_selector** **(** :ref:`Callable<class_Callable>` callback, :ref:`StringName[]<class_StringName>` valid_types=[] **)** + +Pops up an editor dialog for selecting a :ref:`Node<class_Node>` from the edited scene. The ``callback`` must take a single argument of type :ref:`NodePath<class_NodePath>`. It is called on the selected :ref:`NodePath<class_NodePath>` or the empty path ``^""`` if the dialog is canceled. If ``valid_types`` is provided, the dialog will only show Nodes that match one of the listed Node types. + +\ **Example:**\ + +:: + + func _ready(): + if Engine.is_editor_hint(): + EditorInterface.popup_node_selector(_on_node_selected, ["Button"]) + + func _on_node_selected(node_path): + if node_path.is_empty(): + print("node selection canceled") + else: + print("selected ", node_path) + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorInterface_method_popup_property_selector: + +.. rst-class:: classref-method + +void **popup_property_selector** **(** :ref:`Object<class_Object>` object, :ref:`Callable<class_Callable>` callback, :ref:`PackedInt32Array<class_PackedInt32Array>` type_filter=PackedInt32Array() **)** + +Pops up an editor dialog for selecting properties from ``object``. The ``callback`` must take a single argument of type :ref:`NodePath<class_NodePath>`. It is called on the selected property path (see :ref:`NodePath.get_as_property_path<class_NodePath_method_get_as_property_path>`) or the empty path ``^""`` if the dialog is canceled. If ``type_filter`` is provided, the dialog will only show properties that match one of the listed :ref:`Variant.Type<enum_@GlobalScope_Variant.Type>` values. + +\ **Example:**\ + +:: + + func _ready(): + if Engine.is_editor_hint(): + EditorInterface.popup_property_selector(this, _on_property_selected, [TYPE_INT]) + + func _on_property_selected(property_path): + if property_path.is_empty(): + print("property selection canceled") + else: + print("selected ", property_path) + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorInterface_method_reload_scene_from_path: .. rst-class:: classref-method diff --git a/classes/class_editorplugin.rst b/classes/class_editorplugin.rst index e47ec3de3fa..43fc2e2e45c 100644 --- a/classes/class_editorplugin.rst +++ b/classes/class_editorplugin.rst @@ -203,9 +203,9 @@ Emitted when user changes the workspace (**2D**, **3D**, **Script**, **AssetLib* **project_settings_changed** **(** **)** -Emitted when any project setting has changed. +**Deprecated:** Use :ref:`ProjectSettings.settings_changed<class_ProjectSettings_signal_settings_changed>` instead. -\ *Deprecated.* Use :ref:`ProjectSettings.settings_changed<class_ProjectSettings_signal_settings_changed>` instead. +Emitted when any project setting has changed. .. rst-class:: classref-item-separator @@ -217,7 +217,7 @@ Emitted when any project setting has changed. **resource_saved** **(** :ref:`Resource<class_Resource>` resource **)** -Emitted when the given ``resource`` was saved on disc. +Emitted when the given ``resource`` was saved on disc. See also :ref:`scene_saved<class_EditorPlugin_signal_scene_saved>`. .. rst-class:: classref-item-separator @@ -241,7 +241,19 @@ Emitted when the scene is changed in the editor. The argument will return the ro **scene_closed** **(** :ref:`String<class_String>` filepath **)** -Emitted when user closes a scene. The argument is file path to a closed scene. +Emitted when user closes a scene. The argument is a file path to the closed scene. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorPlugin_signal_scene_saved: + +.. rst-class:: classref-signal + +**scene_saved** **(** :ref:`String<class_String>` filepath **)** + +Emitted when a scene was saved on disc. The argument is a file path to the saved scene. See also :ref:`resource_saved<class_EditorPlugin_signal_resource_saved>`. .. rst-class:: classref-section-separator @@ -970,7 +982,7 @@ Implement this function if your plugin edits a specific type of object (Resource Returns ``true`` if this is a main screen editor plugin (it goes in the workspace selector together with **2D**, **3D**, **Script** and **AssetLib**). -When the plugin's workspace is selected, other main screen plugins will be hidden, but your plugin will not appear automatically. It needs to be added as a child of :ref:`EditorInterface.get_base_control<class_EditorInterface_method_get_base_control>` and made visible inside :ref:`_make_visible<class_EditorPlugin_private_method__make_visible>`. +When the plugin's workspace is selected, other main screen plugins will be hidden, but your plugin will not appear automatically. It needs to be added as a child of :ref:`EditorInterface.get_editor_main_screen<class_EditorInterface_method_get_editor_main_screen>` and made visible inside :ref:`_make_visible<class_EditorPlugin_private_method__make_visible>`. Use :ref:`_get_plugin_name<class_EditorPlugin_private_method__get_plugin_name>` and :ref:`_get_plugin_icon<class_EditorPlugin_private_method__get_plugin_icon>` to customize the plugin button's appearance. @@ -1327,9 +1339,9 @@ The callback should have 4 arguments: :ref:`Object<class_Object>` ``undo_redo``, :ref:`EditorInterface<class_EditorInterface>` **get_editor_interface** **(** **)** -Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance. +**Deprecated:** :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name. -\ *Deprecated.* :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name. +Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance. .. rst-class:: classref-item-separator diff --git a/classes/class_editorproperty.rst b/classes/class_editorproperty.rst index b37f4d12330..b13bfa3a641 100644 --- a/classes/class_editorproperty.rst +++ b/classes/class_editorproperty.rst @@ -29,21 +29,23 @@ Properties .. table:: :widths: auto - +-----------------------------+-----------------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`checkable<class_EditorProperty_property_checkable>` | ``false`` | - +-----------------------------+-----------------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`checked<class_EditorProperty_property_checked>` | ``false`` | - +-----------------------------+-----------------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`deletable<class_EditorProperty_property_deletable>` | ``false`` | - +-----------------------------+-----------------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`draw_warning<class_EditorProperty_property_draw_warning>` | ``false`` | - +-----------------------------+-----------------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`keying<class_EditorProperty_property_keying>` | ``false`` | - +-----------------------------+-----------------------------------------------------------------+-----------+ - | :ref:`String<class_String>` | :ref:`label<class_EditorProperty_property_label>` | ``""`` | - +-----------------------------+-----------------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`read_only<class_EditorProperty_property_read_only>` | ``false`` | - +-----------------------------+-----------------------------------------------------------------+-----------+ + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`checkable<class_EditorProperty_property_checkable>` | ``false`` | + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`checked<class_EditorProperty_property_checked>` | ``false`` | + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`String<class_String>` | :ref:`configuration_warning<class_EditorProperty_property_configuration_warning>` | ``""`` | + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`deletable<class_EditorProperty_property_deletable>` | ``false`` | + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`draw_warning<class_EditorProperty_property_draw_warning>` | ``false`` | + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`keying<class_EditorProperty_property_keying>` | ``false`` | + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`String<class_String>` | :ref:`label<class_EditorProperty_property_label>` | ``""`` | + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`read_only<class_EditorProperty_property_read_only>` | ``false`` | + +-----------------------------+-----------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -253,6 +255,23 @@ Used by the inspector, set to ``true`` when the property is checked. ---- +.. _class_EditorProperty_property_configuration_warning: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **configuration_warning** = ``""`` + +.. rst-class:: classref-property-setget + +- void **set_configuration_warning** **(** :ref:`String<class_String>` value **)** +- :ref:`String<class_String>` **get_configuration_warning** **(** **)** + +Used by the inspector, set to show a configuration warning on the property. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorProperty_property_deletable: .. rst-class:: classref-property diff --git a/classes/class_editorsceneformatimporterblend.rst b/classes/class_editorsceneformatimporterblend.rst index cf4875a8a8d..aa111436f36 100644 --- a/classes/class_editorsceneformatimporterblend.rst +++ b/classes/class_editorsceneformatimporterblend.rst @@ -21,7 +21,7 @@ Description Imports Blender scenes in the ``.blend`` file format through the glTF 2.0 3D import pipeline. This importer requires Blender to be installed by the user, so that it can be used to export the scene as glTF 2.0. -The location of the Blender binary is set via the ``filesystem/import/blender/blender3_path`` editor setting. +The location of the Blender binary is set via the ``filesystem/import/blender/blender_path`` editor setting. This importer is only used if :ref:`ProjectSettings.filesystem/import/blender/enabled<class_ProjectSettings_property_filesystem/import/blender/enabled>` is enabled, otherwise ``.blend`` files present in the project folder are not imported. diff --git a/classes/class_editorscript.rst b/classes/class_editorscript.rst index 1d8aebe34cc..c234e3e11e9 100644 --- a/classes/class_editorscript.rst +++ b/classes/class_editorscript.rst @@ -114,9 +114,9 @@ Adds ``node`` as a child of the root node in the editor context. :ref:`EditorInterface<class_EditorInterface>` **get_editor_interface** **(** **)** |const| -Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance. +**Deprecated:** :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name. -\ *Deprecated.* :ref:`EditorInterface<class_EditorInterface>` is a global singleton and can be accessed directly by its name. +Returns the :ref:`EditorInterface<class_EditorInterface>` singleton instance. .. rst-class:: classref-item-separator diff --git a/classes/class_editorsettings.rst b/classes/class_editorsettings.rst index dc1fbac080d..75a12fd7946 100644 --- a/classes/class_editorsettings.rst +++ b/classes/class_editorsettings.rst @@ -83,6 +83,8 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`docks/scene_tree/auto_expand_to_selected<class_EditorSettings_property_docks/scene_tree/auto_expand_to_selected>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`docks/scene_tree/center_node_on_reparent<class_EditorSettings_property_docks/scene_tree/center_node_on_reparent>` | + +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`docks/scene_tree/start_create_dialog_fully_expanded<class_EditorSettings_property_docks/scene_tree/start_create_dialog_fully_expanded>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color<class_Color>` | :ref:`editors/2d/bone_color1<class_EditorSettings_property_editors/2d/bone_color1>` | @@ -245,7 +247,7 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`filesystem/file_dialog/thumbnail_size<class_EditorSettings_property_filesystem/file_dialog/thumbnail_size>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`filesystem/import/blender/blender3_path<class_EditorSettings_property_filesystem/import/blender/blender3_path>` | + | :ref:`String<class_String>` | :ref:`filesystem/import/blender/blender_path<class_EditorSettings_property_filesystem/import/blender/blender_path>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`filesystem/import/blender/rpc_port<class_EditorSettings_property_filesystem/import/blender/rpc_port>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -309,6 +311,8 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`interface/editor/show_internal_errors_in_toast_notifications<class_EditorSettings_property_interface/editor/show_internal_errors_in_toast_notifications>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`interface/editor/show_update_spinner<class_EditorSettings_property_interface/editor/show_update_spinner>` | + +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`interface/editor/single_window_mode<class_EditorSettings_property_interface/editor/single_window_mode>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`interface/editor/ui_layout_direction<class_EditorSettings_property_interface/editor/ui_layout_direction>` | @@ -317,6 +321,8 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`interface/editor/use_embedded_menu<class_EditorSettings_property_interface/editor/use_embedded_menu>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`interface/editor/vsync_mode<class_EditorSettings_property_interface/editor/vsync_mode>` | + +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`interface/inspector/float_drag_speed<class_EditorSettings_property_interface/inspector/float_drag_speed>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`interface/inspector/max_array_dictionary_items_per_page<class_EditorSettings_property_interface/inspector/max_array_dictionary_items_per_page>` | @@ -373,6 +379,8 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`interface/touchscreen/scale_gizmo_handles<class_EditorSettings_property_interface/touchscreen/scale_gizmo_handles>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`network/connection/network_mode<class_EditorSettings_property_network/connection/network_mode>` | + +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String<class_String>` | :ref:`network/debug/remote_host<class_EditorSettings_property_network/debug/remote_host>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`network/debug/remote_port<class_EditorSettings_property_network/debug/remote_port>` | @@ -397,6 +405,8 @@ Properties +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`run/output/font_size<class_EditorSettings_property_run/output/font_size>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`run/platforms/linuxbsd/prefer_wayland<class_EditorSettings_property_run/platforms/linuxbsd/prefer_wayland>` | + +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`run/window_placement/android_window<class_EditorSettings_property_run/window_placement/android_window>` | +-------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`run/window_placement/rect<class_EditorSettings_property_run/window_placement/rect>` | @@ -817,6 +827,18 @@ If ``true``, the scene tree dock will automatically unfold nodes when a node tha ---- +.. _class_EditorSettings_property_docks/scene_tree/center_node_on_reparent: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **docks/scene_tree/center_node_on_reparent** + +If ``true``, new node created when reparenting node(s) will be positioned at the average position of the selected node(s). + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_docks/scene_tree/start_create_dialog_fully_expanded: .. rst-class:: classref-property @@ -983,7 +1005,9 @@ The color of the viewport border in the 2D editor. This border represents the vi :ref:`float<class_float>` **editors/3d/default_fov** -The default camera field of view to use in the 3D editor (in degrees). The camera field of view can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera field of view adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor. +The default camera vertical field of view to use in the 3D editor (in degrees). The camera field of view can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera field of view adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a :ref:`Camera3D<class_Camera3D>` node is being previewed in the editor. + +\ **Note:** The editor camera always uses the **Keep Height** aspect mode. .. rst-class:: classref-item-separator @@ -995,7 +1019,7 @@ The default camera field of view to use in the 3D editor (in degrees). The camer :ref:`float<class_float>` **editors/3d/default_z_far** -The default camera far clip distance to use in the 3D editor (in degrees). Higher values make it possible to view objects placed further away from the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera far clip distance can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera far clip distance adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor. +The default camera far clip distance to use in the 3D editor (in degrees). Higher values make it possible to view objects placed further away from the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera far clip distance can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera far clip distance adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a :ref:`Camera3D<class_Camera3D>` node is being previewed in the editor. .. rst-class:: classref-item-separator @@ -1007,7 +1031,7 @@ The default camera far clip distance to use in the 3D editor (in degrees). Highe :ref:`float<class_float>` **editors/3d/default_z_near** -The default camera near clip distance to use in the 3D editor (in degrees). Lower values make it possible to view objects placed closer to the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera near clip distance can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera near clip distance adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a Camera3D node is being previewed in the editor. +The default camera near clip distance to use in the 3D editor (in degrees). Lower values make it possible to view objects placed closer to the camera, at the cost of lower precision in the depth buffer (which can result in visible Z-fighting in the distance). The camera near clip distance can be adjusted on a per-scene basis using the **View** menu at the top of the 3D editor. If a scene had its camera near clip distance adjusted using the **View** menu, this setting is ignored in the scene in question. This setting is also ignored while a :ref:`Camera3D<class_Camera3D>` node is being previewed in the editor. .. rst-class:: classref-item-separator @@ -1853,11 +1877,11 @@ The thumbnail size to use in the editor's file dialogs (in pixels). See also :re ---- -.. _class_EditorSettings_property_filesystem/import/blender/blender3_path: +.. _class_EditorSettings_property_filesystem/import/blender/blender_path: .. rst-class:: classref-property -:ref:`String<class_String>` **filesystem/import/blender/blender3_path** +:ref:`String<class_String>` **filesystem/import/blender/blender_path** The path to the directory containing the Blender executable used for converting the Blender 3D scene files ``.blend`` to glTF 2.0 format during import. Blender 3.0 or later is required. @@ -2277,7 +2301,23 @@ If ``true``, the editor's Script tab will have a separate distraction mode setti If enabled, displays internal engine errors in toast notifications (toggleable by clicking the "bell" icon at the bottom of the editor). No matter the value of this setting, non-internal engine errors will always be visible in toast notifications. -The default **Auto** value will only enable this if the editor was compiled with the ``dev=yes`` option (the default is ``dev=no``). +The default **Auto** value will only enable this if the editor was compiled with the ``dev_build=yes`` SCons option (the default is ``dev_build=no``). + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorSettings_property_interface/editor/show_update_spinner: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **interface/editor/show_update_spinner** + +If enabled, displays an icon in the top-right corner of the editor that spins when the editor redraws a frame. This can be used to diagnose situations where the engine is constantly redrawing, which should be avoided as this increases CPU and GPU utilization for no good reason. To further troubleshoot these situations, start the editor with the ``--debug-canvas-item-redraw`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. + +Consider enabling this if you are developing editor plugins to ensure they only make the editor redraw when required. + +The default **Auto** value will only enable this if the editor was compiled with the ``dev_build=yes`` SCons option (the default is ``dev_build=no``). .. rst-class:: classref-item-separator @@ -2291,6 +2331,8 @@ The default **Auto** value will only enable this if the editor was compiled with If ``true``, embed modal windows such as docks inside the main editor window. When single-window mode is enabled, tooltips will also be embedded inside the main editor window, which means they can't be displayed outside of the editor window. +\ **Note:** To query whether the editor can use multiple windows in an editor plugin, use :ref:`EditorInterface.is_multi_window_enabled<class_EditorInterface_method_is_multi_window_enabled>` instead of querying the value of this editor setting. + .. rst-class:: classref-item-separator ---- @@ -2333,6 +2375,22 @@ Specific to the macOS platform. ---- +.. _class_EditorSettings_property_interface/editor/vsync_mode: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **interface/editor/vsync_mode** + +Sets the V-Sync mode for the editor. Does not affect the project when run from the editor (this is controlled by :ref:`ProjectSettings.display/window/vsync/vsync_mode<class_ProjectSettings_property_display/window/vsync/vsync_mode>`). + +Depending on the platform and used renderer, the engine will fall back to **Enabled** if the desired mode is not supported. + +\ **Note:** V-Sync modes other than **Enabled** are only supported in the Forward+ and Mobile rendering methods, not Compatibility. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_interface/inspector/float_drag_speed: .. rst-class:: classref-property @@ -2375,10 +2433,12 @@ If ``true``, display OpenType features marked as ``hidden`` by the font file in :ref:`bool<class_bool>` **interface/multi_window/enable** -If ``true``, the multi window support in editor is enabled. The following panels can become dedicated windows (made floating): Docks, Script editor, and Shader editor. +If ``true``, multiple window support in editor is enabled. The following panels can become dedicated windows (i.e. made floating): Docks, Script editor, and Shader editor. \ **Note:** When :ref:`interface/editor/single_window_mode<class_EditorSettings_property_interface/editor/single_window_mode>` is ``true``, the multi window support is always disabled. +\ **Note:** To query whether the editor can use multiple windows in an editor plugin, use :ref:`EditorInterface.is_multi_window_enabled<class_EditorInterface_method_is_multi_window_enabled>` instead of querying the value of this editor setting. + .. rst-class:: classref-item-separator ---- @@ -2477,7 +2537,7 @@ The color to use for "highlighted" user interface elements in the editor (presse The extra spacing to add to various GUI elements in the editor (in pixels). Increasing this value is useful to improve usability on touch screens, at the cost of reducing the amount of usable screen real estate. - See also :ref:`interface/theme/spacing_preset<class_EditorSettings_property_interface/theme/spacing_preset>`. +See also :ref:`interface/theme/spacing_preset<class_EditorSettings_property_interface/theme/spacing_preset>`. .. rst-class:: classref-item-separator @@ -2691,6 +2751,18 @@ Specify the multiplier to apply to the scale for the editor gizmo handles to imp ---- +.. _class_EditorSettings_property_network/connection/network_mode: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **network/connection/network_mode** + +Determines whether online features are enabled in the editor, such as the Asset Library. Setting this property to "Offline" is recommended to limit editor's internet activity, especially if privacy is a concern. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_network/debug/remote_host: .. rst-class:: classref-property @@ -2839,6 +2911,18 @@ The size of the font in the **Output** panel at the bottom of the editor. This s ---- +.. _class_EditorSettings_property_run/platforms/linuxbsd/prefer_wayland: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **run/platforms/linuxbsd/prefer_wayland** + +If ``true``, on Linux/BSD, the editor will check for Wayland first instead of X11 (if available). + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_run/window_placement/android_window: .. rst-class:: classref-property @@ -3309,7 +3393,7 @@ The number of pixels to scroll with every mouse wheel increment. Higher values m :ref:`bool<class_bool>` **text_editor/completion/add_type_hints** -If ``true``, adds static typing hints such as ``-> void`` and ``: int`` when using code autocompletion or when creating onready variables by drag and dropping nodes into the script editor while pressing the :kbd:`Ctrl` key. +If ``true``, adds :doc:`GDScript static typing <../tutorials/scripting/gdscript/static_typing>` hints such as ``-> void`` and ``: int`` when using code autocompletion or when creating onready variables by drag and dropping nodes into the script editor while pressing the :kbd:`Ctrl` key. If ``true``, newly created scripts will also automatically have type hints added to their method parameters and return types. .. rst-class:: classref-item-separator diff --git a/classes/class_engine.rst b/classes/class_engine.rst index b5d88453fa2..25660895a2a 100644 --- a/classes/class_engine.rst +++ b/classes/class_engine.rst @@ -542,8 +542,6 @@ Returns the current engine version information in a Dictionary. \ ``hash`` - Holds the full Git commit hash as a String -\ ``year`` - Holds the year the version was released in as an int - \ ``string`` - ``major`` + ``minor`` + ``patch`` + ``status`` + ``build`` in a single String The ``hex`` value is encoded as follows, from left to right: one byte for the major, one byte for the minor, one byte for the patch version. For example, "3.1.12" would be ``0x03010C``. **Note:** It's still an int internally, and printing it will give you its decimal representation, which is not particularly meaningful. Use hexadecimal literals for easy version comparisons from code: diff --git a/classes/class_filedialog.rst b/classes/class_filedialog.rst index 22831cdb831..1bad9f7be2d 100644 --- a/classes/class_filedialog.rst +++ b/classes/class_filedialog.rst @@ -46,6 +46,8 @@ Properties +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`mode_overrides_title<class_FileDialog_property_mode_overrides_title>` | ``true`` | +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`option_count<class_FileDialog_property_option_count>` | ``0`` | + +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`String<class_String>` | :ref:`root_subfolder<class_FileDialog_property_root_subfolder>` | ``""`` | +---------------------------------------------------+-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`show_hidden_files<class_FileDialog_property_show_hidden_files>` | ``false`` | @@ -63,19 +65,35 @@ Methods .. table:: :widths: auto - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`add_filter<class_FileDialog_method_add_filter>` **(** :ref:`String<class_String>` filter, :ref:`String<class_String>` description="" **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`clear_filters<class_FileDialog_method_clear_filters>` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`deselect_all<class_FileDialog_method_deselect_all>` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`LineEdit<class_LineEdit>` | :ref:`get_line_edit<class_FileDialog_method_get_line_edit>` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`VBoxContainer<class_VBoxContainer>` | :ref:`get_vbox<class_FileDialog_method_get_vbox>` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`invalidate<class_FileDialog_method_invalidate>` **(** **)** | - +-------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`add_filter<class_FileDialog_method_add_filter>` **(** :ref:`String<class_String>` filter, :ref:`String<class_String>` description="" **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`add_option<class_FileDialog_method_add_option>` **(** :ref:`String<class_String>` name, :ref:`PackedStringArray<class_PackedStringArray>` values, :ref:`int<class_int>` index **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`clear_filters<class_FileDialog_method_clear_filters>` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`deselect_all<class_FileDialog_method_deselect_all>` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`LineEdit<class_LineEdit>` | :ref:`get_line_edit<class_FileDialog_method_get_line_edit>` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_option_default<class_FileDialog_method_get_option_default>` **(** :ref:`int<class_int>` option **)** |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_option_name<class_FileDialog_method_get_option_name>` **(** :ref:`int<class_int>` option **)** |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_option_values<class_FileDialog_method_get_option_values>` **(** :ref:`int<class_int>` option **)** |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary<class_Dictionary>` | :ref:`get_selected_options<class_FileDialog_method_get_selected_options>` **(** **)** |const| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`VBoxContainer<class_VBoxContainer>` | :ref:`get_vbox<class_FileDialog_method_get_vbox>` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`invalidate<class_FileDialog_method_invalidate>` **(** **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_option_default<class_FileDialog_method_set_option_default>` **(** :ref:`int<class_int>` option, :ref:`int<class_int>` index **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_option_name<class_FileDialog_method_set_option_name>` **(** :ref:`int<class_int>` option, :ref:`String<class_String>` name **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_option_values<class_FileDialog_method_set_option_values>` **(** :ref:`int<class_int>` option, :ref:`PackedStringArray<class_PackedStringArray>` values **)** | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group @@ -367,6 +385,23 @@ If ``true``, changing the :ref:`file_mode<class_FileDialog_property_file_mode>` ---- +.. _class_FileDialog_property_option_count: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **option_count** = ``0`` + +.. rst-class:: classref-property-setget + +- void **set_option_count** **(** :ref:`int<class_int>` value **)** +- :ref:`int<class_int>` **get_option_count** **(** **)** + +The number of additional :ref:`OptionButton<class_OptionButton>`\ s and :ref:`CheckBox<class_CheckBox>`\ es in the dialog. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_property_root_subfolder: .. rst-class:: classref-property @@ -441,6 +476,18 @@ For example, a ``filter`` of ``"*.png, *.jpg"`` and a ``description`` of ``"Imag ---- +.. _class_FileDialog_method_add_option: + +.. rst-class:: classref-method + +void **add_option** **(** :ref:`String<class_String>` name, :ref:`PackedStringArray<class_PackedStringArray>` values, :ref:`int<class_int>` index **)** + +Adds an additional :ref:`OptionButton<class_OptionButton>` to the file dialog. If ``values`` is empty, a :ref:`CheckBox<class_CheckBox>` is added instead. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_method_clear_filters: .. rst-class:: classref-method @@ -479,6 +526,54 @@ Returns the LineEdit for the selected file. ---- +.. _class_FileDialog_method_get_option_default: + +.. rst-class:: classref-method + +:ref:`int<class_int>` **get_option_default** **(** :ref:`int<class_int>` option **)** |const| + +Returns the default value index of the :ref:`OptionButton<class_OptionButton>` or :ref:`CheckBox<class_CheckBox>` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_get_option_name: + +.. rst-class:: classref-method + +:ref:`String<class_String>` **get_option_name** **(** :ref:`int<class_int>` option **)** |const| + +Returns the name of the :ref:`OptionButton<class_OptionButton>` or :ref:`CheckBox<class_CheckBox>` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_get_option_values: + +.. rst-class:: classref-method + +:ref:`PackedStringArray<class_PackedStringArray>` **get_option_values** **(** :ref:`int<class_int>` option **)** |const| + +Returns an array of values of the :ref:`OptionButton<class_OptionButton>` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_get_selected_options: + +.. rst-class:: classref-method + +:ref:`Dictionary<class_Dictionary>` **get_selected_options** **(** **)** |const| + +Returns a :ref:`Dictionary<class_Dictionary>` with the selected values of the additional :ref:`OptionButton<class_OptionButton>`\ s and/or :ref:`CheckBox<class_CheckBox>`\ es. :ref:`Dictionary<class_Dictionary>` keys are names and values are selected value indices. + +.. rst-class:: classref-item-separator + +---- + .. _class_FileDialog_method_get_vbox: .. rst-class:: classref-method @@ -501,6 +596,42 @@ void **invalidate** **(** **)** Invalidate and update the current dialog content list. +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_set_option_default: + +.. rst-class:: classref-method + +void **set_option_default** **(** :ref:`int<class_int>` option, :ref:`int<class_int>` index **)** + +Sets the default value index of the :ref:`OptionButton<class_OptionButton>` or :ref:`CheckBox<class_CheckBox>` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_set_option_name: + +.. rst-class:: classref-method + +void **set_option_name** **(** :ref:`int<class_int>` option, :ref:`String<class_String>` name **)** + +Sets the name of the :ref:`OptionButton<class_OptionButton>` or :ref:`CheckBox<class_CheckBox>` with index ``option``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_FileDialog_method_set_option_values: + +.. rst-class:: classref-method + +void **set_option_values** **(** :ref:`int<class_int>` option, :ref:`PackedStringArray<class_PackedStringArray>` values **)** + +Sets the option values of the :ref:`OptionButton<class_OptionButton>` with index ``option``. + .. rst-class:: classref-section-separator ---- diff --git a/classes/class_flowcontainer.rst b/classes/class_flowcontainer.rst index f1102e108ed..48f466ba9a2 100644 --- a/classes/class_flowcontainer.rst +++ b/classes/class_flowcontainer.rst @@ -38,11 +38,13 @@ Properties .. table:: :widths: auto - +--------------------------------------------------------+----------------------------------------------------------+-----------+ - | :ref:`AlignmentMode<enum_FlowContainer_AlignmentMode>` | :ref:`alignment<class_FlowContainer_property_alignment>` | ``0`` | - +--------------------------------------------------------+----------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`vertical<class_FlowContainer_property_vertical>` | ``false`` | - +--------------------------------------------------------+----------------------------------------------------------+-----------+ + +--------------------------------------------------------+----------------------------------------------------------------+-----------+ + | :ref:`AlignmentMode<enum_FlowContainer_AlignmentMode>` | :ref:`alignment<class_FlowContainer_property_alignment>` | ``0`` | + +--------------------------------------------------------+----------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`reverse_fill<class_FlowContainer_property_reverse_fill>` | ``false`` | + +--------------------------------------------------------+----------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`vertical<class_FlowContainer_property_vertical>` | ``false`` | + +--------------------------------------------------------+----------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -135,6 +137,25 @@ The alignment of the container's children (must be one of :ref:`ALIGNMENT_BEGIN< ---- +.. _class_FlowContainer_property_reverse_fill: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **reverse_fill** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_reverse_fill** **(** :ref:`bool<class_bool>` value **)** +- :ref:`bool<class_bool>` **is_reverse_fill** **(** **)** + +If ``true``, reverses fill direction. Horizontal **FlowContainer**\ s will fill rows bottom to top, vertical **FlowContainer**\ s will fill columns right to left. + +When using a vertical **FlowContainer** with a right to left :ref:`Control.layout_direction<class_Control_property_layout_direction>`, columns will fill left to right instead. + +.. rst-class:: classref-item-separator + +---- + .. _class_FlowContainer_property_vertical: .. rst-class:: classref-property diff --git a/classes/class_font.rst b/classes/class_font.rst index 11f5a46d350..438729615d5 100644 --- a/classes/class_font.rst +++ b/classes/class_font.rst @@ -56,7 +56,7 @@ Methods +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_string_outline<class_Font_method_draw_string_outline>` **(** :ref:`RID<class_RID>` canvas_item, :ref:`Vector2<class_Vector2>` pos, :ref:`String<class_String>` text, :ref:`HorizontalAlignment<enum_@GlobalScope_HorizontalAlignment>` alignment=0, :ref:`float<class_float>` width=-1, :ref:`int<class_int>` font_size=16, :ref:`int<class_int>` size=1, :ref:`Color<class_Color>` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\> justification_flags=3, :ref:`Direction<enum_TextServer_Direction>` direction=0, :ref:`Orientation<enum_TextServer_Orientation>` orientation=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RID<class_RID>` | :ref:`find_variation<class_Font_method_find_variation>` **(** :ref:`Dictionary<class_Dictionary>` variation_coordinates, :ref:`int<class_int>` face_index=0, :ref:`float<class_float>` strength=0.0, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int<class_int>` spacing_top=0, :ref:`int<class_int>` spacing_bottom=0, :ref:`int<class_int>` spacing_space=0, :ref:`int<class_int>` spacing_glyph=0 **)** |const| | + | :ref:`RID<class_RID>` | :ref:`find_variation<class_Font_method_find_variation>` **(** :ref:`Dictionary<class_Dictionary>` variation_coordinates, :ref:`int<class_int>` face_index=0, :ref:`float<class_float>` strength=0.0, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int<class_int>` spacing_top=0, :ref:`int<class_int>` spacing_bottom=0, :ref:`int<class_int>` spacing_space=0, :ref:`int<class_int>` spacing_glyph=0, :ref:`float<class_float>` baseline_offset=0.0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`get_ascent<class_Font_method_get_ascent>` **(** :ref:`int<class_int>` font_size=16 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -230,7 +230,7 @@ See also :ref:`CanvasItem.draw_string_outline<class_CanvasItem_method_draw_strin .. rst-class:: classref-method -:ref:`RID<class_RID>` **find_variation** **(** :ref:`Dictionary<class_Dictionary>` variation_coordinates, :ref:`int<class_int>` face_index=0, :ref:`float<class_float>` strength=0.0, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int<class_int>` spacing_top=0, :ref:`int<class_int>` spacing_bottom=0, :ref:`int<class_int>` spacing_space=0, :ref:`int<class_int>` spacing_glyph=0 **)** |const| +:ref:`RID<class_RID>` **find_variation** **(** :ref:`Dictionary<class_Dictionary>` variation_coordinates, :ref:`int<class_int>` face_index=0, :ref:`float<class_float>` strength=0.0, :ref:`Transform2D<class_Transform2D>` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int<class_int>` spacing_top=0, :ref:`int<class_int>` spacing_bottom=0, :ref:`int<class_int>` spacing_space=0, :ref:`int<class_int>` spacing_glyph=0, :ref:`float<class_float>` baseline_offset=0.0 **)** |const| Returns :ref:`TextServer<class_TextServer>` RID of the font cache for specific variation. diff --git a/classes/class_fontfile.rst b/classes/class_fontfile.rst index e808a1206b4..be350d31a50 100644 --- a/classes/class_fontfile.rst +++ b/classes/class_fontfile.rst @@ -146,6 +146,8 @@ Methods +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`get_embolden<class_FontFile_method_get_embolden>` **(** :ref:`int<class_int>` cache_index **)** |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`get_extra_baseline_offset<class_FontFile_method_get_extra_baseline_offset>` **(** :ref:`int<class_int>` cache_index **)** |const| | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`get_extra_spacing<class_FontFile_method_get_extra_spacing>` **(** :ref:`int<class_int>` cache_index, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing **)** |const| | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`get_face_index<class_FontFile_method_get_face_index>` **(** :ref:`int<class_int>` cache_index **)** |const| | @@ -222,6 +224,8 @@ Methods +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_embolden<class_FontFile_method_set_embolden>` **(** :ref:`int<class_int>` cache_index, :ref:`float<class_float>` strength **)** | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_extra_baseline_offset<class_FontFile_method_set_extra_baseline_offset>` **(** :ref:`int<class_int>` cache_index, :ref:`float<class_float>` baseline_offset **)** | + +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_extra_spacing<class_FontFile_method_set_extra_spacing>` **(** :ref:`int<class_int>` cache_index, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing, :ref:`int<class_int>` value **)** | +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_face_index<class_FontFile_method_set_face_index>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` face_index **)** | @@ -752,6 +756,18 @@ Returns embolden strength, if is not equal to zero, emboldens the font outlines. ---- +.. _class_FontFile_method_get_extra_baseline_offset: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **get_extra_baseline_offset** **(** :ref:`int<class_int>` cache_index **)** |const| + +Returns extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_FontFile_method_get_extra_spacing: .. rst-class:: classref-method @@ -1218,6 +1234,18 @@ Sets embolden strength, if is not equal to zero, emboldens the font outlines. Ne ---- +.. _class_FontFile_method_set_extra_baseline_offset: + +.. rst-class:: classref-method + +void **set_extra_baseline_offset** **(** :ref:`int<class_int>` cache_index, :ref:`float<class_float>` baseline_offset **)** + +Sets extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_FontFile_method_set_extra_spacing: .. rst-class:: classref-method diff --git a/classes/class_fontvariation.rst b/classes/class_fontvariation.rst index 754aa0b6342..023f5d3b47b 100644 --- a/classes/class_fontvariation.rst +++ b/classes/class_fontvariation.rst @@ -64,6 +64,8 @@ Properties +---------------------------------------+--------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Font<class_Font>` | :ref:`base_font<class_FontVariation_property_base_font>` | | +---------------------------------------+--------------------------------------------------------------------------------+-----------------------------------+ + | :ref:`float<class_float>` | :ref:`baseline_offset<class_FontVariation_property_baseline_offset>` | ``0.0`` | + +---------------------------------------+--------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Dictionary<class_Dictionary>` | :ref:`opentype_features<class_FontVariation_property_opentype_features>` | ``{}`` | +---------------------------------------+--------------------------------------------------------------------------------+-----------------------------------+ | :ref:`int<class_int>` | :ref:`spacing_bottom<class_FontVariation_property_spacing_bottom>` | ``0`` | @@ -121,6 +123,23 @@ Base font used to create a variation. If not set, default :ref:`Theme<class_Them ---- +.. _class_FontVariation_property_baseline_offset: + +.. rst-class:: classref-property + +:ref:`float<class_float>` **baseline_offset** = ``0.0`` + +.. rst-class:: classref-property-setget + +- void **set_baseline_offset** **(** :ref:`float<class_float>` value **)** +- :ref:`float<class_float>` **get_baseline_offset** **(** **)** + +Extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_FontVariation_property_opentype_features: .. rst-class:: classref-property diff --git a/classes/class_gdextension.rst b/classes/class_gdextension.rst index 04eec5a7d10..958a439bf19 100644 --- a/classes/class_gdextension.rst +++ b/classes/class_gdextension.rst @@ -40,17 +40,11 @@ Methods .. table:: :widths: auto - +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`close_library<class_GDExtension_method_close_library>` **(** **)** | - +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`InitializationLevel<enum_GDExtension_InitializationLevel>` | :ref:`get_minimum_library_initialization_level<class_GDExtension_method_get_minimum_library_initialization_level>` **(** **)** |const| | - +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`initialize_library<class_GDExtension_method_initialize_library>` **(** :ref:`InitializationLevel<enum_GDExtension_InitializationLevel>` level **)** | - +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_library_open<class_GDExtension_method_is_library_open>` **(** **)** |const| | - +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`open_library<class_GDExtension_method_open_library>` **(** :ref:`String<class_String>` path, :ref:`String<class_String>` entry_symbol **)** | - +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------+ + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`InitializationLevel<enum_GDExtension_InitializationLevel>` | :ref:`get_minimum_library_initialization_level<class_GDExtension_method_get_minimum_library_initialization_level>` **(** **)** |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_library_open<class_GDExtension_method_is_library_open>` **(** **)** |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -108,20 +102,6 @@ The library is initialized at the same time as the engine's editor classes. Only Method Descriptions ------------------- -.. _class_GDExtension_method_close_library: - -.. rst-class:: classref-method - -void **close_library** **(** **)** - -Closes the current library. - -\ **Note:** You normally should not call this method directly. This is handled automatically by :ref:`GDExtensionManager.unload_extension<class_GDExtensionManager_method_unload_extension>`. - -.. rst-class:: classref-item-separator - ----- - .. _class_GDExtension_method_get_minimum_library_initialization_level: .. rst-class:: classref-method @@ -134,20 +114,6 @@ Returns the lowest level required for this extension to be properly initialized ---- -.. _class_GDExtension_method_initialize_library: - -.. rst-class:: classref-method - -void **initialize_library** **(** :ref:`InitializationLevel<enum_GDExtension_InitializationLevel>` level **)** - -Initializes the library bound to this GDextension at the given initialization ``level``. - -\ **Note:** You normally should not call this method directly. This is handled automatically by :ref:`GDExtensionManager.load_extension<class_GDExtensionManager_method_load_extension>`. - -.. rst-class:: classref-item-separator - ----- - .. _class_GDExtension_method_is_library_open: .. rst-class:: classref-method @@ -156,20 +122,6 @@ Initializes the library bound to this GDextension at the given initialization `` Returns ``true`` if this extension's library has been opened. -.. rst-class:: classref-item-separator - ----- - -.. _class_GDExtension_method_open_library: - -.. rst-class:: classref-method - -:ref:`Error<enum_@GlobalScope_Error>` **open_library** **(** :ref:`String<class_String>` path, :ref:`String<class_String>` entry_symbol **)** - -Opens the library at the specified ``path``. - -\ **Note:** You normally should not call this method directly. This is handled automatically by :ref:`GDExtensionManager.load_extension<class_GDExtensionManager_method_load_extension>`. - .. |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_gltfphysicsbody.rst b/classes/class_gltfphysicsbody.rst index 65e4847fa3a..f66e7b63681 100644 --- a/classes/class_gltfphysicsbody.rst +++ b/classes/class_gltfphysicsbody.rst @@ -19,7 +19,7 @@ Represents a GLTF physics body. Description ----------- -Represents a physics body as defined by the ``OMI_physics_body`` GLTF extension. This class is an intermediary between the GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future. +Represents a physics body as an intermediary between the ``OMI_physics_body`` GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future. .. rst-class:: classref-introduction-group @@ -38,19 +38,23 @@ Properties .. table:: :widths: auto - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`Vector3<class_Vector3>` | :ref:`angular_velocity<class_GLTFPhysicsBody_property_angular_velocity>` | ``Vector3(0, 0, 0)`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`String<class_String>` | :ref:`body_type<class_GLTFPhysicsBody_property_body_type>` | ``"static"`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`Vector3<class_Vector3>` | :ref:`center_of_mass<class_GLTFPhysicsBody_property_center_of_mass>` | ``Vector3(0, 0, 0)`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`Basis<class_Basis>` | :ref:`inertia_tensor<class_GLTFPhysicsBody_property_inertia_tensor>` | ``Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`Vector3<class_Vector3>` | :ref:`linear_velocity<class_GLTFPhysicsBody_property_linear_velocity>` | ``Vector3(0, 0, 0)`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ - | :ref:`float<class_float>` | :ref:`mass<class_GLTFPhysicsBody_property_mass>` | ``1.0`` | - +-------------------------------+--------------------------------------------------------------------------+--------------------------------------+ + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Vector3<class_Vector3>` | :ref:`angular_velocity<class_GLTFPhysicsBody_property_angular_velocity>` | ``Vector3(0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`String<class_String>` | :ref:`body_type<class_GLTFPhysicsBody_property_body_type>` | ``"rigid"`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Vector3<class_Vector3>` | :ref:`center_of_mass<class_GLTFPhysicsBody_property_center_of_mass>` | ``Vector3(0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Vector3<class_Vector3>` | :ref:`inertia_diagonal<class_GLTFPhysicsBody_property_inertia_diagonal>` | ``Vector3(0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Quaternion<class_Quaternion>` | :ref:`inertia_orientation<class_GLTFPhysicsBody_property_inertia_orientation>` | ``Quaternion(0, 0, 0, 1)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Basis<class_Basis>` | :ref:`inertia_tensor<class_GLTFPhysicsBody_property_inertia_tensor>` | ``Basis(0, 0, 0, 0, 0, 0, 0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`Vector3<class_Vector3>` | :ref:`linear_velocity<class_GLTFPhysicsBody_property_linear_velocity>` | ``Vector3(0, 0, 0)`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ + | :ref:`float<class_float>` | :ref:`mass<class_GLTFPhysicsBody_property_mass>` | ``1.0`` | + +-------------------------------------+--------------------------------------------------------------------------------+--------------------------------------+ .. rst-class:: classref-reftable-group @@ -100,14 +104,14 @@ The angular velocity of the physics body, in radians per second. This is only us .. rst-class:: classref-property -:ref:`String<class_String>` **body_type** = ``"static"`` +:ref:`String<class_String>` **body_type** = ``"rigid"`` .. rst-class:: classref-property-setget - void **set_body_type** **(** :ref:`String<class_String>` value **)** - :ref:`String<class_String>` **get_body_type** **(** **)** -The type of the body. When importing, this controls what type of :ref:`CollisionObject3D<class_CollisionObject3D>` node Godot should generate. Valid values are "static", "kinematic", "character", "rigid", "vehicle", and "trigger". +The type of the body. When importing, this controls what type of :ref:`CollisionObject3D<class_CollisionObject3D>` node Godot should generate. Valid values are "static", "animatable", "character", "rigid", "vehicle", and "trigger". When exporting, this will be squashed down to one of "static", "kinematic", or "dynamic" motion types, or the "trigger" property. .. rst-class:: classref-item-separator @@ -130,6 +134,42 @@ The center of mass of the body, in meters. This is in local space relative to th ---- +.. _class_GLTFPhysicsBody_property_inertia_diagonal: + +.. rst-class:: classref-property + +:ref:`Vector3<class_Vector3>` **inertia_diagonal** = ``Vector3(0, 0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_inertia_diagonal** **(** :ref:`Vector3<class_Vector3>` value **)** +- :ref:`Vector3<class_Vector3>` **get_inertia_diagonal** **(** **)** + +The inertia strength of the physics body, in kilogram meter squared (kg⋅m²). This represents the inertia around the principle axes, the diagonal of the inertia tensor matrix. This is only used when the body type is "rigid" or "vehicle". + +When converted to a Godot :ref:`RigidBody3D<class_RigidBody3D>` node, if this value is zero, then the inertia will be calculated automatically. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GLTFPhysicsBody_property_inertia_orientation: + +.. rst-class:: classref-property + +:ref:`Quaternion<class_Quaternion>` **inertia_orientation** = ``Quaternion(0, 0, 0, 1)`` + +.. rst-class:: classref-property-setget + +- void **set_inertia_orientation** **(** :ref:`Quaternion<class_Quaternion>` value **)** +- :ref:`Quaternion<class_Quaternion>` **get_inertia_orientation** **(** **)** + +The inertia orientation of the physics body. This defines the rotation of the inertia's principle axes relative to the object's local axes. This is only used when the body type is "rigid" or "vehicle" and :ref:`inertia_diagonal<class_GLTFPhysicsBody_property_inertia_diagonal>` is set to a non-zero value. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFPhysicsBody_property_inertia_tensor: .. rst-class:: classref-property @@ -141,6 +181,8 @@ The center of mass of the body, in meters. This is in local space relative to th - void **set_inertia_tensor** **(** :ref:`Basis<class_Basis>` value **)** - :ref:`Basis<class_Basis>` **get_inertia_tensor** **(** **)** +**Deprecated:** This property may be changed or removed in future versions. + The inertia tensor of the physics body, in kilogram meter squared (kg⋅m²). This is only used when the body type is "rigid" or "vehicle". When converted to a Godot :ref:`RigidBody3D<class_RigidBody3D>` node, if this value is zero, then the inertia will be calculated automatically. @@ -194,7 +236,7 @@ Method Descriptions :ref:`GLTFPhysicsBody<class_GLTFPhysicsBody>` **from_dictionary** **(** :ref:`Dictionary<class_Dictionary>` dictionary **)** |static| -Creates a new GLTFPhysicsBody instance by parsing the given :ref:`Dictionary<class_Dictionary>`. +Creates a new GLTFPhysicsBody instance by parsing the given :ref:`Dictionary<class_Dictionary>` in the ``OMI_physics_body`` GLTF extension format. .. rst-class:: classref-item-separator @@ -218,7 +260,7 @@ Create a new GLTFPhysicsBody instance from the given Godot :ref:`CollisionObject :ref:`Dictionary<class_Dictionary>` **to_dictionary** **(** **)** |const| -Serializes this GLTFPhysicsBody instance into a :ref:`Dictionary<class_Dictionary>`. +Serializes this GLTFPhysicsBody instance into a :ref:`Dictionary<class_Dictionary>`. It will be in the format expected by the ``OMI_physics_body`` GLTF extension. .. rst-class:: classref-item-separator diff --git a/classes/class_gltfphysicsshape.rst b/classes/class_gltfphysicsshape.rst index 7756f5ff7d2..de66d681693 100644 --- a/classes/class_gltfphysicsshape.rst +++ b/classes/class_gltfphysicsshape.rst @@ -19,7 +19,7 @@ Represents a GLTF physics shape. Description ----------- -Represents a physics shape as defined by the ``OMI_collider`` GLTF extension. This class is an intermediary between the GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future. +Represents a physics shape as defined by the ``OMI_physics_shape`` or ``OMI_collider`` GLTF extensions. This class is an intermediary between the GLTF data and Godot's nodes, and it's abstracted in a way that allows adding support for different GLTF physics extensions in the future. .. rst-class:: classref-introduction-group @@ -28,7 +28,9 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `OMI_collider GLTF extension <https://github.com/omigroup/gltf-extensions/tree/main/extensions/2.0/OMI_collider>`__ +- `OMI_physics_shape GLTF extension <https://github.com/omigroup/gltf-extensions/tree/main/extensions/2.0/OMI_physics_shape>`__ + +- `OMI_collider GLTF extension <https://github.com/omigroup/gltf-extensions/tree/main/extensions/2.0/Archived/OMI_collider>`__ .. rst-class:: classref-reftable-group @@ -237,7 +239,7 @@ Create a new GLTFPhysicsShape instance from the given Godot :ref:`CollisionShape :ref:`Dictionary<class_Dictionary>` **to_dictionary** **(** **)** |const| -Serializes this GLTFPhysicsShape instance into a :ref:`Dictionary<class_Dictionary>`. +Serializes this GLTFPhysicsShape instance into a :ref:`Dictionary<class_Dictionary>` in the format defined by ``OMI_physics_shape``. .. rst-class:: classref-item-separator diff --git a/classes/class_graphedit.rst b/classes/class_graphedit.rst index b90771943dc..baba47fd2b0 100644 --- a/classes/class_graphedit.rst +++ b/classes/class_graphedit.rst @@ -10,6 +10,8 @@ GraphEdit ========= +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` An editor for graph-like structures, using :ref:`GraphNode<class_GraphNode>`\ s. @@ -206,7 +208,7 @@ Signals **begin_node_move** **(** **)** -Emitted at the beginning of a GraphNode movement. +Emitted at the beginning of a :ref:`GraphElement<class_GraphElement>`'s movement. .. rst-class:: classref-item-separator @@ -278,7 +280,7 @@ Emitted when user drags a connection from an output port into the empty space of **copy_nodes_request** **(** **)** -Emitted when the user presses :kbd:`Ctrl + C`. +Emitted when this **GraphEdit** captures a ``ui_copy`` action (:kbd:`Ctrl + C` by default). In general, this signal indicates that the selected :ref:`GraphElement<class_GraphElement>`\ s should be copied. .. rst-class:: classref-item-separator @@ -290,7 +292,9 @@ Emitted when the user presses :kbd:`Ctrl + C`. **delete_nodes_request** **(** :ref:`StringName[]<class_StringName>` nodes **)** -Emitted when attempting to remove a GraphNode from the GraphEdit. Provides a list of node names to be removed (all selected nodes, excluding nodes without closing button). +Emitted when this **GraphEdit** captures a ``ui_graph_delete`` action (:kbd:`Delete` by default). + +\ ``nodes`` is an array of node names that should be removed. These usually include all selected nodes. .. rst-class:: classref-item-separator @@ -314,7 +318,7 @@ Emitted to the GraphEdit when the connection between ``from_port`` of ``from_nod **duplicate_nodes_request** **(** **)** -Emitted when a GraphNode is attempted to be duplicated in the GraphEdit. +Emitted when this **GraphEdit** captures a ``ui_graph_duplicate`` action (:kbd:`Ctrl + D` by default). In general, this signal indicates that the selected :ref:`GraphElement<class_GraphElement>`\ s should be duplicated. .. rst-class:: classref-item-separator @@ -326,7 +330,7 @@ Emitted when a GraphNode is attempted to be duplicated in the GraphEdit. **end_node_move** **(** **)** -Emitted at the end of a GraphNode movement. +Emitted at the end of a :ref:`GraphElement<class_GraphElement>`'s movement. .. rst-class:: classref-item-separator @@ -338,9 +342,7 @@ Emitted at the end of a GraphNode movement. **node_deselected** **(** :ref:`Node<class_Node>` node **)** -.. container:: contribute - - There is currently no description for this signal. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Emitted when the given :ref:`GraphElement<class_GraphElement>` node is deselected. .. rst-class:: classref-item-separator @@ -352,7 +354,7 @@ Emitted at the end of a GraphNode movement. **node_selected** **(** :ref:`Node<class_Node>` node **)** -Emitted when a GraphNode is selected. +Emitted when the given :ref:`GraphElement<class_GraphElement>` node is selected. .. rst-class:: classref-item-separator @@ -364,7 +366,7 @@ Emitted when a GraphNode is selected. **paste_nodes_request** **(** **)** -Emitted when the user presses :kbd:`Ctrl + V`. +Emitted when this **GraphEdit** captures a ``ui_paste`` action (:kbd:`Ctrl + V` by default). In general, this signal indicates that previously copied :ref:`GraphElement<class_GraphElement>`\ s should be pasted. .. rst-class:: classref-item-separator diff --git a/classes/class_graphelement.rst b/classes/class_graphelement.rst index 13b3487853e..c571334e1d3 100644 --- a/classes/class_graphelement.rst +++ b/classes/class_graphelement.rst @@ -10,6 +10,8 @@ GraphElement ============ +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` **Inherited By:** :ref:`GraphNode<class_GraphNode>` diff --git a/classes/class_graphnode.rst b/classes/class_graphnode.rst index 91a0ce19b4a..c6eb64757c7 100644 --- a/classes/class_graphnode.rst +++ b/classes/class_graphnode.rst @@ -10,6 +10,8 @@ GraphNode ========= +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`GraphElement<class_GraphElement>` **<** :ref:`Container<class_Container>` **<** :ref:`Control<class_Control>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` A container with connection ports, representing a node in a :ref:`GraphEdit<class_GraphEdit>`. diff --git a/classes/class_gridmap.rst b/classes/class_gridmap.rst index b0a1bb4f4b4..c64be5ce068 100644 --- a/classes/class_gridmap.rst +++ b/classes/class_gridmap.rst @@ -624,7 +624,9 @@ Returns the position of a grid cell in the GridMap's local coordinate space. To void **resource_changed** **(** :ref:`Resource<class_Resource>` resource **)** -*Obsoleted.* Use :ref:`Resource.changed<class_Resource_signal_changed>` instead. +**Deprecated:** Use :ref:`Resource.changed<class_Resource_signal_changed>` instead. + +This method does nothing. .. rst-class:: classref-item-separator diff --git a/classes/class_heightmapshape3d.rst b/classes/class_heightmapshape3d.rst index 1f9c6296221..2e43c5717a6 100644 --- a/classes/class_heightmapshape3d.rst +++ b/classes/class_heightmapshape3d.rst @@ -39,6 +39,20 @@ Properties | :ref:`int<class_int>` | :ref:`map_width<class_HeightMapShape3D_property_map_width>` | ``2`` | +-----------------------------------------------------+-------------------------------------------------------------+------------------------------------+ +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +---------------------------+-----------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`get_max_height<class_HeightMapShape3D_method_get_max_height>` **(** **)** |const| | + +---------------------------+-----------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`get_min_height<class_HeightMapShape3D_method_get_min_height>` **(** **)** |const| | + +---------------------------+-----------------------------------------------------------------------------------------+ + .. rst-class:: classref-section-separator ---- @@ -59,7 +73,7 @@ Property Descriptions - void **set_map_data** **(** :ref:`PackedFloat32Array<class_PackedFloat32Array>` value **)** - :ref:`PackedFloat32Array<class_PackedFloat32Array>` **get_map_data** **(** **)** -Height map data, pool array must be of :ref:`map_width<class_HeightMapShape3D_property_map_width>` \* :ref:`map_depth<class_HeightMapShape3D_property_map_depth>` size. +Height map data. The array's size must be equal to :ref:`map_width<class_HeightMapShape3D_property_map_width>` multiplied by :ref:`map_depth<class_HeightMapShape3D_property_map_depth>`. .. rst-class:: classref-item-separator @@ -95,6 +109,35 @@ Number of vertices in the depth of the height map. Changing this will resize the Number of vertices in the width of the height map. Changing this will resize the :ref:`map_data<class_HeightMapShape3D_property_map_data>`. +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_HeightMapShape3D_method_get_max_height: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **get_max_height** **(** **)** |const| + +Returns the largest height value found in :ref:`map_data<class_HeightMapShape3D_property_map_data>`. Recalculates only when :ref:`map_data<class_HeightMapShape3D_property_map_data>` changes. + +.. rst-class:: classref-item-separator + +---- + +.. _class_HeightMapShape3D_method_get_min_height: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **get_min_height** **(** **)** |const| + +Returns the smallest height value found in :ref:`map_data<class_HeightMapShape3D_property_map_data>`. Recalculates only when :ref:`map_data<class_HeightMapShape3D_property_map_data>` changes. + .. |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_httpclient.rst b/classes/class_httpclient.rst index 5d1309c7682..2dd27d2f7dc 100644 --- a/classes/class_httpclient.rst +++ b/classes/class_httpclient.rst @@ -451,7 +451,9 @@ HTTP status code ``304 Not Modified``. A conditional GET or HEAD request has bee :ref:`ResponseCode<enum_HTTPClient_ResponseCode>` **RESPONSE_USE_PROXY** = ``305`` -*Deprecated.* HTTP status code ``305 Use Proxy``. +**Deprecated:** This constant may be changed or removed in future versions. + +HTTP status code ``305 Use Proxy``. .. _class_HTTPClient_constant_RESPONSE_SWITCH_PROXY: @@ -459,7 +461,9 @@ HTTP status code ``304 Not Modified``. A conditional GET or HEAD request has bee :ref:`ResponseCode<enum_HTTPClient_ResponseCode>` **RESPONSE_SWITCH_PROXY** = ``306`` -*Deprecated.* HTTP status code ``306 Switch Proxy``. +**Deprecated:** This constant may be changed or removed in future versions. + +HTTP status code ``306 Switch Proxy``. .. _class_HTTPClient_constant_RESPONSE_TEMPORARY_REDIRECT: diff --git a/classes/class_input.rst b/classes/class_input.rst index 62b77b82306..29fb4b54060 100644 --- a/classes/class_input.rst +++ b/classes/class_input.rst @@ -97,6 +97,8 @@ Methods +-------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2<class_Vector2>` | :ref:`get_joy_vibration_strength<class_Input_method_get_joy_vibration_strength>` **(** :ref:`int<class_int>` device **)** | +-------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`get_last_mouse_screen_velocity<class_Input_method_get_last_mouse_screen_velocity>` **(** **)** | + +-------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2<class_Vector2>` | :ref:`get_last_mouse_velocity<class_Input_method_get_last_mouse_velocity>` **(** **)** | +-------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector3<class_Vector3>` | :ref:`get_magnetometer<class_Input_method_get_magnetometer>` **(** **)** |const| | @@ -710,6 +712,18 @@ Returns the strength of the joypad vibration: x is the strength of the weak moto ---- +.. _class_Input_method_get_last_mouse_screen_velocity: + +.. rst-class:: classref-method + +:ref:`Vector2<class_Vector2>` **get_last_mouse_screen_velocity** **(** **)** + +Returns the last mouse velocity in screen coordinates. To provide a precise and jitter-free velocity, mouse velocity is only calculated every 0.1s. Therefore, mouse velocity will lag mouse movements. + +.. rst-class:: classref-item-separator + +---- + .. _class_Input_method_get_last_mouse_velocity: .. rst-class:: classref-method diff --git a/classes/class_inputeventjoypadbutton.rst b/classes/class_inputeventjoypadbutton.rst index ba3001a3d16..d97729ca68c 100644 --- a/classes/class_inputeventjoypadbutton.rst +++ b/classes/class_inputeventjoypadbutton.rst @@ -98,7 +98,11 @@ If ``true``, the button's state is pressed. If ``false``, the button's state is - void **set_pressure** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_pressure** **(** **)** -Represents the pressure the user puts on the button with their finger, if the controller supports it. Ranges from ``0`` to ``1``. +**Deprecated:** This property is never set by the engine and is always ``0``. + +.. container:: contribute + + There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. |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_inputeventkey.rst b/classes/class_inputeventkey.rst index b3606a1e9eb..1d448257208 100644 --- a/classes/class_inputeventkey.rst +++ b/classes/class_inputeventkey.rst @@ -40,19 +40,21 @@ Properties .. table:: :widths: auto - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`echo<class_InputEventKey_property_echo>` | ``false`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`key_label<class_InputEventKey_property_key_label>` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`keycode<class_InputEventKey_property_keycode>` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`physical_keycode<class_InputEventKey_property_physical_keycode>` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`bool<class_bool>` | :ref:`pressed<class_InputEventKey_property_pressed>` | ``false`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ - | :ref:`int<class_int>` | :ref:`unicode<class_InputEventKey_property_unicode>` | ``0`` | - +-----------------------------------+------------------------------------------------------------------------+-----------+ + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`echo<class_InputEventKey_property_echo>` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`key_label<class_InputEventKey_property_key_label>` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`keycode<class_InputEventKey_property_keycode>` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`KeyLocation<enum_@GlobalScope_KeyLocation>` | :ref:`location<class_InputEventKey_property_location>` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`physical_keycode<class_InputEventKey_property_physical_keycode>` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`pressed<class_InputEventKey_property_pressed>` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ + | :ref:`int<class_int>` | :ref:`unicode<class_InputEventKey_property_unicode>` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -67,6 +69,8 @@ Methods +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String<class_String>` | :ref:`as_text_keycode<class_InputEventKey_method_as_text_keycode>` **(** **)** |const| | +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`as_text_location<class_InputEventKey_method_as_text_location>` **(** **)** |const| | + +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String<class_String>` | :ref:`as_text_physical_keycode<class_InputEventKey_method_as_text_physical_keycode>` **(** **)** |const| | +-----------------------------------+--------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Key<enum_@GlobalScope_Key>` | :ref:`get_key_label_with_modifiers<class_InputEventKey_method_get_key_label_with_modifiers>` **(** **)** |const| | @@ -156,6 +160,23 @@ To get a human-readable representation of the **InputEventKey**, use ``OS.get_ke ---- +.. _class_InputEventKey_property_location: + +.. rst-class:: classref-property + +:ref:`KeyLocation<enum_@GlobalScope_KeyLocation>` **location** = ``0`` + +.. rst-class:: classref-property-setget + +- void **set_location** **(** :ref:`KeyLocation<enum_@GlobalScope_KeyLocation>` value **)** +- :ref:`KeyLocation<enum_@GlobalScope_KeyLocation>` **get_location** **(** **)** + +Represents the location of a key which has both left and right versions, such as :kbd:`Shift` or :kbd:`Alt`. + +.. rst-class:: classref-item-separator + +---- + .. _class_InputEventKey_property_physical_keycode: .. rst-class:: classref-property @@ -261,6 +282,18 @@ Returns a :ref:`String<class_String>` representation of the event's :ref:`keycod ---- +.. _class_InputEventKey_method_as_text_location: + +.. rst-class:: classref-method + +:ref:`String<class_String>` **as_text_location** **(** **)** |const| + +Returns a :ref:`String<class_String>` representation of the event's :ref:`location<class_InputEventKey_property_location>`. This will be a blank string if the event is not specific to a location. + +.. rst-class:: classref-item-separator + +---- + .. _class_InputEventKey_method_as_text_physical_keycode: .. rst-class:: classref-method diff --git a/classes/class_inputeventmidi.rst b/classes/class_inputeventmidi.rst index 445e790aa54..c68c144d91e 100644 --- a/classes/class_inputeventmidi.rst +++ b/classes/class_inputeventmidi.rst @@ -12,18 +12,18 @@ InputEventMIDI **Inherits:** :ref:`InputEvent<class_InputEvent>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` -Represents an input event from a MIDI device, such as a piano. +Represents a MIDI message from a MIDI device, such as a musical keyboard. .. rst-class:: classref-introduction-group Description ----------- -InputEventMIDI allows receiving input events from MIDI (Musical Instrument Digital Interface) devices such as a piano. +InputEventMIDI stores information about messages from `MIDI <https://en.wikipedia.org/wiki/MIDI>`__ (Musical Instrument Digital Interface) devices. These may include musical keyboards, synthesizers, and drum machines. -MIDI signals can be sent over a 5-pin MIDI connector or over USB, if your device supports both be sure to check the settings in the device to see which output it's using. +MIDI messages can be received over a 5-pin MIDI connector or over USB. If your device supports both be sure to check the settings in the device to see which output it is using. -To receive input events from MIDI devices, you need to call :ref:`OS.open_midi_inputs<class_OS_method_open_midi_inputs>`. You can check which devices are detected using :ref:`OS.get_connected_midi_inputs<class_OS_method_get_connected_midi_inputs>`. +By default, Godot does not detect MIDI devices. You need to call :ref:`OS.open_midi_inputs<class_OS_method_open_midi_inputs>`, first. You can check which devices are detected with :ref:`OS.get_connected_midi_inputs<class_OS_method_get_connected_midi_inputs>`, and close the connection with :ref:`OS.close_midi_inputs<class_OS_method_close_midi_inputs>`. .. tabs:: @@ -38,16 +38,16 @@ To receive input events from MIDI devices, you need to call :ref:`OS.open_midi_i if input_event is InputEventMIDI: _print_midi_info(input_event) - func _print_midi_info(midi_event: InputEventMIDI): + func _print_midi_info(midi_event): print(midi_event) - print("Channel " + str(midi_event.channel)) - print("Message " + str(midi_event.message)) - print("Pitch " + str(midi_event.pitch)) - print("Velocity " + str(midi_event.velocity)) - print("Instrument " + str(midi_event.instrument)) - print("Pressure " + str(midi_event.pressure)) - print("Controller number: " + str(midi_event.controller_number)) - print("Controller value: " + str(midi_event.controller_value)) + print("Channel ", midi_event.channel) + print("Message ", midi_event.message) + print("Pitch ", midi_event.pitch) + print("Velocity ", midi_event.velocity) + print("Instrument ", midi_event.instrument) + print("Pressure ", midi_event.pressure) + print("Controller number: ", midi_event.controller_number) + print("Controller value: ", midi_event.controller_value) .. code-tab:: csharp @@ -57,9 +57,9 @@ To receive input events from MIDI devices, you need to call :ref:`OS.open_midi_i GD.Print(OS.GetConnectedMidiInputs()); } - public override void _Input(InputEvent @event) + public override void _Input(InputEvent inputEvent) { - if (@event is InputEventMIDI midiEvent) + if (inputEvent is InputEventMIDI midiEvent) { PrintMIDIInfo(midiEvent); } @@ -80,7 +80,7 @@ To receive input events from MIDI devices, you need to call :ref:`OS.open_midi_i -Note that Godot does not currently support MIDI output, so there is no way to emit MIDI signals from Godot. Only MIDI input works. +\ **Note:** Godot does not support MIDI output, so there is no way to emit MIDI messages from Godot. Only MIDI input is supported. .. rst-class:: classref-introduction-group @@ -139,7 +139,7 @@ Property Descriptions - void **set_channel** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_channel** **(** **)** -The MIDI channel of this input event. There are 16 channels, so this value ranges from 0 to 15. MIDI channel 9 is reserved for the use with percussion instruments, the rest of the channels are for non-percussion instruments. +The MIDI channel of this message, ranging from ``0`` to ``15``. MIDI channel ``9`` is reserved for percussion instruments. .. rst-class:: classref-item-separator @@ -156,7 +156,7 @@ The MIDI channel of this input event. There are 16 channels, so this value range - void **set_controller_number** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_controller_number** **(** **)** -If the message is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE<class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE>`, this indicates the controller number, otherwise this is zero. Controllers include devices such as pedals and levers. +The unique number of the controller, if :ref:`message<class_InputEventMIDI_property_message>` is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE<class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE>`, otherwise this is ``0``. This value can be used to identify sliders for volume, balance, and panning, as well as switches and pedals on the MIDI device. See the `General MIDI specification <https://en.wikipedia.org/wiki/General_MIDI#Controller_events>`__ for a small list. .. rst-class:: classref-item-separator @@ -173,7 +173,7 @@ If the message is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE<class_@GlobalSc - void **set_controller_value** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_controller_value** **(** **)** -If the message is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE<class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE>`, this indicates the controller value, otherwise this is zero. Controllers include devices such as pedals and levers. +The value applied to the controller. If :ref:`message<class_InputEventMIDI_property_message>` is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE<class_@GlobalScope_constant_MIDI_MESSAGE_CONTROL_CHANGE>`, this value ranges from ``0`` to ``127``, otherwise it is ``0``. See also :ref:`controller_value<class_InputEventMIDI_property_controller_value>`. .. rst-class:: classref-item-separator @@ -190,7 +190,9 @@ If the message is :ref:`@GlobalScope.MIDI_MESSAGE_CONTROL_CHANGE<class_@GlobalSc - void **set_instrument** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_instrument** **(** **)** -The instrument of this input event. This value ranges from 0 to 127. Refer to the instrument list for `General MIDI <https://en.wikipedia.org/wiki/General_MIDI#Program_change_events>`__ to see a list of instruments, except that this value is 0-index, so subtract one from every number on that chart. A standard piano will have an instrument number of 0. +The instrument (also called *program* or *preset*) used on this MIDI message. This value ranges from ``0`` to ``127``. + +To see what each value means, refer to the `General MIDI's instrument list <https://en.wikipedia.org/wiki/General_MIDI#Program_change_events>`__. Keep in mind that the list is off by 1 because it does not begin from 0. A value of ``0`` corresponds to the acoustic grand piano. .. rst-class:: classref-item-separator @@ -207,15 +209,9 @@ The instrument of this input event. This value ranges from 0 to 127. Refer to th - void **set_message** **(** :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` value **)** - :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` **get_message** **(** **)** -Returns a value indicating the type of message for this MIDI signal. This is a member of the :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` enum. - -For MIDI messages between 0x80 and 0xEF, only the left half of the bits are returned as this value, as the other part is the channel (ex: 0x94 becomes 0x9). For MIDI messages from 0xF0 to 0xFF, the value is returned as-is. - -Notes will return :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` when activated, but they might not always return :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_OFF<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF>` when deactivated, therefore your code should treat the input as stopped if some period of time has passed. - -Some MIDI devices may send :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` with zero velocity instead of :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_OFF<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF>`. +Represents the type of MIDI message (see the :ref:`MIDIMessage<enum_@GlobalScope_MIDIMessage>` enum). -For more information, see the note in :ref:`velocity<class_InputEventMIDI_property_velocity>` and the MIDI message status byte list chart linked above. +For more information, see the `MIDI message status byte list chart <https://www.midi.org/specifications-old/item/table-2-expanded-messages-list-status-bytes>`__. .. rst-class:: classref-item-separator @@ -232,7 +228,9 @@ For more information, see the note in :ref:`velocity<class_InputEventMIDI_proper - void **set_pitch** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_pitch** **(** **)** -The pitch index number of this MIDI signal. This value ranges from 0 to 127. On a piano, middle C is 60, and A440 is 69, see the "MIDI note" column of the piano key frequency chart on Wikipedia for more information. +The pitch index number of this MIDI message. This value ranges from ``0`` to ``127``. + +On a piano, the **middle C** is ``60``, followed by a **C-sharp** (``61``), then a **D** (``62``), and so on. Each octave is split in offsets of 12. See the "MIDI note number" column of the `piano key frequency chart <https://en.wikipedia.org/wiki/Piano_key_frequencies>`__ a full list. .. rst-class:: classref-item-separator @@ -249,7 +247,9 @@ The pitch index number of this MIDI signal. This value ranges from 0 to 127. On - void **set_pressure** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_pressure** **(** **)** -The pressure of the MIDI signal. This value ranges from 0 to 127. For many devices, this value is always zero. +The strength of the key being pressed. This value ranges from ``0`` to ``127``. + +\ **Note:** For many devices, this value is always ``0``. Other devices such as musical keyboards may simulate pressure by changing the :ref:`velocity<class_InputEventMIDI_property_velocity>`, instead. .. rst-class:: classref-item-separator @@ -266,9 +266,16 @@ The pressure of the MIDI signal. This value ranges from 0 to 127. For many devic - void **set_velocity** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_velocity** **(** **)** -The velocity of the MIDI signal. This value ranges from 0 to 127. For a piano, this corresponds to how quickly the key was pressed, and is rarely above about 110 in practice. +The velocity of the MIDI message. This value ranges from ``0`` to ``127``. For a musical keyboard, this corresponds to how quickly the key was pressed, and is rarely above ``110`` in practice. + +\ **Note:** Some MIDI devices may send a :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` message with ``0`` velocity and expect it to be treated the same as a :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_OFF<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF>` message. If necessary, this can be handled with a few lines of code: + +:: -\ **Note:** Some MIDI devices may send a :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` message with zero velocity and expect this to be treated the same as a :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_OFF<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_OFF>` message, but device implementations vary so Godot reports event data exactly as received. Depending on the hardware and the needs of the game/app, this MIDI quirk can be handled robustly with a couple lines of script (check for :ref:`@GlobalScope.MIDI_MESSAGE_NOTE_ON<class_@GlobalScope_constant_MIDI_MESSAGE_NOTE_ON>` with velocity zero). + func _input(event): + if event is InputEventMIDI: + if event.message == MIDI_MESSAGE_NOTE_ON and event.velocity > 0: + print("Note pressed!") .. |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_inputeventmousebutton.rst b/classes/class_inputeventmousebutton.rst index 91977e5bdb8..221e0b74f3b 100644 --- a/classes/class_inputeventmousebutton.rst +++ b/classes/class_inputeventmousebutton.rst @@ -1,5 +1,8 @@ :github_url: hide +.. meta:: + :keywords: click, press + .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. @@ -21,6 +24,8 @@ Description Stores information about mouse click events. See :ref:`Node._input<class_Node_private_method__input>`. +\ **Note:** On Wear OS devices, rotary input is mapped to :ref:`@GlobalScope.MOUSE_BUTTON_WHEEL_UP<class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_UP>` and :ref:`@GlobalScope.MOUSE_BUTTON_WHEEL_DOWN<class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_DOWN>`. This can be changed to :ref:`@GlobalScope.MOUSE_BUTTON_WHEEL_LEFT<class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_LEFT>` and :ref:`@GlobalScope.MOUSE_BUTTON_WHEEL_RIGHT<class_@GlobalScope_constant_MOUSE_BUTTON_WHEEL_RIGHT>` with the :ref:`ProjectSettings.input_devices/pointing/android/rotary_input_scroll_axis<class_ProjectSettings_property_input_devices/pointing/android/rotary_input_scroll_axis>` setting. + .. rst-class:: classref-introduction-group Tutorials diff --git a/classes/class_inputeventmousemotion.rst b/classes/class_inputeventmousemotion.rst index 0db5337e9b5..f28b1636b2f 100644 --- a/classes/class_inputeventmousemotion.rst +++ b/classes/class_inputeventmousemotion.rst @@ -42,17 +42,21 @@ Properties .. table:: :widths: auto - +-------------------------------+------------------------------------------------------------------------+-------------------+ - | :ref:`bool<class_bool>` | :ref:`pen_inverted<class_InputEventMouseMotion_property_pen_inverted>` | ``false`` | - +-------------------------------+------------------------------------------------------------------------+-------------------+ - | :ref:`float<class_float>` | :ref:`pressure<class_InputEventMouseMotion_property_pressure>` | ``0.0`` | - +-------------------------------+------------------------------------------------------------------------+-------------------+ - | :ref:`Vector2<class_Vector2>` | :ref:`relative<class_InputEventMouseMotion_property_relative>` | ``Vector2(0, 0)`` | - +-------------------------------+------------------------------------------------------------------------+-------------------+ - | :ref:`Vector2<class_Vector2>` | :ref:`tilt<class_InputEventMouseMotion_property_tilt>` | ``Vector2(0, 0)`` | - +-------------------------------+------------------------------------------------------------------------+-------------------+ - | :ref:`Vector2<class_Vector2>` | :ref:`velocity<class_InputEventMouseMotion_property_velocity>` | ``Vector2(0, 0)`` | - +-------------------------------+------------------------------------------------------------------------+-------------------+ + +-------------------------------+------------------------------------------------------------------------------+-------------------+ + | :ref:`bool<class_bool>` | :ref:`pen_inverted<class_InputEventMouseMotion_property_pen_inverted>` | ``false`` | + +-------------------------------+------------------------------------------------------------------------------+-------------------+ + | :ref:`float<class_float>` | :ref:`pressure<class_InputEventMouseMotion_property_pressure>` | ``0.0`` | + +-------------------------------+------------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`relative<class_InputEventMouseMotion_property_relative>` | ``Vector2(0, 0)`` | + +-------------------------------+------------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`screen_relative<class_InputEventMouseMotion_property_screen_relative>` | ``Vector2(0, 0)`` | + +-------------------------------+------------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`screen_velocity<class_InputEventMouseMotion_property_screen_velocity>` | ``Vector2(0, 0)`` | + +-------------------------------+------------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`tilt<class_InputEventMouseMotion_property_tilt>` | ``Vector2(0, 0)`` | + +-------------------------------+------------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`velocity<class_InputEventMouseMotion_property_velocity>` | ``Vector2(0, 0)`` | + +-------------------------------+------------------------------------------------------------------------------+-------------------+ .. rst-class:: classref-section-separator @@ -114,6 +118,44 @@ The mouse position relative to the previous position (position at the last frame \ **Note:** Since **InputEventMouseMotion** is only emitted when the mouse moves, the last event won't have a relative position of ``Vector2(0, 0)`` when the user stops moving the mouse. +\ **Note:** :ref:`relative<class_InputEventMouseMotion_property_relative>` is automatically scaled according to the content scale factor, which is defined by the project's stretch mode settings. This means mouse sensitivity will appear different depending on resolution when using :ref:`relative<class_InputEventMouseMotion_property_relative>` in a script that handles mouse aiming with the :ref:`Input.MOUSE_MODE_CAPTURED<class_Input_constant_MOUSE_MODE_CAPTURED>` mouse mode. To avoid this, use :ref:`screen_relative<class_InputEventMouseMotion_property_screen_relative>` instead. + +.. rst-class:: classref-item-separator + +---- + +.. _class_InputEventMouseMotion_property_screen_relative: + +.. rst-class:: classref-property + +:ref:`Vector2<class_Vector2>` **screen_relative** = ``Vector2(0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_screen_relative** **(** :ref:`Vector2<class_Vector2>` value **)** +- :ref:`Vector2<class_Vector2>` **get_screen_relative** **(** **)** + +The unscaled mouse position relative to the previous position in the coordinate system of the screen (position at the last frame). + +\ **Note:** Since **InputEventMouseMotion** is only emitted when the mouse moves, the last event won't have a relative position of ``Vector2(0, 0)`` when the user stops moving the mouse. This coordinate is *not* scaled according to the content scale factor or calls to :ref:`InputEvent.xformed_by<class_InputEvent_method_xformed_by>`. This should be preferred over :ref:`relative<class_InputEventMouseMotion_property_relative>` for mouse aiming when using the :ref:`Input.MOUSE_MODE_CAPTURED<class_Input_constant_MOUSE_MODE_CAPTURED>` mouse mode, regardless of the project's stretch mode. + +.. rst-class:: classref-item-separator + +---- + +.. _class_InputEventMouseMotion_property_screen_velocity: + +.. rst-class:: classref-property + +:ref:`Vector2<class_Vector2>` **screen_velocity** = ``Vector2(0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_screen_velocity** **(** :ref:`Vector2<class_Vector2>` value **)** +- :ref:`Vector2<class_Vector2>` **get_screen_velocity** **(** **)** + +The unscaled mouse velocity in pixels per second in screen coordinates. This velocity is *not* scaled according to the content scale factor or calls to :ref:`InputEvent.xformed_by<class_InputEvent_method_xformed_by>`. This should be preferred over :ref:`velocity<class_InputEventMouseMotion_property_velocity>` for mouse aiming when using the :ref:`Input.MOUSE_MODE_CAPTURED<class_Input_constant_MOUSE_MODE_CAPTURED>` mouse mode, regardless of the project's stretch mode. + .. rst-class:: classref-item-separator ---- @@ -148,6 +190,8 @@ Represents the angles of tilt of the pen. Positive X-coordinate value indicates The mouse velocity in pixels per second. +\ **Note:** :ref:`velocity<class_InputEventMouseMotion_property_velocity>` is automatically scaled according to the content scale factor, which is defined by the project's stretch mode settings. This means mouse sensitivity will appear different depending on resolution when using :ref:`velocity<class_InputEventMouseMotion_property_velocity>` in a script that handles mouse aiming with the :ref:`Input.MOUSE_MODE_CAPTURED<class_Input_constant_MOUSE_MODE_CAPTURED>` mouse mode. To avoid this, use :ref:`screen_velocity<class_InputEventMouseMotion_property_screen_velocity>` instead. + .. |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_inputeventscreendrag.rst b/classes/class_inputeventscreendrag.rst index 9807d00bd21..83d62ca1131 100644 --- a/classes/class_inputeventscreendrag.rst +++ b/classes/class_inputeventscreendrag.rst @@ -36,21 +36,25 @@ Properties .. table:: :widths: auto - +-------------------------------+-----------------------------------------------------------------------+-------------------+ - | :ref:`int<class_int>` | :ref:`index<class_InputEventScreenDrag_property_index>` | ``0`` | - +-------------------------------+-----------------------------------------------------------------------+-------------------+ - | :ref:`bool<class_bool>` | :ref:`pen_inverted<class_InputEventScreenDrag_property_pen_inverted>` | ``false`` | - +-------------------------------+-----------------------------------------------------------------------+-------------------+ - | :ref:`Vector2<class_Vector2>` | :ref:`position<class_InputEventScreenDrag_property_position>` | ``Vector2(0, 0)`` | - +-------------------------------+-----------------------------------------------------------------------+-------------------+ - | :ref:`float<class_float>` | :ref:`pressure<class_InputEventScreenDrag_property_pressure>` | ``0.0`` | - +-------------------------------+-----------------------------------------------------------------------+-------------------+ - | :ref:`Vector2<class_Vector2>` | :ref:`relative<class_InputEventScreenDrag_property_relative>` | ``Vector2(0, 0)`` | - +-------------------------------+-----------------------------------------------------------------------+-------------------+ - | :ref:`Vector2<class_Vector2>` | :ref:`tilt<class_InputEventScreenDrag_property_tilt>` | ``Vector2(0, 0)`` | - +-------------------------------+-----------------------------------------------------------------------+-------------------+ - | :ref:`Vector2<class_Vector2>` | :ref:`velocity<class_InputEventScreenDrag_property_velocity>` | ``Vector2(0, 0)`` | - +-------------------------------+-----------------------------------------------------------------------+-------------------+ + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`int<class_int>` | :ref:`index<class_InputEventScreenDrag_property_index>` | ``0`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`bool<class_bool>` | :ref:`pen_inverted<class_InputEventScreenDrag_property_pen_inverted>` | ``false`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`position<class_InputEventScreenDrag_property_position>` | ``Vector2(0, 0)`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`float<class_float>` | :ref:`pressure<class_InputEventScreenDrag_property_pressure>` | ``0.0`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`relative<class_InputEventScreenDrag_property_relative>` | ``Vector2(0, 0)`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`screen_relative<class_InputEventScreenDrag_property_screen_relative>` | ``Vector2(0, 0)`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`screen_velocity<class_InputEventScreenDrag_property_screen_velocity>` | ``Vector2(0, 0)`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`tilt<class_InputEventScreenDrag_property_tilt>` | ``Vector2(0, 0)`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`velocity<class_InputEventScreenDrag_property_velocity>` | ``Vector2(0, 0)`` | + +-------------------------------+-----------------------------------------------------------------------------+-------------------+ .. rst-class:: classref-section-separator @@ -142,6 +146,42 @@ Represents the pressure the user puts on the pen. Ranges from ``0.0`` to ``1.0`` The drag position relative to the previous position (position at the last frame). +\ **Note:** :ref:`relative<class_InputEventScreenDrag_property_relative>` is automatically scaled according to the content scale factor, which is defined by the project's stretch mode settings. This means touch sensitivity will appear different depending on resolution when using :ref:`relative<class_InputEventScreenDrag_property_relative>` in a script that handles touch aiming. To avoid this, use :ref:`screen_relative<class_InputEventScreenDrag_property_screen_relative>` instead. + +.. rst-class:: classref-item-separator + +---- + +.. _class_InputEventScreenDrag_property_screen_relative: + +.. rst-class:: classref-property + +:ref:`Vector2<class_Vector2>` **screen_relative** = ``Vector2(0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_screen_relative** **(** :ref:`Vector2<class_Vector2>` value **)** +- :ref:`Vector2<class_Vector2>` **get_screen_relative** **(** **)** + +The unscaled drag position relative to the previous position in screen coordinates (position at the last frame). This position is *not* scaled according to the content scale factor or calls to :ref:`InputEvent.xformed_by<class_InputEvent_method_xformed_by>`. This should be preferred over :ref:`relative<class_InputEventScreenDrag_property_relative>` for touch aiming regardless of the project's stretch mode. + +.. rst-class:: classref-item-separator + +---- + +.. _class_InputEventScreenDrag_property_screen_velocity: + +.. rst-class:: classref-property + +:ref:`Vector2<class_Vector2>` **screen_velocity** = ``Vector2(0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_screen_velocity** **(** :ref:`Vector2<class_Vector2>` value **)** +- :ref:`Vector2<class_Vector2>` **get_screen_velocity** **(** **)** + +The unscaled drag velocity in pixels per second in screen coordinates. This velocity is *not* scaled according to the content scale factor or calls to :ref:`InputEvent.xformed_by<class_InputEvent_method_xformed_by>`. This should be preferred over :ref:`velocity<class_InputEventScreenDrag_property_velocity>` for touch aiming regardless of the project's stretch mode. + .. rst-class:: classref-item-separator ---- @@ -176,6 +216,8 @@ Represents the angles of tilt of the pen. Positive X-coordinate value indicates The drag velocity. +\ **Note:** :ref:`velocity<class_InputEventScreenDrag_property_velocity>` is automatically scaled according to the content scale factor, which is defined by the project's stretch mode settings. This means touch sensitivity will appear different depending on resolution when using :ref:`velocity<class_InputEventScreenDrag_property_velocity>` in a script that handles touch aiming. To avoid this, use :ref:`screen_velocity<class_InputEventScreenDrag_property_screen_velocity>` instead. + .. |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_lightmapgi.rst b/classes/class_lightmapgi.rst index 3eaf7ed608c..0ea0a52b799 100644 --- a/classes/class_lightmapgi.rst +++ b/classes/class_lightmapgi.rst @@ -29,7 +29,7 @@ The **LightmapGI** node is used to compute and store baked lightmaps. Lightmaps \ **Note:** Lightmap baking on :ref:`CSGShape3D<class_CSGShape3D>`\ s and :ref:`PrimitiveMesh<class_PrimitiveMesh>`\ es is not supported, as these cannot store UV2 data required for baking. -\ **Note:** If no custom lightmappers are installed, **LightmapGI** can only be baked when using the Vulkan backend (Forward+ or Mobile), not OpenGL. +\ **Note:** If no custom lightmappers are installed, **LightmapGI** can only be baked from devices that support the Forward+ or Mobile rendering backends. .. rst-class:: classref-introduction-group diff --git a/classes/class_lightmapgidata.rst b/classes/class_lightmapgidata.rst index c8bbcd6fce6..73bee15c9bd 100644 --- a/classes/class_lightmapgidata.rst +++ b/classes/class_lightmapgidata.rst @@ -77,9 +77,9 @@ Property Descriptions - void **set_light_texture** **(** :ref:`TextureLayered<class_TextureLayered>` value **)** - :ref:`TextureLayered<class_TextureLayered>` **get_light_texture** **(** **)** -The lightmap atlas texture generated by the lightmapper. +**Deprecated:** The lightmap atlas can now have multiple textures. See :ref:`lightmap_textures<class_LightmapGIData_property_lightmap_textures>`. -\ *Deprecated.* The lightmap atlas can now have multiple textures. See :ref:`lightmap_textures<class_LightmapGIData_property_lightmap_textures>`. +The lightmap atlas texture generated by the lightmapper. .. rst-class:: classref-item-separator diff --git a/classes/class_mainloop.rst b/classes/class_mainloop.rst index 419f4721129..f7fcce57b19 100644 --- a/classes/class_mainloop.rst +++ b/classes/class_mainloop.rst @@ -180,7 +180,7 @@ Specific to the macOS platform. Notification received from the OS when the application is resumed. -Specific to the Android platform. +Specific to the Android and iOS platforms. .. _class_MainLoop_constant_NOTIFICATION_APPLICATION_PAUSED: @@ -190,7 +190,9 @@ Specific to the Android platform. Notification received from the OS when the application is paused. -Specific to the Android platform. +Specific to the Android and iOS platforms. + +\ **Note:** On iOS, you only have approximately 5 seconds to finish a task started by this signal. If you go over this allotment, iOS will kill the app instead of pausing it. .. _class_MainLoop_constant_NOTIFICATION_APPLICATION_FOCUS_IN: @@ -200,7 +202,7 @@ Specific to the Android platform. Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a thirdparty application to any open window of the Godot instance. -Implemented on desktop platforms. +Implemented on desktop and mobile platforms. .. _class_MainLoop_constant_NOTIFICATION_APPLICATION_FOCUS_OUT: @@ -210,7 +212,7 @@ Implemented on desktop platforms. Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a thirdparty application. -Implemented on desktop platforms. +Implemented on desktop and mobile platforms. .. _class_MainLoop_constant_NOTIFICATION_TEXT_SERVER_CHANGED: diff --git a/classes/class_missingnode.rst b/classes/class_missingnode.rst index f1a5d9a88e5..b81bdc7b803 100644 --- a/classes/class_missingnode.rst +++ b/classes/class_missingnode.rst @@ -19,7 +19,9 @@ An internal editor class intended for keeping the data of unrecognized nodes. Description ----------- -This is an internal editor class intended for keeping data of nodes of unknown type (most likely this type was supplied by an extension that is no longer loaded). It can't be manually instantiated or placed in the scene. Ignore it if you don't know what it is. +This is an internal editor class intended for keeping data of nodes of unknown type (most likely this type was supplied by an extension that is no longer loaded). It can't be manually instantiated or placed in a scene. + +\ **Warning:** Ignore missing nodes unless you know what you are doing. Existing properties on a missing node can be freely modified in code, regardless of the type they are intended to be. .. rst-class:: classref-reftable-group @@ -32,6 +34,8 @@ Properties +-----------------------------+------------------------------------------------------------------------------+ | :ref:`String<class_String>` | :ref:`original_class<class_MissingNode_property_original_class>` | +-----------------------------+------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`original_scene<class_MissingNode_property_original_scene>` | + +-----------------------------+------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`recording_properties<class_MissingNode_property_recording_properties>` | +-----------------------------+------------------------------------------------------------------------------+ @@ -55,7 +59,24 @@ Property Descriptions - void **set_original_class** **(** :ref:`String<class_String>` value **)** - :ref:`String<class_String>` **get_original_class** **(** **)** -Returns the name of the type this node was originally. +The name of the class this node was supposed to be (see :ref:`Object.get_class<class_Object_method_get_class>`). + +.. rst-class:: classref-item-separator + +---- + +.. _class_MissingNode_property_original_scene: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **original_scene** + +.. rst-class:: classref-property-setget + +- void **set_original_scene** **(** :ref:`String<class_String>` value **)** +- :ref:`String<class_String>` **get_original_scene** **(** **)** + +Returns the path of the scene this node was instance of originally. .. rst-class:: classref-item-separator @@ -72,9 +93,7 @@ Returns the name of the type this node was originally. - void **set_recording_properties** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **is_recording_properties** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, allows new properties to be set along with existing ones. If ``false``, only existing properties' values can be set, and new properties cannot be added. .. |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_missingresource.rst b/classes/class_missingresource.rst index 3e39850411a..72412d7e9bd 100644 --- a/classes/class_missingresource.rst +++ b/classes/class_missingresource.rst @@ -19,7 +19,9 @@ An internal editor class intended for keeping the data of unrecognized resources Description ----------- -This is an internal editor class intended for keeping data of resources of unknown type (most likely this type was supplied by an extension that is no longer loaded). It can't be manually instantiated or placed in the scene. Ignore it if you don't know what it is. +This is an internal editor class intended for keeping data of resources of unknown type (most likely this type was supplied by an extension that is no longer loaded). It can't be manually instantiated or placed in a scene. + +\ **Warning:** Ignore missing resources unless you know what you are doing. Existing properties on a missing resource can be freely modified in code, regardless of the type they are intended to be. .. rst-class:: classref-reftable-group @@ -55,7 +57,7 @@ Property Descriptions - void **set_original_class** **(** :ref:`String<class_String>` value **)** - :ref:`String<class_String>` **get_original_class** **(** **)** -Returns the name of the class this resource was originally. +The name of the class this resource was supposed to be (see :ref:`Object.get_class<class_Object_method_get_class>`). .. rst-class:: classref-item-separator @@ -72,9 +74,7 @@ Returns the name of the class this resource was originally. - void **set_recording_properties** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **is_recording_properties** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If set to ``true``, allows new properties to be added on top of the existing ones with :ref:`Object.set<class_Object_method_set>`. .. |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_multimesh.rst b/classes/class_multimesh.rst index c8c78e7d884..cc71b1d91f8 100644 --- a/classes/class_multimesh.rst +++ b/classes/class_multimesh.rst @@ -50,29 +50,31 @@ Properties .. table:: :widths: auto - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`buffer<class_MultiMesh_property_buffer>` | ``PackedFloat32Array()`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`color_array<class_MultiMesh_property_color_array>` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`custom_data_array<class_MultiMesh_property_custom_data_array>` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`int<class_int>` | :ref:`instance_count<class_MultiMesh_property_instance_count>` | ``0`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`Mesh<class_Mesh>` | :ref:`mesh<class_MultiMesh_property_mesh>` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`transform_2d_array<class_MultiMesh_property_transform_2d_array>` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`transform_array<class_MultiMesh_property_transform_array>` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`TransformFormat<enum_MultiMesh_TransformFormat>` | :ref:`transform_format<class_MultiMesh_property_transform_format>` | ``0`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`bool<class_bool>` | :ref:`use_colors<class_MultiMesh_property_use_colors>` | ``false`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`bool<class_bool>` | :ref:`use_custom_data<class_MultiMesh_property_use_custom_data>` | ``false`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ - | :ref:`int<class_int>` | :ref:`visible_instance_count<class_MultiMesh_property_visible_instance_count>` | ``-1`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------+ + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`buffer<class_MultiMesh_property_buffer>` | ``PackedFloat32Array()`` | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`color_array<class_MultiMesh_property_color_array>` | | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`AABB<class_AABB>` | :ref:`custom_aabb<class_MultiMesh_property_custom_aabb>` | ``AABB(0, 0, 0, 0, 0, 0)`` | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedColorArray<class_PackedColorArray>` | :ref:`custom_data_array<class_MultiMesh_property_custom_data_array>` | | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`int<class_int>` | :ref:`instance_count<class_MultiMesh_property_instance_count>` | ``0`` | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`Mesh<class_Mesh>` | :ref:`mesh<class_MultiMesh_property_mesh>` | | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`transform_2d_array<class_MultiMesh_property_transform_2d_array>` | | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`transform_array<class_MultiMesh_property_transform_array>` | | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`TransformFormat<enum_MultiMesh_TransformFormat>` | :ref:`transform_format<class_MultiMesh_property_transform_format>` | ``0`` | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`bool<class_bool>` | :ref:`use_colors<class_MultiMesh_property_use_colors>` | ``false`` | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`bool<class_bool>` | :ref:`use_custom_data<class_MultiMesh_property_use_custom_data>` | ``false`` | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + | :ref:`int<class_int>` | :ref:`visible_instance_count<class_MultiMesh_property_visible_instance_count>` | ``-1`` | + +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ .. rst-class:: classref-reftable-group @@ -167,7 +169,28 @@ Property Descriptions :ref:`PackedColorArray<class_PackedColorArray>` **color_array** -See :ref:`set_instance_color<class_MultiMesh_method_set_instance_color>`. +**Deprecated:** Use :ref:`set_instance_color<class_MultiMesh_method_set_instance_color>` instead. + +.. container:: contribute + + There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + +.. rst-class:: classref-item-separator + +---- + +.. _class_MultiMesh_property_custom_aabb: + +.. rst-class:: classref-property + +:ref:`AABB<class_AABB>` **custom_aabb** = ``AABB(0, 0, 0, 0, 0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_custom_aabb** **(** :ref:`AABB<class_AABB>` value **)** +- :ref:`AABB<class_AABB>` **get_custom_aabb** **(** **)** + +Custom AABB for this MultiMesh resource. Setting this manually prevents costly runtime AABB recalculations. .. rst-class:: classref-item-separator @@ -179,6 +202,8 @@ See :ref:`set_instance_color<class_MultiMesh_method_set_instance_color>`. :ref:`PackedColorArray<class_PackedColorArray>` **custom_data_array** +**Deprecated:** Use :ref:`set_instance_custom_data<class_MultiMesh_method_set_instance_custom_data>` instead. + See :ref:`set_instance_custom_data<class_MultiMesh_method_set_instance_custom_data>`. .. rst-class:: classref-item-separator @@ -229,7 +254,11 @@ The looks of the individual instances can be modified using :ref:`set_instance_c :ref:`PackedVector2Array<class_PackedVector2Array>` **transform_2d_array** -See :ref:`set_instance_transform_2d<class_MultiMesh_method_set_instance_transform_2d>`. +**Deprecated:** Use :ref:`set_instance_transform_2d<class_MultiMesh_method_set_instance_transform_2d>` instead. + +.. container:: contribute + + There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator @@ -241,7 +270,11 @@ See :ref:`set_instance_transform_2d<class_MultiMesh_method_set_instance_transfor :ref:`PackedVector3Array<class_PackedVector3Array>` **transform_array** -See :ref:`set_instance_transform<class_MultiMesh_method_set_instance_transform>`. +**Deprecated:** Use :ref:`set_instance_transform<class_MultiMesh_method_set_instance_transform>` instead. + +.. container:: contribute + + There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator diff --git a/classes/class_navigationagent2d.rst b/classes/class_navigationagent2d.rst index 8a3e1024762..9b282f2eb61 100644 --- a/classes/class_navigationagent2d.rst +++ b/classes/class_navigationagent2d.rst @@ -10,6 +10,8 @@ NavigationAgent2D ================= +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` A 2D agent used to pathfind to a position while avoiding obstacles. diff --git a/classes/class_navigationagent3d.rst b/classes/class_navigationagent3d.rst index b15e59a97dc..ae015227826 100644 --- a/classes/class_navigationagent3d.rst +++ b/classes/class_navigationagent3d.rst @@ -10,6 +10,8 @@ NavigationAgent3D ================= +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` A 3D agent used to pathfind to a position while avoiding obstacles. diff --git a/classes/class_navigationlink2d.rst b/classes/class_navigationlink2d.rst index b1c02aa3997..8c179203e11 100644 --- a/classes/class_navigationlink2d.rst +++ b/classes/class_navigationlink2d.rst @@ -10,6 +10,8 @@ NavigationLink2D ================ +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` A link between two positions on :ref:`NavigationRegion2D<class_NavigationRegion2D>`\ s that agents can be routed through. diff --git a/classes/class_navigationlink3d.rst b/classes/class_navigationlink3d.rst index 6b9e96b0e5e..224e4fa9744 100644 --- a/classes/class_navigationlink3d.rst +++ b/classes/class_navigationlink3d.rst @@ -10,6 +10,8 @@ NavigationLink3D ================ +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` A link between two positions on :ref:`NavigationRegion3D<class_NavigationRegion3D>`\ s that agents can be routed through. diff --git a/classes/class_navigationmesh.rst b/classes/class_navigationmesh.rst index ba9bc496bce..76349c5ae0b 100644 --- a/classes/class_navigationmesh.rst +++ b/classes/class_navigationmesh.rst @@ -10,6 +10,8 @@ NavigationMesh ============== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A navigation mesh that defines traversable areas and obstacles. @@ -47,6 +49,8 @@ Properties +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`float<class_float>` | :ref:`agent_radius<class_NavigationMesh_property_agent_radius>` | ``0.5`` | +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`float<class_float>` | :ref:`border_size<class_NavigationMesh_property_border_size>` | ``0.0`` | + +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`float<class_float>` | :ref:`cell_height<class_NavigationMesh_property_cell_height>` | ``0.25`` | +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`float<class_float>` | :ref:`cell_size<class_NavigationMesh_property_cell_size>` | ``0.25`` | @@ -330,6 +334,27 @@ The distance to erode/shrink the walkable area of the heightfield away from obst ---- +.. _class_NavigationMesh_property_border_size: + +.. rst-class:: classref-property + +:ref:`float<class_float>` **border_size** = ``0.0`` + +.. rst-class:: classref-property-setget + +- void **set_border_size** **(** :ref:`float<class_float>` value **)** +- :ref:`float<class_float>` **get_border_size** **(** **)** + +The size of the non-navigable border around the bake bounding area. + +In conjunction with the :ref:`filter_baking_aabb<class_NavigationMesh_property_filter_baking_aabb>` and a :ref:`edge_max_error<class_NavigationMesh_property_edge_max_error>` value at ``1.0`` or below the border size can be used to bake tile aligned navigation meshes without the tile edges being shrunk by :ref:`agent_radius<class_NavigationMesh_property_agent_radius>`. + +\ **Note:** While baking and not zero, this value will be rounded up to the nearest multiple of :ref:`cell_size<class_NavigationMesh_property_cell_size>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationMesh_property_cell_height: .. rst-class:: classref-property diff --git a/classes/class_navigationmeshgenerator.rst b/classes/class_navigationmeshgenerator.rst index 78966926def..bea38620bc8 100644 --- a/classes/class_navigationmeshgenerator.rst +++ b/classes/class_navigationmeshgenerator.rst @@ -10,6 +10,8 @@ NavigationMeshGenerator ======================= +**Deprecated:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Object<class_Object>` Helper class for creating and clearing navigation meshes. @@ -69,6 +71,8 @@ Method Descriptions void **bake** **(** :ref:`NavigationMesh<class_NavigationMesh>` navigation_mesh, :ref:`Node<class_Node>` root_node **)** +**Deprecated:** This method may be changed or removed in future versions. + The bake function is deprecated due to core threading changes. To upgrade existing code, first create a :ref:`NavigationMeshSourceGeometryData3D<class_NavigationMeshSourceGeometryData3D>` resource. Use this resource with :ref:`parse_source_geometry_data<class_NavigationMeshGenerator_method_parse_source_geometry_data>` to parse the SceneTree for nodes that should contribute to the navigation mesh baking. The SceneTree parsing needs to happen on the main thread. After the parsing is finished use the resource with :ref:`bake_from_source_geometry_data<class_NavigationMeshGenerator_method_bake_from_source_geometry_data>` to bake a navigation mesh. .. rst-class:: classref-item-separator diff --git a/classes/class_navigationmeshsourcegeometrydata2d.rst b/classes/class_navigationmeshsourcegeometrydata2d.rst index ea0e2c246e5..3542002cbb9 100644 --- a/classes/class_navigationmeshsourcegeometrydata2d.rst +++ b/classes/class_navigationmeshsourcegeometrydata2d.rst @@ -10,6 +10,8 @@ NavigationMeshSourceGeometryData2D ================================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` Container for parsed source geometry data used in navigation mesh baking. diff --git a/classes/class_navigationmeshsourcegeometrydata3d.rst b/classes/class_navigationmeshsourcegeometrydata3d.rst index 5bb0deb0886..e61af29162c 100644 --- a/classes/class_navigationmeshsourcegeometrydata3d.rst +++ b/classes/class_navigationmeshsourcegeometrydata3d.rst @@ -10,6 +10,8 @@ NavigationMeshSourceGeometryData3D ================================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` Container for parsed source geometry data used in navigation mesh baking. diff --git a/classes/class_navigationobstacle2d.rst b/classes/class_navigationobstacle2d.rst index ed1e89c3391..ff0edd79dc3 100644 --- a/classes/class_navigationobstacle2d.rst +++ b/classes/class_navigationobstacle2d.rst @@ -10,6 +10,8 @@ NavigationObstacle2D ==================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` 2D Obstacle used in navigation to constrain avoidance controlled agents outside or inside an area. diff --git a/classes/class_navigationobstacle3d.rst b/classes/class_navigationobstacle3d.rst index bd092645ddd..8928883dfa1 100644 --- a/classes/class_navigationobstacle3d.rst +++ b/classes/class_navigationobstacle3d.rst @@ -10,6 +10,8 @@ NavigationObstacle3D ==================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` 3D Obstacle used in navigation to constrain avoidance controlled agents outside or inside an area. diff --git a/classes/class_navigationpathqueryparameters2d.rst b/classes/class_navigationpathqueryparameters2d.rst index 9e53a5bdef5..7985271238f 100644 --- a/classes/class_navigationpathqueryparameters2d.rst +++ b/classes/class_navigationpathqueryparameters2d.rst @@ -10,6 +10,8 @@ NavigationPathQueryParameters2D =============================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` Provides parameters for 2D navigation path queries. diff --git a/classes/class_navigationpathqueryparameters3d.rst b/classes/class_navigationpathqueryparameters3d.rst index a83be6de540..3381fa2705a 100644 --- a/classes/class_navigationpathqueryparameters3d.rst +++ b/classes/class_navigationpathqueryparameters3d.rst @@ -10,6 +10,8 @@ NavigationPathQueryParameters3D =============================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` Provides parameters for 3D navigation path queries. diff --git a/classes/class_navigationpathqueryresult2d.rst b/classes/class_navigationpathqueryresult2d.rst index bce6999c3cd..34aeb2fedd2 100644 --- a/classes/class_navigationpathqueryresult2d.rst +++ b/classes/class_navigationpathqueryresult2d.rst @@ -10,6 +10,8 @@ NavigationPathQueryResult2D =========================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` Represents the result of a 2D pathfinding query. diff --git a/classes/class_navigationpathqueryresult3d.rst b/classes/class_navigationpathqueryresult3d.rst index 13067bad99e..488949e98ea 100644 --- a/classes/class_navigationpathqueryresult3d.rst +++ b/classes/class_navigationpathqueryresult3d.rst @@ -10,6 +10,8 @@ NavigationPathQueryResult3D =========================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` Represents the result of a 3D pathfinding query. diff --git a/classes/class_navigationpolygon.rst b/classes/class_navigationpolygon.rst index ccf7cce51b2..eecb5c8269a 100644 --- a/classes/class_navigationpolygon.rst +++ b/classes/class_navigationpolygon.rst @@ -10,6 +10,8 @@ NavigationPolygon ================= +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A 2D navigation mesh that describes a traversable surface for pathfinding. @@ -89,6 +91,12 @@ Properties +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ | :ref:`float<class_float>` | :ref:`agent_radius<class_NavigationPolygon_property_agent_radius>` | ``10.0`` | +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`Rect2<class_Rect2>` | :ref:`baking_rect<class_NavigationPolygon_property_baking_rect>` | ``Rect2(0, 0, 0, 0)`` | + +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`baking_rect_offset<class_NavigationPolygon_property_baking_rect_offset>` | ``Vector2(0, 0)`` | + +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`border_size<class_NavigationPolygon_property_border_size>` | ``0.0`` | + +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ | :ref:`float<class_float>` | :ref:`cell_size<class_NavigationPolygon_property_cell_size>` | ``1.0`` | +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ | :ref:`int<class_int>` | :ref:`parsed_collision_mask<class_NavigationPolygon_property_parsed_collision_mask>` | ``4294967295`` | @@ -263,6 +271,59 @@ The distance to erode/shrink the walkable surface when baking the navigation mes ---- +.. _class_NavigationPolygon_property_baking_rect: + +.. rst-class:: classref-property + +:ref:`Rect2<class_Rect2>` **baking_rect** = ``Rect2(0, 0, 0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_baking_rect** **(** :ref:`Rect2<class_Rect2>` value **)** +- :ref:`Rect2<class_Rect2>` **get_baking_rect** **(** **)** + +If the baking :ref:`Rect2<class_Rect2>` has an area the navigation mesh baking will be restricted to its enclosing area. + +.. rst-class:: classref-item-separator + +---- + +.. _class_NavigationPolygon_property_baking_rect_offset: + +.. rst-class:: classref-property + +:ref:`Vector2<class_Vector2>` **baking_rect_offset** = ``Vector2(0, 0)`` + +.. rst-class:: classref-property-setget + +- void **set_baking_rect_offset** **(** :ref:`Vector2<class_Vector2>` value **)** +- :ref:`Vector2<class_Vector2>` **get_baking_rect_offset** **(** **)** + +The position offset applied to the :ref:`baking_rect<class_NavigationPolygon_property_baking_rect>` :ref:`Rect2<class_Rect2>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_NavigationPolygon_property_border_size: + +.. rst-class:: classref-property + +:ref:`float<class_float>` **border_size** = ``0.0`` + +.. rst-class:: classref-property-setget + +- void **set_border_size** **(** :ref:`float<class_float>` value **)** +- :ref:`float<class_float>` **get_border_size** **(** **)** + +The size of the non-navigable border around the bake bounding area defined by the :ref:`baking_rect<class_NavigationPolygon_property_baking_rect>` :ref:`Rect2<class_Rect2>`. + +In conjunction with the :ref:`baking_rect<class_NavigationPolygon_property_baking_rect>` the border size can be used to bake tile aligned navigation meshes without the tile edges being shrunk by :ref:`agent_radius<class_NavigationPolygon_property_agent_radius>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationPolygon_property_cell_size: .. rst-class:: classref-property @@ -519,9 +580,9 @@ Returns a :ref:`PackedVector2Array<class_PackedVector2Array>` containing all the void **make_polygons_from_outlines** **(** **)** -Creates polygons from the outlines added in the editor or by script. +**Deprecated:** Use :ref:`NavigationServer2D.parse_source_geometry_data<class_NavigationServer2D_method_parse_source_geometry_data>` and :ref:`NavigationServer2D.bake_from_source_geometry_data<class_NavigationServer2D_method_bake_from_source_geometry_data>` instead. -\ *Deprecated.* This function is deprecated, and might be removed in a future release. Use :ref:`NavigationServer2D.parse_source_geometry_data<class_NavigationServer2D_method_parse_source_geometry_data>` and :ref:`NavigationServer2D.bake_from_source_geometry_data<class_NavigationServer2D_method_bake_from_source_geometry_data>` instead. +Creates polygons from the outlines added in the editor or by script. .. rst-class:: classref-item-separator diff --git a/classes/class_navigationregion2d.rst b/classes/class_navigationregion2d.rst index 860ed9d6adf..6b890482ead 100644 --- a/classes/class_navigationregion2d.rst +++ b/classes/class_navigationregion2d.rst @@ -10,6 +10,8 @@ NavigationRegion2D ================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` A traversable 2D region that :ref:`NavigationAgent2D<class_NavigationAgent2D>`\ s can use for pathfinding. @@ -87,6 +89,8 @@ Methods +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID<class_RID>` | :ref:`get_rid<class_NavigationRegion2D_method_get_rid>` **(** **)** |const| | +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_baking<class_NavigationRegion2D_method_is_baking>` **(** **)** |const| | + +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_avoidance_layer_value<class_NavigationRegion2D_method_set_avoidance_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)** | +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_navigation_layer_value<class_NavigationRegion2D_method_set_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)** | @@ -329,9 +333,9 @@ Returns the current navigation map :ref:`RID<class_RID>` used by this region. :ref:`RID<class_RID>` **get_region_rid** **(** **)** |const| -Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer2D<class_NavigationServer2D>`. +**Deprecated:** Use :ref:`get_rid<class_NavigationRegion2D_method_get_rid>` instead. -\ *Deprecated.* Use :ref:`get_rid<class_NavigationRegion2D_method_get_rid>` instead. +Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer2D<class_NavigationServer2D>`. .. rst-class:: classref-item-separator @@ -349,6 +353,18 @@ Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer2D ---- +.. _class_NavigationRegion2D_method_is_baking: + +.. rst-class:: classref-method + +:ref:`bool<class_bool>` **is_baking** **(** **)** |const| + +Returns ``true`` when the :ref:`NavigationPolygon<class_NavigationPolygon>` is being baked on a background thread. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationRegion2D_method_set_avoidance_layer_value: .. rst-class:: classref-method diff --git a/classes/class_navigationregion3d.rst b/classes/class_navigationregion3d.rst index 7133ffcbdde..27493e5e6cc 100644 --- a/classes/class_navigationregion3d.rst +++ b/classes/class_navigationregion3d.rst @@ -10,6 +10,8 @@ NavigationRegion3D ================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` A traversable 3D region that :ref:`NavigationAgent3D<class_NavigationAgent3D>`\ s can use for pathfinding. @@ -81,6 +83,8 @@ Methods +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID<class_RID>` | :ref:`get_rid<class_NavigationRegion3D_method_get_rid>` **(** **)** |const| | +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_baking<class_NavigationRegion3D_method_is_baking>` **(** **)** |const| | + +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_navigation_layer_value<class_NavigationRegion3D_method_set_navigation_layer_value>` **(** :ref:`int<class_int>` layer_number, :ref:`bool<class_bool>` value **)** | +-------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_navigation_map<class_NavigationRegion3D_method_set_navigation_map>` **(** :ref:`RID<class_RID>` navigation_map **)** | @@ -273,9 +277,9 @@ Returns the current navigation map :ref:`RID<class_RID>` used by this region. :ref:`RID<class_RID>` **get_region_rid** **(** **)** |const| -Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer3D<class_NavigationServer3D>`. +**Deprecated:** Use :ref:`get_rid<class_NavigationRegion3D_method_get_rid>` instead. -\ *Deprecated.* Use :ref:`get_rid<class_NavigationRegion3D_method_get_rid>` instead. +Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer3D<class_NavigationServer3D>`. .. rst-class:: classref-item-separator @@ -293,6 +297,18 @@ Returns the :ref:`RID<class_RID>` of this region on the :ref:`NavigationServer3D ---- +.. _class_NavigationRegion3D_method_is_baking: + +.. rst-class:: classref-method + +:ref:`bool<class_bool>` **is_baking** **(** **)** |const| + +Returns ``true`` when the :ref:`NavigationMesh<class_NavigationMesh>` is being baked on a background thread. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationRegion3D_method_set_navigation_layer_value: .. rst-class:: classref-method diff --git a/classes/class_navigationserver2d.rst b/classes/class_navigationserver2d.rst index 181c576a184..70ce112db5a 100644 --- a/classes/class_navigationserver2d.rst +++ b/classes/class_navigationserver2d.rst @@ -10,6 +10,8 @@ NavigationServer2D ================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Object<class_Object>` A server interface for low-level 2D navigation access. @@ -129,6 +131,8 @@ Methods +-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID[]<class_RID>` | :ref:`get_maps<class_NavigationServer2D_method_get_maps>` **(** **)** |const| | +-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_baking_navigation_polygon<class_NavigationServer2D_method_is_baking_navigation_polygon>` **(** :ref:`NavigationPolygon<class_NavigationPolygon>` navigation_polygon **)** |const| | + +-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID<class_RID>` | :ref:`link_create<class_NavigationServer2D_method_link_create>` **(** **)** | +-----------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`link_get_enabled<class_NavigationServer2D_method_link_get_enabled>` **(** :ref:`RID<class_RID>` link **)** |const| | @@ -792,6 +796,18 @@ Returns all created navigation map :ref:`RID<class_RID>`\ s on the NavigationSer ---- +.. _class_NavigationServer2D_method_is_baking_navigation_polygon: + +.. rst-class:: classref-method + +:ref:`bool<class_bool>` **is_baking_navigation_polygon** **(** :ref:`NavigationPolygon<class_NavigationPolygon>` navigation_polygon **)** |const| + +Returns ``true`` when the provided navigation polygon is being baked on a background thread. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationServer2D_method_link_create: .. rst-class:: classref-method diff --git a/classes/class_navigationserver3d.rst b/classes/class_navigationserver3d.rst index fe0f47e7c86..314d70543ca 100644 --- a/classes/class_navigationserver3d.rst +++ b/classes/class_navigationserver3d.rst @@ -10,6 +10,8 @@ NavigationServer3D ================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Object<class_Object>` A server interface for low-level 3D navigation access. @@ -139,6 +141,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`get_process_info<class_NavigationServer3D_method_get_process_info>` **(** :ref:`ProcessInfo<enum_NavigationServer3D_ProcessInfo>` process_info **)** |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_baking_navigation_mesh<class_NavigationServer3D_method_is_baking_navigation_mesh>` **(** :ref:`NavigationMesh<class_NavigationMesh>` navigation_mesh **)** |const| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID<class_RID>` | :ref:`link_create<class_NavigationServer3D_method_link_create>` **(** **)** | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`link_get_enabled<class_NavigationServer3D_method_link_get_enabled>` **(** :ref:`RID<class_RID>` link **)** |const| | @@ -201,6 +205,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID[]<class_RID>` | :ref:`map_get_links<class_NavigationServer3D_method_map_get_links>` **(** :ref:`RID<class_RID>` map **)** |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`map_get_merge_rasterizer_cell_scale<class_NavigationServer3D_method_map_get_merge_rasterizer_cell_scale>` **(** :ref:`RID<class_RID>` map **)** |const| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID[]<class_RID>` | :ref:`map_get_obstacles<class_NavigationServer3D_method_map_get_obstacles>` **(** :ref:`RID<class_RID>` map **)** |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedVector3Array<class_PackedVector3Array>` | :ref:`map_get_path<class_NavigationServer3D_method_map_get_path>` **(** :ref:`RID<class_RID>` map, :ref:`Vector3<class_Vector3>` origin, :ref:`Vector3<class_Vector3>` destination, :ref:`bool<class_bool>` optimize, :ref:`int<class_int>` navigation_layers=1 **)** |const| | @@ -225,6 +231,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`map_set_link_connection_radius<class_NavigationServer3D_method_map_set_link_connection_radius>` **(** :ref:`RID<class_RID>` map, :ref:`float<class_float>` radius **)** | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`map_set_merge_rasterizer_cell_scale<class_NavigationServer3D_method_map_set_merge_rasterizer_cell_scale>` **(** :ref:`RID<class_RID>` map, :ref:`float<class_float>` scale **)** | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`map_set_up<class_NavigationServer3D_method_map_set_up>` **(** :ref:`RID<class_RID>` map, :ref:`Vector3<class_Vector3>` up **)** | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`map_set_use_edge_connections<class_NavigationServer3D_method_map_set_use_edge_connections>` **(** :ref:`RID<class_RID>` map, :ref:`bool<class_bool>` enabled **)** | @@ -989,6 +997,18 @@ Returns information about the current state of the NavigationServer. See :ref:`P ---- +.. _class_NavigationServer3D_method_is_baking_navigation_mesh: + +.. rst-class:: classref-method + +:ref:`bool<class_bool>` **is_baking_navigation_mesh** **(** :ref:`NavigationMesh<class_NavigationMesh>` navigation_mesh **)** |const| + +Returns ``true`` when the provided navigation mesh is being baked on a background thread. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationServer3D_method_link_create: .. rst-class:: classref-method @@ -1367,6 +1387,18 @@ Returns all navigation link :ref:`RID<class_RID>`\ s that are currently assigned ---- +.. _class_NavigationServer3D_method_map_get_merge_rasterizer_cell_scale: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **map_get_merge_rasterizer_cell_scale** **(** :ref:`RID<class_RID>` map **)** |const| + +Returns map's internal merge rasterizer cell scale. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationServer3D_method_map_get_obstacles: .. rst-class:: classref-method @@ -1515,6 +1547,18 @@ Set the map's link connection radius used to connect links to navigation polygon ---- +.. _class_NavigationServer3D_method_map_set_merge_rasterizer_cell_scale: + +.. rst-class:: classref-method + +void **map_set_merge_rasterizer_cell_scale** **(** :ref:`RID<class_RID>` map, :ref:`float<class_float>` scale **)** + +Set the map's internal merge rasterizer cell scale used to control merging sensitivity. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationServer3D_method_map_set_up: .. rst-class:: classref-method @@ -1825,9 +1869,11 @@ Queries a path in a given navigation map. Start and target position and other pa void **region_bake_navigation_mesh** **(** :ref:`NavigationMesh<class_NavigationMesh>` navigation_mesh, :ref:`Node<class_Node>` root_node **)** +**Deprecated:** This method is deprecated due to core threading changes. + Bakes the ``navigation_mesh`` with bake source geometry collected starting from the ``root_node``. -\ *Deprecated.* This function is deprecated due to core threading changes. To upgrade existing code, first create a :ref:`NavigationMeshSourceGeometryData3D<class_NavigationMeshSourceGeometryData3D>` resource. Use this resource with :ref:`parse_source_geometry_data<class_NavigationServer3D_method_parse_source_geometry_data>` to parse the SceneTree for nodes that should contribute to the navigation mesh baking. The SceneTree parsing needs to happen on the main thread. After the parsing is finished use the resource with :ref:`bake_from_source_geometry_data<class_NavigationServer3D_method_bake_from_source_geometry_data>` to bake a navigation mesh. +\ *Deprecated.* To upgrade existing code, first create a :ref:`NavigationMeshSourceGeometryData3D<class_NavigationMeshSourceGeometryData3D>` resource. Use this resource with :ref:`parse_source_geometry_data<class_NavigationServer3D_method_parse_source_geometry_data>` to parse the SceneTree for nodes that should contribute to the navigation mesh baking. The SceneTree parsing needs to happen on the main thread. After the parsing is finished use the resource with :ref:`bake_from_source_geometry_data<class_NavigationServer3D_method_bake_from_source_geometry_data>` to bake a navigation mesh. .. rst-class:: classref-item-separator diff --git a/classes/class_node.rst b/classes/class_node.rst index 67356ca2e85..11099860d64 100644 --- a/classes/class_node.rst +++ b/classes/class_node.rst @@ -12,7 +12,7 @@ Node **Inherits:** :ref:`Object<class_Object>` -**Inherited By:** :ref:`AnimationMixer<class_AnimationMixer>`, :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`, :ref:`CanvasItem<class_CanvasItem>`, :ref:`CanvasLayer<class_CanvasLayer>`, :ref:`EditorFileSystem<class_EditorFileSystem>`, :ref:`EditorPlugin<class_EditorPlugin>`, :ref:`EditorResourcePreview<class_EditorResourcePreview>`, :ref:`HTTPRequest<class_HTTPRequest>`, :ref:`InstancePlaceholder<class_InstancePlaceholder>`, :ref:`MissingNode<class_MissingNode>`, :ref:`MultiplayerSpawner<class_MultiplayerSpawner>`, :ref:`MultiplayerSynchronizer<class_MultiplayerSynchronizer>`, :ref:`NavigationAgent2D<class_NavigationAgent2D>`, :ref:`NavigationAgent3D<class_NavigationAgent3D>`, :ref:`Node3D<class_Node3D>`, :ref:`ResourcePreloader<class_ResourcePreloader>`, :ref:`ShaderGlobalsOverride<class_ShaderGlobalsOverride>`, :ref:`SkeletonIK3D<class_SkeletonIK3D>`, :ref:`Timer<class_Timer>`, :ref:`Viewport<class_Viewport>`, :ref:`WorldEnvironment<class_WorldEnvironment>` +**Inherited By:** :ref:`AnimationMixer<class_AnimationMixer>`, :ref:`AudioStreamPlayer<class_AudioStreamPlayer>`, :ref:`CanvasItem<class_CanvasItem>`, :ref:`CanvasLayer<class_CanvasLayer>`, :ref:`EditorFileSystem<class_EditorFileSystem>`, :ref:`EditorPlugin<class_EditorPlugin>`, :ref:`EditorResourcePreview<class_EditorResourcePreview>`, :ref:`HTTPRequest<class_HTTPRequest>`, :ref:`InstancePlaceholder<class_InstancePlaceholder>`, :ref:`MissingNode<class_MissingNode>`, :ref:`MultiplayerSpawner<class_MultiplayerSpawner>`, :ref:`MultiplayerSynchronizer<class_MultiplayerSynchronizer>`, :ref:`NavigationAgent2D<class_NavigationAgent2D>`, :ref:`NavigationAgent3D<class_NavigationAgent3D>`, :ref:`Node3D<class_Node3D>`, :ref:`ResourcePreloader<class_ResourcePreloader>`, :ref:`ShaderGlobalsOverride<class_ShaderGlobalsOverride>`, :ref:`SkeletonIK3D<class_SkeletonIK3D>`, :ref:`StatusIndicator<class_StatusIndicator>`, :ref:`Timer<class_Timer>`, :ref:`Viewport<class_Viewport>`, :ref:`WorldEnvironment<class_WorldEnvironment>` Base class for all scene objects. @@ -96,191 +96,191 @@ Methods .. table:: :widths: auto - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_enter_tree<class_Node_private_method__enter_tree>` **(** **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_exit_tree<class_Node_private_method__exit_tree>` **(** **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_get_configuration_warnings<class_Node_private_method__get_configuration_warnings>` **(** **)** |virtual| |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_input<class_Node_private_method__input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_physics_process<class_Node_private_method__physics_process>` **(** :ref:`float<class_float>` delta **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_process<class_Node_private_method__process>` **(** :ref:`float<class_float>` delta **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_ready<class_Node_private_method__ready>` **(** **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_shortcut_input<class_Node_private_method__shortcut_input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_unhandled_input<class_Node_private_method__unhandled_input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_unhandled_key_input<class_Node_private_method__unhandled_key_input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`add_child<class_Node_method_add_child>` **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` force_readable_name=false, :ref:`InternalMode<enum_Node_InternalMode>` internal=0 **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`add_sibling<class_Node_method_add_sibling>` **(** :ref:`Node<class_Node>` sibling, :ref:`bool<class_bool>` force_readable_name=false **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`add_to_group<class_Node_method_add_to_group>` **(** :ref:`StringName<class_StringName>` group, :ref:`bool<class_bool>` persistent=false **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant<class_Variant>` | :ref:`call_deferred_thread_group<class_Node_method_call_deferred_thread_group>` **(** :ref:`StringName<class_StringName>` method, ... **)** |vararg| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Variant<class_Variant>` | :ref:`call_thread_safe<class_Node_method_call_thread_safe>` **(** :ref:`StringName<class_StringName>` method, ... **)** |vararg| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`can_process<class_Node_method_can_process>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Tween<class_Tween>` | :ref:`create_tween<class_Node_method_create_tween>` **(** **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node<class_Node>` | :ref:`duplicate<class_Node_method_duplicate>` **(** :ref:`int<class_int>` flags=15 **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node<class_Node>` | :ref:`find_child<class_Node_method_find_child>` **(** :ref:`String<class_String>` pattern, :ref:`bool<class_bool>` recursive=true, :ref:`bool<class_bool>` owned=true **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node[]<class_Node>` | :ref:`find_children<class_Node_method_find_children>` **(** :ref:`String<class_String>` pattern, :ref:`String<class_String>` type="", :ref:`bool<class_bool>` recursive=true, :ref:`bool<class_bool>` owned=true **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node<class_Node>` | :ref:`find_parent<class_Node_method_find_parent>` **(** :ref:`String<class_String>` pattern **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node<class_Node>` | :ref:`get_child<class_Node_method_get_child>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` include_internal=false **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_child_count<class_Node_method_get_child_count>` **(** :ref:`bool<class_bool>` include_internal=false **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node[]<class_Node>` | :ref:`get_children<class_Node_method_get_children>` **(** :ref:`bool<class_bool>` include_internal=false **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`StringName[]<class_StringName>` | :ref:`get_groups<class_Node_method_get_groups>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_index<class_Node_method_get_index>` **(** :ref:`bool<class_bool>` include_internal=false **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Window<class_Window>` | :ref:`get_last_exclusive_window<class_Node_method_get_last_exclusive_window>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_multiplayer_authority<class_Node_method_get_multiplayer_authority>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node<class_Node>` | :ref:`get_node<class_Node_method_get_node>` **(** :ref:`NodePath<class_NodePath>` path **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Array<class_Array>` | :ref:`get_node_and_resource<class_Node_method_get_node_and_resource>` **(** :ref:`NodePath<class_NodePath>` path **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node<class_Node>` | :ref:`get_node_or_null<class_Node_method_get_node_or_null>` **(** :ref:`NodePath<class_NodePath>` path **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node<class_Node>` | :ref:`get_parent<class_Node_method_get_parent>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`NodePath<class_NodePath>` | :ref:`get_path<class_Node_method_get_path>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`NodePath<class_NodePath>` | :ref:`get_path_to<class_Node_method_get_path_to>` **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` use_unique_path=false **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float<class_float>` | :ref:`get_physics_process_delta_time<class_Node_method_get_physics_process_delta_time>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float<class_float>` | :ref:`get_process_delta_time<class_Node_method_get_process_delta_time>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`get_scene_instance_load_placeholder<class_Node_method_get_scene_instance_load_placeholder>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`SceneTree<class_SceneTree>` | :ref:`get_tree<class_Node_method_get_tree>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`get_tree_string<class_Node_method_get_tree_string>` **(** **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`get_tree_string_pretty<class_Node_method_get_tree_string_pretty>` **(** **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Viewport<class_Viewport>` | :ref:`get_viewport<class_Node_method_get_viewport>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Window<class_Window>` | :ref:`get_window<class_Node_method_get_window>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`has_node<class_Node_method_has_node>` **(** :ref:`NodePath<class_NodePath>` path **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`has_node_and_resource<class_Node_method_has_node_and_resource>` **(** :ref:`NodePath<class_NodePath>` path **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_ancestor_of<class_Node_method_is_ancestor_of>` **(** :ref:`Node<class_Node>` node **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_displayed_folded<class_Node_method_is_displayed_folded>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_editable_instance<class_Node_method_is_editable_instance>` **(** :ref:`Node<class_Node>` node **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_greater_than<class_Node_method_is_greater_than>` **(** :ref:`Node<class_Node>` node **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_in_group<class_Node_method_is_in_group>` **(** :ref:`StringName<class_StringName>` group **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_inside_tree<class_Node_method_is_inside_tree>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_multiplayer_authority<class_Node_method_is_multiplayer_authority>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_node_ready<class_Node_method_is_node_ready>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_physics_processing<class_Node_method_is_physics_processing>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_physics_processing_internal<class_Node_method_is_physics_processing_internal>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_processing<class_Node_method_is_processing>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_processing_input<class_Node_method_is_processing_input>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_processing_internal<class_Node_method_is_processing_internal>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_processing_shortcut_input<class_Node_method_is_processing_shortcut_input>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_processing_unhandled_input<class_Node_method_is_processing_unhandled_input>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_processing_unhandled_key_input<class_Node_method_is_processing_unhandled_key_input>` **(** **)** |const| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`move_child<class_Node_method_move_child>` **(** :ref:`Node<class_Node>` child_node, :ref:`int<class_int>` to_index **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`notify_deferred_thread_group<class_Node_method_notify_deferred_thread_group>` **(** :ref:`int<class_int>` what **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`notify_thread_safe<class_Node_method_notify_thread_safe>` **(** :ref:`int<class_int>` what **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`print_orphan_nodes<class_Node_method_print_orphan_nodes>` **(** **)** |static| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`print_tree<class_Node_method_print_tree>` **(** **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`print_tree_pretty<class_Node_method_print_tree_pretty>` **(** **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`propagate_call<class_Node_method_propagate_call>` **(** :ref:`StringName<class_StringName>` method, :ref:`Array<class_Array>` args=[], :ref:`bool<class_bool>` parent_first=false **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`propagate_notification<class_Node_method_propagate_notification>` **(** :ref:`int<class_int>` what **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`queue_free<class_Node_method_queue_free>` **(** **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`remove_child<class_Node_method_remove_child>` **(** :ref:`Node<class_Node>` node **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`remove_from_group<class_Node_method_remove_from_group>` **(** :ref:`StringName<class_StringName>` group **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`reparent<class_Node_method_reparent>` **(** :ref:`Node<class_Node>` new_parent, :ref:`bool<class_bool>` keep_global_transform=true **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`replace_by<class_Node_method_replace_by>` **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` keep_groups=false **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`request_ready<class_Node_method_request_ready>` **(** **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`rpc<class_Node_method_rpc>` **(** :ref:`StringName<class_StringName>` method, ... **)** |vararg| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`rpc_config<class_Node_method_rpc_config>` **(** :ref:`StringName<class_StringName>` method, :ref:`Variant<class_Variant>` config **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`rpc_id<class_Node_method_rpc_id>` **(** :ref:`int<class_int>` peer_id, :ref:`StringName<class_StringName>` method, ... **)** |vararg| | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_deferred_thread_group<class_Node_method_set_deferred_thread_group>` **(** :ref:`StringName<class_StringName>` property, :ref:`Variant<class_Variant>` value **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_display_folded<class_Node_method_set_display_folded>` **(** :ref:`bool<class_bool>` fold **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_editable_instance<class_Node_method_set_editable_instance>` **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` is_editable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_multiplayer_authority<class_Node_method_set_multiplayer_authority>` **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` recursive=true **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_physics_process<class_Node_method_set_physics_process>` **(** :ref:`bool<class_bool>` enable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_physics_process_internal<class_Node_method_set_physics_process_internal>` **(** :ref:`bool<class_bool>` enable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_process<class_Node_method_set_process>` **(** :ref:`bool<class_bool>` enable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_process_input<class_Node_method_set_process_input>` **(** :ref:`bool<class_bool>` enable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_process_internal<class_Node_method_set_process_internal>` **(** :ref:`bool<class_bool>` enable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_process_shortcut_input<class_Node_method_set_process_shortcut_input>` **(** :ref:`bool<class_bool>` enable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_process_unhandled_input<class_Node_method_set_process_unhandled_input>` **(** :ref:`bool<class_bool>` enable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_process_unhandled_key_input<class_Node_method_set_process_unhandled_key_input>` **(** :ref:`bool<class_bool>` enable **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_scene_instance_load_placeholder<class_Node_method_set_scene_instance_load_placeholder>` **(** :ref:`bool<class_bool>` load_placeholder **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`set_thread_safe<class_Node_method_set_thread_safe>` **(** :ref:`StringName<class_StringName>` property, :ref:`Variant<class_Variant>` value **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`update_configuration_warnings<class_Node_method_update_configuration_warnings>` **(** **)** | - +---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_enter_tree<class_Node_private_method__enter_tree>` **(** **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_exit_tree<class_Node_private_method__exit_tree>` **(** **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array<class_Array>` | :ref:`_get_configuration_warnings<class_Node_private_method__get_configuration_warnings>` **(** **)** |virtual| |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_input<class_Node_private_method__input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_physics_process<class_Node_private_method__physics_process>` **(** :ref:`float<class_float>` delta **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_process<class_Node_private_method__process>` **(** :ref:`float<class_float>` delta **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_ready<class_Node_private_method__ready>` **(** **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_shortcut_input<class_Node_private_method__shortcut_input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_unhandled_input<class_Node_private_method__unhandled_input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_unhandled_key_input<class_Node_private_method__unhandled_key_input>` **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`add_child<class_Node_method_add_child>` **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` force_readable_name=false, :ref:`InternalMode<enum_Node_InternalMode>` internal=0 **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`add_sibling<class_Node_method_add_sibling>` **(** :ref:`Node<class_Node>` sibling, :ref:`bool<class_bool>` force_readable_name=false **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`add_to_group<class_Node_method_add_to_group>` **(** :ref:`StringName<class_StringName>` group, :ref:`bool<class_bool>` persistent=false **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant<class_Variant>` | :ref:`call_deferred_thread_group<class_Node_method_call_deferred_thread_group>` **(** :ref:`StringName<class_StringName>` method, ... **)** |vararg| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant<class_Variant>` | :ref:`call_thread_safe<class_Node_method_call_thread_safe>` **(** :ref:`StringName<class_StringName>` method, ... **)** |vararg| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`can_process<class_Node_method_can_process>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Tween<class_Tween>` | :ref:`create_tween<class_Node_method_create_tween>` **(** **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node<class_Node>` | :ref:`duplicate<class_Node_method_duplicate>` **(** :ref:`int<class_int>` flags=15 **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node<class_Node>` | :ref:`find_child<class_Node_method_find_child>` **(** :ref:`String<class_String>` pattern, :ref:`bool<class_bool>` recursive=true, :ref:`bool<class_bool>` owned=true **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node[]<class_Node>` | :ref:`find_children<class_Node_method_find_children>` **(** :ref:`String<class_String>` pattern, :ref:`String<class_String>` type="", :ref:`bool<class_bool>` recursive=true, :ref:`bool<class_bool>` owned=true **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node<class_Node>` | :ref:`find_parent<class_Node_method_find_parent>` **(** :ref:`String<class_String>` pattern **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node<class_Node>` | :ref:`get_child<class_Node_method_get_child>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` include_internal=false **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_child_count<class_Node_method_get_child_count>` **(** :ref:`bool<class_bool>` include_internal=false **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node[]<class_Node>` | :ref:`get_children<class_Node_method_get_children>` **(** :ref:`bool<class_bool>` include_internal=false **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName[]<class_StringName>` | :ref:`get_groups<class_Node_method_get_groups>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_index<class_Node_method_get_index>` **(** :ref:`bool<class_bool>` include_internal=false **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Window<class_Window>` | :ref:`get_last_exclusive_window<class_Node_method_get_last_exclusive_window>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_multiplayer_authority<class_Node_method_get_multiplayer_authority>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node<class_Node>` | :ref:`get_node<class_Node_method_get_node>` **(** :ref:`NodePath<class_NodePath>` path **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array<class_Array>` | :ref:`get_node_and_resource<class_Node_method_get_node_and_resource>` **(** :ref:`NodePath<class_NodePath>` path **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node<class_Node>` | :ref:`get_node_or_null<class_Node_method_get_node_or_null>` **(** :ref:`NodePath<class_NodePath>` path **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node<class_Node>` | :ref:`get_parent<class_Node_method_get_parent>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath<class_NodePath>` | :ref:`get_path<class_Node_method_get_path>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath<class_NodePath>` | :ref:`get_path_to<class_Node_method_get_path_to>` **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` use_unique_path=false **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`get_physics_process_delta_time<class_Node_method_get_physics_process_delta_time>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`get_process_delta_time<class_Node_method_get_process_delta_time>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`get_scene_instance_load_placeholder<class_Node_method_get_scene_instance_load_placeholder>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`SceneTree<class_SceneTree>` | :ref:`get_tree<class_Node_method_get_tree>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_tree_string<class_Node_method_get_tree_string>` **(** **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_tree_string_pretty<class_Node_method_get_tree_string_pretty>` **(** **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Viewport<class_Viewport>` | :ref:`get_viewport<class_Node_method_get_viewport>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Window<class_Window>` | :ref:`get_window<class_Node_method_get_window>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`has_node<class_Node_method_has_node>` **(** :ref:`NodePath<class_NodePath>` path **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`has_node_and_resource<class_Node_method_has_node_and_resource>` **(** :ref:`NodePath<class_NodePath>` path **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_ancestor_of<class_Node_method_is_ancestor_of>` **(** :ref:`Node<class_Node>` node **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_displayed_folded<class_Node_method_is_displayed_folded>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_editable_instance<class_Node_method_is_editable_instance>` **(** :ref:`Node<class_Node>` node **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_greater_than<class_Node_method_is_greater_than>` **(** :ref:`Node<class_Node>` node **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_in_group<class_Node_method_is_in_group>` **(** :ref:`StringName<class_StringName>` group **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_inside_tree<class_Node_method_is_inside_tree>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_multiplayer_authority<class_Node_method_is_multiplayer_authority>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_node_ready<class_Node_method_is_node_ready>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_physics_processing<class_Node_method_is_physics_processing>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_physics_processing_internal<class_Node_method_is_physics_processing_internal>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_processing<class_Node_method_is_processing>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_processing_input<class_Node_method_is_processing_input>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_processing_internal<class_Node_method_is_processing_internal>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_processing_shortcut_input<class_Node_method_is_processing_shortcut_input>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_processing_unhandled_input<class_Node_method_is_processing_unhandled_input>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_processing_unhandled_key_input<class_Node_method_is_processing_unhandled_key_input>` **(** **)** |const| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`move_child<class_Node_method_move_child>` **(** :ref:`Node<class_Node>` child_node, :ref:`int<class_int>` to_index **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`notify_deferred_thread_group<class_Node_method_notify_deferred_thread_group>` **(** :ref:`int<class_int>` what **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`notify_thread_safe<class_Node_method_notify_thread_safe>` **(** :ref:`int<class_int>` what **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`print_orphan_nodes<class_Node_method_print_orphan_nodes>` **(** **)** |static| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`print_tree<class_Node_method_print_tree>` **(** **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`print_tree_pretty<class_Node_method_print_tree_pretty>` **(** **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`propagate_call<class_Node_method_propagate_call>` **(** :ref:`StringName<class_StringName>` method, :ref:`Array<class_Array>` args=[], :ref:`bool<class_bool>` parent_first=false **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`propagate_notification<class_Node_method_propagate_notification>` **(** :ref:`int<class_int>` what **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`queue_free<class_Node_method_queue_free>` **(** **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`remove_child<class_Node_method_remove_child>` **(** :ref:`Node<class_Node>` node **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`remove_from_group<class_Node_method_remove_from_group>` **(** :ref:`StringName<class_StringName>` group **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`reparent<class_Node_method_reparent>` **(** :ref:`Node<class_Node>` new_parent, :ref:`bool<class_bool>` keep_global_transform=true **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`replace_by<class_Node_method_replace_by>` **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` keep_groups=false **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`request_ready<class_Node_method_request_ready>` **(** **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`rpc<class_Node_method_rpc>` **(** :ref:`StringName<class_StringName>` method, ... **)** |vararg| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`rpc_config<class_Node_method_rpc_config>` **(** :ref:`StringName<class_StringName>` method, :ref:`Variant<class_Variant>` config **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error<enum_@GlobalScope_Error>` | :ref:`rpc_id<class_Node_method_rpc_id>` **(** :ref:`int<class_int>` peer_id, :ref:`StringName<class_StringName>` method, ... **)** |vararg| | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_deferred_thread_group<class_Node_method_set_deferred_thread_group>` **(** :ref:`StringName<class_StringName>` property, :ref:`Variant<class_Variant>` value **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_display_folded<class_Node_method_set_display_folded>` **(** :ref:`bool<class_bool>` fold **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_editable_instance<class_Node_method_set_editable_instance>` **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` is_editable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_multiplayer_authority<class_Node_method_set_multiplayer_authority>` **(** :ref:`int<class_int>` id, :ref:`bool<class_bool>` recursive=true **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_physics_process<class_Node_method_set_physics_process>` **(** :ref:`bool<class_bool>` enable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_physics_process_internal<class_Node_method_set_physics_process_internal>` **(** :ref:`bool<class_bool>` enable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_process<class_Node_method_set_process>` **(** :ref:`bool<class_bool>` enable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_process_input<class_Node_method_set_process_input>` **(** :ref:`bool<class_bool>` enable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_process_internal<class_Node_method_set_process_internal>` **(** :ref:`bool<class_bool>` enable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_process_shortcut_input<class_Node_method_set_process_shortcut_input>` **(** :ref:`bool<class_bool>` enable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_process_unhandled_input<class_Node_method_set_process_unhandled_input>` **(** :ref:`bool<class_bool>` enable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_process_unhandled_key_input<class_Node_method_set_process_unhandled_key_input>` **(** :ref:`bool<class_bool>` enable **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_scene_instance_load_placeholder<class_Node_method_set_scene_instance_load_placeholder>` **(** :ref:`bool<class_bool>` load_placeholder **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_thread_safe<class_Node_method_set_thread_safe>` **(** :ref:`StringName<class_StringName>` property, :ref:`Variant<class_Variant>` value **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`update_configuration_warnings<class_Node_method_update_configuration_warnings>` **(** **)** | + +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -524,11 +524,7 @@ flags **ProcessThreadMessages**: :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES** = ``1`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! - - +Allows this node to process threaded messages created with :ref:`call_deferred_thread_group<class_Node_method_call_deferred_thread_group>` right before :ref:`_process<class_Node_private_method__process>` is called. .. _class_Node_constant_FLAG_PROCESS_THREAD_MESSAGES_PHYSICS: @@ -536,11 +532,7 @@ flags **ProcessThreadMessages**: :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES_PHYSICS** = ``2`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! - - +Allows this node to process threaded messages created with :ref:`call_deferred_thread_group<class_Node_method_call_deferred_thread_group>` right before :ref:`_physics_process<class_Node_private_method__physics_process>` is called. .. _class_Node_constant_FLAG_PROCESS_THREAD_MESSAGES_ALL: @@ -548,11 +540,7 @@ flags **ProcessThreadMessages**: :ref:`ProcessThreadMessages<enum_Node_ProcessThreadMessages>` **FLAG_PROCESS_THREAD_MESSAGES_ALL** = ``3`` -.. container:: contribute - - There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! - - +Allows this node to process threaded messages created with :ref:`call_deferred_thread_group<class_Node_method_call_deferred_thread_group>` right before either :ref:`_process<class_Node_private_method__process>` or :ref:`_physics_process<class_Node_private_method__physics_process>` are called. .. rst-class:: classref-item-separator @@ -586,7 +574,7 @@ Duplicate the node's groups. :ref:`DuplicateFlags<enum_Node_DuplicateFlags>` **DUPLICATE_SCRIPTS** = ``4`` -Duplicate the node's script (including the ancestor's script, if combined with :ref:`DUPLICATE_USE_INSTANTIATION<class_Node_constant_DUPLICATE_USE_INSTANTIATION>`). +Duplicate the node's script (also overriding the duplicated children's scripts, if combined with :ref:`DUPLICATE_USE_INSTANTIATION<class_Node_constant_DUPLICATE_USE_INSTANTIATION>`). .. _class_Node_constant_DUPLICATE_USE_INSTANTIATION: @@ -665,7 +653,9 @@ This notification is received *after* the related :ref:`tree_exiting<class_Node_ **NOTIFICATION_MOVED_IN_PARENT** = ``12`` -*Deprecated.* This notification is no longer emitted. Use :ref:`NOTIFICATION_CHILD_ORDER_CHANGED<class_Node_constant_NOTIFICATION_CHILD_ORDER_CHANGED>` instead. +**Deprecated:** Use :ref:`NOTIFICATION_CHILD_ORDER_CHANGED<class_Node_constant_NOTIFICATION_CHILD_ORDER_CHANGED>` instead. + +This notification is no longer emitted. .. _class_Node_constant_NOTIFICATION_READY: @@ -979,7 +969,7 @@ Implemented only on macOS. Notification received from the OS when the application is resumed. -Implemented only on Android. +Specific to the Android and iOS platforms. .. _class_Node_constant_NOTIFICATION_APPLICATION_PAUSED: @@ -989,7 +979,9 @@ Implemented only on Android. Notification received from the OS when the application is paused. -Implemented only on Android. +Specific to the Android and iOS platforms. + +\ **Note:** On iOS, you only have approximately 5 seconds to finish a task started by this signal. If you go over this allotment, iOS will kill the app instead of pausing it. .. _class_Node_constant_NOTIFICATION_APPLICATION_FOCUS_IN: @@ -997,9 +989,9 @@ Implemented only on Android. **NOTIFICATION_APPLICATION_FOCUS_IN** = ``2016`` -Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a third-party application to any open window of the Godot instance. +Notification received from the OS when the application is focused, i.e. when changing the focus from the OS desktop or a thirdparty application to any open window of the Godot instance. -Implemented on desktop platforms. +Implemented on desktop and mobile platforms. .. _class_Node_constant_NOTIFICATION_APPLICATION_FOCUS_OUT: @@ -1007,9 +999,9 @@ Implemented on desktop platforms. **NOTIFICATION_APPLICATION_FOCUS_OUT** = ``2017`` -Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a third-party application. +Notification received from the OS when the application is defocused, i.e. when changing the focus from any open window of the Godot instance to the OS desktop or a thirdparty application. -Implemented on desktop platforms. +Implemented on desktop and mobile platforms. .. _class_Node_constant_NOTIFICATION_TEXT_SERVER_CHANGED: @@ -1076,7 +1068,7 @@ The :ref:`MultiplayerAPI<class_MultiplayerAPI>` instance associated with this no The name of the node. This name must be unique among the siblings (other child nodes from the same parent). When set to an existing sibling's name, the node is automatically renamed. -\ **Note:** When changing the name, the following characters will be removed: (``.`` ``:`` ``@`` ``/`` ``"`` ``%``). In particular, the ``@`` character is reserved for auto-generated names. See also :ref:`String.validate_node_name<class_String_method_validate_node_name>`. +\ **Note:** When changing the name, the following characters will be replaced with an underscore: (``.`` ``:`` ``@`` ``/`` ``"`` ``%``). In particular, the ``@`` character is reserved for auto-generated names. See also :ref:`String.validate_node_name<class_String_method_validate_node_name>`. .. rst-class:: classref-item-separator @@ -1112,7 +1104,7 @@ The owner of this node. The owner must be an ancestor of this node. When packing - void **set_process_mode** **(** :ref:`ProcessMode<enum_Node_ProcessMode>` value **)** - :ref:`ProcessMode<enum_Node_ProcessMode>` **get_process_mode** **(** **)** -The node's processing behavior (see :ref:`ProcessMode<enum_Node_ProcessMode>`). To check if the node is able to process, with the current mode and :ref:`SceneTree.paused<class_SceneTree_property_paused>`, use :ref:`can_process<class_Node_method_can_process>`. +The node's processing behavior (see :ref:`ProcessMode<enum_Node_ProcessMode>`). To check if the node can process in its current mode, use :ref:`can_process<class_Node_method_can_process>`. .. rst-class:: classref-item-separator @@ -1282,10 +1274,18 @@ Corresponds to the :ref:`NOTIFICATION_EXIT_TREE<class_Node_constant_NOTIFICATION .. rst-class:: classref-method -:ref:`PackedStringArray<class_PackedStringArray>` **_get_configuration_warnings** **(** **)** |virtual| |const| +:ref:`Array<class_Array>` **_get_configuration_warnings** **(** **)** |virtual| |const| The elements in the array returned from this method are displayed as warnings in the Scene dock if the script that overrides it is a ``tool`` script. +Each array element must either be a :ref:`String<class_String>` or a :ref:`Dictionary<class_Dictionary>`. + +A dictionary element must contain a key ``message`` of type :ref:`String<class_String>` which is shown in the user interface. + +The dictionary may optionally contain a key ``property`` of type :ref:`NodePath<class_NodePath>`, which also shows this warning in the inspector on the corresponding property. + +If a string is found in the returned array, it is converted to an equivalent dictionary with the ``message`` field set. + Returning an empty array produces no warnings. Call :ref:`update_configuration_warnings<class_Node_method_update_configuration_warnings>` when the warnings need to be updated for this node. @@ -1552,7 +1552,19 @@ This function ensures that the calling of this function will succeed, no matter :ref:`bool<class_bool>` **can_process** **(** **)** |const| -Returns ``true`` if the node can receive processing notifications and input callbacks (:ref:`NOTIFICATION_PROCESS<class_Node_constant_NOTIFICATION_PROCESS>`, :ref:`_input<class_Node_private_method__input>`, etc) from the :ref:`SceneTree<class_SceneTree>` and :ref:`Viewport<class_Viewport>`. The value depends on both the current :ref:`process_mode<class_Node_property_process_mode>` and :ref:`SceneTree.paused<class_SceneTree_property_paused>`. Returns ``false`` if the node is not inside the tree. +Returns ``true`` if the node can receive processing notifications and input callbacks (:ref:`NOTIFICATION_PROCESS<class_Node_constant_NOTIFICATION_PROCESS>`, :ref:`_input<class_Node_private_method__input>`, etc) from the :ref:`SceneTree<class_SceneTree>` and :ref:`Viewport<class_Viewport>`. The returned value depends on :ref:`process_mode<class_Node_property_process_mode>`: + +- If set to :ref:`PROCESS_MODE_PAUSABLE<class_Node_constant_PROCESS_MODE_PAUSABLE>`, returns ``true`` when the game is processing, i.e. :ref:`SceneTree.paused<class_SceneTree_property_paused>` is ``false``; + +- If set to :ref:`PROCESS_MODE_WHEN_PAUSED<class_Node_constant_PROCESS_MODE_WHEN_PAUSED>`, returns ``true`` when the game is paused, i.e. :ref:`SceneTree.paused<class_SceneTree_property_paused>` is ``true``; + +- If set to :ref:`PROCESS_MODE_ALWAYS<class_Node_constant_PROCESS_MODE_ALWAYS>`, always returns ``true``; + +- If set to :ref:`PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`, always returns ``false``; + +- If set to :ref:`PROCESS_MODE_INHERIT<class_Node_constant_PROCESS_MODE_INHERIT>`, use the parent node's :ref:`process_mode<class_Node_property_process_mode>` to determine the result. + +If the node is not inside the tree, returns ``false`` no matter the value of :ref:`process_mode<class_Node_property_process_mode>`. .. rst-class:: classref-item-separator @@ -1564,7 +1576,7 @@ Returns ``true`` if the node can receive processing notifications and input call :ref:`Tween<class_Tween>` **create_tween** **(** **)** -Creates a new :ref:`Tween<class_Tween>` and binds it to this node. Fails if the node is not inside the tree. +Creates a new :ref:`Tween<class_Tween>` and binds it to this node. This is the equivalent of doing: @@ -1581,7 +1593,9 @@ This is the equivalent of doing: -The Tween will start automatically on the next process frame or physics frame (depending on :ref:`TweenProcessMode<enum_Tween_TweenProcessMode>`). +The Tween will start automatically on the next process frame or physics frame (depending on :ref:`TweenProcessMode<enum_Tween_TweenProcessMode>`). See :ref:`Tween.bind_node<class_Tween_method_bind_node>` for more info on Tweens bound to nodes. + +\ **Note:** The method can still be used when the node is not inside :ref:`SceneTree<class_SceneTree>`. It can fail in an unlikely case of using a custom :ref:`MainLoop<class_MainLoop>`. .. rst-class:: classref-item-separator @@ -1939,7 +1953,7 @@ Returns the node's absolute path, relative to the :ref:`SceneTree.root<class_Sce :ref:`NodePath<class_NodePath>` **get_path_to** **(** :ref:`Node<class_Node>` node, :ref:`bool<class_bool>` use_unique_path=false **)** |const| -Returns the relative :ref:`NodePath<class_NodePath>` from this node to the specified ``node``. Both nodes must be in the same :ref:`SceneTree<class_SceneTree>`, otherwise this method fails and returns an empty :ref:`NodePath<class_NodePath>`. +Returns the relative :ref:`NodePath<class_NodePath>` from this node to the specified ``node``. Both nodes must be in the same :ref:`SceneTree<class_SceneTree>` or scene hierarchy, otherwise this method fails and returns an empty :ref:`NodePath<class_NodePath>`. If ``use_unique_path`` is ``true``, returns the shortest path accounting for this node's unique name (see :ref:`unique_name_in_owner<class_Node_property_unique_name_in_owner>`). @@ -2605,7 +2619,9 @@ If ``recursive`` is ``true``, the given peer is recursively set as the authority void **set_physics_process** **(** :ref:`bool<class_bool>` enable **)** -If set to ``true``, enables physics (fixed framerate) processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PHYSICS_PROCESS<class_Node_constant_NOTIFICATION_PHYSICS_PROCESS>` at a fixed (usually 60 FPS, see :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` to change) interval (and the :ref:`_physics_process<class_Node_private_method__physics_process>` callback will be called if exists). Enabled automatically if :ref:`_physics_process<class_Node_private_method__physics_process>` is overridden. +If set to ``true``, enables physics (fixed framerate) processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PHYSICS_PROCESS<class_Node_constant_NOTIFICATION_PHYSICS_PROCESS>` at a fixed (usually 60 FPS, see :ref:`Engine.physics_ticks_per_second<class_Engine_property_physics_ticks_per_second>` to change) interval (and the :ref:`_physics_process<class_Node_private_method__physics_process>` callback will be called if it exists). + +\ **Note:** If :ref:`_physics_process<class_Node_private_method__physics_process>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called. .. rst-class:: classref-item-separator @@ -2631,7 +2647,11 @@ If set to ``true``, enables internal physics for this node. Internal physics pro void **set_process** **(** :ref:`bool<class_bool>` enable **)** -If set to ``true``, enables processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PROCESS<class_Node_constant_NOTIFICATION_PROCESS>` on every drawn frame (and the :ref:`_process<class_Node_private_method__process>` callback will be called if exists). Enabled automatically if :ref:`_process<class_Node_private_method__process>` is overridden. +If set to ``true``, enables processing. When a node is being processed, it will receive a :ref:`NOTIFICATION_PROCESS<class_Node_constant_NOTIFICATION_PROCESS>` on every drawn frame (and the :ref:`_process<class_Node_private_method__process>` callback will be called if it exists). + +\ **Note:** If :ref:`_process<class_Node_private_method__process>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called. + +\ **Note:** This method only affects the :ref:`_process<class_Node_private_method__process>` callback, i.e. it has no effect on other callbacks like :ref:`_physics_process<class_Node_private_method__physics_process>`. If you want to disable all processing for the node, set :ref:`process_mode<class_Node_property_process_mode>` to :ref:`PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`. .. rst-class:: classref-item-separator @@ -2643,7 +2663,9 @@ If set to ``true``, enables processing. When a node is being processed, it will void **set_process_input** **(** :ref:`bool<class_bool>` enable **)** -If set to ``true``, enables input processing. This is not required for GUI controls! Enabled automatically if :ref:`_input<class_Node_private_method__input>` is overridden. +If set to ``true``, enables input processing. + +\ **Note:** If :ref:`_input<class_Node_private_method__input>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called. Input processing is also already enabled for GUI controls, such as :ref:`Button<class_Button>` and :ref:`TextEdit<class_TextEdit>`. .. rst-class:: classref-item-separator @@ -2669,7 +2691,9 @@ If set to ``true``, enables internal processing for this node. Internal processi void **set_process_shortcut_input** **(** :ref:`bool<class_bool>` enable **)** -If set to ``true``, enables shortcut processing for this node. Enabled automatically if :ref:`_shortcut_input<class_Node_private_method__shortcut_input>` is overridden. +If set to ``true``, enables shortcut processing for this node. + +\ **Note:** If :ref:`_shortcut_input<class_Node_private_method__shortcut_input>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called. .. rst-class:: classref-item-separator @@ -2681,7 +2705,9 @@ If set to ``true``, enables shortcut processing for this node. Enabled automatic void **set_process_unhandled_input** **(** :ref:`bool<class_bool>` enable **)** -If set to ``true``, enables unhandled input processing. This is not required for GUI controls! It enables the node to receive all input that was not previously handled (usually by a :ref:`Control<class_Control>`). Enabled automatically if :ref:`_unhandled_input<class_Node_private_method__unhandled_input>` is overridden. +If set to ``true``, enables unhandled input processing. It enables the node to receive all input that was not previously handled (usually by a :ref:`Control<class_Control>`). + +\ **Note:** If :ref:`_unhandled_input<class_Node_private_method__unhandled_input>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called. Unhandled input processing is also already enabled for GUI controls, such as :ref:`Button<class_Button>` and :ref:`TextEdit<class_TextEdit>`. .. rst-class:: classref-item-separator @@ -2693,7 +2719,9 @@ If set to ``true``, enables unhandled input processing. This is not required for void **set_process_unhandled_key_input** **(** :ref:`bool<class_bool>` enable **)** -If set to ``true``, enables unhandled key input processing. Enabled automatically if :ref:`_unhandled_key_input<class_Node_private_method__unhandled_key_input>` is overridden. +If set to ``true``, enables unhandled key input processing. + +\ **Note:** If :ref:`_unhandled_key_input<class_Node_private_method__unhandled_key_input>` is overridden, this will be automatically enabled before :ref:`_ready<class_Node_private_method__ready>` is called. .. rst-class:: classref-item-separator diff --git a/classes/class_node2d.rst b/classes/class_node2d.rst index 79b9f50f234..b79b705a711 100644 --- a/classes/class_node2d.rst +++ b/classes/class_node2d.rst @@ -12,7 +12,7 @@ Node2D **Inherits:** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` -**Inherited By:** :ref:`AnimatedSprite2D<class_AnimatedSprite2D>`, :ref:`AudioListener2D<class_AudioListener2D>`, :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>`, :ref:`BackBufferCopy<class_BackBufferCopy>`, :ref:`Bone2D<class_Bone2D>`, :ref:`Camera2D<class_Camera2D>`, :ref:`CanvasGroup<class_CanvasGroup>`, :ref:`CanvasModulate<class_CanvasModulate>`, :ref:`CollisionObject2D<class_CollisionObject2D>`, :ref:`CollisionPolygon2D<class_CollisionPolygon2D>`, :ref:`CollisionShape2D<class_CollisionShape2D>`, :ref:`CPUParticles2D<class_CPUParticles2D>`, :ref:`GPUParticles2D<class_GPUParticles2D>`, :ref:`Joint2D<class_Joint2D>`, :ref:`Light2D<class_Light2D>`, :ref:`LightOccluder2D<class_LightOccluder2D>`, :ref:`Line2D<class_Line2D>`, :ref:`Marker2D<class_Marker2D>`, :ref:`MeshInstance2D<class_MeshInstance2D>`, :ref:`MultiMeshInstance2D<class_MultiMeshInstance2D>`, :ref:`NavigationLink2D<class_NavigationLink2D>`, :ref:`NavigationObstacle2D<class_NavigationObstacle2D>`, :ref:`NavigationRegion2D<class_NavigationRegion2D>`, :ref:`ParallaxLayer<class_ParallaxLayer>`, :ref:`Path2D<class_Path2D>`, :ref:`PathFollow2D<class_PathFollow2D>`, :ref:`Polygon2D<class_Polygon2D>`, :ref:`RayCast2D<class_RayCast2D>`, :ref:`RemoteTransform2D<class_RemoteTransform2D>`, :ref:`ShapeCast2D<class_ShapeCast2D>`, :ref:`Skeleton2D<class_Skeleton2D>`, :ref:`Sprite2D<class_Sprite2D>`, :ref:`TileMap<class_TileMap>`, :ref:`TouchScreenButton<class_TouchScreenButton>`, :ref:`VisibleOnScreenNotifier2D<class_VisibleOnScreenNotifier2D>` +**Inherited By:** :ref:`AnimatedSprite2D<class_AnimatedSprite2D>`, :ref:`AudioListener2D<class_AudioListener2D>`, :ref:`AudioStreamPlayer2D<class_AudioStreamPlayer2D>`, :ref:`BackBufferCopy<class_BackBufferCopy>`, :ref:`Bone2D<class_Bone2D>`, :ref:`Camera2D<class_Camera2D>`, :ref:`CanvasGroup<class_CanvasGroup>`, :ref:`CanvasModulate<class_CanvasModulate>`, :ref:`CollisionObject2D<class_CollisionObject2D>`, :ref:`CollisionPolygon2D<class_CollisionPolygon2D>`, :ref:`CollisionShape2D<class_CollisionShape2D>`, :ref:`CPUParticles2D<class_CPUParticles2D>`, :ref:`GPUParticles2D<class_GPUParticles2D>`, :ref:`Joint2D<class_Joint2D>`, :ref:`Light2D<class_Light2D>`, :ref:`LightOccluder2D<class_LightOccluder2D>`, :ref:`Line2D<class_Line2D>`, :ref:`Marker2D<class_Marker2D>`, :ref:`MeshInstance2D<class_MeshInstance2D>`, :ref:`MultiMeshInstance2D<class_MultiMeshInstance2D>`, :ref:`NavigationLink2D<class_NavigationLink2D>`, :ref:`NavigationObstacle2D<class_NavigationObstacle2D>`, :ref:`NavigationRegion2D<class_NavigationRegion2D>`, :ref:`ParallaxLayer<class_ParallaxLayer>`, :ref:`Path2D<class_Path2D>`, :ref:`PathFollow2D<class_PathFollow2D>`, :ref:`Polygon2D<class_Polygon2D>`, :ref:`RayCast2D<class_RayCast2D>`, :ref:`RemoteTransform2D<class_RemoteTransform2D>`, :ref:`ShapeCast2D<class_ShapeCast2D>`, :ref:`Skeleton2D<class_Skeleton2D>`, :ref:`Sprite2D<class_Sprite2D>`, :ref:`TileMapLayerGroup<class_TileMapLayerGroup>`, :ref:`TouchScreenButton<class_TouchScreenButton>`, :ref:`VisibleOnScreenNotifier2D<class_VisibleOnScreenNotifier2D>` A 2D game object, inherited by all 2D-related nodes. Has a position, rotation, scale, and Z index. diff --git a/classes/class_nodepath.rst b/classes/class_nodepath.rst index c336e3a76b8..296d0a0b906 100644 --- a/classes/class_nodepath.rst +++ b/classes/class_nodepath.rst @@ -17,31 +17,43 @@ A pre-parsed scene tree path. Description ----------- -A pre-parsed relative or absolute path in a scene tree, for use with :ref:`Node.get_node<class_Node_method_get_node>` and similar functions. It can reference a node, a resource within a node, or a property of a node or resource. For example, ``"Path2D/PathFollow2D/Sprite2D:texture:size"`` would refer to the ``size`` property of the ``texture`` resource on the node named ``"Sprite2D"``, which is a child of the other named nodes in the path. +The **NodePath** built-in :ref:`Variant<class_Variant>` type represents a path to a node or property in a hierarchy of nodes. It is designed to be efficiently passed into many built-in methods (such as :ref:`Node.get_node<class_Node_method_get_node>`, :ref:`Object.set_indexed<class_Object_method_set_indexed>`, :ref:`Tween.tween_property<class_Tween_method_tween_property>`, etc.) without a hard dependence on the node or property they point to. -You will usually just pass a string to :ref:`Node.get_node<class_Node_method_get_node>` and it will be automatically converted, but you may occasionally want to parse a path ahead of time with **NodePath** or the literal syntax ``^"path"``. Exporting a **NodePath** variable will give you a node selection widget in the properties panel of the editor, which can often be useful. +A node path is represented as a :ref:`String<class_String>` composed of slash-separated (``/``) node names and colon-separated (``:``) property names (also called "subnames"). Similar to a filesystem path, ``".."`` and ``"."`` are special node names. They refer to the parent node and the current node, respectively. -A **NodePath** is composed of a list of slash-separated node names (like a filesystem path) and an optional colon-separated list of "subnames" which can be resources or properties. +The following examples are paths relative to the current node: -Some examples of NodePaths include the following: +:: + + ^"A" # Points to the direct child A. + ^"A/B" # Points to A's child B. + ^"." # Points to the current node. + ^".." # Points to the parent node. + ^"../C" # Points to the sibling node C. + ^"../.." # Points to the grandparent node. + +A leading slash means the path is absolute, and begins from the :ref:`SceneTree<class_SceneTree>`: + +:: + + ^"/root" # Points to the SceneTree's root Window. + ^"/root/Title" # May point to the main scene's root node named "Title". + ^"/root/Global" # May point to an autoloaded node or scene named "Global". + +Despite their name, node paths may also point to a property: :: - # No leading slash means it is relative to the current node. - ^"A" # Immediate child A - ^"A/B" # A's child B - ^"." # The current node. - ^".." # The parent node. - ^"../C" # A sibling node C. - ^"../.." # The grandparent node. - # A leading slash means it is absolute from the SceneTree. - ^"/root" # Equivalent to get_tree().get_root(). - ^"/root/Main" # If your main scene's root node were named "Main". - ^"/root/MyAutoload" # If you have an autoloaded node or scene. + ^"position" # Points to this object's position. + ^"position:x" # Points to this object's position in the x axis. + ^"Camera3D:rotation:y" # Points to the child Camera3D and its y rotation. + ^"/root:size:x" # Points to the root Window and its width. + +Node paths cannot check whether they are valid and may point to nodes or properties that do not exist. Their meaning depends entirely on the context in which they're used. -See also :ref:`StringName<class_StringName>`, which is a similar concept for general-purpose string interning. +You usually do not have to worry about the **NodePath** type, as strings are automatically converted to the type when necessary. There are still times when defining node paths is useful. For example, exported **NodePath** properties allow you to easily select any node within the currently edited scene. They are also automatically updated when moving, renaming or deleting nodes in the scene tree editor. See also :ref:`@GDScript.@export_node_path<class_@GDScript_annotation_@export_node_path>`. -\ **Note:** In the editor, **NodePath** properties are automatically updated when moving, renaming or deleting a node in the scene tree, but they are never updated at runtime. +See also :ref:`StringName<class_StringName>`, which is a similar type designed for optimised strings. \ **Note:** In a boolean context, a **NodePath** will evaluate to ``false`` if it is empty (``NodePath("")``). Otherwise, a **NodePath** will always evaluate to ``true``. @@ -141,7 +153,7 @@ Constructs an empty **NodePath**. :ref:`NodePath<class_NodePath>` **NodePath** **(** :ref:`NodePath<class_NodePath>` from **)** -Constructs a **NodePath** as a copy of the given **NodePath**. ``NodePath("example")`` is equivalent to ``^"example"``. +Constructs a **NodePath** as a copy of the given **NodePath**. .. rst-class:: classref-item-separator @@ -151,26 +163,32 @@ Constructs a **NodePath** as a copy of the given **NodePath**. ``NodePath("examp :ref:`NodePath<class_NodePath>` **NodePath** **(** :ref:`String<class_String>` from **)** -Creates a NodePath from a string, e.g. ``"Path2D/PathFollow2D/Sprite2D:texture:size"``. A path is absolute if it starts with a slash. Absolute paths are only valid in the global scene tree, not within individual scenes. In a relative path, ``"."`` and ``".."`` indicate the current node and its parent. +Constructs a **NodePath** from a :ref:`String<class_String>`. The created path is absolute if prefixed with a slash (see :ref:`is_absolute<class_NodePath_method_is_absolute>`). -The "subnames" optionally included after the path to the target node can point to resources or properties, and can also be nested. +The "subnames" optionally included after the path to the target node can point to properties, and can also be nested. -Examples of valid NodePaths (assuming that those nodes exist and have the referenced resources or properties): +Examples of strings that could be node paths: :: # Points to the Sprite2D node. - "Path2D/PathFollow2D/Sprite2D" + "Level/RigidBody2D/Sprite2D" + # Points to the Sprite2D node and its "texture" resource. - # get_node() would retrieve "Sprite2D", while get_node_and_resource() + # get_node() would retrieve the Sprite2D, while get_node_and_resource() # would retrieve both the Sprite2D node and the "texture" resource. - "Path2D/PathFollow2D/Sprite2D:texture" + "Level/RigidBody2D/Sprite2D:texture" + # Points to the Sprite2D node and its "position" property. - "Path2D/PathFollow2D/Sprite2D:position" + "Level/RigidBody2D/Sprite2D:position" + # Points to the Sprite2D node and the "x" component of its "position" property. - "Path2D/PathFollow2D/Sprite2D:position:x" - # Absolute path (from "root") - "/root/Level/Path2D" + "Level/RigidBody2D/Sprite2D:position:x" + + # Points to the RigidBody2D node as an absolute path beginning from the SceneTree. + "/root/Level/RigidBody2D" + +\ **Note:** In GDScript, it's also possible to convert a constant string into a node path by prefixing it with ``^``. ``^"path/to/node"`` is equivalent to ``NodePath("path/to/node")``. .. rst-class:: classref-section-separator @@ -187,26 +205,28 @@ Method Descriptions :ref:`NodePath<class_NodePath>` **get_as_property_path** **(** **)** |const| -Returns a node path with a colon character (``:``) prepended, transforming it to a pure property path with no node name (defaults to resolving from the current node). +Returns a copy of this node path with a colon character (``:``) prefixed, transforming it to a pure property path with no node names (relative to the current node). .. tabs:: .. code-tab:: gdscript - # This will be parsed as a node path to the "x" property in the "position" node. - var node_path = NodePath("position:x") - # This will be parsed as a node path to the "x" component of the "position" property in the current node. + # node_path points to the "x" property of the child node named "position". + var node_path = ^"position:x" + + # property_path points to the "position" in the "x" axis of this node. var property_path = node_path.get_as_property_path() - print(property_path) # :position:x + print(property_path) # Prints ":position:x" .. code-tab:: csharp - // This will be parsed as a node path to the "x" property in the "position" node. + // nodePath points to the "x" property of the child node named "position". var nodePath = new NodePath("position:x"); - // This will be parsed as a node path to the "x" component of the "position" property in the current node. + + // propertyPath points to the "position" in the "x" axis of this node. NodePath propertyPath = nodePath.GetAsPropertyPath(); - GD.Print(propertyPath); // :position:x + GD.Print(propertyPath); // Prints ":position:x". @@ -220,7 +240,7 @@ Returns a node path with a colon character (``:``) prepended, transforming it to :ref:`StringName<class_StringName>` **get_concatenated_names** **(** **)** |const| -Returns all paths concatenated with a slash character (``/``) as separator without subnames. +Returns all node names concatenated with a slash character (``/``) as a single :ref:`StringName<class_StringName>`. .. rst-class:: classref-item-separator @@ -232,20 +252,20 @@ Returns all paths concatenated with a slash character (``/``) as separator witho :ref:`StringName<class_StringName>` **get_concatenated_subnames** **(** **)** |const| -Returns all subnames concatenated with a colon character (``:``) as separator, i.e. the right side of the first colon in a node path. +Returns all property subnames concatenated with a colon character (``:``) as a single :ref:`StringName<class_StringName>`. .. tabs:: .. code-tab:: gdscript - var node_path = NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path") - print(node_path.get_concatenated_subnames()) # texture:load_path + var node_path = ^"Sprite2D:texture:resource_name" + print(node_path.get_concatenated_subnames()) # Prints "texture:resource_name". .. code-tab:: csharp - var nodePath = new NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path"); - GD.Print(nodePath.GetConcatenatedSubnames()); // texture:load_path + var nodePath = new NodePath("Sprite2D:texture:resource_name"); + GD.Print(nodePath.GetConcatenatedSubnames()); // Prints "texture:resource_name". @@ -259,24 +279,24 @@ Returns all subnames concatenated with a colon character (``:``) as separator, i :ref:`StringName<class_StringName>` **get_name** **(** :ref:`int<class_int>` idx **)** |const| -Gets the node name indicated by ``idx`` (0 to :ref:`get_name_count<class_NodePath_method_get_name_count>` - 1). +Returns the node name indicated by ``idx``, starting from 0. If ``idx`` is out of bounds, an error is generated. See also :ref:`get_subname_count<class_NodePath_method_get_subname_count>` and :ref:`get_name_count<class_NodePath_method_get_name_count>`. .. tabs:: .. code-tab:: gdscript - var node_path = NodePath("Path2D/PathFollow2D/Sprite2D") - print(node_path.get_name(0)) # Path2D - print(node_path.get_name(1)) # PathFollow2D - print(node_path.get_name(2)) # Sprite2D + var sprite_path = NodePath("../RigidBody2D/Sprite2D") + print(sprite_path.get_name(0)) # Prints "..". + print(sprite_path.get_name(1)) # Prints "RigidBody2D". + print(sprite_path.get_name(2)) # Prints "Sprite". .. code-tab:: csharp - var nodePath = new NodePath("Path2D/PathFollow2D/Sprite2D"); - GD.Print(nodePath.GetName(0)); // Path2D - GD.Print(nodePath.GetName(1)); // PathFollow2D - GD.Print(nodePath.GetName(2)); // Sprite2D + var spritePath = new NodePath("../RigidBody2D/Sprite2D"); + GD.Print(spritePath.GetName(0)); // Prints "..". + GD.Print(spritePath.GetName(1)); // Prints "PathFollow2D". + GD.Print(spritePath.GetName(2)); // Prints "Sprite". @@ -290,9 +310,9 @@ Gets the node name indicated by ``idx`` (0 to :ref:`get_name_count<class_NodePat :ref:`int<class_int>` **get_name_count** **(** **)** |const| -Gets the number of node names which make up the path. Subnames (see :ref:`get_subname_count<class_NodePath_method_get_subname_count>`) are not included. +Returns the number of node names in the path. Property subnames are not included. -For example, ``"Path2D/PathFollow2D/Sprite2D"`` has 3 names. +For example, ``"../RigidBody2D/Sprite2D:texture"`` contains 3 node names. .. rst-class:: classref-item-separator @@ -304,22 +324,22 @@ For example, ``"Path2D/PathFollow2D/Sprite2D"`` has 3 names. :ref:`StringName<class_StringName>` **get_subname** **(** :ref:`int<class_int>` idx **)** |const| -Gets the resource or property name indicated by ``idx`` (0 to :ref:`get_subname_count<class_NodePath_method_get_subname_count>` - 1). +Returns the property name indicated by ``idx``, starting from 0. If ``idx`` is out of bounds, an error is generated. See also :ref:`get_subname_count<class_NodePath_method_get_subname_count>`. .. tabs:: .. code-tab:: gdscript - var node_path = NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path") - print(node_path.get_subname(0)) # texture - print(node_path.get_subname(1)) # load_path + var path_to_name = NodePath("Sprite2D:texture:resource_name") + print(path_to_name.get_subname(0)) # Prints "texture". + print(path_to_name.get_subname(1)) # Prints "resource_name". .. code-tab:: csharp - var nodePath = new NodePath("Path2D/PathFollow2D/Sprite2D:texture:load_path"); - GD.Print(nodePath.GetSubname(0)); // texture - GD.Print(nodePath.GetSubname(1)); // load_path + var pathToName = new NodePath("Sprite2D:texture:resource_name"); + GD.Print(pathToName.GetSubname(0)); // Prints "texture". + GD.Print(pathToName.GetSubname(1)); // Prints "resource_name". @@ -333,9 +353,9 @@ Gets the resource or property name indicated by ``idx`` (0 to :ref:`get_subname_ :ref:`int<class_int>` **get_subname_count** **(** **)** |const| -Gets the number of resource or property names ("subnames") in the path. Each subname is listed after a colon character (``:``) in the node path. +Returns the number of property names ("subnames") in the path. Each subname in the node path is listed after a colon character (``:``). -For example, ``"Path2D/PathFollow2D/Sprite2D:texture:load_path"`` has 2 subnames. +For example, ``"Level/RigidBody2D/Sprite2D:texture:resource_name"`` contains 2 subnames. .. rst-class:: classref-item-separator @@ -347,7 +367,9 @@ For example, ``"Path2D/PathFollow2D/Sprite2D:texture:load_path"`` has 2 subnames :ref:`int<class_int>` **hash** **(** **)** |const| -Returns the 32-bit hash value representing the **NodePath**'s contents. +Returns the 32-bit hash value representing the node path's contents. + +\ **Note:** Node paths with equal hash values are *not* guaranteed to be the same, as a result of hash collisions. Node paths with different hash values are guaranteed to be different. .. rst-class:: classref-item-separator @@ -359,7 +381,7 @@ Returns the 32-bit hash value representing the **NodePath**'s contents. :ref:`bool<class_bool>` **is_absolute** **(** **)** |const| -Returns ``true`` if the node path is absolute (as opposed to relative), which means that it starts with a slash character (``/``). Absolute node paths can be used to access the root node (``"/root"``) or autoloads (e.g. ``"/global"`` if a "global" autoload was registered). +Returns ``true`` if the node path is absolute. Unlike a relative path, an absolute path is represented by a leading slash character (``/``) and always begins from the :ref:`SceneTree<class_SceneTree>`. It can be used to reliably access nodes from the root node (e.g. ``"/root/Global"`` if an autoload named "Global" exists). .. rst-class:: classref-item-separator @@ -371,7 +393,7 @@ Returns ``true`` if the node path is absolute (as opposed to relative), which me :ref:`bool<class_bool>` **is_empty** **(** **)** |const| -Returns ``true`` if the node path is empty. +Returns ``true`` if the node path has been constructed from an empty :ref:`String<class_String>` (``""``). .. rst-class:: classref-section-separator @@ -400,7 +422,7 @@ Returns ``true`` if two node paths are not equal. :ref:`bool<class_bool>` **operator ==** **(** :ref:`NodePath<class_NodePath>` right **)** -Returns ``true`` if two node paths are equal, i.e. all node names in the path are the same and in the same order. +Returns ``true`` if two node paths are equal, that is, they are composed of the same node names and subnames in the same order. .. |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_object.rst b/classes/class_object.rst index 6ab975563d6..d69c059852a 100644 --- a/classes/class_object.rst +++ b/classes/class_object.rst @@ -281,6 +281,14 @@ Notification received when the object is initialized, before its script is attac Notification received when the object is about to be deleted. Can act as the deconstructor of some programming languages. +.. _class_Object_constant_NOTIFICATION_EXTENSION_RELOADED: + +.. rst-class:: classref-constant + +**NOTIFICATION_EXTENSION_RELOADED** = ``2`` + +Notification received when the object finishes hot reloading. This notification is only sent for extensions classes and derived. + .. rst-class:: classref-section-separator ---- @@ -351,11 +359,13 @@ Combined with :ref:`_set<class_Object_private_method__set>` and :ref:`_get_prope :ref:`Dictionary[]<class_Dictionary>` **_get_property_list** **(** **)** |virtual| -Override this method to customize how script properties should be handled by the engine. +Override this method to provide a custom list of additional properties to handle by the engine. Should return a property list, as an :ref:`Array<class_Array>` of dictionaries. The result is added to the array of :ref:`get_property_list<class_Object_method_get_property_list>`, and should be formatted in the same way. Each :ref:`Dictionary<class_Dictionary>` must at least contain the ``name`` and ``type`` entries. -The example below displays ``hammer_type`` in the Inspector dock, only if ``holding_hammer`` is ``true``: +You can use :ref:`_property_can_revert<class_Object_private_method__property_can_revert>` and :ref:`_property_get_revert<class_Object_private_method__property_get_revert>` to customize the default values of the properties added by this method. + +The example below displays a list of numbers shown as words going from ``ZERO`` to ``FIVE``, with ``number_count`` controlling the size of the list: .. tabs:: @@ -363,79 +373,107 @@ The example below displays ``hammer_type`` in the Inspector dock, only if ``hold .. code-tab:: gdscript @tool - extends Node2D + extends Node - @export var holding_hammer = false: - set(value): - holding_hammer = value + @export var number_count = 3: + set(nc): + number_count = nc + numbers.resize(number_count) notify_property_list_changed() - var hammer_type = 0 - func _get_property_list(): - # By default, `hammer_type` is not visible in the editor. - var property_usage = PROPERTY_USAGE_NO_EDITOR - - if holding_hammer: - property_usage = PROPERTY_USAGE_DEFAULT + var numbers = PackedInt32Array([0, 0, 0]) + func _get_property_list(): var properties = [] - properties.append({ - "name": "hammer_type", - "type": TYPE_INT, - "usage": property_usage, # See above assignment. - "hint": PROPERTY_HINT_ENUM, - "hint_string": "Wooden,Iron,Golden,Enchanted" - }) + + for i in range(number_count): + properties.append({ + "name": "number_%d" % i, + "type": TYPE_INT, + "hint": PROPERTY_HINT_ENUM, + "hint_string": "ZERO,ONE,TWO,THREE,FOUR,FIVE", + }) return properties + + func _get(property): + if property.begins_with("number_"): + var index = property.get_slice("_", 1).to_int() + return numbers[index] + + func _set(property, value): + if property.begins_with("number_"): + var index = property.get_slice("_", 1).to_int() + numbers[index] = value + return true + return false .. code-tab:: csharp [Tool] - public partial class MyNode2D : Node2D + public partial class MyNode : Node { - private bool _holdingHammer; + private int _numberCount; [Export] - public bool HoldingHammer + public int NumberCount { - get => _holdingHammer; + get => _numberCount; set { - _holdingHammer = value; + _numberCount = value; + _numbers.Resize(_numberCount); NotifyPropertyListChanged(); } } - public int HammerType { get; set; } + private List<int> _numbers = new(); public override Godot.Collections.Array<Godot.Collections.Dictionary> _GetPropertyList() { - // By default, `HammerType` is not visible in the editor. - var propertyUsage = PropertyUsageFlags.NoEditor; + var properties = new Godot.Collections.Array<Godot.Collections.Dictionary>(); - if (HoldingHammer) + for (int i = 0; i < _numberCount; i++) { - propertyUsage = PropertyUsageFlags.Default; + properties.Add(new Godot.Collections.Dictionary() + { + { "name", $"number_{i}" }, + { "type", (int)Variant.Type.Int }, + { "hint", (int)PropertyHint.Enum }, + { "hint_string", "Zero,One,Two,Three,Four,Five" }, + }); } - var properties = new Godot.Collections.Array<Godot.Collections.Dictionary>(); - properties.Add(new Godot.Collections.Dictionary() + return properties; + } + + public override Variant _Get(StringName property) + { + string propertyName = property.ToString(); + if (propertyName.StartsWith("number_")) { - { "name", "HammerType" }, - { "type", (int)Variant.Type.Int }, - { "usage", (int)propertyUsage }, // See above assignment. - { "hint", (int)PropertyHint.Enum }, - { "hint_string", "Wooden,Iron,Golden,Enchanted" } - }); + int index = int.Parse(propertyName.Substring("number_".Length)); + return _numbers[index]; + } + return default; + } - return properties; + public override bool _Set(StringName property, Variant value) + { + string propertyName = property.ToString(); + if (propertyName.StartsWith("number_")) + { + int index = int.Parse(propertyName.Substring("number_".Length)); + numbers[index] = value.As<int>(); + return true; + } + return false; } } -\ **Note:** This method is intended for advanced purposes. For most common use cases, the scripting languages offer easier ways to handle properties. See :ref:`@GDScript.@export<class_@GDScript_annotation_@export>`, :ref:`@GDScript.@export_enum<class_@GDScript_annotation_@export_enum>`, :ref:`@GDScript.@export_group<class_@GDScript_annotation_@export_group>`, etc. +\ **Note:** This method is intended for advanced purposes. For most common use cases, the scripting languages offer easier ways to handle properties. See :ref:`@GDScript.@export<class_@GDScript_annotation_@export>`, :ref:`@GDScript.@export_enum<class_@GDScript_annotation_@export_enum>`, :ref:`@GDScript.@export_group<class_@GDScript_annotation_@export_group>`, etc. If you want to customize exported properties, use :ref:`_validate_property<class_Object_private_method__validate_property>`. \ **Note:** If the object's script is not :ref:`@GDScript.@tool<class_@GDScript_annotation_@tool>`, this method will not be called in the editor. @@ -610,7 +648,7 @@ Override this method to customize the return value of :ref:`to_string<class_Obje void **_validate_property** **(** :ref:`Dictionary<class_Dictionary>` property **)** |virtual| -Override this method to customize existing properties. Every property info goes through this method. The dictionary contents is the same as in :ref:`_get_property_list<class_Object_private_method__get_property_list>`. +Override this method to customize existing properties. Every property info goes through this method, except properties added with :ref:`_get_property_list<class_Object_private_method__get_property_list>`. The dictionary contents is the same as in :ref:`_get_property_list<class_Object_private_method__get_property_list>`. .. tabs:: diff --git a/classes/class_omnilight3d.rst b/classes/class_omnilight3d.rst index 9b970528865..0881362407e 100644 --- a/classes/class_omnilight3d.rst +++ b/classes/class_omnilight3d.rst @@ -103,9 +103,13 @@ Property Descriptions - void **set_param** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_param** **(** **)** -The light's attenuation (drop-off) curve. A number of presets are available in the **Inspector** by right-clicking the curve. Zero and negative values are allowed but can produce unusual effects. +Controls the distance attenuation function for omnilights. -\ **Note:** Very high :ref:`omni_attenuation<class_OmniLight3D_property_omni_attenuation>` values (typically above 10) can impact performance negatively if the light is made to use a larger :ref:`omni_range<class_OmniLight3D_property_omni_range>` to compensate. This is because culling opportunities will become less common and shading costs will be increased (as the light will cover more pixels on screen while resulting in the same amount of brightness). To improve performance, use the lowest :ref:`omni_attenuation<class_OmniLight3D_property_omni_attenuation>` value possible for the visuals you're trying to achieve. +A value of ``0.0`` smoothly attenuates light at the edge of the range. A value of ``1.0`` approaches a physical lighting model. A value of ``0.5`` approximates linear attenuation. + +\ **Note:** Setting it to ``1.0`` may result in distant objects receiving minimal light, even within range. For example, with a range of ``4096``, an object at ``100`` units receives less than ``0.1`` energy. + +\ **Note:** Using negative or values higher than ``10.0`` may lead to unexpected results. .. rst-class:: classref-item-separator diff --git a/classes/class_openxrapiextension.rst b/classes/class_openxrapiextension.rst index c64796c9677..a0806af76d6 100644 --- a/classes/class_openxrapiextension.rst +++ b/classes/class_openxrapiextension.rst @@ -50,35 +50,82 @@ Methods .. table:: :widths: auto - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`can_render<class_OpenXRAPIExtension_method_can_render>` **(** **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`get_error_string<class_OpenXRAPIExtension_method_get_error_string>` **(** :ref:`int<class_int>` result **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_instance<class_OpenXRAPIExtension_method_get_instance>` **(** **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_instance_proc_addr<class_OpenXRAPIExtension_method_get_instance_proc_addr>` **(** :ref:`String<class_String>` name **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_next_frame_time<class_OpenXRAPIExtension_method_get_next_frame_time>` **(** **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_play_space<class_OpenXRAPIExtension_method_get_play_space>` **(** **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_session<class_OpenXRAPIExtension_method_get_session>` **(** **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`String<class_String>` | :ref:`get_swapchain_format_name<class_OpenXRAPIExtension_method_get_swapchain_format_name>` **(** :ref:`int<class_int>` swapchain_format **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`get_system_id<class_OpenXRAPIExtension_method_get_system_id>` **(** **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_initialized<class_OpenXRAPIExtension_method_is_initialized>` **(** **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`is_running<class_OpenXRAPIExtension_method_is_running>` **(** **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`openxr_is_enabled<class_OpenXRAPIExtension_method_openxr_is_enabled>` **(** :ref:`bool<class_bool>` check_run_in_editor **)** |static| | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Transform3D<class_Transform3D>` | :ref:`transform_from_pose<class_OpenXRAPIExtension_method_transform_from_pose>` **(** const void* pose **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`xr_result<class_OpenXRAPIExtension_method_xr_result>` **(** :ref:`int<class_int>` result, :ref:`String<class_String>` format, :ref:`Array<class_Array>` args **)** | - +---------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`can_render<class_OpenXRAPIExtension_method_can_render>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_error_string<class_OpenXRAPIExtension_method_get_error_string>` **(** :ref:`int<class_int>` result **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_instance<class_OpenXRAPIExtension_method_get_instance>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_instance_proc_addr<class_OpenXRAPIExtension_method_get_instance_proc_addr>` **(** :ref:`String<class_String>` name **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_next_frame_time<class_OpenXRAPIExtension_method_get_next_frame_time>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_play_space<class_OpenXRAPIExtension_method_get_play_space>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_session<class_OpenXRAPIExtension_method_get_session>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`get_swapchain_format_name<class_OpenXRAPIExtension_method_get_swapchain_format_name>` **(** :ref:`int<class_int>` swapchain_format **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_system_id<class_OpenXRAPIExtension_method_get_system_id>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` | :ref:`is_environment_blend_mode_alpha_supported<class_OpenXRAPIExtension_method_is_environment_blend_mode_alpha_supported>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_initialized<class_OpenXRAPIExtension_method_is_initialized>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`is_running<class_OpenXRAPIExtension_method_is_running>` **(** **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`openxr_is_enabled<class_OpenXRAPIExtension_method_openxr_is_enabled>` **(** :ref:`bool<class_bool>` check_run_in_editor **)** |static| | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`register_composition_layer_provider<class_OpenXRAPIExtension_method_register_composition_layer_provider>` **(** :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>` extension **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_emulate_environment_blend_mode_alpha_blend<class_OpenXRAPIExtension_method_set_emulate_environment_blend_mode_alpha_blend>` **(** :ref:`bool<class_bool>` enabled **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Transform3D<class_Transform3D>` | :ref:`transform_from_pose<class_OpenXRAPIExtension_method_transform_from_pose>` **(** const void* pose **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`unregister_composition_layer_provider<class_OpenXRAPIExtension_method_unregister_composition_layer_provider>` **(** :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>` extension **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`xr_result<class_OpenXRAPIExtension_method_xr_result>` **(** :ref:`int<class_int>` result, :ref:`String<class_String>` format, :ref:`Array<class_Array>` args **)** | + +-----------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Enumerations +------------ + +.. _enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport: + +.. rst-class:: classref-enumeration + +enum **OpenXRAlphaBlendModeSupport**: + +.. _class_OpenXRAPIExtension_constant_OPENXR_ALPHA_BLEND_MODE_SUPPORT_NONE: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **OPENXR_ALPHA_BLEND_MODE_SUPPORT_NONE** = ``0`` + +Means that :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` isn't supported at all. + +.. _class_OpenXRAPIExtension_constant_OPENXR_ALPHA_BLEND_MODE_SUPPORT_REAL: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **OPENXR_ALPHA_BLEND_MODE_SUPPORT_REAL** = ``1`` + +Means that :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` is really supported. + +.. _class_OpenXRAPIExtension_constant_OPENXR_ALPHA_BLEND_MODE_SUPPORT_EMULATING: + +.. rst-class:: classref-enumeration-constant + +:ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **OPENXR_ALPHA_BLEND_MODE_SUPPORT_EMULATING** = ``2`` + +Means that :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` is emulated. .. rst-class:: classref-section-separator @@ -199,6 +246,18 @@ Returns the id of the system, which is a `XrSystemId <https://registry.khronos.o ---- +.. _class_OpenXRAPIExtension_method_is_environment_blend_mode_alpha_supported: + +.. rst-class:: classref-method + +:ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` **is_environment_blend_mode_alpha_supported** **(** **)** + +Returns :ref:`OpenXRAlphaBlendModeSupport<enum_OpenXRAPIExtension_OpenXRAlphaBlendModeSupport>` denoting if :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` is really supported, emulated or not supported at all. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_is_initialized: .. rst-class:: classref-method @@ -235,6 +294,30 @@ Returns ``true`` if OpenXR is enabled. ---- +.. _class_OpenXRAPIExtension_method_register_composition_layer_provider: + +.. rst-class:: classref-method + +void **register_composition_layer_provider** **(** :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>` extension **)** + +Registers the given extension as a composition layer provider. + +.. rst-class:: classref-item-separator + +---- + +.. _class_OpenXRAPIExtension_method_set_emulate_environment_blend_mode_alpha_blend: + +.. rst-class:: classref-method + +void **set_emulate_environment_blend_mode_alpha_blend** **(** :ref:`bool<class_bool>` enabled **)** + +If set to ``true``, an OpenXR extension is loaded which is capable of emulating the :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` blend mode. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_transform_from_pose: .. rst-class:: classref-method @@ -247,6 +330,18 @@ Creates a :ref:`Transform3D<class_Transform3D>` from an `XrPosef <https://regist ---- +.. _class_OpenXRAPIExtension_method_unregister_composition_layer_provider: + +.. rst-class:: classref-method + +void **unregister_composition_layer_provider** **(** :ref:`OpenXRExtensionWrapperExtension<class_OpenXRExtensionWrapperExtension>` extension **)** + +Unregisters the given extension as a composition layer provider. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_xr_result: .. rst-class:: classref-method diff --git a/classes/class_openxrextensionwrapperextension.rst b/classes/class_openxrextensionwrapperextension.rst index 4fea0976f64..d8c96dbf1b5 100644 --- a/classes/class_openxrextensionwrapperextension.rst +++ b/classes/class_openxrextensionwrapperextension.rst @@ -29,55 +29,61 @@ Methods .. table:: :widths: auto - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary<class_Dictionary>` | :ref:`_get_requested_extensions<class_OpenXRExtensionWrapperExtension_private_method__get_requested_extensions>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_before_instance_created<class_OpenXRExtensionWrapperExtension_private_method__on_before_instance_created>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool<class_bool>` | :ref:`_on_event_polled<class_OpenXRExtensionWrapperExtension_private_method__on_event_polled>` **(** const void* event **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_instance_created<class_OpenXRExtensionWrapperExtension_private_method__on_instance_created>` **(** :ref:`int<class_int>` instance **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_instance_destroyed<class_OpenXRExtensionWrapperExtension_private_method__on_instance_destroyed>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_pre_render<class_OpenXRExtensionWrapperExtension_private_method__on_pre_render>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_process<class_OpenXRExtensionWrapperExtension_private_method__on_process>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_register_metadata<class_OpenXRExtensionWrapperExtension_private_method__on_register_metadata>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_session_created<class_OpenXRExtensionWrapperExtension_private_method__on_session_created>` **(** :ref:`int<class_int>` session **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_session_destroyed<class_OpenXRExtensionWrapperExtension_private_method__on_session_destroyed>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_exiting<class_OpenXRExtensionWrapperExtension_private_method__on_state_exiting>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_focused<class_OpenXRExtensionWrapperExtension_private_method__on_state_focused>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_idle<class_OpenXRExtensionWrapperExtension_private_method__on_state_idle>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_loss_pending<class_OpenXRExtensionWrapperExtension_private_method__on_state_loss_pending>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_ready<class_OpenXRExtensionWrapperExtension_private_method__on_state_ready>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_stopping<class_OpenXRExtensionWrapperExtension_private_method__on_state_stopping>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_synchronized<class_OpenXRExtensionWrapperExtension_private_method__on_state_synchronized>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`_on_state_visible<class_OpenXRExtensionWrapperExtension_private_method__on_state_visible>` **(** **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`_set_instance_create_info_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_instance_create_info_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`_set_session_create_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_session_create_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`_set_swapchain_create_info_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_swapchain_create_info_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`_set_system_properties_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_system_properties_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`OpenXRAPIExtension<class_OpenXRAPIExtension>` | :ref:`get_openxr_api<class_OpenXRExtensionWrapperExtension_method_get_openxr_api>` **(** **)** | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | void | :ref:`register_extension_wrapper<class_OpenXRExtensionWrapperExtension_method_register_extension_wrapper>` **(** **)** | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`_get_composition_layer<class_OpenXRExtensionWrapperExtension_private_method__get_composition_layer>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary<class_Dictionary>` | :ref:`_get_requested_extensions<class_OpenXRExtensionWrapperExtension_private_method__get_requested_extensions>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_get_suggested_tracker_names<class_OpenXRExtensionWrapperExtension_private_method__get_suggested_tracker_names>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_before_instance_created<class_OpenXRExtensionWrapperExtension_private_method__on_before_instance_created>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`_on_event_polled<class_OpenXRExtensionWrapperExtension_private_method__on_event_polled>` **(** const void* event **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_instance_created<class_OpenXRExtensionWrapperExtension_private_method__on_instance_created>` **(** :ref:`int<class_int>` instance **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_instance_destroyed<class_OpenXRExtensionWrapperExtension_private_method__on_instance_destroyed>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_pre_render<class_OpenXRExtensionWrapperExtension_private_method__on_pre_render>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_process<class_OpenXRExtensionWrapperExtension_private_method__on_process>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_register_metadata<class_OpenXRExtensionWrapperExtension_private_method__on_register_metadata>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_session_created<class_OpenXRExtensionWrapperExtension_private_method__on_session_created>` **(** :ref:`int<class_int>` session **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_session_destroyed<class_OpenXRExtensionWrapperExtension_private_method__on_session_destroyed>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_exiting<class_OpenXRExtensionWrapperExtension_private_method__on_state_exiting>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_focused<class_OpenXRExtensionWrapperExtension_private_method__on_state_focused>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_idle<class_OpenXRExtensionWrapperExtension_private_method__on_state_idle>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_loss_pending<class_OpenXRExtensionWrapperExtension_private_method__on_state_loss_pending>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_ready<class_OpenXRExtensionWrapperExtension_private_method__on_state_ready>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_stopping<class_OpenXRExtensionWrapperExtension_private_method__on_state_stopping>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_synchronized<class_OpenXRExtensionWrapperExtension_private_method__on_state_synchronized>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_on_state_visible<class_OpenXRExtensionWrapperExtension_private_method__on_state_visible>` **(** **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`_set_hand_joint_locations_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_hand_joint_locations_and_get_next_pointer>` **(** :ref:`int<class_int>` hand_index, void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`_set_instance_create_info_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_instance_create_info_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`_set_session_create_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_session_create_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`_set_swapchain_create_info_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_swapchain_create_info_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`_set_system_properties_and_get_next_pointer<class_OpenXRExtensionWrapperExtension_private_method__set_system_properties_and_get_next_pointer>` **(** void* next_pointer **)** |virtual| | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`OpenXRAPIExtension<class_OpenXRAPIExtension>` | :ref:`get_openxr_api<class_OpenXRExtensionWrapperExtension_method_get_openxr_api>` **(** **)** | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`register_extension_wrapper<class_OpenXRExtensionWrapperExtension_method_register_extension_wrapper>` **(** **)** | + +-----------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -88,6 +94,18 @@ Methods Method Descriptions ------------------- +.. _class_OpenXRExtensionWrapperExtension_private_method__get_composition_layer: + +.. rst-class:: classref-method + +:ref:`int<class_int>` **_get_composition_layer** **(** **)** |virtual| + +Returns a pointer to a ``XrCompositionLayerBaseHeader`` struct to provide a composition layer. This will only be called if the extension previously registered itself with :ref:`OpenXRAPIExtension.register_composition_layer_provider<class_OpenXRAPIExtension_method_register_composition_layer_provider>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRExtensionWrapperExtension_private_method__get_requested_extensions: .. rst-class:: classref-method @@ -104,6 +122,18 @@ Returns a :ref:`Dictionary<class_Dictionary>` of OpenXR extensions related to th ---- +.. _class_OpenXRExtensionWrapperExtension_private_method__get_suggested_tracker_names: + +.. rst-class:: classref-method + +:ref:`PackedStringArray<class_PackedStringArray>` **_get_suggested_tracker_names** **(** **)** |virtual| + +Returns a :ref:`PackedStringArray<class_PackedStringArray>` of positional tracker names that are used within the extension wrapper. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRExtensionWrapperExtension_private_method__on_before_instance_created: .. rst-class:: classref-method @@ -310,6 +340,18 @@ Called when the OpenXR session state is changed to visible. This means OpenXR is ---- +.. _class_OpenXRExtensionWrapperExtension_private_method__set_hand_joint_locations_and_get_next_pointer: + +.. rst-class:: classref-method + +:ref:`int<class_int>` **_set_hand_joint_locations_and_get_next_pointer** **(** :ref:`int<class_int>` hand_index, void* next_pointer **)** |virtual| + +Adds additional data structures when each hand tracker is created. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRExtensionWrapperExtension_private_method__set_instance_create_info_and_get_next_pointer: .. rst-class:: classref-method diff --git a/classes/class_os.rst b/classes/class_os.rst index eef3932818c..d9c5e4978f2 100644 --- a/classes/class_os.rst +++ b/classes/class_os.rst @@ -416,7 +416,7 @@ Crashes the engine (or the editor if called within a ``@tool`` script). See also Creates a new instance of Godot that runs independently. The ``arguments`` are used in the given order and separated by a space. -If the process is successfully created, the method will return the new process ID, which you can use to monitor the process (and potentially terminate it with :ref:`kill<class_OS_method_kill>`). If the process cannot be created, the method will return ``-1``. +If the process is successfully created, this method returns the new process' ID, which you can use to monitor the process (and potentially terminate it with :ref:`kill<class_OS_method_kill>`). If the process cannot be created, this method returns ``-1``. See :ref:`create_process<class_OS_method_create_process>` if you wish to run a different process. @@ -555,6 +555,8 @@ If you wish to access a shell built-in or execute a composite command, a platfor \ **Note:** On macOS, sandboxed applications are limited to run only embedded helper executables, specified during export. +\ **Note:** On Android, system commands such as ``dumpsys`` can only be run on a rooted device. + .. rst-class:: classref-item-separator ---- @@ -676,7 +678,7 @@ Returns the command-line user arguments passed to the engine. User arguments are :: # Godot has been executed with the following command: - # godot --fullscreen -- --level=2 --hardcore + # godot --fullscreen -- --level=2 --hardcore OS.get_cmdline_args() # Returns ["--fullscreen", "--level=2", "--hardcore"] OS.get_cmdline_user_args() # Returns ["--level=2", "--hardcore"] @@ -934,7 +936,7 @@ Returns the name of the host platform. - On iOS, this is ``"iOS"``. -- On the web, this is ``"Web"``. +- On Web, this is ``"Web"``. \ **Note:** Custom builds of the engine may support additional platforms, such as consoles, possibly returning other names. @@ -1257,7 +1259,7 @@ Returns ``true`` if the feature for the given feature tag is supported in the cu \ **Note:** Tag names are case-sensitive. -\ **Note:** On the Web platform, one of the following additional tags is defined to indicate host platform: ``web_android``, ``web_ios``, ``web_linuxbsd``, ``web_macos``, or ``web_windows``. +\ **Note:** On the Web platform, one of the following additional tags is defined to indicate the host platform: ``web_android``, ``web_ios``, ``web_linuxbsd``, ``web_macos``, or ``web_windows``. .. rst-class:: classref-item-separator @@ -1449,6 +1451,8 @@ Reads a user input string from the standard input (usually the terminal). This o \ **Note:** This method is implemented on Linux, macOS and Windows. +\ **Note:** On exported Windows builds, run the console wrapper executable to access the terminal. Otherwise, the standard input will not work correctly. If you need a single executable with console support, use a custom build compiled with the ``windows_subsystem=console`` flag. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_packedbytearray.rst b/classes/class_packedbytearray.rst index 009cb56b53f..a88faac2bba 100644 --- a/classes/class_packedbytearray.rst +++ b/classes/class_packedbytearray.rst @@ -471,6 +471,8 @@ Decodes a size of a :ref:`Variant<class_Variant>` from the bytes starting at ``b Returns a new **PackedByteArray** with the data decompressed. Set ``buffer_size`` to the size of the uncompressed data. Set the compression mode using one of :ref:`CompressionMode<enum_FileAccess_CompressionMode>`'s constants. +\ **Note:** Decompression is not guaranteed to work with data not compressed by Godot, for example if data compressed with the deflate compression mode lacks a checksum or header. + .. rst-class:: classref-item-separator ---- @@ -487,6 +489,8 @@ This method is potentially slower than :ref:`decompress<class_PackedByteArray_me GZIP has a maximal compression ratio of 1032:1, meaning it's very possible for a small compressed payload to decompress to a potentially very large output. To guard against this, you may provide a maximum size this function is allowed to allocate in bytes via ``max_output_size``. Passing -1 will allow for unbounded output. If any positive value is passed, and the decompression exceeds that amount in bytes, then an error will be returned. +\ **Note:** Decompression is not guaranteed to work with data not compressed by Godot, for example if data compressed with the deflate compression mode lacks a checksum or header. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_parallaxlayer.rst b/classes/class_parallaxlayer.rst index a6eb8324d19..174a4f9b166 100644 --- a/classes/class_parallaxlayer.rst +++ b/classes/class_parallaxlayer.rst @@ -61,11 +61,13 @@ Property Descriptions - void **set_mirroring** **(** :ref:`Vector2<class_Vector2>` value **)** - :ref:`Vector2<class_Vector2>` **get_mirroring** **(** **)** -The ParallaxLayer's :ref:`Texture2D<class_Texture2D>` repeating. Useful for creating an infinite scrolling background. If an axis is set to ``0``, the :ref:`Texture2D<class_Texture2D>` will not be repeated. +The interval, in pixels, at which the **ParallaxLayer** is drawn repeatedly. Useful for creating an infinitely scrolling background. If an axis is set to ``0``, the **ParallaxLayer** will be drawn only once along that direction. -If the length of the viewport axis is bigger than twice the repeated axis size, it will not repeat infinitely, as the parallax layer only draws 2 instances of the texture at any given time. +\ **Note:** If you want the repetition to pixel-perfect match a :ref:`Texture2D<class_Texture2D>` displayed by a child node, you should account for any scale applied to the texture when defining this interval. For example, if you use a child :ref:`Sprite2D<class_Sprite2D>` scaled to ``0.5`` to display a 600x600 texture, and want this sprite to be repeated continuously horizontally, you should set the mirroring to ``Vector2(300, 0)``. -\ **Note:** Despite its name, the texture will not be mirrored, it will simply be repeated. +\ **Note:** If the length of the viewport axis is bigger than twice the repeated axis size, it will not repeat infinitely, as the parallax layer only draws 2 instances of the layer at any given time. The visibility window is calculated from the parent :ref:`ParallaxBackground<class_ParallaxBackground>`'s position, not the layer's own position. So, if you use mirroring, **do not** change the **ParallaxLayer** position relative to its parent. Instead, if you need to adjust the background's position, set the :ref:`CanvasLayer.offset<class_CanvasLayer_property_offset>` property in the parent :ref:`ParallaxBackground<class_ParallaxBackground>`. + +\ **Note:** Despite the name, the layer will not be mirrored, it will only be repeated. .. rst-class:: classref-item-separator diff --git a/classes/class_physicalbone2d.rst b/classes/class_physicalbone2d.rst index 4464986d426..3a5678ef1cf 100644 --- a/classes/class_physicalbone2d.rst +++ b/classes/class_physicalbone2d.rst @@ -1,5 +1,8 @@ :github_url: hide +.. meta:: + :keywords: ragdoll + .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. diff --git a/classes/class_physicalbone3d.rst b/classes/class_physicalbone3d.rst index 3286c30f833..5bcd78d6c72 100644 --- a/classes/class_physicalbone3d.rst +++ b/classes/class_physicalbone3d.rst @@ -1,5 +1,8 @@ :github_url: hide +.. meta:: + :keywords: ragdoll + .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. diff --git a/classes/class_physicsbody2d.rst b/classes/class_physicsbody2d.rst index f174fdb08b2..70c1a6dc711 100644 --- a/classes/class_physicsbody2d.rst +++ b/classes/class_physicsbody2d.rst @@ -55,6 +55,8 @@ Methods +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PhysicsBody2D[]<class_PhysicsBody2D>` | :ref:`get_collision_exceptions<class_PhysicsBody2D_method_get_collision_exceptions>` **(** **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2<class_Vector2>` | :ref:`get_gravity<class_PhysicsBody2D_method_get_gravity>` **(** **)** |const| | + +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`KinematicCollision2D<class_KinematicCollision2D>` | :ref:`move_and_collide<class_PhysicsBody2D_method_move_and_collide>` **(** :ref:`Vector2<class_Vector2>` motion, :ref:`bool<class_bool>` test_only=false, :ref:`float<class_float>` safe_margin=0.08, :ref:`bool<class_bool>` recovery_as_collision=false **)** | +---------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_collision_exception_with<class_PhysicsBody2D_method_remove_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)** | @@ -95,6 +97,18 @@ Returns an array of nodes that were added as collision exceptions for this body. ---- +.. _class_PhysicsBody2D_method_get_gravity: + +.. rst-class:: classref-method + +:ref:`Vector2<class_Vector2>` **get_gravity** **(** **)** |const| + +Returns the gravity vector computed from all sources that can affect the body, including all gravity overrides from :ref:`Area2D<class_Area2D>` nodes and the global world gravity. + +.. rst-class:: classref-item-separator + +---- + .. _class_PhysicsBody2D_method_move_and_collide: .. rst-class:: classref-method diff --git a/classes/class_physicsbody3d.rst b/classes/class_physicsbody3d.rst index fcba201d7ab..cfa6fca355d 100644 --- a/classes/class_physicsbody3d.rst +++ b/classes/class_physicsbody3d.rst @@ -69,6 +69,8 @@ Methods +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PhysicsBody3D[]<class_PhysicsBody3D>` | :ref:`get_collision_exceptions<class_PhysicsBody3D_method_get_collision_exceptions>` **(** **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector3<class_Vector3>` | :ref:`get_gravity<class_PhysicsBody3D_method_get_gravity>` **(** **)** |const| | + +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`KinematicCollision3D<class_KinematicCollision3D>` | :ref:`move_and_collide<class_PhysicsBody3D_method_move_and_collide>` **(** :ref:`Vector3<class_Vector3>` motion, :ref:`bool<class_bool>` test_only=false, :ref:`float<class_float>` safe_margin=0.001, :ref:`bool<class_bool>` recovery_as_collision=false, :ref:`int<class_int>` max_collisions=1 **)** | +---------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`remove_collision_exception_with<class_PhysicsBody3D_method_remove_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)** | @@ -230,6 +232,18 @@ Returns an array of nodes that were added as collision exceptions for this body. ---- +.. _class_PhysicsBody3D_method_get_gravity: + +.. rst-class:: classref-method + +:ref:`Vector3<class_Vector3>` **get_gravity** **(** **)** |const| + +Returns the gravity vector computed from all sources that can affect the body, including all gravity overrides from :ref:`Area3D<class_Area3D>` nodes and the global world gravity. + +.. rst-class:: classref-item-separator + +---- + .. _class_PhysicsBody3D_method_move_and_collide: .. rst-class:: classref-method diff --git a/classes/class_physicsserver3d.rst b/classes/class_physicsserver3d.rst index d5fc71c8ac4..ed0f2850cb5 100644 --- a/classes/class_physicsserver3d.rst +++ b/classes/class_physicsserver3d.rst @@ -296,8 +296,72 @@ Methods +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`slider_joint_set_param<class_PhysicsServer3D_method_slider_joint_set_param>` **(** :ref:`RID<class_RID>` joint, :ref:`SliderJointParam<enum_PhysicsServer3D_SliderJointParam>` param, :ref:`float<class_float>` value **)** | +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_add_collision_exception<class_PhysicsServer3D_method_soft_body_add_collision_exception>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` body_b **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID<class_RID>` | :ref:`soft_body_create<class_PhysicsServer3D_method_soft_body_create>` **(** **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`AABB<class_AABB>` | :ref:`soft_body_get_bounds<class_PhysicsServer3D_method_soft_body_get_bounds>` **(** :ref:`RID<class_RID>` body **)** |const| | +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`soft_body_get_collision_layer<class_PhysicsServer3D_method_soft_body_get_collision_layer>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`soft_body_get_collision_mask<class_PhysicsServer3D_method_soft_body_get_collision_mask>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`soft_body_get_damping_coefficient<class_PhysicsServer3D_method_soft_body_get_damping_coefficient>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`soft_body_get_drag_coefficient<class_PhysicsServer3D_method_soft_body_get_drag_coefficient>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`soft_body_get_linear_stiffness<class_PhysicsServer3D_method_soft_body_get_linear_stiffness>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector3<class_Vector3>` | :ref:`soft_body_get_point_global_position<class_PhysicsServer3D_method_soft_body_get_point_global_position>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` point_index **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`soft_body_get_pressure_coefficient<class_PhysicsServer3D_method_soft_body_get_pressure_coefficient>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`soft_body_get_simulation_precision<class_PhysicsServer3D_method_soft_body_get_simulation_precision>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID<class_RID>` | :ref:`soft_body_get_space<class_PhysicsServer3D_method_soft_body_get_space>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant<class_Variant>` | :ref:`soft_body_get_state<class_PhysicsServer3D_method_soft_body_get_state>` **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`soft_body_get_total_mass<class_PhysicsServer3D_method_soft_body_get_total_mass>` **(** :ref:`RID<class_RID>` body **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`soft_body_is_point_pinned<class_PhysicsServer3D_method_soft_body_is_point_pinned>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` point_index **)** |const| | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_move_point<class_PhysicsServer3D_method_soft_body_move_point>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` point_index, :ref:`Vector3<class_Vector3>` global_position **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_pin_point<class_PhysicsServer3D_method_soft_body_pin_point>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` point_index, :ref:`bool<class_bool>` pin **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_remove_all_pinned_points<class_PhysicsServer3D_method_soft_body_remove_all_pinned_points>` **(** :ref:`RID<class_RID>` body **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_remove_collision_exception<class_PhysicsServer3D_method_soft_body_remove_collision_exception>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` body_b **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_collision_layer<class_PhysicsServer3D_method_soft_body_set_collision_layer>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` layer **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_collision_mask<class_PhysicsServer3D_method_soft_body_set_collision_mask>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` mask **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_damping_coefficient<class_PhysicsServer3D_method_soft_body_set_damping_coefficient>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` damping_coefficient **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_drag_coefficient<class_PhysicsServer3D_method_soft_body_set_drag_coefficient>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` drag_coefficient **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_linear_stiffness<class_PhysicsServer3D_method_soft_body_set_linear_stiffness>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` stiffness **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_mesh<class_PhysicsServer3D_method_soft_body_set_mesh>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` mesh **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_pressure_coefficient<class_PhysicsServer3D_method_soft_body_set_pressure_coefficient>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` pressure_coefficient **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_ray_pickable<class_PhysicsServer3D_method_soft_body_set_ray_pickable>` **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_simulation_precision<class_PhysicsServer3D_method_soft_body_set_simulation_precision>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` simulation_precision **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_space<class_PhysicsServer3D_method_soft_body_set_space>` **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` space **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_state<class_PhysicsServer3D_method_soft_body_set_state>` **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state, :ref:`Variant<class_Variant>` variant **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_total_mass<class_PhysicsServer3D_method_soft_body_set_total_mass>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` total_mass **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_set_transform<class_PhysicsServer3D_method_soft_body_set_transform>` **(** :ref:`RID<class_RID>` body, :ref:`Transform3D<class_Transform3D>` transform **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`soft_body_update_rendering_server<class_PhysicsServer3D_method_soft_body_update_rendering_server>` **(** :ref:`RID<class_RID>` body, :ref:`PhysicsServer3DRenderingServerHandler<class_PhysicsServer3DRenderingServerHandler>` rendering_server_handler **)** | + +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID<class_RID>` | :ref:`space_create<class_PhysicsServer3D_method_space_create>` **(** **)** | +-------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PhysicsDirectSpaceState3D<class_PhysicsDirectSpaceState3D>` | :ref:`space_get_direct_state<class_PhysicsServer3D_method_space_get_direct_state>` **(** :ref:`RID<class_RID>` space **)** | @@ -3267,15 +3331,405 @@ Gets a slider_joint parameter (see :ref:`SliderJointParam<enum_PhysicsServer3D_S ---- +.. _class_PhysicsServer3D_method_soft_body_add_collision_exception: + +.. rst-class:: classref-method + +void **soft_body_add_collision_exception** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` body_b **)** + +Adds the given body to the list of bodies exempt from collisions. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_create: + +.. rst-class:: classref-method + +:ref:`RID<class_RID>` **soft_body_create** **(** **)** + +Creates a new soft body and returns its internal :ref:`RID<class_RID>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_PhysicsServer3D_method_soft_body_get_bounds: .. rst-class:: classref-method :ref:`AABB<class_AABB>` **soft_body_get_bounds** **(** :ref:`RID<class_RID>` body **)** |const| -.. container:: contribute +Returns the bounds of the given soft body in global coordinates. - There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_collision_layer: + +.. rst-class:: classref-method + +:ref:`int<class_int>` **soft_body_get_collision_layer** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the physics layer or layers that the given soft body belongs to. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_collision_mask: + +.. rst-class:: classref-method + +:ref:`int<class_int>` **soft_body_get_collision_mask** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the physics layer or layers that the given soft body can collide with. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_damping_coefficient: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **soft_body_get_damping_coefficient** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the damping coefficient of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_drag_coefficient: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **soft_body_get_drag_coefficient** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the drag coefficient of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_linear_stiffness: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **soft_body_get_linear_stiffness** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the linear stiffness of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_point_global_position: + +.. rst-class:: classref-method + +:ref:`Vector3<class_Vector3>` **soft_body_get_point_global_position** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` point_index **)** |const| + +Returns the current position of the given soft body point in global coordinates. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_pressure_coefficient: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **soft_body_get_pressure_coefficient** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the pressure coefficient of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_simulation_precision: + +.. rst-class:: classref-method + +:ref:`int<class_int>` **soft_body_get_simulation_precision** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the simulation precision of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_space: + +.. rst-class:: classref-method + +:ref:`RID<class_RID>` **soft_body_get_space** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the :ref:`RID<class_RID>` of the space assigned to the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_state: + +.. rst-class:: classref-method + +:ref:`Variant<class_Variant>` **soft_body_get_state** **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state **)** |const| + +Returns the given soft body state (see :ref:`BodyState<enum_PhysicsServer3D_BodyState>` constants). + +\ **Note:** Godot's default physics implementation does not support :ref:`BODY_STATE_LINEAR_VELOCITY<class_PhysicsServer3D_constant_BODY_STATE_LINEAR_VELOCITY>`, :ref:`BODY_STATE_ANGULAR_VELOCITY<class_PhysicsServer3D_constant_BODY_STATE_ANGULAR_VELOCITY>`, :ref:`BODY_STATE_SLEEPING<class_PhysicsServer3D_constant_BODY_STATE_SLEEPING>`, or :ref:`BODY_STATE_CAN_SLEEP<class_PhysicsServer3D_constant_BODY_STATE_CAN_SLEEP>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_get_total_mass: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **soft_body_get_total_mass** **(** :ref:`RID<class_RID>` body **)** |const| + +Returns the total mass assigned to the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_is_point_pinned: + +.. rst-class:: classref-method + +:ref:`bool<class_bool>` **soft_body_is_point_pinned** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` point_index **)** |const| + +Returns whether the given soft body point is pinned. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_move_point: + +.. rst-class:: classref-method + +void **soft_body_move_point** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` point_index, :ref:`Vector3<class_Vector3>` global_position **)** + +Moves the given soft body point to a position in global coordinates. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_pin_point: + +.. rst-class:: classref-method + +void **soft_body_pin_point** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` point_index, :ref:`bool<class_bool>` pin **)** + +Pins or unpins the given soft body point based on the value of ``pin``. + +\ **Note:** Pinning a point effectively makes it kinematic, preventing it from being affected by forces, but you can still move it using :ref:`soft_body_move_point<class_PhysicsServer3D_method_soft_body_move_point>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_remove_all_pinned_points: + +.. rst-class:: classref-method + +void **soft_body_remove_all_pinned_points** **(** :ref:`RID<class_RID>` body **)** + +Unpins all points of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_remove_collision_exception: + +.. rst-class:: classref-method + +void **soft_body_remove_collision_exception** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` body_b **)** + +Removes the given body from the list of bodies exempt from collisions. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_collision_layer: + +.. rst-class:: classref-method + +void **soft_body_set_collision_layer** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` layer **)** + +Sets the physics layer or layers the given soft body belongs to. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_collision_mask: + +.. rst-class:: classref-method + +void **soft_body_set_collision_mask** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` mask **)** + +Sets the physics layer or layers the given soft body can collide with. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_damping_coefficient: + +.. rst-class:: classref-method + +void **soft_body_set_damping_coefficient** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` damping_coefficient **)** + +Sets the damping coefficient of the given soft body. Higher values will slow down the body more noticeably when forces are applied. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_drag_coefficient: + +.. rst-class:: classref-method + +void **soft_body_set_drag_coefficient** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` drag_coefficient **)** + +Sets the drag coefficient of the given soft body. Higher values increase this body's air resistance. + +\ **Note:** This value is currently unused by Godot's default physics implementation. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_linear_stiffness: + +.. rst-class:: classref-method + +void **soft_body_set_linear_stiffness** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` stiffness **)** + +Sets the linear stiffness of the given soft body. Higher values will result in a stiffer body, while lower values will increase the body's ability to bend. The value can be between ``0.0`` and ``1.0`` (inclusive). + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_mesh: + +.. rst-class:: classref-method + +void **soft_body_set_mesh** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` mesh **)** + +Sets the mesh of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_pressure_coefficient: + +.. rst-class:: classref-method + +void **soft_body_set_pressure_coefficient** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` pressure_coefficient **)** + +Sets the pressure coefficient of the given soft body. Simulates pressure build-up from inside this body. Higher values increase the strength of this effect. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_ray_pickable: + +.. rst-class:: classref-method + +void **soft_body_set_ray_pickable** **(** :ref:`RID<class_RID>` body, :ref:`bool<class_bool>` enable **)** + +Sets whether the given soft body will be pickable when using object picking. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_simulation_precision: + +.. rst-class:: classref-method + +void **soft_body_set_simulation_precision** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` simulation_precision **)** + +Sets the simulation precision of the given soft body. Increasing this value will improve the resulting simulation, but can affect performance. Use with care. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_space: + +.. rst-class:: classref-method + +void **soft_body_set_space** **(** :ref:`RID<class_RID>` body, :ref:`RID<class_RID>` space **)** + +Assigns a space to the given soft body (see :ref:`space_create<class_PhysicsServer3D_method_space_create>`). + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_state: + +.. rst-class:: classref-method + +void **soft_body_set_state** **(** :ref:`RID<class_RID>` body, :ref:`BodyState<enum_PhysicsServer3D_BodyState>` state, :ref:`Variant<class_Variant>` variant **)** + +Sets the given body state for the given body (see :ref:`BodyState<enum_PhysicsServer3D_BodyState>` constants). + +\ **Note:** Godot's default physics implementation does not support :ref:`BODY_STATE_LINEAR_VELOCITY<class_PhysicsServer3D_constant_BODY_STATE_LINEAR_VELOCITY>`, :ref:`BODY_STATE_ANGULAR_VELOCITY<class_PhysicsServer3D_constant_BODY_STATE_ANGULAR_VELOCITY>`, :ref:`BODY_STATE_SLEEPING<class_PhysicsServer3D_constant_BODY_STATE_SLEEPING>`, or :ref:`BODY_STATE_CAN_SLEEP<class_PhysicsServer3D_constant_BODY_STATE_CAN_SLEEP>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_total_mass: + +.. rst-class:: classref-method + +void **soft_body_set_total_mass** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` total_mass **)** + +Sets the total mass for the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_set_transform: + +.. rst-class:: classref-method + +void **soft_body_set_transform** **(** :ref:`RID<class_RID>` body, :ref:`Transform3D<class_Transform3D>` transform **)** + +Sets the global transform of the given soft body. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PhysicsServer3D_method_soft_body_update_rendering_server: + +.. rst-class:: classref-method + +void **soft_body_update_rendering_server** **(** :ref:`RID<class_RID>` body, :ref:`PhysicsServer3DRenderingServerHandler<class_PhysicsServer3DRenderingServerHandler>` rendering_server_handler **)** + +Requests that the physics server updates the rendering server with the latest positions of the given soft body's points through the ``rendering_server_handler`` interface. .. rst-class:: classref-item-separator diff --git a/classes/class_popupmenu.rst b/classes/class_popupmenu.rst index 1370b9b58cc..9bfa003b795 100644 --- a/classes/class_popupmenu.rst +++ b/classes/class_popupmenu.rst @@ -116,6 +116,10 @@ Methods +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant<class_Variant>` | :ref:`get_item_metadata<class_PopupMenu_method_get_item_metadata>` **(** :ref:`int<class_int>` index **)** |const| | +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_item_multistate<class_PopupMenu_method_get_item_multistate>` **(** :ref:`int<class_int>` index **)** |const| | + +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`get_item_multistate_max<class_PopupMenu_method_get_item_multistate_max>` **(** :ref:`int<class_int>` index **)** |const| | + +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Shortcut<class_Shortcut>` | :ref:`get_item_shortcut<class_PopupMenu_method_get_item_shortcut>` **(** :ref:`int<class_int>` index **)** |const| | +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String<class_String>` | :ref:`get_item_submenu<class_PopupMenu_method_get_item_submenu>` **(** :ref:`int<class_int>` index **)** |const| | @@ -174,6 +178,8 @@ Methods +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_multistate<class_PopupMenu_method_set_item_multistate>` **(** :ref:`int<class_int>` index, :ref:`int<class_int>` state **)** | +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_item_multistate_max<class_PopupMenu_method_set_item_multistate_max>` **(** :ref:`int<class_int>` index, :ref:`int<class_int>` max_states **)** | + +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_shortcut<class_PopupMenu_method_set_item_shortcut>` **(** :ref:`int<class_int>` index, :ref:`Shortcut<class_Shortcut>` shortcut, :ref:`bool<class_bool>` global=false **)** | +--------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_item_shortcut_disabled<class_PopupMenu_method_set_item_shortcut_disabled>` **(** :ref:`int<class_int>` index, :ref:`bool<class_bool>` disabled **)** | @@ -613,10 +619,30 @@ void **add_multistate_item** **(** :ref:`String<class_String>` label, :ref:`int< Adds a new multistate item with text ``label``. -Contrarily to normal binary items, multistate items can have more than two states, as defined by ``max_states``. Each press or activate of the item will increase the state by one. The default value is defined by ``default_state``. +Contrarily to normal binary items, multistate items can have more than two states, as defined by ``max_states``. The default value is defined by ``default_state``. An ``id`` can optionally be provided, as well as an accelerator (``accel``). If no ``id`` is provided, one will be created from the index. If no ``accel`` is provided, then the default value of 0 (corresponding to :ref:`@GlobalScope.KEY_NONE<class_@GlobalScope_constant_KEY_NONE>`) will be assigned to the item (which means it won't have any accelerator). See :ref:`get_item_accelerator<class_PopupMenu_method_get_item_accelerator>` for more info on accelerators. +\ **Note:** Multistate items don't update their state automatically and must be done manually. See :ref:`toggle_item_multistate<class_PopupMenu_method_toggle_item_multistate>`, :ref:`set_item_multistate<class_PopupMenu_method_set_item_multistate>` and :ref:`get_item_multistate<class_PopupMenu_method_get_item_multistate>` for more info on how to control it. + +Example usage: + +:: + + func _ready(): + add_multistate_item("Item", 3, 0) + + index_pressed.connect(func(index: int): + toggle_item_multistate(index) + match get_item_multistate(index): + 0: + print("First state") + 1: + print("Second state") + 2: + print("Third state") + ) + .. rst-class:: classref-item-separator ---- @@ -829,6 +855,30 @@ Returns the metadata of the specified item, which might be of any type. You can ---- +.. _class_PopupMenu_method_get_item_multistate: + +.. rst-class:: classref-method + +:ref:`int<class_int>` **get_item_multistate** **(** :ref:`int<class_int>` index **)** |const| + +Returns the state of the item at the given ``index``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_PopupMenu_method_get_item_multistate_max: + +.. rst-class:: classref-method + +:ref:`int<class_int>` **get_item_multistate_max** **(** :ref:`int<class_int>` index **)** |const| + +Returns the max states of the item at the given ``index``. + +.. rst-class:: classref-item-separator + +---- + .. _class_PopupMenu_method_get_item_shortcut: .. rst-class:: classref-method @@ -1191,6 +1241,18 @@ Sets the state of a multistate item. See :ref:`add_multistate_item<class_PopupMe ---- +.. _class_PopupMenu_method_set_item_multistate_max: + +.. rst-class:: classref-method + +void **set_item_multistate_max** **(** :ref:`int<class_int>` index, :ref:`int<class_int>` max_states **)** + +Sets the max states of a multistate item. See :ref:`add_multistate_item<class_PopupMenu_method_add_multistate_item>` for details. + +.. rst-class:: classref-item-separator + +---- + .. _class_PopupMenu_method_set_item_shortcut: .. rst-class:: classref-method diff --git a/classes/class_progressbar.rst b/classes/class_progressbar.rst index 2af8e52114d..15569a02d6a 100644 --- a/classes/class_progressbar.rst +++ b/classes/class_progressbar.rst @@ -29,11 +29,15 @@ Properties .. table:: :widths: auto - +-------------------------+--------------------------------------------------------------------+----------+ - | :ref:`int<class_int>` | :ref:`fill_mode<class_ProgressBar_property_fill_mode>` | ``0`` | - +-------------------------+--------------------------------------------------------------------+----------+ - | :ref:`bool<class_bool>` | :ref:`show_percentage<class_ProgressBar_property_show_percentage>` | ``true`` | - +-------------------------+--------------------------------------------------------------------+----------+ + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`editor_preview_indeterminate<class_ProgressBar_property_editor_preview_indeterminate>` | | + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ + | :ref:`int<class_int>` | :ref:`fill_mode<class_ProgressBar_property_fill_mode>` | ``0`` | + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`indeterminate<class_ProgressBar_property_indeterminate>` | ``false`` | + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`show_percentage<class_ProgressBar_property_show_percentage>` | ``true`` | + +-------------------------+----------------------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -115,6 +119,23 @@ The progress fills from bottom to top. Property Descriptions --------------------- +.. _class_ProgressBar_property_editor_preview_indeterminate: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **editor_preview_indeterminate** + +.. rst-class:: classref-property-setget + +- void **set_editor_preview_indeterminate** **(** :ref:`bool<class_bool>` value **)** +- :ref:`bool<class_bool>` **is_editor_preview_indeterminate_enabled** **(** **)** + +If ``false``, the :ref:`indeterminate<class_ProgressBar_property_indeterminate>` animation will be paused in the editor. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProgressBar_property_fill_mode: .. rst-class:: classref-property @@ -132,6 +153,23 @@ The fill direction. See :ref:`FillMode<enum_ProgressBar_FillMode>` for possible ---- +.. _class_ProgressBar_property_indeterminate: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **indeterminate** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_indeterminate** **(** :ref:`bool<class_bool>` value **)** +- :ref:`bool<class_bool>` **is_indeterminate** **(** **)** + +When set to ``true``, the progress bar indicates that something is happening with an animation, but does not show the fill percentage or value. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProgressBar_property_show_percentage: .. rst-class:: classref-property diff --git a/classes/class_projectsettings.rst b/classes/class_projectsettings.rst index 3dbd53bcaa7..a83b92e9b4e 100644 --- a/classes/class_projectsettings.rst +++ b/classes/class_projectsettings.rst @@ -46,6 +46,10 @@ Properties .. table:: :widths: auto + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`animation/warnings/check_angle_interpolation_type_conflicting<class_ProjectSettings_property_animation/warnings/check_angle_interpolation_type_conflicting>` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`animation/warnings/check_invalid_track_paths<class_ProjectSettings_property_animation/warnings/check_invalid_track_paths>` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`Color<class_Color>` | :ref:`application/boot_splash/bg_color<class_ProjectSettings_property_application/boot_splash/bg_color>` | ``Color(0.14, 0.14, 0.14, 1)`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ @@ -107,6 +111,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`application/run/max_fps<class_ProjectSettings_property_application/run/max_fps>` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`application/run/print_header<class_ProjectSettings_property_application/run/print_header>` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`audio/buses/channel_disable_threshold_db<class_ProjectSettings_property_audio/buses/channel_disable_threshold_db>` | ``-60.0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`audio/buses/channel_disable_time<class_ProjectSettings_property_audio/buses/channel_disable_time>` | ``2.0`` | @@ -357,6 +363,18 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`debug/shapes/paths/geometry_width<class_ProjectSettings_property_debug/shapes/paths/geometry_width>` | ``2.0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`display/display_server/driver<class_ProjectSettings_property_display/display_server/driver>` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`display/display_server/driver.android<class_ProjectSettings_property_display/display_server/driver.android>` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`display/display_server/driver.ios<class_ProjectSettings_property_display/display_server/driver.ios>` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`display/display_server/driver.linuxbsd<class_ProjectSettings_property_display/display_server/driver.linuxbsd>` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`display/display_server/driver.macos<class_ProjectSettings_property_display/display_server/driver.macos>` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`String<class_String>` | :ref:`display/display_server/driver.windows<class_ProjectSettings_property_display/display_server/driver.windows>` | | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String<class_String>` | :ref:`display/mouse_cursor/custom_image<class_ProjectSettings_property_display/mouse_cursor/custom_image>` | ``""`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`Vector2<class_Vector2>` | :ref:`display/mouse_cursor/custom_image_hotspot<class_ProjectSettings_property_display/mouse_cursor/custom_image_hotspot>` | ``Vector2(0, 0)`` | @@ -429,6 +447,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`editor/export/convert_text_resources_to_binary<class_ProjectSettings_property_editor/export/convert_text_resources_to_binary>` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`editor/import/atlas_max_width<class_ProjectSettings_property_editor/import/atlas_max_width>` | ``2048`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`editor/import/reimport_missing_imported_files<class_ProjectSettings_property_editor/import/reimport_missing_imported_files>` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`editor/import/use_multiple_threads<class_ProjectSettings_property_editor/import/use_multiple_threads>` | ``true`` | @@ -677,6 +697,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`input_devices/pointing/android/enable_pan_and_scale_gestures<class_ProjectSettings_property_input_devices/pointing/android/enable_pan_and_scale_gestures>` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`input_devices/pointing/android/rotary_input_scroll_axis<class_ProjectSettings_property_input_devices/pointing/android/rotary_input_scroll_axis>` | ``1`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`input_devices/pointing/emulate_mouse_from_touch<class_ProjectSettings_property_input_devices/pointing/emulate_mouse_from_touch>` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`input_devices/pointing/emulate_touch_from_mouse<class_ProjectSettings_property_input_devices/pointing/emulate_touch_from_mouse>` | ``false`` | @@ -1131,6 +1153,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`Vector3<class_Vector3>` | :ref:`navigation/3d/default_up<class_ProjectSettings_property_navigation/3d/default_up>` | ``Vector3(0, 1, 0)`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`navigation/3d/merge_rasterizer_cell_scale<class_ProjectSettings_property_navigation/3d/merge_rasterizer_cell_scale>` | ``1.0`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`navigation/3d/use_edge_connections<class_ProjectSettings_property_navigation/3d/use_edge_connections>` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`navigation/avoidance/thread_model/avoidance_use_high_priority_threads<class_ProjectSettings_property_navigation/avoidance/thread_model/avoidance_use_high_priority_threads>` | ``true`` | @@ -1399,6 +1423,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality.mobile<class_ProjectSettings_property_rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality.mobile>` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`rendering/lights_and_shadows/tighter_shadow_caster_culling<class_ProjectSettings_property_rendering/lights_and_shadows/tighter_shadow_caster_culling>` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`rendering/lights_and_shadows/use_physical_light_units<class_ProjectSettings_property_rendering/lights_and_shadows/use_physical_light_units>` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`rendering/limits/cluster_builder/max_clustered_elements<class_ProjectSettings_property_rendering/limits/cluster_builder/max_clustered_elements>` | ``512`` | @@ -1477,6 +1503,10 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`rendering/rendering_device/staging_buffer/texture_upload_region_size_px<class_ProjectSettings_property_rendering/rendering_device/staging_buffer/texture_upload_region_size_px>` | ``64`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`rendering/rendering_device/vsync/frame_queue_size<class_ProjectSettings_property_rendering/rendering_device/vsync/frame_queue_size>` | ``2`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int<class_int>` | :ref:`rendering/rendering_device/vsync/swapchain_image_count<class_ProjectSettings_property_rendering/rendering_device/vsync/swapchain_image_count>` | ``3`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`rendering/rendering_device/vulkan/max_descriptors_per_pool<class_ProjectSettings_property_rendering/rendering_device/vulkan/max_descriptors_per_pool>` | ``64`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`rendering/scaling_3d/fsr_sharpness<class_ProjectSettings_property_rendering/scaling_3d/fsr_sharpness>` | ``0.2`` | @@ -1638,6 +1668,30 @@ Emitted when any setting is changed, up to once per process frame. Property Descriptions --------------------- +.. _class_ProjectSettings_property_animation/warnings/check_angle_interpolation_type_conflicting: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **animation/warnings/check_angle_interpolation_type_conflicting** = ``true`` + +If ``true``, :ref:`AnimationMixer<class_AnimationMixer>` prints the warning of interpolation being forced to choose the shortest rotation path due to multiple angle interpolation types being mixed in the :ref:`AnimationMixer<class_AnimationMixer>` cache. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_animation/warnings/check_invalid_track_paths: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **animation/warnings/check_invalid_track_paths** = ``true`` + +If ``true``, :ref:`AnimationMixer<class_AnimationMixer>` prints the warning of no matching object of the track path in the scene. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_application/boot_splash/bg_color: .. rst-class:: classref-property @@ -2048,6 +2102,18 @@ This setting can be overridden using the ``--max-fps <fps>`` command line argume ---- +.. _class_ProjectSettings_property_application/run/print_header: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **application/run/print_header** = ``true`` + +If ``true``, the engine header is printed in the console on startup. This header describes the current version of the engine, as well as the renderer being used. This behavior can also be disabled on the command line with the ``--no-header`` option. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_audio/buses/channel_disable_threshold_db: .. rst-class:: classref-property @@ -2350,7 +2416,7 @@ If canvas item redraw debugging is active, this will be the time the flash will :ref:`bool<class_bool>` **debug/file_logging/enable_file_logging** = ``false`` -If ``true``, logs all output to files. +If ``true``, logs all output and error messages to files. See also :ref:`debug/file_logging/log_path<class_ProjectSettings_property_debug/file_logging/log_path>`, :ref:`debug/file_logging/max_log_files<class_ProjectSettings_property_debug/file_logging/max_log_files>`, and :ref:`application/run/flush_stdout_on_print<class_ProjectSettings_property_application/run/flush_stdout_on_print>`. .. rst-class:: classref-item-separator @@ -2376,6 +2442,8 @@ Desktop override for :ref:`debug/file_logging/enable_file_logging<class_ProjectS Path at which to store log files for the project. Using a path under ``user://`` is recommended. +This can be specified manually on the command line using the ``--log-file <file>`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. If this command line argument is specified, log rotation is automatically disabled (see :ref:`debug/file_logging/max_log_files<class_ProjectSettings_property_debug/file_logging/max_log_files>`). + .. rst-class:: classref-item-separator ---- @@ -2386,7 +2454,9 @@ Path at which to store log files for the project. Using a path under ``user://`` :ref:`int<class_int>` **debug/file_logging/max_log_files** = ``5`` -Specifies the maximum number of log files allowed (used for rotation). +Specifies the maximum number of log files allowed (used for rotation). Set to ``1`` to disable log file rotation. + +If the ``--log-file <file>`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>` is used, log rotation is always disabled. .. rst-class:: classref-item-separator @@ -3572,6 +3642,78 @@ Line width of the curve path geometry, visible when "Visible Paths" is enabled i ---- +.. _class_ProjectSettings_property_display/display_server/driver: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **display/display_server/driver** + +Sets the driver to be used by the display server. This property can not be edited directly, instead, set the driver using the platform-specific overrides. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.android: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **display/display_server/driver.android** + +Android override for :ref:`display/display_server/driver<class_ProjectSettings_property_display/display_server/driver>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.ios: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **display/display_server/driver.ios** + +iOS override for :ref:`display/display_server/driver<class_ProjectSettings_property_display/display_server/driver>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.linuxbsd: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **display/display_server/driver.linuxbsd** + +LinuxBSD override for :ref:`display/display_server/driver<class_ProjectSettings_property_display/display_server/driver>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.macos: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **display/display_server/driver.macos** + +MacOS override for :ref:`display/display_server/driver<class_ProjectSettings_property_display/display_server/driver>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_display/display_server/driver.windows: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **display/display_server/driver.windows** + +Windows override for :ref:`display/display_server/driver<class_ProjectSettings_property_display/display_server/driver>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_display/mouse_cursor/custom_image: .. rst-class:: classref-property @@ -3772,6 +3914,8 @@ Main window content is expanded to the full size of the window. Unlike a borderl Main window initial position (in virtual desktop coordinates), this setting is used only if :ref:`display/window/size/initial_position_type<class_ProjectSettings_property_display/window/size/initial_position_type>` is set to "Absolute" (``0``). +\ **Note:** This setting only affects the exported project, or when the project is run from the command line. In the editor, the value of :ref:`EditorSettings.run/window_placement/rect_custom_position<class_EditorSettings_property_run/window_placement/rect_custom_position>` is used instead. + .. rst-class:: classref-item-separator ---- @@ -3790,6 +3934,8 @@ Main window initial position. \ ``2`` - "Other Screen Center", :ref:`display/window/size/initial_screen<class_ProjectSettings_property_display/window/size/initial_screen>` is used to set the screen. +\ **Note:** This setting only affects the exported project, or when the project is run from the command line. In the editor, the value of :ref:`EditorSettings.run/window_placement/rect<class_EditorSettings_property_run/window_placement/rect>` is used instead. + .. rst-class:: classref-item-separator ---- @@ -3802,6 +3948,8 @@ Main window initial position. Main window initial screen, this setting is used only if :ref:`display/window/size/initial_position_type<class_ProjectSettings_property_display/window/size/initial_position_type>` is set to "Other Screen Center" (``2``). +\ **Note:** This setting only affects the exported project, or when the project is run from the command line. In the editor, the value of :ref:`EditorSettings.run/window_placement/screen<class_EditorSettings_property_run/window_placement/screen>` is used instead. + .. rst-class:: classref-item-separator ---- @@ -3996,7 +4144,7 @@ If ``true`` subwindows are embedded in the main window. :ref:`int<class_int>` **display/window/vsync/vsync_mode** = ``1`` -Sets the V-Sync mode for the main game window. +Sets the V-Sync mode for the main game window. The editor's own V-Sync mode can be set using :ref:`EditorSettings.interface/editor/vsync_mode<class_EditorSettings_property_interface/editor/vsync_mode>`. See :ref:`VSyncMode<enum_DisplayServer_VSyncMode>` for possible values and how they affect the behavior of your application. @@ -4062,6 +4210,18 @@ If ``true``, text resources are converted to a binary format on export. This dec ---- +.. _class_ProjectSettings_property_editor/import/atlas_max_width: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **editor/import/atlas_max_width** = ``2048`` + +The maximum width to use when importing textures as an atlas. The value will be rounded to the nearest power of two when used. Use this to prevent imported textures from growing too large in the other direction. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_editor/import/reimport_missing_imported_files: .. rst-class:: classref-property @@ -4316,7 +4476,7 @@ Search path for project-specific script templates. Godot will search for script If ``true``, Blender 3D scene files with the ``.blend`` extension will be imported by converting them to glTF 2.0. -This requires configuring a path to a Blender executable in the editor settings at ``filesystem/import/blender/blender3_path``. Blender 3.0 or later is required. +This requires configuring a path to a Blender executable in the editor settings at ``filesystem/import/blender/blender_path``. Blender 3.0 or later is required. .. rst-class:: classref-item-separator @@ -5740,6 +5900,18 @@ If ``true``, multi-touch pan and scale gestures are enabled on Android devices. ---- +.. _class_ProjectSettings_property_input_devices/pointing/android/rotary_input_scroll_axis: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **input_devices/pointing/android/rotary_input_scroll_axis** = ``1`` + +On Wear OS devices, defines which axis of the mouse wheel rotary input is mapped to. This rotary input is usually performed by rotating the physical or virtual (touch-based) bezel on a smartwatch. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_input_devices/pointing/emulate_mouse_from_touch: .. rst-class:: classref-property @@ -8476,6 +8648,18 @@ Default up orientation for 3D navigation maps. See :ref:`NavigationServer3D.map_ ---- +.. _class_ProjectSettings_property_navigation/3d/merge_rasterizer_cell_scale: + +.. rst-class:: classref-property + +:ref:`float<class_float>` **navigation/3d/merge_rasterizer_cell_scale** = ``1.0`` + +Default merge rasterizer cell scale for 3D navigation maps. See :ref:`NavigationServer3D.map_set_merge_rasterizer_cell_scale<class_NavigationServer3D_method_map_set_merge_rasterizer_cell_scale>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_navigation/3d/use_edge_connections: .. rst-class:: classref-property @@ -8640,9 +8824,15 @@ If in doubt, leave this setting empty. :ref:`float<class_float>` **physics/2d/default_angular_damp** = ``1.0`` -The default angular damp in 2D. +The default rotational motion damping in 2D. Damping is used to gradually slow down physical objects over time. RigidBodies will fall back to this value when combining their own damping values and no area damping value is present. + +Suggested values are in the range ``0`` to ``30``. At value ``0`` objects will keep moving with the same velocity. Greater values will stop the object faster. A value equal to or greater than the physics tick rate (:ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`) will bring the object to a stop in one iteration. + +\ **Note:** Godot damping calculations are velocity-dependent, meaning bodies moving faster will take a longer time to come to rest. They do not simulate inertia, friction, or air resistance. Therefore heavier or larger bodies will lose speed at the same proportional rate as lighter or smaller bodies. -\ **Note:** Good values are in the range ``0`` to ``1``. At value ``0`` objects will keep moving with the same velocity. Values greater than ``1`` will aim to reduce the velocity to ``0`` in less than a second e.g. a value of ``2`` will aim to reduce the velocity to ``0`` in half a second. A value equal to or greater than the physics frame rate (:ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`, ``60`` by default) will bring the object to a stop in one iteration. +During each physics tick, Godot will multiply the linear velocity of RigidBodies by ``1.0 - combined_damp / physics_ticks_per_second``. By default, bodies combine damp factors: ``combined_damp`` is the sum of the damp value of the body and this value or the area's value the body is in. See :ref:`DampMode<enum_RigidBody2D_DampMode>`. + +\ **Warning:** Godot's damping calculations are simulation tick rate dependent. Changing :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>` may significantly change the outcomes and feel of your simulation. This is true for the entire range of damping values greater than 0. To get back to a similar feel, you also need to change your damp values. This needed change is not proportional and differs from case to case. .. rst-class:: classref-item-separator @@ -8712,9 +8902,15 @@ The default gravity direction in 2D. :ref:`float<class_float>` **physics/2d/default_linear_damp** = ``0.1`` -The default linear damp in 2D. +The default linear motion damping in 2D. Damping is used to gradually slow down physical objects over time. RigidBodies will fall back to this value when combining their own damping values and no area damping value is present. + +Suggested values are in the range ``0`` to ``30``. At value ``0`` objects will keep moving with the same velocity. Greater values will stop the object faster. A value equal to or greater than the physics tick rate (:ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`) will bring the object to a stop in one iteration. + +\ **Note:** Godot damping calculations are velocity-dependent, meaning bodies moving faster will take a longer time to come to rest. They do not simulate inertia, friction, or air resistance. Therefore heavier or larger bodies will lose speed at the same proportional rate as lighter or smaller bodies. -\ **Note:** Good values are in the range ``0`` to ``1``. At value ``0`` objects will keep moving with the same velocity. Values greater than ``1`` will aim to reduce the velocity to ``0`` in less than a second e.g. a value of ``2`` will aim to reduce the velocity to ``0`` in half a second. A value equal to or greater than the physics frame rate (:ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`, ``60`` by default) will bring the object to a stop in one iteration. +During each physics tick, Godot will multiply the linear velocity of RigidBodies by ``1.0 - combined_damp / physics_ticks_per_second``, where ``combined_damp`` is the sum of the linear damp of the body and this value, or the area's value the body is in, assuming the body defaults to combine damp values. See :ref:`DampMode<enum_RigidBody2D_DampMode>`. + +\ **Warning:** Godot's damping calculations are simulation tick rate dependent. Changing :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>` may significantly change the outcomes and feel of your simulation. This is true for the entire range of damping values greater than 0. To get back to a similar feel, you also need to change your damp values. This needed change is not proportional and differs from case to case. .. rst-class:: classref-item-separator @@ -8864,9 +9060,15 @@ Time (in seconds) of inactivity before which a 2D physics body will put to sleep :ref:`float<class_float>` **physics/3d/default_angular_damp** = ``0.1`` -The default angular damp in 3D. +The default rotational motion damping in 3D. Damping is used to gradually slow down physical objects over time. RigidBodies will fall back to this value when combining their own damping values and no area damping value is present. + +Suggested values are in the range ``0`` to ``30``. At value ``0`` objects will keep moving with the same velocity. Greater values will stop the object faster. A value equal to or greater than the physics tick rate (:ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`) will bring the object to a stop in one iteration. -\ **Note:** Good values are in the range ``0`` to ``1``. At value ``0`` objects will keep moving with the same velocity. Values greater than ``1`` will aim to reduce the velocity to ``0`` in less than a second e.g. a value of ``2`` will aim to reduce the velocity to ``0`` in half a second. A value equal to or greater than the physics frame rate (:ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`, ``60`` by default) will bring the object to a stop in one iteration. +\ **Note:** Godot damping calculations are velocity-dependent, meaning bodies moving faster will take a longer time to come to rest. They do not simulate inertia, friction, or air resistance. Therefore heavier or larger bodies will lose speed at the same proportional rate as lighter or smaller bodies. + +During each physics tick, Godot will multiply the angular velocity of RigidBodies by ``1.0 - combined_damp / physics_ticks_per_second``. By default, bodies combine damp factors: ``combined_damp`` is the sum of the damp value of the body and this value or the area's value the body is in. See :ref:`DampMode<enum_RigidBody3D_DampMode>`. + +\ **Warning:** Godot's damping calculations are simulation tick rate dependent. Changing :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>` may significantly change the outcomes and feel of your simulation. This is true for the entire range of damping values greater than 0. To get back to a similar feel, you also need to change your damp values. This needed change is not proportional and differs from case to case. .. rst-class:: classref-item-separator @@ -8936,9 +9138,15 @@ The default gravity direction in 3D. :ref:`float<class_float>` **physics/3d/default_linear_damp** = ``0.1`` -The default linear damp in 3D. +The default linear motion damping in 3D. Damping is used to gradually slow down physical objects over time. RigidBodies will fall back to this value when combining their own damping values and no area damping value is present. + +Suggested values are in the range ``0`` to ``30``. At value ``0`` objects will keep moving with the same velocity. Greater values will stop the object faster. A value equal to or greater than the physics tick rate (:ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`) will bring the object to a stop in one iteration. -\ **Note:** Good values are in the range ``0`` to ``1``. At value ``0`` objects will keep moving with the same velocity. Values greater than ``1`` will aim to reduce the velocity to ``0`` in less than a second e.g. a value of ``2`` will aim to reduce the velocity to ``0`` in half a second. A value equal to or greater than the physics frame rate (:ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>`, ``60`` by default) will bring the object to a stop in one iteration. +\ **Note:** Godot damping calculations are velocity-dependent, meaning bodies moving faster will take a longer time to come to rest. They do not simulate inertia, friction, or air resistance. Therefore heavier or larger bodies will lose speed at the same proportional rate as lighter or smaller bodies. + +During each physics tick, Godot will multiply the linear velocity of RigidBodies by ``1.0 - combined_damp / physics_ticks_per_second``. By default, bodies combine damp factors: ``combined_damp`` is the sum of the damp value of the body and this value or the area's value the body is in. See :ref:`DampMode<enum_RigidBody3D_DampMode>`. + +\ **Warning:** Godot's damping calculations are simulation tick rate dependent. Changing :ref:`physics/common/physics_ticks_per_second<class_ProjectSettings_property_physics/common/physics_ticks_per_second>` may significantly change the outcomes and feel of your simulation. This is true for the entire range of damping values greater than 0. To get back to a similar feel, you also need to change your damp values. This needed change is not proportional and differs from case to case. .. rst-class:: classref-item-separator @@ -10272,6 +10480,20 @@ Lower-end override for :ref:`rendering/lights_and_shadows/positional_shadow/soft ---- +.. _class_ProjectSettings_property_rendering/lights_and_shadows/tighter_shadow_caster_culling: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **rendering/lights_and_shadows/tighter_shadow_caster_culling** = ``true`` + +If ``true``, items that cannot cast shadows into the view frustum will not be rendered into shadow maps. + +This can increase performance. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_rendering/lights_and_shadows/use_physical_light_units: .. rst-class:: classref-property @@ -10786,6 +11008,46 @@ Determines at which interval pipeline cache is saved to disk. The lower the valu ---- +.. _class_ProjectSettings_property_rendering/rendering_device/vsync/frame_queue_size: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **rendering/rendering_device/vsync/frame_queue_size** = ``2`` + +The number of frames to track on the CPU side before stalling to wait for the GPU. + +Try the `V-Sync Simulator <https://darksylinc.github.io/vsync_simulator/>`__, an interactive interface that simulates presentation to better understand how it is affected by different variables under various conditions. + +\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_rendering/rendering_device/vsync/swapchain_image_count: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **rendering/rendering_device/vsync/swapchain_image_count** = ``3`` + +The number of images the swapchain will consist of (back buffers + front buffer). + +\ ``2`` corresponds to double-buffering and ``3`` to triple-buffering. + +Double-buffering may give you the lowest lag/latency but if V-Sync is on and the system can't render at 60 fps, the framerate will go down in multiples of it (e.g. 30 fps, 15, 7.5, etc.). Triple buffering gives you higher framerate (specially if the system can't reach a constant 60 fps) at the cost of up to 1 frame of latency, with :ref:`DisplayServer.VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>` (FIFO). + +Use double-buffering with :ref:`DisplayServer.VSYNC_ENABLED<class_DisplayServer_constant_VSYNC_ENABLED>`. Triple-buffering is a must if you plan on using :ref:`DisplayServer.VSYNC_MAILBOX<class_DisplayServer_constant_VSYNC_MAILBOX>` mode. + +Try the `V-Sync Simulator <https://darksylinc.github.io/vsync_simulator/>`__, an interactive interface that simulates presentation to better understand how it is affected by different variables under various conditions. + +\ **Note:** This property is only read when the project starts. There is currently no way to change this value at run-time. + +\ **Note:** Some platforms may restrict the actual value. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_rendering/rendering_device/vulkan/max_descriptors_per_pool: .. rst-class:: classref-property @@ -11191,9 +11453,7 @@ The texture *must* use a lossless compression format so that colors can be match :ref:`float<class_float>` **threading/worker_pool/low_priority_thread_ratio** = ``0.3`` -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The ratio of :ref:`WorkerThreadPool<class_WorkerThreadPool>`'s threads that will be reserved for low-priority tasks. For example, if 10 threads are available and this value is set to ``0.3``, 3 of the worker threads will be reserved for low-priority tasks. The actual value won't exceed the number of CPU cores minus one, and if possible, at least one worker thread will be dedicated to low-priority tasks. .. rst-class:: classref-item-separator @@ -11229,7 +11489,7 @@ Action map configuration to load by default. :ref:`bool<class_bool>` **xr/openxr/enabled** = ``false`` -If ``true`` Godot will setup and initialize OpenXR on startup. +If ``true``, Godot will setup and initialize OpenXR on startup. .. rst-class:: classref-item-separator diff --git a/classes/class_propertytweener.rst b/classes/class_propertytweener.rst index 6c81c07ce64..fc170fa186f 100644 --- a/classes/class_propertytweener.rst +++ b/classes/class_propertytweener.rst @@ -31,19 +31,21 @@ Methods .. table:: :widths: auto - +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`as_relative<class_PropertyTweener_method_as_relative>` **(** **)** | - +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from<class_PropertyTweener_method_from>` **(** :ref:`Variant<class_Variant>` value **)** | - +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from_current<class_PropertyTweener_method_from_current>` **(** **)** | - +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_delay<class_PropertyTweener_method_set_delay>` **(** :ref:`float<class_float>` delay **)** | - +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_ease<class_PropertyTweener_method_set_ease>` **(** :ref:`EaseType<enum_Tween_EaseType>` ease **)** | - +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_trans<class_PropertyTweener_method_set_trans>` **(** :ref:`TransitionType<enum_Tween_TransitionType>` trans **)** | - +-----------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`as_relative<class_PropertyTweener_method_as_relative>` **(** **)** | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from<class_PropertyTweener_method_from>` **(** :ref:`Variant<class_Variant>` value **)** | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`from_current<class_PropertyTweener_method_from_current>` **(** **)** | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_custom_interpolator<class_PropertyTweener_method_set_custom_interpolator>` **(** :ref:`Callable<class_Callable>` interpolator_method **)** | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_delay<class_PropertyTweener_method_set_delay>` **(** :ref:`float<class_float>` delay **)** | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_ease<class_PropertyTweener_method_set_ease>` **(** :ref:`EaseType<enum_Tween_EaseType>` ease **)** | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PropertyTweener<class_PropertyTweener>` | :ref:`set_trans<class_PropertyTweener_method_set_trans>` **(** :ref:`TransitionType<enum_Tween_TransitionType>` trans **)** | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -109,6 +111,32 @@ Makes the **PropertyTweener** use the current property value (i.e. at the time o ---- +.. _class_PropertyTweener_method_set_custom_interpolator: + +.. rst-class:: classref-method + +:ref:`PropertyTweener<class_PropertyTweener>` **set_custom_interpolator** **(** :ref:`Callable<class_Callable>` interpolator_method **)** + +Allows interpolating the value with a custom easing function. The provided ``interpolator_method`` will be called with a value ranging from ``0.0`` to ``1.0`` and is expected to return a value within the same range (values outside the range can be used for overshoot). The return value of the method is then used for interpolation between initial and final value. Note that the parameter passed to the method is still subject to the tweener's own easing. + +\ **Example:**\ + +:: + + @export var curve: Curve + + func _ready(): + var tween = create_tween() + # Interpolate the value using a custom curve. + tween.tween_property(self, "position:x", 300, 1).as_relative().set_custom_interpolator(tween_curve) + + func tween_curve(v): + return curve.sample_baked(v) + +.. rst-class:: classref-item-separator + +---- + .. _class_PropertyTweener_method_set_delay: .. rst-class:: classref-method diff --git a/classes/class_raycast2d.rst b/classes/class_raycast2d.rst index 0a4d7b38bce..2f63fbcd354 100644 --- a/classes/class_raycast2d.rst +++ b/classes/class_raycast2d.rst @@ -19,7 +19,7 @@ A ray in 2D space, used to find the first :ref:`CollisionObject2D<class_Collisio Description ----------- -A raycast represents a ray from its origin to its :ref:`target_position<class_RayCast2D_property_target_position>` that finds the closest :ref:`CollisionObject2D<class_CollisionObject2D>` along its path, if it intersects any. This is useful for a lot of things, such as +A raycast represents a ray from its origin to its :ref:`target_position<class_RayCast2D_property_target_position>` that finds the closest :ref:`CollisionObject2D<class_CollisionObject2D>` along its path, if it intersects any. \ **RayCast2D** can ignore some objects by adding them to an exception list, by making its detection reporting ignore :ref:`Area2D<class_Area2D>`\ s (:ref:`collide_with_areas<class_RayCast2D_property_collide_with_areas>`) or :ref:`PhysicsBody2D<class_PhysicsBody2D>`\ s (:ref:`collide_with_bodies<class_RayCast2D_property_collide_with_bodies>`), or by configuring physics layers. @@ -345,7 +345,7 @@ Returns the normal of the intersecting object's shape at the collision point, or :ref:`Vector2<class_Vector2>` **get_collision_point** **(** **)** |const| -Returns the collision point at which the ray intersects the closest object. +Returns the collision point at which the ray intersects the closest object. If :ref:`hit_from_inside<class_RayCast2D_property_hit_from_inside>` is ``true`` and the ray starts inside of a collision shape, this function will return the origin point of the ray. \ **Note:** This point is in the **global** coordinate system. diff --git a/classes/class_raycast3d.rst b/classes/class_raycast3d.rst index 664d381a801..9ec0c5ced01 100644 --- a/classes/class_raycast3d.rst +++ b/classes/class_raycast3d.rst @@ -19,7 +19,7 @@ A ray in 3D space, used to find the first :ref:`CollisionObject3D<class_Collisio Description ----------- -A raycast represents a ray from its origin to its :ref:`target_position<class_RayCast3D_property_target_position>` that finds the closest :ref:`CollisionObject3D<class_CollisionObject3D>` along its path, if it intersects any. This is useful for a lot of things, such as +A raycast represents a ray from its origin to its :ref:`target_position<class_RayCast3D_property_target_position>` that finds the closest :ref:`CollisionObject3D<class_CollisionObject3D>` along its path, if it intersects any. \ **RayCast3D** can ignore some objects by adding them to an exception list, by making its detection reporting ignore :ref:`Area3D<class_Area3D>`\ s (:ref:`collide_with_areas<class_RayCast3D_property_collide_with_areas>`) or :ref:`PhysicsBody3D<class_PhysicsBody3D>`\ s (:ref:`collide_with_bodies<class_RayCast3D_property_collide_with_bodies>`), or by configuring physics layers. @@ -420,7 +420,7 @@ Returns the normal of the intersecting object's shape at the collision point, or :ref:`Vector3<class_Vector3>` **get_collision_point** **(** **)** |const| -Returns the collision point at which the ray intersects the closest object. +Returns the collision point at which the ray intersects the closest object. If :ref:`hit_from_inside<class_RayCast3D_property_hit_from_inside>` is ``true`` and the ray starts inside of a collision shape, this function will return the origin point of the ray. \ **Note:** This point is in the **global** coordinate system. diff --git a/classes/class_rdpipelinedepthstencilstate.rst b/classes/class_rdpipelinedepthstencilstate.rst index 1a4aa01071f..325ff3d0a64 100644 --- a/classes/class_rdpipelinedepthstencilstate.rst +++ b/classes/class_rdpipelinedepthstencilstate.rst @@ -93,9 +93,7 @@ Property Descriptions - void **set_back_op_compare** **(** :ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` value **)** - :ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **get_back_op_compare** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The method used for comparing the previous back stencil value and :ref:`back_op_reference<class_RDPipelineDepthStencilState_property_back_op_reference>`. .. rst-class:: classref-item-separator @@ -112,9 +110,7 @@ Property Descriptions - void **set_back_op_compare_mask** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_back_op_compare_mask** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Selects which bits from the back stencil value will be compared. .. rst-class:: classref-item-separator @@ -131,9 +127,7 @@ Property Descriptions - void **set_back_op_depth_fail** **(** :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` value **)** - :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **get_back_op_depth_fail** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The operation to perform on the stencil buffer for back pixels that pass the stencil test but fail the depth test. .. rst-class:: classref-item-separator @@ -150,9 +144,7 @@ Property Descriptions - void **set_back_op_fail** **(** :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` value **)** - :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **get_back_op_fail** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The operation to perform on the stencil buffer for back pixels that fail the stencil test .. rst-class:: classref-item-separator @@ -169,9 +161,7 @@ Property Descriptions - void **set_back_op_pass** **(** :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` value **)** - :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **get_back_op_pass** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The operation to perform on the stencil buffer for back pixels that pass the stencil test. .. rst-class:: classref-item-separator @@ -188,9 +178,7 @@ Property Descriptions - void **set_back_op_reference** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_back_op_reference** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The value the previous back stencil value will be compared to. .. rst-class:: classref-item-separator @@ -207,9 +195,7 @@ Property Descriptions - void **set_back_op_write_mask** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_back_op_write_mask** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Selects which bits from the back stencil value will be changed. .. rst-class:: classref-item-separator @@ -226,9 +212,7 @@ Property Descriptions - void **set_depth_compare_operator** **(** :ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` value **)** - :ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **get_depth_compare_operator** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The method used for comparing the previous and current depth values. .. rst-class:: classref-item-separator @@ -245,9 +229,7 @@ Property Descriptions - void **set_depth_range_max** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_depth_range_max** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The maximum depth that returns true for :ref:`enable_depth_range<class_RDPipelineDepthStencilState_property_enable_depth_range>`. .. rst-class:: classref-item-separator @@ -264,9 +246,7 @@ Property Descriptions - void **set_depth_range_min** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_depth_range_min** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The minimum depth that returns true for :ref:`enable_depth_range<class_RDPipelineDepthStencilState_property_enable_depth_range>`. .. rst-class:: classref-item-separator @@ -283,9 +263,7 @@ Property Descriptions - void **set_enable_depth_range** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **get_enable_depth_range** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, each depth value will be tested to see if it is between :ref:`depth_range_min<class_RDPipelineDepthStencilState_property_depth_range_min>` and :ref:`depth_range_max<class_RDPipelineDepthStencilState_property_depth_range_max>`. If it is outside of these values, it is discarded. .. rst-class:: classref-item-separator @@ -319,9 +297,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_enable_depth_write** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **get_enable_depth_write** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, writes to the depth buffer whenever the depth test returns true. Only works when enable_depth_test is also true. .. rst-class:: classref-item-separator @@ -338,9 +314,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_enable_stencil** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **get_enable_stencil** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, enables stencil testing. There are separate stencil buffers for front-facing triangles and back-facing triangles. See properties that begin with "front_op" and properties with "back_op" for each. .. rst-class:: classref-item-separator @@ -357,9 +331,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_compare** **(** :ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` value **)** - :ref:`CompareOperator<enum_RenderingDevice_CompareOperator>` **get_front_op_compare** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The method used for comparing the previous front stencil value and :ref:`front_op_reference<class_RDPipelineDepthStencilState_property_front_op_reference>`. .. rst-class:: classref-item-separator @@ -376,9 +348,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_compare_mask** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_front_op_compare_mask** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Selects which bits from the front stencil value will be compared. .. rst-class:: classref-item-separator @@ -395,9 +365,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_depth_fail** **(** :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` value **)** - :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **get_front_op_depth_fail** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The operation to perform on the stencil buffer for front pixels that pass the stencil test but fail the depth test. .. rst-class:: classref-item-separator @@ -414,9 +382,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_fail** **(** :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` value **)** - :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **get_front_op_fail** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The operation to perform on the stencil buffer for front pixels that fail the stencil test. .. rst-class:: classref-item-separator @@ -433,9 +399,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_pass** **(** :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` value **)** - :ref:`StencilOperation<enum_RenderingDevice_StencilOperation>` **get_front_op_pass** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The operation to perform on the stencil buffer for front pixels that pass the stencil test. .. rst-class:: classref-item-separator @@ -452,9 +416,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_reference** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_front_op_reference** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The value the previous front stencil value will be compared to. .. rst-class:: classref-item-separator @@ -471,9 +433,7 @@ If ``true``, enables depth testing which allows objects to be automatically occl - void **set_front_op_write_mask** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_front_op_write_mask** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Selects which bits from the front stencil value will be changed. .. |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_rdpipelinerasterizationstate.rst b/classes/class_rdpipelinerasterizationstate.rst index 05db640ca6c..5da6c838626 100644 --- a/classes/class_rdpipelinerasterizationstate.rst +++ b/classes/class_rdpipelinerasterizationstate.rst @@ -90,9 +90,7 @@ The cull mode to use when drawing polygons, which determines whether front faces - void **set_depth_bias_clamp** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_depth_bias_clamp** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +A limit for how much each depth value can be offset. If negative, it serves as a minimum value, but if positive, it serves as a maximum value. .. rst-class:: classref-item-separator @@ -109,9 +107,7 @@ The cull mode to use when drawing polygons, which determines whether front faces - void **set_depth_bias_constant_factor** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_depth_bias_constant_factor** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +A constant offset added to each depth value. Applied after :ref:`depth_bias_slope_factor<class_RDPipelineRasterizationState_property_depth_bias_slope_factor>`. .. rst-class:: classref-item-separator @@ -128,9 +124,7 @@ The cull mode to use when drawing polygons, which determines whether front faces - void **set_depth_bias_enabled** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **get_depth_bias_enabled** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, each generated depth value will by offset by some amount. The specific amount is generated per polygon based on the values of :ref:`depth_bias_slope_factor<class_RDPipelineRasterizationState_property_depth_bias_slope_factor>` and :ref:`depth_bias_constant_factor<class_RDPipelineRasterizationState_property_depth_bias_constant_factor>`. .. rst-class:: classref-item-separator @@ -147,9 +141,7 @@ The cull mode to use when drawing polygons, which determines whether front faces - void **set_depth_bias_slope_factor** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_depth_bias_slope_factor** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +A constant scale applied to the slope of each polygons' depth. Applied before :ref:`depth_bias_constant_factor<class_RDPipelineRasterizationState_property_depth_bias_constant_factor>`. .. rst-class:: classref-item-separator @@ -183,9 +175,7 @@ If ``true``, primitives are discarded immediately before the rasterization stage - void **set_enable_depth_clamp** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **get_enable_depth_clamp** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, clamps depth values according to the minimum and maximum depth of the associated viewport. .. rst-class:: classref-item-separator diff --git a/classes/class_rdsamplerstate.rst b/classes/class_rdsamplerstate.rst index 859590e02c3..eed6a9aa32c 100644 --- a/classes/class_rdsamplerstate.rst +++ b/classes/class_rdsamplerstate.rst @@ -168,7 +168,7 @@ The mipmap LOD bias to use. Positive values will make the sampler blurrier at a - void **set_mag_filter** **(** :ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>` value **)** - :ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>` **get_mag_filter** **(** **)** -The sampler's magnification filter. +The sampler's magnification filter. It is the filtering method used when sampling texels that appear bigger than on-screen pixels. .. rst-class:: classref-item-separator @@ -202,9 +202,7 @@ The maximum mipmap LOD bias to display (lowest resolution). Only effective if th - void **set_min_filter** **(** :ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>` value **)** - :ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>` **get_min_filter** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +The sampler's minification filter. It is the filtering method used when sampling texels that appear smaller than on-screen pixels. .. rst-class:: classref-item-separator @@ -306,9 +304,7 @@ The repeat mode to use along the W axis of UV coordinates. This affects the retu - void **set_unnormalized_uvw** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **get_unnormalized_uvw** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, the texture will be sampled with coordinates ranging from 0 to the texture's resolution. Otherwise, the coordinates will be normalized and range from 0 to 1. .. rst-class:: classref-item-separator diff --git a/classes/class_reflectionprobe.rst b/classes/class_reflectionprobe.rst index 78e9391ca9c..84d1fad7cb8 100644 --- a/classes/class_reflectionprobe.rst +++ b/classes/class_reflectionprobe.rst @@ -67,6 +67,8 @@ Properties +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+ | :ref:`Vector3<class_Vector3>` | :ref:`origin_offset<class_ReflectionProbe_property_origin_offset>` | ``Vector3(0, 0, 0)`` | +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+ + | :ref:`int<class_int>` | :ref:`reflection_mask<class_ReflectionProbe_property_reflection_mask>` | ``1048575`` | + +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+ | :ref:`Vector3<class_Vector3>` | :ref:`size<class_ReflectionProbe_property_size>` | ``Vector3(20, 20, 20)`` | +------------------------------------------------------+----------------------------------------------------------------------------------+-------------------------+ | :ref:`UpdateMode<enum_ReflectionProbe_UpdateMode>` | :ref:`update_mode<class_ReflectionProbe_property_update_mode>` | ``0`` | @@ -227,7 +229,9 @@ If ``true``, enables box projection. This makes reflections look more correct in - void **set_cull_mask** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_cull_mask** **(** **)** -Sets the cull mask which determines what objects are drawn by this probe. Every :ref:`VisualInstance3D<class_VisualInstance3D>` with a layer included in this cull mask will be rendered by the probe. To improve performance, it is best to only include large objects which are likely to take up a lot of space in the reflection. +Sets the cull mask which determines what objects are drawn by this probe. Every :ref:`VisualInstance3D<class_VisualInstance3D>` with a layer included in this cull mask will be rendered by the probe. It is best to only include large objects which are likely to take up a lot of space in the reflection in order to save on rendering cost. + +This can also be used to prevent an object from reflecting upon itself (for instance, a **ReflectionProbe** centered on a vehicle). .. rst-class:: classref-item-separator @@ -339,6 +343,23 @@ Sets the origin offset to be used when this **ReflectionProbe** is in :ref:`box_ ---- +.. _class_ReflectionProbe_property_reflection_mask: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **reflection_mask** = ``1048575`` + +.. rst-class:: classref-property-setget + +- void **set_reflection_mask** **(** :ref:`int<class_int>` value **)** +- :ref:`int<class_int>` **get_reflection_mask** **(** **)** + +Sets the reflection mask which determines what objects have reflections applied from this probe. Every :ref:`VisualInstance3D<class_VisualInstance3D>` with a layer included in this reflection mask will have reflections applied from this probe. See also :ref:`cull_mask<class_ReflectionProbe_property_cull_mask>`, which can be used to exclude objects from appearing in the reflection while still making them affected by the **ReflectionProbe**. + +.. rst-class:: classref-item-separator + +---- + .. _class_ReflectionProbe_property_size: .. rst-class:: classref-property diff --git a/classes/class_renderingdevice.rst b/classes/class_renderingdevice.rst index 0e3fae322f4..9fd3a8b814b 100644 --- a/classes/class_renderingdevice.rst +++ b/classes/class_renderingdevice.rst @@ -171,7 +171,7 @@ Methods +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`sampler_is_format_supported_for_filter<class_RenderingDevice_method_sampler_is_format_supported_for_filter>` **(** :ref:`DataFormat<enum_RenderingDevice_DataFormat>` format, :ref:`SamplerFilter<enum_RenderingDevice_SamplerFilter>` sampler_filter **)** |const| | +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`screen_get_framebuffer_format<class_RenderingDevice_method_screen_get_framebuffer_format>` **(** **)** |const| | + | :ref:`int<class_int>` | :ref:`screen_get_framebuffer_format<class_RenderingDevice_method_screen_get_framebuffer_format>` **(** :ref:`int<class_int>` screen=0 **)** |const| | +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`screen_get_height<class_RenderingDevice_method_screen_get_height>` **(** :ref:`int<class_int>` screen=0 **)** |const| | +------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -439,7 +439,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_DEVICE** = ``0`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_LOGICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_LOGICAL_DEVICE>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_LOGICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_LOGICAL_DEVICE>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_PHYSICAL_DEVICE: @@ -447,7 +453,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_PHYSICAL_DEVICE** = ``1`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_PHYSICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_PHYSICAL_DEVICE>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_PHYSICAL_DEVICE<class_RenderingDevice_constant_DRIVER_RESOURCE_PHYSICAL_DEVICE>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_INSTANCE: @@ -455,7 +467,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_INSTANCE** = ``2`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_TOPMOST_OBJECT<class_RenderingDevice_constant_DRIVER_RESOURCE_TOPMOST_OBJECT>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_TOPMOST_OBJECT<class_RenderingDevice_constant_DRIVER_RESOURCE_TOPMOST_OBJECT>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_QUEUE: @@ -463,7 +481,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_QUEUE** = ``3`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_COMMAND_QUEUE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMMAND_QUEUE>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_COMMAND_QUEUE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMMAND_QUEUE>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_QUEUE_FAMILY_INDEX: @@ -471,7 +495,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_QUEUE_FAMILY_INDEX** = ``4`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_QUEUE_FAMILY<class_RenderingDevice_constant_DRIVER_RESOURCE_QUEUE_FAMILY>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_QUEUE_FAMILY<class_RenderingDevice_constant_DRIVER_RESOURCE_QUEUE_FAMILY>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE: @@ -479,7 +509,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE** = ``5`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE_VIEW: @@ -487,7 +523,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE_VIEW** = ``6`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_TEXTURE_VIEW<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_VIEW>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_TEXTURE_VIEW<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_VIEW>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_IMAGE_NATIVE_TEXTURE_FORMAT: @@ -495,7 +537,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_IMAGE_NATIVE_TEXTURE_FORMAT** = ``7`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_TEXTURE_DATA_FORMAT<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_DATA_FORMAT>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_TEXTURE_DATA_FORMAT<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE_DATA_FORMAT>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_SAMPLER: @@ -503,7 +551,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_SAMPLER** = ``8`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_SAMPLER<class_RenderingDevice_constant_DRIVER_RESOURCE_SAMPLER>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_SAMPLER<class_RenderingDevice_constant_DRIVER_RESOURCE_SAMPLER>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_DESCRIPTOR_SET: @@ -511,7 +565,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_DESCRIPTOR_SET** = ``9`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_UNIFORM_SET<class_RenderingDevice_constant_DRIVER_RESOURCE_UNIFORM_SET>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_UNIFORM_SET<class_RenderingDevice_constant_DRIVER_RESOURCE_UNIFORM_SET>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_BUFFER: @@ -519,7 +579,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_BUFFER** = ``10`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_BUFFER<class_RenderingDevice_constant_DRIVER_RESOURCE_BUFFER>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_BUFFER<class_RenderingDevice_constant_DRIVER_RESOURCE_BUFFER>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_COMPUTE_PIPELINE: @@ -527,7 +593,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_COMPUTE_PIPELINE** = ``11`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_COMPUTE_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMPUTE_PIPELINE>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_COMPUTE_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_COMPUTE_PIPELINE>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_DRIVER_RESOURCE_VULKAN_RENDER_PIPELINE: @@ -535,7 +607,13 @@ Buffer of any kind of (storage, vertex, etc.). :ref:`DriverResource<enum_RenderingDevice_DriverResource>` **DRIVER_RESOURCE_VULKAN_RENDER_PIPELINE** = ``12`` -*Deprecated.* Use :ref:`DRIVER_RESOURCE_RENDER_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_RENDER_PIPELINE>`. +**Deprecated:** Use :ref:`DRIVER_RESOURCE_RENDER_PIPELINE<class_RenderingDevice_constant_DRIVER_RESOURCE_RENDER_PIPELINE>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. rst-class:: classref-item-separator @@ -3891,7 +3969,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CLEAR_REGION** = ``1`` -*Deprecated.* Use :ref:`INITIAL_ACTION_CLEAR<class_RenderingDevice_constant_INITIAL_ACTION_CLEAR>` instead. +**Deprecated:** Use :ref:`INITIAL_ACTION_CLEAR<class_RenderingDevice_constant_INITIAL_ACTION_CLEAR>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_INITIAL_ACTION_CLEAR_REGION_CONTINUE: @@ -3899,7 +3983,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CLEAR_REGION_CONTINUE** = ``1`` -*Deprecated.* Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead. +**Deprecated:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_INITIAL_ACTION_KEEP: @@ -3907,7 +3997,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_KEEP** = ``0`` -*Deprecated.* Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead. +**Deprecated:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_INITIAL_ACTION_DROP: @@ -3915,7 +4011,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_DROP** = ``2`` -*Deprecated.* Use :ref:`INITIAL_ACTION_DISCARD<class_RenderingDevice_constant_INITIAL_ACTION_DISCARD>` instead. +**Deprecated:** Use :ref:`INITIAL_ACTION_DISCARD<class_RenderingDevice_constant_INITIAL_ACTION_DISCARD>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_INITIAL_ACTION_CONTINUE: @@ -3923,7 +4025,13 @@ Represents the size of the :ref:`InitialAction<enum_RenderingDevice_InitialActio :ref:`InitialAction<enum_RenderingDevice_InitialAction>` **INITIAL_ACTION_CONTINUE** = ``0`` -*Deprecated.* Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead. +**Deprecated:** Use :ref:`INITIAL_ACTION_LOAD<class_RenderingDevice_constant_INITIAL_ACTION_LOAD>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. rst-class:: classref-item-separator @@ -3965,7 +4073,13 @@ Represents the size of the :ref:`FinalAction<enum_RenderingDevice_FinalAction>` :ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_READ** = ``0`` -*Deprecated.* Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead. +**Deprecated:** Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingDevice_constant_FINAL_ACTION_CONTINUE: @@ -3973,7 +4087,13 @@ Represents the size of the :ref:`FinalAction<enum_RenderingDevice_FinalAction>` :ref:`FinalAction<enum_RenderingDevice_FinalAction>` **FINAL_ACTION_CONTINUE** = ``0`` -*Deprecated.* Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead. +**Deprecated:** Use :ref:`FINAL_ACTION_STORE<class_RenderingDevice_constant_FINAL_ACTION_STORE>` instead. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. rst-class:: classref-item-separator @@ -4513,7 +4633,11 @@ Method Descriptions void **barrier** **(** |bitfield|\<:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>`\> from=32767, |bitfield|\<:ref:`BarrierMask<enum_RenderingDevice_BarrierMask>`\> to=32767 **)** -*Deprecated.* Barriers are automatically inserted by RenderingDevice. +**Deprecated:** Barriers are automatically inserted by RenderingDevice. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator @@ -4779,7 +4903,11 @@ Ends the command buffer debug label region started by a :ref:`draw_command_begin void **draw_command_insert_label** **(** :ref:`String<class_String>` name, :ref:`Color<class_Color>` color **)** -*Deprecated.* Inserting labels no longer applies due to command reordering. +**Deprecated:** Inserting labels no longer applies due to command reordering. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator @@ -4840,7 +4968,11 @@ High-level variant of :ref:`draw_list_begin<class_RenderingDevice_method_draw_li :ref:`PackedInt64Array<class_PackedInt64Array>` **draw_list_begin_split** **(** :ref:`RID<class_RID>` framebuffer, :ref:`int<class_int>` splits, :ref:`InitialAction<enum_RenderingDevice_InitialAction>` initial_color_action, :ref:`FinalAction<enum_RenderingDevice_FinalAction>` final_color_action, :ref:`InitialAction<enum_RenderingDevice_InitialAction>` initial_depth_action, :ref:`FinalAction<enum_RenderingDevice_FinalAction>` final_depth_action, :ref:`PackedColorArray<class_PackedColorArray>` clear_color_values=PackedColorArray(), :ref:`float<class_float>` clear_depth=1.0, :ref:`int<class_int>` clear_stencil=0, :ref:`Rect2<class_Rect2>` region=Rect2(0, 0, 0, 0), :ref:`RID[]<class_RID>` storage_textures=[] **)** -*Deprecated.* Split draw lists are used automatically by RenderingDevice. +**Deprecated:** Split draw lists are used automatically by RenderingDevice. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator @@ -4986,7 +5118,11 @@ Switches to the next draw pass. :ref:`PackedInt64Array<class_PackedInt64Array>` **draw_list_switch_to_next_pass_split** **(** :ref:`int<class_int>` splits **)** -*Deprecated.* Split draw lists are used automatically by RenderingDevice. +**Deprecated:** Split draw lists are used automatically by RenderingDevice. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator @@ -5126,7 +5262,11 @@ Tries to free an object in the RenderingDevice. To avoid memory leaks, this shou void **full_barrier** **(** **)** -*Deprecated.* Barriers are automatically inserted by RenderingDevice. +**Deprecated:** Barriers are automatically inserted by RenderingDevice. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator @@ -5362,9 +5502,9 @@ Returns ``true`` if implementation supports using a texture of ``format`` with t .. rst-class:: classref-method -:ref:`int<class_int>` **screen_get_framebuffer_format** **(** **)** |const| +:ref:`int<class_int>` **screen_get_framebuffer_format** **(** :ref:`int<class_int>` screen=0 **)** |const| -Returns the screen's framebuffer format. +Returns the framebuffer format of the given screen. \ **Note:** Only the main **RenderingDevice** returned by :ref:`RenderingServer.get_rendering_device<class_RenderingServer_method_get_rendering_device>` has a format. If called on a local **RenderingDevice**, this method prints an error and returns :ref:`INVALID_ID<class_RenderingDevice_constant_INVALID_ID>`. @@ -5680,12 +5820,12 @@ Returns the data format used to create this texture. :ref:`int<class_int>` **texture_get_native_handle** **(** :ref:`RID<class_RID>` texture **)** +**Deprecated:** Use :ref:`get_driver_resource<class_RenderingDevice_method_get_driver_resource>` with :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>` instead. + Returns the internal graphics handle for this texture object. For use when communicating with third-party APIs mostly with GDExtension. \ **Note:** This function returns a ``uint64_t`` which internally maps to a ``GLuint`` (OpenGL) or ``VkImage`` (Vulkan). -\ *Deprecated.* Use :ref:`get_driver_resource<class_RenderingDevice_method_get_driver_resource>` with :ref:`DRIVER_RESOURCE_TEXTURE<class_RenderingDevice_constant_DRIVER_RESOURCE_TEXTURE>` instead. - .. rst-class:: classref-item-separator ---- diff --git a/classes/class_renderingserver.rst b/classes/class_renderingserver.rst index e6090d628a6..6d9a5483497 100644 --- a/classes/class_renderingserver.rst +++ b/classes/class_renderingserver.rst @@ -597,6 +597,8 @@ Methods +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedFloat32Array<class_PackedFloat32Array>` | :ref:`multimesh_get_buffer<class_RenderingServer_method_multimesh_get_buffer>` **(** :ref:`RID<class_RID>` multimesh **)** |const| | +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AABB<class_AABB>` | :ref:`multimesh_get_custom_aabb<class_RenderingServer_method_multimesh_get_custom_aabb>` **(** :ref:`RID<class_RID>` multimesh **)** |const| | + +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`multimesh_get_instance_count<class_RenderingServer_method_multimesh_get_instance_count>` **(** :ref:`RID<class_RID>` multimesh **)** |const| | +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID<class_RID>` | :ref:`multimesh_get_mesh<class_RenderingServer_method_multimesh_get_mesh>` **(** :ref:`RID<class_RID>` multimesh **)** |const| | @@ -621,6 +623,8 @@ Methods +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_buffer<class_RenderingServer_method_multimesh_set_buffer>` **(** :ref:`RID<class_RID>` multimesh, :ref:`PackedFloat32Array<class_PackedFloat32Array>` buffer **)** | +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`multimesh_set_custom_aabb<class_RenderingServer_method_multimesh_set_custom_aabb>` **(** :ref:`RID<class_RID>` multimesh, :ref:`AABB<class_AABB>` aabb **)** | + +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_mesh<class_RenderingServer_method_multimesh_set_mesh>` **(** :ref:`RID<class_RID>` multimesh, :ref:`RID<class_RID>` mesh **)** | +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`multimesh_set_visible_instances<class_RenderingServer_method_multimesh_set_visible_instances>` **(** :ref:`RID<class_RID>` multimesh, :ref:`int<class_int>` visible **)** | @@ -747,6 +751,8 @@ Methods +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_origin_offset<class_RenderingServer_method_reflection_probe_set_origin_offset>` **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` offset **)** | +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`reflection_probe_set_reflection_mask<class_RenderingServer_method_reflection_probe_set_reflection_mask>` **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` layers **)** | + +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_resolution<class_RenderingServer_method_reflection_probe_set_resolution>` **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` resolution **)** | +----------------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`reflection_probe_set_size<class_RenderingServer_method_reflection_probe_set_size>` **(** :ref:`RID<class_RID>` probe, :ref:`Vector3<class_Vector3>` size **)** | @@ -5358,7 +5364,13 @@ enum **Features**: :ref:`Features<enum_RenderingServer_Features>` **FEATURE_SHADERS** = ``0`` -*Deprecated.* This constant has not been used since Godot 3.0. +**Deprecated:** This constant has not been used since Godot 3.0. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. _class_RenderingServer_constant_FEATURE_MULTITHREADED: @@ -5366,7 +5378,13 @@ enum **Features**: :ref:`Features<enum_RenderingServer_Features>` **FEATURE_MULTITHREADED** = ``1`` -*Deprecated.* This constant has not been used since Godot 3.0. +**Deprecated:** This constant has not been used since Godot 3.0. + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + + .. rst-class:: classref-section-separator @@ -5423,7 +5441,9 @@ The maximum number of glow levels that can be used with the glow post-processing **MAX_CURSORS** = ``8`` -*Deprecated.* This constant is unused internally. +**Deprecated:** This constant may be changed or removed in future versions. + +This constant is unused internally. .. _class_RenderingServer_constant_MAX_2D_DIRECTIONAL_LIGHTS: @@ -7742,7 +7762,9 @@ Returns ``true`` if changes have been made to the RenderingServer's data. :ref:` :ref:`bool<class_bool>` **has_feature** **(** :ref:`Features<enum_RenderingServer_Features>` feature **)** |const| -*Deprecated.* This method has not been used since Godot 3.0. Always returns false. +**Deprecated:** This method has not been used since Godot 3.0. + +Always returns false. .. rst-class:: classref-item-separator @@ -8954,6 +8976,18 @@ Returns the MultiMesh data (such as instance transforms, colors, etc). See :ref: ---- +.. _class_RenderingServer_method_multimesh_get_custom_aabb: + +.. rst-class:: classref-method + +:ref:`AABB<class_AABB>` **multimesh_get_custom_aabb** **(** :ref:`RID<class_RID>` multimesh **)** |const| + +Returns the custom AABB defined for this MultiMesh resource. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_multimesh_get_instance_count: .. rst-class:: classref-method @@ -9113,6 +9147,18 @@ The per-instance data size and expected data order is: ---- +.. _class_RenderingServer_method_multimesh_set_custom_aabb: + +.. rst-class:: classref-method + +void **multimesh_set_custom_aabb** **(** :ref:`RID<class_RID>` multimesh, :ref:`AABB<class_AABB>` aabb **)** + +Sets the custom AABB for this MultiMesh resource. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_multimesh_set_mesh: .. rst-class:: classref-method @@ -9829,7 +9875,7 @@ If ``true``, reflections will ignore sky contribution. Equivalent to :ref:`Refle void **reflection_probe_set_cull_mask** **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` layers **)** -Sets the render cull mask for this reflection probe. Only instances with a matching cull mask will be rendered by this probe. Equivalent to :ref:`ReflectionProbe.cull_mask<class_ReflectionProbe_property_cull_mask>`. +Sets the render cull mask for this reflection probe. Only instances with a matching layer will be reflected by this probe. Equivalent to :ref:`ReflectionProbe.cull_mask<class_ReflectionProbe_property_cull_mask>`. .. rst-class:: classref-item-separator @@ -9907,6 +9953,18 @@ Sets the origin offset to be used when this reflection probe is in box project m ---- +.. _class_RenderingServer_method_reflection_probe_set_reflection_mask: + +.. rst-class:: classref-method + +void **reflection_probe_set_reflection_mask** **(** :ref:`RID<class_RID>` probe, :ref:`int<class_int>` layers **)** + +Sets the render reflection mask for this reflection probe. Only instances with a matching layer will have reflections applied from this probe. Equivalent to :ref:`ReflectionProbe.reflection_mask<class_ReflectionProbe_property_reflection_mask>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_reflection_probe_set_resolution: .. rst-class:: classref-method @@ -10577,7 +10635,9 @@ Returns a texture :ref:`RID<class_RID>` that can be used with :ref:`RenderingDev :ref:`RID<class_RID>` **texture_proxy_create** **(** :ref:`RID<class_RID>` base **)** -*Deprecated.* ProxyTexture was removed in Godot 4, so this method does nothing when called and always returns a null :ref:`RID<class_RID>`. +**Deprecated:** ProxyTexture was removed in Godot 4. + +This method does nothing when called and always returns a null :ref:`RID<class_RID>`. .. rst-class:: classref-item-separator @@ -10589,7 +10649,9 @@ Returns a texture :ref:`RID<class_RID>` that can be used with :ref:`RenderingDev void **texture_proxy_update** **(** :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` proxy_to **)** -*Deprecated.* ProxyTexture was removed in Godot 4, so this method cannot be used anymore. +**Deprecated:** ProxyTexture was removed in Godot 4. + +This method should not be used. .. rst-class:: classref-item-separator diff --git a/classes/class_resource.rst b/classes/class_resource.rst index b2667834390..908fca43843 100644 --- a/classes/class_resource.rst +++ b/classes/class_resource.rst @@ -109,9 +109,9 @@ Emitted when the resource changes, usually when one of its properties is modifie **setup_local_to_scene_requested** **(** **)** -Emitted by a newly duplicated resource with :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` set to ``true``. +**Deprecated:** This signal is only emitted when the resource is created. Override :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>` instead. -\ *Deprecated.* This signal is only emitted when the resource is created. Override :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>` instead. +Emitted by a newly duplicated resource with :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` set to ``true``. .. rst-class:: classref-section-separator @@ -289,9 +289,9 @@ Returns the :ref:`RID<class_RID>` of this resource (or an empty RID). Many resou void **setup_local_to_scene** **(** **)** -Calls :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>`. If :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` is set to ``true``, this method is automatically called from :ref:`PackedScene.instantiate<class_PackedScene_method_instantiate>` by the newly duplicated resource within the scene instance. +**Deprecated:** This method should only be called internally. Override :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>` instead. -\ *Deprecated.* This method should only be called internally. Override :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>` instead. +Calls :ref:`_setup_local_to_scene<class_Resource_private_method__setup_local_to_scene>`. If :ref:`resource_local_to_scene<class_Resource_property_resource_local_to_scene>` is set to ``true``, this method is automatically called from :ref:`PackedScene.instantiate<class_PackedScene_method_instantiate>` by the newly duplicated resource within the scene instance. .. rst-class:: classref-item-separator diff --git a/classes/class_resourceimporterimagefont.rst b/classes/class_resourceimporterimagefont.rst index dc159bf44c6..7974284f1b5 100644 --- a/classes/class_resourceimporterimagefont.rst +++ b/classes/class_resourceimporterimagefont.rst @@ -38,6 +38,8 @@ Properties .. table:: :widths: auto + +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ + | :ref:`int<class_int>` | :ref:`ascent<class_ResourceImporterImageFont_property_ascent>` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ | :ref:`Rect2i<class_Rect2i>` | :ref:`character_margin<class_ResourceImporterImageFont_property_character_margin>` | ``Rect2i(0, 0, 0, 0)`` | +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ @@ -47,10 +49,14 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ | :ref:`bool<class_bool>` | :ref:`compress<class_ResourceImporterImageFont_property_compress>` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ + | :ref:`int<class_int>` | :ref:`descent<class_ResourceImporterImageFont_property_descent>` | ``0`` | + +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ | :ref:`Array<class_Array>` | :ref:`fallbacks<class_ResourceImporterImageFont_property_fallbacks>` | ``[]`` | +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ | :ref:`Rect2i<class_Rect2i>` | :ref:`image_margin<class_ResourceImporterImageFont_property_image_margin>` | ``Rect2i(0, 0, 0, 0)`` | +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ + | :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`kerning_pairs<class_ResourceImporterImageFont_property_kerning_pairs>` | ``PackedStringArray()`` | + +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ | :ref:`int<class_int>` | :ref:`rows<class_ResourceImporterImageFont_property_rows>` | ``1`` | +---------------------------------------------------+------------------------------------------------------------------------------------+-------------------------+ | :ref:`int<class_int>` | :ref:`scaling_mode<class_ResourceImporterImageFont_property_scaling_mode>` | ``2`` | @@ -65,6 +71,18 @@ Properties Property Descriptions --------------------- +.. _class_ResourceImporterImageFont_property_ascent: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **ascent** = ``0`` + +Font ascent (number of pixels above the baseline). If set to ``0``, half of the character height is used. + +.. rst-class:: classref-item-separator + +---- + .. _class_ResourceImporterImageFont_property_character_margin: .. rst-class:: classref-property @@ -83,9 +101,11 @@ Margin applied around every imported glyph. If your font image contains guides ( :ref:`PackedStringArray<class_PackedStringArray>` **character_ranges** = ``PackedStringArray()`` -The character ranges to import from the font image. This is an array that maps each position on the image (in tile coordinates, not pixels). The font atlas is traversed from left to right and top to bottom. Characters can be specified with decimal numbers (127), hexadecimal numbers (``0x007f``) or between single quotes (``'~'``). Ranges can be specified with a hyphen between characters. +The character ranges to import from the font image. This is an array that maps each position on the image (in tile coordinates, not pixels). The font atlas is traversed from left to right and top to bottom. Characters can be specified with decimal numbers (127), hexadecimal numbers (``0x007f``, or ``U+007f``) or between single quotes (``'~'``). Ranges can be specified with a hyphen between characters. -For instance, ``0-127`` (or ``0x0000-0x007f``) denotes the full ASCII range. As another example, ``' '-'~'`` is equivalent to ``32-127`` and denotes the range of printable (visible) ASCII characters. +For example, ``0-127`` represents the full ASCII range. It can also be written as ``0x0000-0x007f`` (or ``U+0000-U+007f``). As another example, ``' '-'~'`` is equivalent to ``32-127`` and represents the range of printable (visible) ASCII characters. + +For any range, the character advance and offset can be customized by appending three space-separated integer values (additional advance, x offset, y offset) to the end. For example ``'a'-'b' 4 5 2`` sets the advance to ``char_width + 4`` and offset to ``Vector2(5, 2)`` for both `a` and `b` characters. Make sure :ref:`character_ranges<class_ResourceImporterImageFont_property_character_ranges>` doesn't exceed the number of :ref:`columns<class_ResourceImporterImageFont_property_columns>` \* :ref:`rows<class_ResourceImporterImageFont_property_rows>` defined. Otherwise, the font will fail to import. @@ -117,6 +137,18 @@ If ``true``, uses lossless compression for the resulting font. ---- +.. _class_ResourceImporterImageFont_property_descent: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **descent** = ``0`` + +Font descent (number of pixels below the baseline). If set to ``0``, half of the character height is used. + +.. rst-class:: classref-item-separator + +---- + .. _class_ResourceImporterImageFont_property_fallbacks: .. rst-class:: classref-property @@ -141,6 +173,20 @@ Margin to cut on the sides of the entire image. This can be used to cut parts of ---- +.. _class_ResourceImporterImageFont_property_kerning_pairs: + +.. rst-class:: classref-property + +:ref:`PackedStringArray<class_PackedStringArray>` **kerning_pairs** = ``PackedStringArray()`` + +Kerning pairs for the font. Kerning pair adjust the spacing between two characters. + +Each string consist of three space separated values: "from" string, "to" string and integer offset. Each combination form the two string for a kerning pair, e.g, ``ab cd -3`` will create kerning pairs ``ac``, ``ad``, ``bc``, and ``bd`` with offset ``-3``. + +.. rst-class:: classref-item-separator + +---- + .. _class_ResourceImporterImageFont_property_rows: .. rst-class:: classref-property diff --git a/classes/class_scenereplicationconfig.rst b/classes/class_scenereplicationconfig.rst index 06769d84b05..0f1ab3678e8 100644 --- a/classes/class_scenereplicationconfig.rst +++ b/classes/class_scenereplicationconfig.rst @@ -178,9 +178,9 @@ Returns whether the property identified by the given ``path`` is configured to b :ref:`bool<class_bool>` **property_get_sync** **(** :ref:`NodePath<class_NodePath>` path **)** -Returns whether the property identified by the given ``path`` is configured to be synchronized on process. +**Deprecated:** Use :ref:`property_get_replication_mode<class_SceneReplicationConfig_method_property_get_replication_mode>` instead. -\ *Deprecated.* Use :ref:`property_get_replication_mode<class_SceneReplicationConfig_method_property_get_replication_mode>` instead. +Returns whether the property identified by the given ``path`` is configured to be synchronized on process. .. rst-class:: classref-item-separator @@ -192,9 +192,9 @@ Returns whether the property identified by the given ``path`` is configured to b :ref:`bool<class_bool>` **property_get_watch** **(** :ref:`NodePath<class_NodePath>` path **)** -Returns whether the property identified by the given ``path`` is configured to be reliably synchronized when changes are detected on process. +**Deprecated:** Use :ref:`property_get_replication_mode<class_SceneReplicationConfig_method_property_get_replication_mode>` instead. -\ *Deprecated.* Use :ref:`property_get_replication_mode<class_SceneReplicationConfig_method_property_get_replication_mode>` instead. +Returns whether the property identified by the given ``path`` is configured to be reliably synchronized when changes are detected on process. .. rst-class:: classref-item-separator @@ -230,9 +230,9 @@ Sets whether the property identified by the given ``path`` is configured to be s void **property_set_sync** **(** :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enabled **)** -Sets whether the property identified by the given ``path`` is configured to be synchronized on process. +**Deprecated:** Use :ref:`property_set_replication_mode<class_SceneReplicationConfig_method_property_set_replication_mode>` with :ref:`REPLICATION_MODE_ALWAYS<class_SceneReplicationConfig_constant_REPLICATION_MODE_ALWAYS>` instead. -\ *Deprecated.* Use :ref:`property_set_replication_mode<class_SceneReplicationConfig_method_property_set_replication_mode>` with :ref:`REPLICATION_MODE_ALWAYS<class_SceneReplicationConfig_constant_REPLICATION_MODE_ALWAYS>` instead. +Sets whether the property identified by the given ``path`` is configured to be synchronized on process. .. rst-class:: classref-item-separator @@ -244,9 +244,9 @@ Sets whether the property identified by the given ``path`` is configured to be s void **property_set_watch** **(** :ref:`NodePath<class_NodePath>` path, :ref:`bool<class_bool>` enabled **)** -Sets whether the property identified by the given ``path`` is configured to be reliably synchronized when changes are detected on process. +**Deprecated:** Use :ref:`property_set_replication_mode<class_SceneReplicationConfig_method_property_set_replication_mode>` with :ref:`REPLICATION_MODE_ON_CHANGE<class_SceneReplicationConfig_constant_REPLICATION_MODE_ON_CHANGE>` instead. -\ *Deprecated.* Use :ref:`property_set_replication_mode<class_SceneReplicationConfig_method_property_set_replication_mode>` with :ref:`REPLICATION_MODE_ON_CHANGE<class_SceneReplicationConfig_constant_REPLICATION_MODE_ON_CHANGE>` instead. +Sets whether the property identified by the given ``path`` is configured to be reliably synchronized when changes are detected on process. .. rst-class:: classref-item-separator diff --git a/classes/class_scriptlanguageextension.rst b/classes/class_scriptlanguageextension.rst index bccce9a3468..128afb07f89 100644 --- a/classes/class_scriptlanguageextension.rst +++ b/classes/class_scriptlanguageextension.rst @@ -33,6 +33,8 @@ Methods +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`_can_inherit_from_file<class_ScriptLanguageExtension_private_method__can_inherit_from_file>` **(** **)** |virtual| |const| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`_can_make_function<class_ScriptLanguageExtension_private_method__can_make_function>` **(** **)** |virtual| |const| | + +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary<class_Dictionary>` | :ref:`_complete_code<class_ScriptLanguageExtension_private_method__complete_code>` **(** :ref:`String<class_String>` code, :ref:`String<class_String>` path, :ref:`Object<class_Object>` owner **)** |virtual| |const| | +---------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Object<class_Object>` | :ref:`_create_script<class_ScriptLanguageExtension_private_method__create_script>` **(** **)** |virtual| |const| | @@ -522,6 +524,20 @@ void **_add_named_global_constant** **(** :ref:`StringName<class_StringName>` na ---- +.. _class_ScriptLanguageExtension_private_method__can_make_function: + +.. rst-class:: classref-method + +:ref:`bool<class_bool>` **_can_make_function** **(** **)** |virtual| |const| + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + +.. rst-class:: classref-item-separator + +---- + .. _class_ScriptLanguageExtension_private_method__complete_code: .. rst-class:: classref-method @@ -932,7 +948,11 @@ void **_frame** **(** **)** |virtual| :ref:`bool<class_bool>` **_has_named_classes** **(** **)** |virtual| |const| -*Deprecated.* This method is not called by the engine. +**Deprecated:** This method is not called by the engine. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator diff --git a/classes/class_shapecast3d.rst b/classes/class_shapecast3d.rst index 74e7d2320b7..9ad787cfb36 100644 --- a/classes/class_shapecast3d.rst +++ b/classes/class_shapecast3d.rst @@ -503,7 +503,9 @@ Removes a collision exception so the shape does report collisions with the speci void **resource_changed** **(** :ref:`Resource<class_Resource>` resource **)** -*Obsoleted.* Use :ref:`Resource.changed<class_Resource_signal_changed>` instead. +**Deprecated:** Use :ref:`Resource.changed<class_Resource_signal_changed>` instead. + +This method does nothing. .. rst-class:: classref-item-separator diff --git a/classes/class_skeleton3d.rst b/classes/class_skeleton3d.rst index 0a80544d3f4..d9c35cd3ba1 100644 --- a/classes/class_skeleton3d.rst +++ b/classes/class_skeleton3d.rst @@ -155,9 +155,7 @@ Signals **bone_enabled_changed** **(** :ref:`int<class_int>` bone_idx **)** -.. container:: contribute - - There is currently no description for this signal. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Emitted when the bone at ``bone_idx`` is toggled with :ref:`set_bone_enabled<class_Skeleton3D_method_set_bone_enabled>`. Use :ref:`is_bone_enabled<class_Skeleton3D_method_is_bone_enabled>` to check the new value. .. rst-class:: classref-item-separator @@ -181,9 +179,7 @@ This signal is emitted when one of the bones in the Skeleton3D node have changed **pose_updated** **(** **)** -.. container:: contribute - - There is currently no description for this signal. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Emitted when the pose is updated, after :ref:`NOTIFICATION_UPDATE_SKELETON<class_Skeleton3D_constant_NOTIFICATION_UPDATE_SKELETON>` is received. .. rst-class:: classref-item-separator @@ -195,9 +191,7 @@ This signal is emitted when one of the bones in the Skeleton3D node have changed **show_rest_only_changed** **(** **)** -.. container:: contribute - - There is currently no description for this signal. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Emitted when the value of :ref:`show_rest_only<class_Skeleton3D_property_show_rest_only>` changes. .. rst-class:: classref-section-separator @@ -214,11 +208,9 @@ Constants **NOTIFICATION_UPDATE_SKELETON** = ``50`` -.. container:: contribute - - There is currently no description for this constant. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! - +Notification received when this skeleton's pose needs to be updated. +This notification is received *before* the related :ref:`pose_updated<class_Skeleton3D_signal_pose_updated>` signal. .. rst-class:: classref-section-separator @@ -278,9 +270,7 @@ Multiplies the 3D position track animation. - void **set_show_rest_only** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **is_show_rest_only** **(** **)** -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +If ``true``, forces the bones in their default rest pose, regardless of their values. In the editor, this also prevents the bones from being edited. .. rst-class:: classref-section-separator @@ -359,9 +349,9 @@ Returns the bone index that matches ``name`` as its name. void **force_update_all_bone_transforms** **(** **)** -Force updates the bone transforms/poses for all bones in the skeleton. +**Deprecated:** Do not use this method. -\ *Deprecated.* Do not use. +Force updates the bone transforms/poses for all bones in the skeleton. .. rst-class:: classref-item-separator diff --git a/classes/class_skeletonik3d.rst b/classes/class_skeletonik3d.rst index 1f4643383e8..8f64910ab72 100644 --- a/classes/class_skeletonik3d.rst +++ b/classes/class_skeletonik3d.rst @@ -10,6 +10,8 @@ SkeletonIK3D ============ +**Deprecated:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` A node used to rotate all bones of a :ref:`Skeleton3D<class_Skeleton3D>` bone chain a way that places the end bone at a desired 3D position. @@ -41,8 +43,6 @@ SkeletonIK3D is used to rotate all bones of a :ref:`Skeleton3D<class_Skeleton3D> # Apply zero IK effect (a value at or below 0.01 also removes bones_global_pose_override on Skeleton) skeleton_ik_node.set_interpolation(0.0) -\ *Deprecated.* This class is deprecated, and might be removed in a future release. - .. rst-class:: classref-introduction-group Tutorials diff --git a/classes/class_skeletonmodification2d.rst b/classes/class_skeletonmodification2d.rst index 825e6265570..76aefc93802 100644 --- a/classes/class_skeletonmodification2d.rst +++ b/classes/class_skeletonmodification2d.rst @@ -10,6 +10,8 @@ SkeletonModification2D ====================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` **Inherited By:** :ref:`SkeletonModification2DCCDIK<class_SkeletonModification2DCCDIK>`, :ref:`SkeletonModification2DFABRIK<class_SkeletonModification2DFABRIK>`, :ref:`SkeletonModification2DJiggle<class_SkeletonModification2DJiggle>`, :ref:`SkeletonModification2DLookAt<class_SkeletonModification2DLookAt>`, :ref:`SkeletonModification2DPhysicalBones<class_SkeletonModification2DPhysicalBones>`, :ref:`SkeletonModification2DStackHolder<class_SkeletonModification2DStackHolder>`, :ref:`SkeletonModification2DTwoBoneIK<class_SkeletonModification2DTwoBoneIK>` diff --git a/classes/class_skeletonmodification2dccdik.rst b/classes/class_skeletonmodification2dccdik.rst index 4e1d3983a30..bf1e47835ad 100644 --- a/classes/class_skeletonmodification2dccdik.rst +++ b/classes/class_skeletonmodification2dccdik.rst @@ -10,6 +10,8 @@ SkeletonModification2DCCDIK =========================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A modification that uses CCDIK to manipulate a series of bones to reach a target in 2D. diff --git a/classes/class_skeletonmodification2dfabrik.rst b/classes/class_skeletonmodification2dfabrik.rst index 2279b8139d2..703ed2624f0 100644 --- a/classes/class_skeletonmodification2dfabrik.rst +++ b/classes/class_skeletonmodification2dfabrik.rst @@ -10,6 +10,8 @@ SkeletonModification2DFABRIK ============================ +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A modification that uses FABRIK to manipulate a series of :ref:`Bone2D<class_Bone2D>` nodes to reach a target. diff --git a/classes/class_skeletonmodification2djiggle.rst b/classes/class_skeletonmodification2djiggle.rst index 3f999f4dcca..3446f9b81fd 100644 --- a/classes/class_skeletonmodification2djiggle.rst +++ b/classes/class_skeletonmodification2djiggle.rst @@ -10,6 +10,8 @@ SkeletonModification2DJiggle ============================ +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A modification that jiggles :ref:`Bone2D<class_Bone2D>` nodes as they move towards a target. diff --git a/classes/class_skeletonmodification2dlookat.rst b/classes/class_skeletonmodification2dlookat.rst index ca2c20e3b1c..2fd41e0e1c1 100644 --- a/classes/class_skeletonmodification2dlookat.rst +++ b/classes/class_skeletonmodification2dlookat.rst @@ -10,6 +10,8 @@ SkeletonModification2DLookAt ============================ +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A modification that rotates a :ref:`Bone2D<class_Bone2D>` node to look at a target. diff --git a/classes/class_skeletonmodification2dphysicalbones.rst b/classes/class_skeletonmodification2dphysicalbones.rst index 107df698e97..2fc54ae2ba9 100644 --- a/classes/class_skeletonmodification2dphysicalbones.rst +++ b/classes/class_skeletonmodification2dphysicalbones.rst @@ -10,6 +10,8 @@ SkeletonModification2DPhysicalBones =================================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A modification that applies the transforms of :ref:`PhysicalBone2D<class_PhysicalBone2D>` nodes to :ref:`Bone2D<class_Bone2D>` nodes. diff --git a/classes/class_skeletonmodification2dstackholder.rst b/classes/class_skeletonmodification2dstackholder.rst index bdf13188264..3088e6fc5f2 100644 --- a/classes/class_skeletonmodification2dstackholder.rst +++ b/classes/class_skeletonmodification2dstackholder.rst @@ -10,6 +10,8 @@ SkeletonModification2DStackHolder ================================= +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A modification that holds and executes a :ref:`SkeletonModificationStack2D<class_SkeletonModificationStack2D>`. diff --git a/classes/class_skeletonmodification2dtwoboneik.rst b/classes/class_skeletonmodification2dtwoboneik.rst index c9be46b684e..87698674ed7 100644 --- a/classes/class_skeletonmodification2dtwoboneik.rst +++ b/classes/class_skeletonmodification2dtwoboneik.rst @@ -10,6 +10,8 @@ SkeletonModification2DTwoBoneIK =============================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`SkeletonModification2D<class_SkeletonModification2D>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A modification that rotates two bones using the law of cosines to reach the target. diff --git a/classes/class_skeletonmodificationstack2d.rst b/classes/class_skeletonmodificationstack2d.rst index 9c1d84d746c..b65ca427eef 100644 --- a/classes/class_skeletonmodificationstack2d.rst +++ b/classes/class_skeletonmodificationstack2d.rst @@ -10,6 +10,8 @@ SkeletonModificationStack2D =========================== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A resource that holds a stack of :ref:`SkeletonModification2D<class_SkeletonModification2D>`\ s. diff --git a/classes/class_skeletonprofilehumanoid.rst b/classes/class_skeletonprofilehumanoid.rst index eb65d0cc9b7..efb6b834796 100644 --- a/classes/class_skeletonprofilehumanoid.rst +++ b/classes/class_skeletonprofilehumanoid.rst @@ -21,6 +21,65 @@ Description A :ref:`SkeletonProfile<class_SkeletonProfile>` as a preset that is optimized for the human form. This exists for standardization, so all parameters are read-only. +A humanoid skeleton profile contains 54 bones divided in 4 groups: ``"Body"``, ``"Face"``, ``"LeftHand"``, and ``"RightHand"``. It is structured as follows: + +:: + + Root + └─ Hips + ├─ LeftUpperLeg + │ └─ LeftLowerLeg + │ └─ LeftFoot + │ └─ LeftToes + ├─ RightUpperLeg + │ └─ RightLowerLeg + │ └─ RightFoot + │ └─ RightToes + └─ Spine + └─ Chest + └─ UpperChest + ├─ Neck + │ └─ Head + │ ├─ Jaw + │ ├─ LeftEye + │ └─ RightEye + ├─ LeftShoulder + │ └─ LeftUpperArm + │ └─ LeftLowerArm + │ └─ LeftHand + │ ├─ LeftThumbMetacarpal + │ │ └─ LeftThumbProximal + │ ├─ LeftIndexProximal + │ │ └─ LeftIndexIntermediate + │ │ └─ LeftIndexDistal + │ ├─ LeftMiddleProximal + │ │ └─ LeftMiddleIntermediate + │ │ └─ LeftMiddleDistal + │ ├─ LeftRingProximal + │ │ └─ LeftRingIntermediate + │ │ └─ LeftRingDistal + │ └─ LeftLittleProximal + │ └─ LeftLittleIntermediate + │ └─ LeftLittleDistal + └─ RightShoulder + └─ RightUpperArm + └─ RightLowerArm + └─ RightHand + ├─ RightThumbMetacarpal + │ └─ RightThumbProximal + ├─ RightIndexProximal + │ └─ RightIndexIntermediate + │ └─ RightIndexDistal + ├─ RightMiddleProximal + │ └─ RightMiddleIntermediate + │ └─ RightMiddleDistal + ├─ RightRingProximal + │ └─ RightRingIntermediate + │ └─ RightRingDistal + └─ RightLittleProximal + └─ RightLittleIntermediate + └─ RightLittleDistal + .. rst-class:: classref-introduction-group Tutorials diff --git a/classes/class_spotlight3d.rst b/classes/class_spotlight3d.rst index 96dee0bab40..a8cd620b576 100644 --- a/classes/class_spotlight3d.rst +++ b/classes/class_spotlight3d.rst @@ -114,9 +114,13 @@ The spotlight's *angular* attenuation curve. See also :ref:`spot_attenuation<cla - void **set_param** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_param** **(** **)** -The spotlight's light energy (drop-off) attenuation curve. A number of presets are available in the **Inspector** by right-clicking the curve. Zero and negative values are allowed but can produce unusual effects. See also :ref:`spot_angle_attenuation<class_SpotLight3D_property_spot_angle_attenuation>`. +Controls the distance attenuation function for spotlights. -\ **Note:** Very high :ref:`spot_attenuation<class_SpotLight3D_property_spot_attenuation>` values (typically above 10) can impact performance negatively if the light is made to use a larger :ref:`spot_range<class_SpotLight3D_property_spot_range>` to compensate. This is because culling opportunities will become less common and shading costs will be increased (as the light will cover more pixels on screen while resulting in the same amount of brightness). To improve performance, use the lowest :ref:`spot_attenuation<class_SpotLight3D_property_spot_attenuation>` value possible for the visuals you're trying to achieve. +A value of ``0.0`` smoothly attenuates light at the edge of the range. A value of ``1.0`` approaches a physical lighting model. A value of ``0.5`` approximates linear attenuation. + +\ **Note:** Setting it to ``1.0`` may result in distant objects receiving minimal light, even within range. For example, with a range of ``4096``, an object at ``100`` units receives less than ``0.1`` energy. + +\ **Note:** Using negative or values higher than ``10.0`` may lead to unexpected results. .. rst-class:: classref-item-separator diff --git a/classes/class_spritebase3d.rst b/classes/class_spritebase3d.rst index 459f08751c2..1f14e688052 100644 --- a/classes/class_spritebase3d.rst +++ b/classes/class_spritebase3d.rst @@ -320,6 +320,8 @@ The direction in which the front of the texture faces. The billboard mode to use for the sprite. See :ref:`BillboardMode<enum_BaseMaterial3D_BillboardMode>` for possible values. +\ **Note:** When billboarding is enabled and the material also casts shadows, billboards will face **the** camera in the scene when rendering shadows. In scenes with multiple cameras, the intended shadow cannot be determined and this will result in undefined behavior. See `GitHub Pull Request #72638 <https://github.com/godotengine/godot/pull/72638>`__ for details. + .. rst-class:: classref-item-separator ---- @@ -420,7 +422,9 @@ If ``true``, texture is flipped vertically. - void **set_modulate** **(** :ref:`Color<class_Color>` value **)** - :ref:`Color<class_Color>` **get_modulate** **(** **)** -A color value used to *multiply* the texture's colors. Can be used for mood-coloring or to simulate the color of light. +A color value used to *multiply* the texture's colors. Can be used for mood-coloring or to simulate the color of ambient light. + +\ **Note:** Unlike :ref:`CanvasItem.modulate<class_CanvasItem_property_modulate>` for 2D, colors with values above ``1.0`` (overbright) are not supported. \ **Note:** If a :ref:`GeometryInstance3D.material_override<class_GeometryInstance3D_property_material_override>` is defined on the **SpriteBase3D**, the material override must be configured to take vertex colors into account for albedo. Otherwise, the color defined in :ref:`modulate<class_SpriteBase3D_property_modulate>` will be ignored. For a :ref:`BaseMaterial3D<class_BaseMaterial3D>`, :ref:`BaseMaterial3D.vertex_color_use_as_albedo<class_BaseMaterial3D_property_vertex_color_use_as_albedo>` must be ``true``. For a :ref:`ShaderMaterial<class_ShaderMaterial>`, ``ALBEDO *= COLOR.rgb;`` must be inserted in the shader's ``fragment()`` function. @@ -530,6 +534,8 @@ If ``true``, the :ref:`Light3D<class_Light3D>` in the :ref:`Environment<class_En Filter flags for the texture. See :ref:`TextureFilter<enum_BaseMaterial3D_TextureFilter>` for options. +\ **Note:** Linear filtering may cause artifacts around the edges, which are especially noticeable on opaque textures. To prevent this, use textures with transparent or identical colors around the edges. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_statusindicator.rst b/classes/class_statusindicator.rst new file mode 100644 index 00000000000..c663c209c45 --- /dev/null +++ b/classes/class_statusindicator.rst @@ -0,0 +1,114 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/StatusIndicator.xml. + +.. _class_StatusIndicator: + +StatusIndicator +=============== + +**Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` + +Application status indicator (aka notification area icon). + +\ **Note:** Status indicator is implemented on macOS and Windows. + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +-----------------------------+--------------------------------------------------------+----------+ + | :ref:`Image<class_Image>` | :ref:`icon<class_StatusIndicator_property_icon>` | | + +-----------------------------+--------------------------------------------------------+----------+ + | :ref:`String<class_String>` | :ref:`tooltip<class_StatusIndicator_property_tooltip>` | ``""`` | + +-----------------------------+--------------------------------------------------------+----------+ + | :ref:`bool<class_bool>` | :ref:`visible<class_StatusIndicator_property_visible>` | ``true`` | + +-----------------------------+--------------------------------------------------------+----------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Signals +------- + +.. _class_StatusIndicator_signal_pressed: + +.. rst-class:: classref-signal + +**pressed** **(** :ref:`int<class_int>` mouse_button, :ref:`Vector2i<class_Vector2i>` position **)** + +Emitted when the status indicator is pressed. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_StatusIndicator_property_icon: + +.. rst-class:: classref-property + +:ref:`Image<class_Image>` **icon** + +.. rst-class:: classref-property-setget + +- void **set_icon** **(** :ref:`Image<class_Image>` value **)** +- :ref:`Image<class_Image>` **get_icon** **(** **)** + +Status indicator icon. + +.. rst-class:: classref-item-separator + +---- + +.. _class_StatusIndicator_property_tooltip: + +.. rst-class:: classref-property + +:ref:`String<class_String>` **tooltip** = ``""`` + +.. rst-class:: classref-property-setget + +- void **set_tooltip** **(** :ref:`String<class_String>` value **)** +- :ref:`String<class_String>` **get_tooltip** **(** **)** + +Status indicator tooltip. + +.. rst-class:: classref-item-separator + +---- + +.. _class_StatusIndicator_property_visible: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **visible** = ``true`` + +.. rst-class:: classref-property-setget + +- void **set_visible** **(** :ref:`bool<class_bool>` value **)** +- :ref:`bool<class_bool>` **is_visible** **(** **)** + +If ``true``, the status indicator is visible. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` diff --git a/classes/class_streampeergzip.rst b/classes/class_streampeergzip.rst index 6418c70b9dd..5095278efea 100644 --- a/classes/class_streampeergzip.rst +++ b/classes/class_streampeergzip.rst @@ -10,6 +10,8 @@ StreamPeerGZIP ============== +**Experimental:** This class may be changed or removed in future versions. + **Inherits:** :ref:`StreamPeer<class_StreamPeer>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>` A stream peer that handles GZIP and deflate compression/decompression. diff --git a/classes/class_stringname.rst b/classes/class_stringname.rst index bcebd2ac23c..9ec5c496d20 100644 --- a/classes/class_stringname.rst +++ b/classes/class_stringname.rst @@ -19,7 +19,7 @@ Description **StringName**\ s are immutable strings designed for general-purpose representation of unique names (also called "string interning"). Two **StringName**\ s with the same value are the same object. Comparing them is extremely fast compared to regular :ref:`String<class_String>`\ s. -You will usually just pass a :ref:`String<class_String>` to methods expecting a **StringName** and it will be automatically converted, but you may occasionally want to construct a **StringName** ahead of time with the **StringName** constructor or, in GDScript, the literal syntax ``&"example"``. +You will usually pass a :ref:`String<class_String>` to methods expecting a **StringName** and it will be automatically converted (often at compile time), but in rare cases you can construct a **StringName** ahead of time with the **StringName** constructor or, in GDScript, the literal syntax ``&"example"``. Manually constructing a **StringName** allows you to control when the conversion from :ref:`String<class_String>` occurs or to use the literal and prevent conversions entirely. See also :ref:`NodePath<class_NodePath>`, which is a similar concept specifically designed to store pre-parsed scene tree paths. diff --git a/classes/class_subviewportcontainer.rst b/classes/class_subviewportcontainer.rst index 4e133917c2d..a356227552a 100644 --- a/classes/class_subviewportcontainer.rst +++ b/classes/class_subviewportcontainer.rst @@ -113,6 +113,8 @@ Method Descriptions :ref:`bool<class_bool>` **_propagate_input_event** **(** :ref:`InputEvent<class_InputEvent>` event **)** |virtual| |const| +**Experimental:** This method may be changed or removed in future versions. + Virtual method to be implemented by the user. If it returns ``true``, the ``event`` is propagated to :ref:`SubViewport<class_SubViewport>` children. Propagation doesn't happen if it returns ``false``. If the function is not implemented, all events are propagated to SubViewports. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` diff --git a/classes/class_surfacetool.rst b/classes/class_surfacetool.rst index 725dce283b6..9a7e44d4e67 100644 --- a/classes/class_surfacetool.rst +++ b/classes/class_surfacetool.rst @@ -399,9 +399,9 @@ Removes the index array by expanding the vertex array. :ref:`PackedInt32Array<class_PackedInt32Array>` **generate_lod** **(** :ref:`float<class_float>` nd_threshold, :ref:`int<class_int>` target_index_count=3 **)** -Generates a LOD for a given ``nd_threshold`` in linear units (square root of quadric error metric), using at most ``target_index_count`` indices. +**Deprecated:** Unused internally and fails to preserve normals or UVs. Consider using :ref:`ImporterMesh.generate_lods<class_ImporterMesh_method_generate_lods>` instead. -\ *Deprecated.* Unused internally and fails to preserve normals or UVs. Consider using :ref:`ImporterMesh.generate_lods<class_ImporterMesh_method_generate_lods>` instead. +Generates a LOD for a given ``nd_threshold`` in linear units (square root of quadric error metric), using at most ``target_index_count`` indices. .. rst-class:: classref-item-separator diff --git a/classes/class_tabbar.rst b/classes/class_tabbar.rst index ea03bfa8993..7cd5f9db199 100644 --- a/classes/class_tabbar.rst +++ b/classes/class_tabbar.rst @@ -32,7 +32,9 @@ Properties +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`clip_tabs<class_TabBar_property_clip_tabs>` | ``true`` | +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ - | :ref:`int<class_int>` | :ref:`current_tab<class_TabBar_property_current_tab>` | ``0`` | + | :ref:`int<class_int>` | :ref:`current_tab<class_TabBar_property_current_tab>` | ``-1`` | + +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ + | :ref:`bool<class_bool>` | :ref:`deselect_enabled<class_TabBar_property_deselect_enabled>` | ``false`` | +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ | :ref:`bool<class_bool>` | :ref:`drag_to_rearrange_enabled<class_TabBar_property_drag_to_rearrange_enabled>` | ``false`` | +-----------------------------------------------------------------------+-----------------------------------------------------------------------------------+---------------------------------------------------------------------+ @@ -418,14 +420,31 @@ If ``true``, tabs overflowing this node's width will be hidden, displaying two n .. rst-class:: classref-property -:ref:`int<class_int>` **current_tab** = ``0`` +:ref:`int<class_int>` **current_tab** = ``-1`` .. rst-class:: classref-property-setget - void **set_current_tab** **(** :ref:`int<class_int>` value **)** - :ref:`int<class_int>` **get_current_tab** **(** **)** -Select tab at index ``tab_idx``. +The index of the current selected tab. A value of ``-1`` means that no tab is selected and can only be set when :ref:`deselect_enabled<class_TabBar_property_deselect_enabled>` is ``true`` or if all tabs are hidden or disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TabBar_property_deselect_enabled: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **deselect_enabled** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_deselect_enabled** **(** :ref:`bool<class_bool>` value **)** +- :ref:`bool<class_bool>` **get_deselect_enabled** **(** **)** + +If ``true``, all tabs can be deselected so that no tab is selected. Click on the current tab to deselect it. .. rst-class:: classref-item-separator diff --git a/classes/class_tabcontainer.rst b/classes/class_tabcontainer.rst index 315f18144f9..c56585004db 100644 --- a/classes/class_tabcontainer.rst +++ b/classes/class_tabcontainer.rst @@ -43,7 +43,9 @@ Properties +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ | :ref:`bool<class_bool>` | :ref:`clip_tabs<class_TabContainer_property_clip_tabs>` | ``true`` | +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ - | :ref:`int<class_int>` | :ref:`current_tab<class_TabContainer_property_current_tab>` | ``0`` | + | :ref:`int<class_int>` | :ref:`current_tab<class_TabContainer_property_current_tab>` | ``-1`` | + +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ + | :ref:`bool<class_bool>` | :ref:`deselect_enabled<class_TabContainer_property_deselect_enabled>` | ``false`` | +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ | :ref:`bool<class_bool>` | :ref:`drag_to_rearrange_enabled<class_TabContainer_property_drag_to_rearrange_enabled>` | ``false`` | +---------------------------------------------------+-----------------------------------------------------------------------------------------------+-----------+ @@ -353,7 +355,7 @@ If ``true``, tabs overflowing this node's width will be hidden, displaying two n .. rst-class:: classref-property -:ref:`int<class_int>` **current_tab** = ``0`` +:ref:`int<class_int>` **current_tab** = ``-1`` .. rst-class:: classref-property-setget @@ -362,6 +364,27 @@ If ``true``, tabs overflowing this node's width will be hidden, displaying two n The current tab index. When set, this index's :ref:`Control<class_Control>` node's ``visible`` property is set to ``true`` and all others are set to ``false``. +A value of ``-1`` means that no tab is selected. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TabContainer_property_deselect_enabled: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **deselect_enabled** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_deselect_enabled** **(** :ref:`bool<class_bool>` value **)** +- :ref:`bool<class_bool>` **get_deselect_enabled** **(** **)** + +If ``true``, all tabs can be deselected so that no tab is selected. Click on the :ref:`current_tab<class_TabContainer_property_current_tab>` to deselect it. + +Only the tab header will be shown if no tabs are selected. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_textedit.rst b/classes/class_textedit.rst index 3ec58b2afc1..c747759aa7a 100644 --- a/classes/class_textedit.rst +++ b/classes/class_textedit.rst @@ -148,10 +148,14 @@ Methods +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`adjust_viewport_to_caret<class_TextEdit_method_adjust_viewport_to_caret>` **(** :ref:`int<class_int>` caret_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`apply_ime<class_TextEdit_method_apply_ime>` **(** **)** | + +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`backspace<class_TextEdit_method_backspace>` **(** :ref:`int<class_int>` caret_index=-1 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`begin_complex_operation<class_TextEdit_method_begin_complex_operation>` **(** **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`cancel_ime<class_TextEdit_method_cancel_ime>` **(** **)** | + +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`center_viewport_to_caret<class_TextEdit_method_center_viewport_to_caret>` **(** :ref:`int<class_int>` caret_index=0 **)** | +---------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`clear<class_TextEdit_method_clear>` **(** **)** | @@ -1822,6 +1826,18 @@ Adjust the viewport so the caret is visible. ---- +.. _class_TextEdit_method_apply_ime: + +.. rst-class:: classref-method + +void **apply_ime** **(** **)** + +Applies text from the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME) to each caret and closes the IME if it is open. + +.. rst-class:: classref-item-separator + +---- + .. _class_TextEdit_method_backspace: .. rst-class:: classref-method @@ -1846,6 +1862,18 @@ Starts a multipart edit. All edits will be treated as one action until :ref:`end ---- +.. _class_TextEdit_method_cancel_ime: + +.. rst-class:: classref-method + +void **cancel_ime** **(** **)** + +Closes the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME) if it is open. Any text in the IME will be lost. + +.. rst-class:: classref-item-separator + +---- + .. _class_TextEdit_method_center_viewport_to_caret: .. rst-class:: classref-method @@ -2697,7 +2725,7 @@ Returns a :ref:`String<class_String>` text with the word under the caret's locat :ref:`bool<class_bool>` **has_ime_text** **(** **)** |const| -Returns if the user has IME text. +Returns ``true`` if the user has text in the `Input Method Editor <https://en.wikipedia.org/wiki/Input_method>`__ (IME). .. rst-class:: classref-item-separator diff --git a/classes/class_textserver.rst b/classes/class_textserver.rst index d8a92e49dcd..311c20edf31 100644 --- a/classes/class_textserver.rst +++ b/classes/class_textserver.rst @@ -56,6 +56,8 @@ Methods +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`font_get_ascent<class_TextServer_method_font_get_ascent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |const| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`font_get_baseline_offset<class_TextServer_method_font_get_baseline_offset>` **(** :ref:`RID<class_RID>` font_rid **)** |const| | + +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`font_get_char_from_glyph_index<class_TextServer_method_font_get_char_from_glyph_index>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph_index **)** |const| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`font_get_descent<class_TextServer_method_font_get_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |const| | @@ -186,6 +188,8 @@ Methods +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`font_set_ascent<class_TextServer_method_font_set_ascent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)** | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`font_set_baseline_offset<class_TextServer_method_font_set_baseline_offset>` **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` baseline_offset **)** | + +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`font_set_data<class_TextServer_method_font_set_data>` **(** :ref:`RID<class_RID>` font_rid, :ref:`PackedByteArray<class_PackedByteArray>` data **)** | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`font_set_descent<class_TextServer_method_font_set_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)** | @@ -1685,6 +1689,18 @@ Returns the font ascent (number of pixels above the baseline). ---- +.. _class_TextServer_method_font_get_baseline_offset: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **font_get_baseline_offset** **(** :ref:`RID<class_RID>` font_rid **)** |const| + +Returns extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServer_method_font_get_char_from_glyph_index: .. rst-class:: classref-method @@ -2481,6 +2497,18 @@ Sets the font ascent (number of pixels above the baseline). ---- +.. _class_TextServer_method_font_set_baseline_offset: + +.. rst-class:: classref-method + +void **font_set_baseline_offset** **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` baseline_offset **)** + +Sets extra baseline offset (as a fraction of font height). + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServer_method_font_set_data: .. rst-class:: classref-method diff --git a/classes/class_textserverextension.rst b/classes/class_textserverextension.rst index 5eb1e35f4d0..502c1e62129 100644 --- a/classes/class_textserverextension.rst +++ b/classes/class_textserverextension.rst @@ -58,6 +58,8 @@ Methods +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`_font_get_ascent<class_TextServerExtension_private_method__font_get_ascent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float<class_float>` | :ref:`_font_get_baseline_offset<class_TextServerExtension_private_method__font_get_baseline_offset>` **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| | + +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`_font_get_char_from_glyph_index<class_TextServerExtension_private_method__font_get_char_from_glyph_index>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph_index **)** |virtual| |const| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float<class_float>` | :ref:`_font_get_descent<class_TextServerExtension_private_method__font_get_descent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size **)** |virtual| |const| | @@ -188,6 +190,8 @@ Methods +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_ascent<class_TextServerExtension_private_method__font_set_ascent>` **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)** |virtual| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`_font_set_baseline_offset<class_TextServerExtension_private_method__font_set_baseline_offset>` **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` baseline_offset **)** |virtual| | + +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_data<class_TextServerExtension_private_method__font_set_data>` **(** :ref:`RID<class_RID>` font_rid, :ref:`PackedByteArray<class_PackedByteArray>` data **)** |virtual| | +-----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_data_ptr<class_TextServerExtension_private_method__font_set_data_ptr>` **(** :ref:`RID<class_RID>` font_rid, const uint8_t* data_ptr, :ref:`int<class_int>` data_size **)** |virtual| | @@ -640,6 +644,20 @@ void **_font_draw_glyph_outline** **(** :ref:`RID<class_RID>` font_rid, :ref:`RI ---- +.. _class_TextServerExtension_private_method__font_get_baseline_offset: + +.. rst-class:: classref-method + +:ref:`float<class_float>` **_font_get_baseline_offset** **(** :ref:`RID<class_RID>` font_rid **)** |virtual| |const| + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServerExtension_private_method__font_get_char_from_glyph_index: .. rst-class:: classref-method @@ -1550,6 +1568,20 @@ void **_font_set_ascent** **(** :ref:`RID<class_RID>` font_rid, :ref:`int<class_ ---- +.. _class_TextServerExtension_private_method__font_set_baseline_offset: + +.. rst-class:: classref-method + +void **_font_set_baseline_offset** **(** :ref:`RID<class_RID>` font_rid, :ref:`float<class_float>` baseline_offset **)** |virtual| + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServerExtension_private_method__font_set_data: .. rst-class:: classref-method diff --git a/classes/class_texture2drd.rst b/classes/class_texture2drd.rst index c4246a0536b..3a5147bd6ec 100644 --- a/classes/class_texture2drd.rst +++ b/classes/class_texture2drd.rst @@ -32,7 +32,7 @@ Properties +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+ | :ref:`bool<class_bool>` | resource_local_to_scene | ``false`` (overrides :ref:`Resource<class_Resource_property_resource_local_to_scene>`) | +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+ - | :ref:`RID<class_RID>` | :ref:`texture_rd_rid<class_Texture2DRD_property_texture_rd_rid>` | ``RID()`` | + | :ref:`RID<class_RID>` | :ref:`texture_rd_rid<class_Texture2DRD_property_texture_rd_rid>` | | +-------------------------+------------------------------------------------------------------+----------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -48,7 +48,7 @@ Property Descriptions .. rst-class:: classref-property -:ref:`RID<class_RID>` **texture_rd_rid** = ``RID()`` +:ref:`RID<class_RID>` **texture_rd_rid** .. rst-class:: classref-property-setget diff --git a/classes/class_texture3drd.rst b/classes/class_texture3drd.rst index 08425d55e58..4b5dc493866 100644 --- a/classes/class_texture3drd.rst +++ b/classes/class_texture3drd.rst @@ -29,9 +29,9 @@ Properties .. table:: :widths: auto - +-----------------------+------------------------------------------------------------------+-----------+ - | :ref:`RID<class_RID>` | :ref:`texture_rd_rid<class_Texture3DRD_property_texture_rd_rid>` | ``RID()`` | - +-----------------------+------------------------------------------------------------------+-----------+ + +-----------------------+------------------------------------------------------------------+ + | :ref:`RID<class_RID>` | :ref:`texture_rd_rid<class_Texture3DRD_property_texture_rd_rid>` | + +-----------------------+------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -46,7 +46,7 @@ Property Descriptions .. rst-class:: classref-property -:ref:`RID<class_RID>` **texture_rd_rid** = ``RID()`` +:ref:`RID<class_RID>` **texture_rd_rid** .. rst-class:: classref-property-setget diff --git a/classes/class_texturelayeredrd.rst b/classes/class_texturelayeredrd.rst index 538432cf5f5..a0a4519ec0f 100644 --- a/classes/class_texturelayeredrd.rst +++ b/classes/class_texturelayeredrd.rst @@ -31,9 +31,9 @@ Properties .. table:: :widths: auto - +-----------------------+-----------------------------------------------------------------------+-----------+ - | :ref:`RID<class_RID>` | :ref:`texture_rd_rid<class_TextureLayeredRD_property_texture_rd_rid>` | ``RID()`` | - +-----------------------+-----------------------------------------------------------------------+-----------+ + +-----------------------+-----------------------------------------------------------------------+ + | :ref:`RID<class_RID>` | :ref:`texture_rd_rid<class_TextureLayeredRD_property_texture_rd_rid>` | + +-----------------------+-----------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -48,7 +48,7 @@ Property Descriptions .. rst-class:: classref-property -:ref:`RID<class_RID>` **texture_rd_rid** = ``RID()`` +:ref:`RID<class_RID>` **texture_rd_rid** .. rst-class:: classref-property-setget diff --git a/classes/class_texturerect.rst b/classes/class_texturerect.rst index cadc1baca85..919ad6b2a43 100644 --- a/classes/class_texturerect.rst +++ b/classes/class_texturerect.rst @@ -199,6 +199,8 @@ Property Descriptions - void **set_expand_mode** **(** :ref:`ExpandMode<enum_TextureRect_ExpandMode>` value **)** - :ref:`ExpandMode<enum_TextureRect_ExpandMode>` **get_expand_mode** **(** **)** +**Experimental:** This property may be changed or removed in future versions. + Defines how minimum size is determined based on the texture's size. See :ref:`ExpandMode<enum_TextureRect_ExpandMode>` for options. \ **Note:** Using :ref:`EXPAND_FIT_WIDTH<class_TextureRect_constant_EXPAND_FIT_WIDTH>`, :ref:`EXPAND_FIT_WIDTH_PROPORTIONAL<class_TextureRect_constant_EXPAND_FIT_WIDTH_PROPORTIONAL>`, :ref:`EXPAND_FIT_HEIGHT<class_TextureRect_constant_EXPAND_FIT_HEIGHT>` or :ref:`EXPAND_FIT_HEIGHT_PROPORTIONAL<class_TextureRect_constant_EXPAND_FIT_HEIGHT_PROPORTIONAL>` may result in unstable behavior in some containers. This functionality is being re-evaluated and will change in the future. diff --git a/classes/class_tilemap.rst b/classes/class_tilemap.rst index c423ab2da55..35567f0eebb 100644 --- a/classes/class_tilemap.rst +++ b/classes/class_tilemap.rst @@ -10,7 +10,7 @@ TileMap ======= -**Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` +**Inherits:** :ref:`TileMapLayerGroup<class_TileMapLayerGroup>` **<** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` Node for 2D tile-based maps. @@ -61,8 +61,6 @@ Properties +----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+ | :ref:`int<class_int>` | :ref:`rendering_quadrant_size<class_TileMap_property_rendering_quadrant_size>` | ``16`` | +----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+ - | :ref:`TileSet<class_TileSet>` | :ref:`tile_set<class_TileMap_property_tile_set>` | | - +----------------------------------------------------+--------------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-reftable-group @@ -309,23 +307,6 @@ The quadrant size does not apply on Y-sorted layers, as tiles are be grouped by \ **Note:** As quadrants are created according to the map's coordinate system, the quadrant's "square shape" might not look like square in the TileMap's local coordinate system. -.. rst-class:: classref-item-separator - ----- - -.. _class_TileMap_property_tile_set: - -.. rst-class:: classref-property - -:ref:`TileSet<class_TileSet>` **tile_set** - -.. rst-class:: classref-property-setget - -- void **set_tileset** **(** :ref:`TileSet<class_TileSet>` value **)** -- :ref:`TileSet<class_TileSet>` **get_tileset** **(** **)** - -The assigned :ref:`TileSet<class_TileSet>`. - .. rst-class:: classref-section-separator ---- @@ -439,7 +420,11 @@ Clears cells that do not exist in the tileset. void **force_update** **(** :ref:`int<class_int>` layer=-1 **)** -*Deprecated.* See :ref:`notify_runtime_tile_data_update<class_TileMap_method_notify_runtime_tile_data_update>` and :ref:`update_internals<class_TileMap_method_update_internals>`. +**Deprecated:** Use :ref:`notify_runtime_tile_data_update<class_TileMap_method_notify_runtime_tile_data_update>` and/or :ref:`update_internals<class_TileMap_method_update_internals>` instead. + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! .. rst-class:: classref-item-separator @@ -631,6 +616,8 @@ Returns the number of layers in the TileMap. :ref:`RID<class_RID>` **get_navigation_map** **(** :ref:`int<class_int>` layer **)** |const| +**Deprecated:** This method may be changed or removed in future versions. + See :ref:`get_layer_navigation_map<class_TileMap_method_get_layer_navigation_map>`. .. rst-class:: classref-item-separator @@ -1021,6 +1008,8 @@ If ``layer`` is negative, the layers are accessed from the last one. void **set_navigation_map** **(** :ref:`int<class_int>` layer, :ref:`RID<class_RID>` map **)** +**Deprecated:** This method may be changed or removed in future versions. + See :ref:`set_layer_navigation_map<class_TileMap_method_set_layer_navigation_map>`. .. rst-class:: classref-item-separator diff --git a/classes/class_tilemaplayergroup.rst b/classes/class_tilemaplayergroup.rst new file mode 100644 index 00000000000..8328ae29e28 --- /dev/null +++ b/classes/class_tilemaplayergroup.rst @@ -0,0 +1,68 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TileMapLayerGroup.xml. + +.. _class_TileMapLayerGroup: + +TileMapLayerGroup +================= + +**Inherits:** :ref:`Node2D<class_Node2D>` **<** :ref:`CanvasItem<class_CanvasItem>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>` + +**Inherited By:** :ref:`TileMap<class_TileMap>` + +Groups a set of tile map layers together, allowing them to share a provided :ref:`TileSet<class_TileSet>`. + +.. rst-class:: classref-introduction-group + +Description +----------- + +Groups together tile map layers as part or the same map, replacing the :ref:`TileMap<class_TileMap>` node. Child layers will use this node's :ref:`tile_set<class_TileMapLayerGroup_property_tile_set>`. + +The editor also uses **TileMapLayerGroup** as a way to store which layers are selected in a given group. This allows highlighting the currently selected layers. + +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +-------------------------------+------------------------------------------------------------+ + | :ref:`TileSet<class_TileSet>` | :ref:`tile_set<class_TileMapLayerGroup_property_tile_set>` | + +-------------------------------+------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Property Descriptions +--------------------- + +.. _class_TileMapLayerGroup_property_tile_set: + +.. rst-class:: classref-property + +:ref:`TileSet<class_TileSet>` **tile_set** + +.. rst-class:: classref-property-setget + +- void **set_tileset** **(** :ref:`TileSet<class_TileSet>` value **)** +- :ref:`TileSet<class_TileSet>` **get_tileset** **(** **)** + +The assigned :ref:`TileSet<class_TileSet>`. This TileSet will be applied to all child layers. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` diff --git a/classes/class_timer.rst b/classes/class_timer.rst index e01b1559ed1..c353e06fd76 100644 --- a/classes/class_timer.rst +++ b/classes/class_timer.rst @@ -85,7 +85,7 @@ Signals **timeout** **(** **)** -Emitted when the timer reaches 0. +Emitted when the timer reaches the end. .. rst-class:: classref-section-separator @@ -108,7 +108,7 @@ enum **TimerProcessCallback**: :ref:`TimerProcessCallback<enum_Timer_TimerProcessCallback>` **TIMER_PROCESS_PHYSICS** = ``0`` -Update the timer during physics frames (see :ref:`Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS<class_Node_constant_NOTIFICATION_INTERNAL_PHYSICS_PROCESS>`). +Update the timer every physics process frame (see :ref:`Node.NOTIFICATION_INTERNAL_PHYSICS_PROCESS<class_Node_constant_NOTIFICATION_INTERNAL_PHYSICS_PROCESS>`). .. _class_Timer_constant_TIMER_PROCESS_IDLE: @@ -116,7 +116,7 @@ Update the timer during physics frames (see :ref:`Node.NOTIFICATION_INTERNAL_PHY :ref:`TimerProcessCallback<enum_Timer_TimerProcessCallback>` **TIMER_PROCESS_IDLE** = ``1`` -Update the timer during process frames (see :ref:`Node.NOTIFICATION_INTERNAL_PROCESS<class_Node_constant_NOTIFICATION_INTERNAL_PROCESS>`). +Update the timer every process (rendered) frame (see :ref:`Node.NOTIFICATION_INTERNAL_PROCESS<class_Node_constant_NOTIFICATION_INTERNAL_PROCESS>`). .. rst-class:: classref-section-separator @@ -138,9 +138,9 @@ Property Descriptions - void **set_autostart** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **has_autostart** **(** **)** -If ``true``, the timer will automatically start when entering the scene tree. +If ``true``, the timer will start immediately when it enters the scene tree. -\ **Note:** This property is automatically set to ``false`` after the timer enters the scene tree and starts. +\ **Note:** After the timer enters the tree, this property is automatically set to ``false``. .. rst-class:: classref-item-separator @@ -157,7 +157,7 @@ If ``true``, the timer will automatically start when entering the scene tree. - void **set_one_shot** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **is_one_shot** **(** **)** -If ``true``, the timer will stop when reaching 0. If ``false``, it will restart. +If ``true``, the timer will stop after reaching the end. Otherwise, as by default, the timer will automatically restart. .. rst-class:: classref-item-separator @@ -174,7 +174,7 @@ If ``true``, the timer will stop when reaching 0. If ``false``, it will restart. - void **set_paused** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **is_paused** **(** **)** -If ``true``, the timer is paused and will not process until it is unpaused again, even if :ref:`start<class_Timer_method_start>` is called. +If ``true``, the timer is paused. A paused timer does not process until this property is set back to ``false``, even when :ref:`start<class_Timer_method_start>` is called. .. rst-class:: classref-item-separator @@ -191,7 +191,7 @@ If ``true``, the timer is paused and will not process until it is unpaused again - void **set_timer_process_callback** **(** :ref:`TimerProcessCallback<enum_Timer_TimerProcessCallback>` value **)** - :ref:`TimerProcessCallback<enum_Timer_TimerProcessCallback>` **get_timer_process_callback** **(** **)** -Processing callback. See :ref:`TimerProcessCallback<enum_Timer_TimerProcessCallback>`. +Specifies when the timer is updated during the main loop (see :ref:`TimerProcessCallback<enum_Timer_TimerProcessCallback>`). .. rst-class:: classref-item-separator @@ -207,9 +207,9 @@ Processing callback. See :ref:`TimerProcessCallback<enum_Timer_TimerProcessCallb - :ref:`float<class_float>` **get_time_left** **(** **)** -The timer's remaining time in seconds. Returns 0 if the timer is inactive. +The timer's remaining time in seconds. This is always ``0`` if the timer is stopped. -\ **Note:** This value is read-only and cannot be set. It is based on :ref:`wait_time<class_Timer_property_wait_time>`, which can be set using :ref:`start<class_Timer_method_start>`. +\ **Note:** This property is read-only and cannot be modified. It is based on :ref:`wait_time<class_Timer_property_wait_time>`. .. rst-class:: classref-item-separator @@ -226,9 +226,9 @@ The timer's remaining time in seconds. Returns 0 if the timer is inactive. - void **set_wait_time** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_wait_time** **(** **)** -The wait time in seconds. +The time required for the timer to end, in seconds. This property can also be set every time :ref:`start<class_Timer_method_start>` is called. -\ **Note:** Timers can only emit once per rendered frame at most (or once per physics frame if :ref:`process_callback<class_Timer_property_process_callback>` is :ref:`TIMER_PROCESS_PHYSICS<class_Timer_constant_TIMER_PROCESS_PHYSICS>`). This means very low wait times (lower than 0.05 seconds) will behave in significantly different ways depending on the rendered framerate. For very low wait times, it is recommended to use a process loop in a script instead of using a Timer node. Timers are affected by :ref:`Engine.time_scale<class_Engine_property_time_scale>`, a higher scale means quicker timeouts, and vice versa. +\ **Note:** Timers can only process once per physics or process frame (depending on the :ref:`process_callback<class_Timer_property_process_callback>`). An unstable framerate may cause the timer to end inconsistently, which is especially noticeable if the wait time is lower than roughly ``0.05`` seconds. For very short timers, it is recommended to write your own code instead of using a **Timer** node. Timers are also affected by :ref:`Engine.time_scale<class_Engine_property_time_scale>`. .. rst-class:: classref-section-separator @@ -245,7 +245,7 @@ Method Descriptions :ref:`bool<class_bool>` **is_stopped** **(** **)** |const| -Returns ``true`` if the timer is stopped. +Returns ``true`` if the timer is stopped or has not started. .. rst-class:: classref-item-separator @@ -257,9 +257,9 @@ Returns ``true`` if the timer is stopped. void **start** **(** :ref:`float<class_float>` time_sec=-1 **)** -Starts the timer. Sets :ref:`wait_time<class_Timer_property_wait_time>` to ``time_sec`` if ``time_sec > 0``. This also resets the remaining time to :ref:`wait_time<class_Timer_property_wait_time>`. +Starts the timer, if it was not started already. Fails if the timer is not inside the tree. If ``time_sec`` is greater than ``0``, this value is used for the :ref:`wait_time<class_Timer_property_wait_time>`. -\ **Note:** This method will not resume a paused timer. See :ref:`paused<class_Timer_property_paused>`. +\ **Note:** This method does not resume a paused timer. See :ref:`paused<class_Timer_property_paused>`. .. rst-class:: classref-item-separator diff --git a/classes/class_tree.rst b/classes/class_tree.rst index f16b6fe4889..733f490535e 100644 --- a/classes/class_tree.rst +++ b/classes/class_tree.rst @@ -708,7 +708,7 @@ This controls the drop sections, i.e. the decision and drawing of possible drop - void **set_enable_recursive_folding** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **is_recursive_folding_enabled** **(** **)** -If ``true``, recursive folding is enabled for this **Tree**. Holding down Shift while clicking the fold arrow collapses or uncollapses the :ref:`TreeItem<class_TreeItem>` and all its descendants. +If ``true``, recursive folding is enabled for this **Tree**. Holding down :kbd:`Shift` while clicking the fold arrow or using ``ui_right``/``ui_left`` shortcuts collapses or uncollapses the :ref:`TreeItem<class_TreeItem>` and all its descendants. .. rst-class:: classref-item-separator diff --git a/classes/class_treeitem.rst b/classes/class_treeitem.rst index 97e6fe381b1..50b261a6294 100644 --- a/classes/class_treeitem.rst +++ b/classes/class_treeitem.rst @@ -74,6 +74,8 @@ Methods +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`get_button_by_id<class_TreeItem_method_get_button_by_id>` **(** :ref:`int<class_int>` column, :ref:`int<class_int>` id **)** |const| | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color<class_Color>` | :ref:`get_button_color<class_TreeItem_method_get_button_color>` **(** :ref:`int<class_int>` column, :ref:`int<class_int>` id **)** |const| | + +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`get_button_count<class_TreeItem_method_get_button_count>` **(** :ref:`int<class_int>` column **)** |const| | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`get_button_id<class_TreeItem_method_get_button_id>` **(** :ref:`int<class_int>` column, :ref:`int<class_int>` button_index **)** |const| | @@ -92,6 +94,8 @@ Methods +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color<class_Color>` | :ref:`get_custom_color<class_TreeItem_method_get_custom_color>` **(** :ref:`int<class_int>` column **)** |const| | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Callable<class_Callable>` | :ref:`get_custom_draw_callback<class_TreeItem_method_get_custom_draw_callback>` **(** :ref:`int<class_int>` column **)** |const| | + +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Font<class_Font>` | :ref:`get_custom_font<class_TreeItem_method_get_custom_font>` **(** :ref:`int<class_int>` column **)** |const| | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int<class_int>` | :ref:`get_custom_font_size<class_TreeItem_method_get_custom_font_size>` **(** :ref:`int<class_int>` column **)** |const| | @@ -202,6 +206,8 @@ Methods +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_draw<class_TreeItem_method_set_custom_draw>` **(** :ref:`int<class_int>` column, :ref:`Object<class_Object>` object, :ref:`StringName<class_StringName>` callback **)** | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | void | :ref:`set_custom_draw_callback<class_TreeItem_method_set_custom_draw_callback>` **(** :ref:`int<class_int>` column, :ref:`Callable<class_Callable>` callback **)** | + +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_font<class_TreeItem_method_set_custom_font>` **(** :ref:`int<class_int>` column, :ref:`Font<class_Font>` font **)** | +-------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_custom_font_size<class_TreeItem_method_set_custom_font_size>` **(** :ref:`int<class_int>` column, :ref:`int<class_int>` font_size **)** | @@ -528,6 +534,18 @@ Returns the button index if there is a button with ID ``id`` in column ``column` ---- +.. _class_TreeItem_method_get_button_color: + +.. rst-class:: classref-method + +:ref:`Color<class_Color>` **get_button_color** **(** :ref:`int<class_int>` column, :ref:`int<class_int>` id **)** |const| + +Returns the color of the button with ID ``id`` in column ``column``. If the specified button does not exist, returns :ref:`Color.BLACK<class_Color_constant_BLACK>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_TreeItem_method_get_button_count: .. rst-class:: classref-method @@ -638,6 +656,18 @@ Returns the custom color of column ``column``. ---- +.. _class_TreeItem_method_get_custom_draw_callback: + +.. rst-class:: classref-method + +:ref:`Callable<class_Callable>` **get_custom_draw_callback** **(** :ref:`int<class_int>` column **)** |const| + +Returns the custom callback of column ``column``. + +.. rst-class:: classref-item-separator + +---- + .. _class_TreeItem_method_get_custom_font: .. rst-class:: classref-method @@ -1316,6 +1346,8 @@ Sets the given column's custom color. void **set_custom_draw** **(** :ref:`int<class_int>` column, :ref:`Object<class_Object>` object, :ref:`StringName<class_StringName>` callback **)** +**Deprecated:** Use :ref:`set_custom_draw_callback<class_TreeItem_method_set_custom_draw_callback>` instead. + Sets the given column's custom draw callback to ``callback`` method on ``object``. The ``callback`` should accept two arguments: the **TreeItem** that is drawn and its position and size as a :ref:`Rect2<class_Rect2>`. @@ -1324,6 +1356,20 @@ The ``callback`` should accept two arguments: the **TreeItem** that is drawn and ---- +.. _class_TreeItem_method_set_custom_draw_callback: + +.. rst-class:: classref-method + +void **set_custom_draw_callback** **(** :ref:`int<class_int>` column, :ref:`Callable<class_Callable>` callback **)** + +Sets the given column's custom draw callback. Use an empty :ref:`Callable<class_Callable>` (``Callable()``) to clear the custom callback. + +The ``callback`` should accept two arguments: the **TreeItem** that is drawn and its position and size as a :ref:`Rect2<class_Rect2>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_TreeItem_method_set_custom_font: .. rst-class:: classref-method @@ -1616,9 +1662,7 @@ Sets the given column's tooltip text. void **uncollapse_tree** **(** **)** -.. container:: contribute - - There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`! +Uncollapses all **TreeItem**\ s necessary to reveal this **TreeItem**, i.e. all ancestor **TreeItem**\ s. .. |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_undoredo.rst b/classes/class_undoredo.rst index 7ee3c1e1bc2..8247e9076d4 100644 --- a/classes/class_undoredo.rst +++ b/classes/class_undoredo.rst @@ -120,6 +120,18 @@ If you are registering multiple properties/method which depend on one another, b +.. rst-class:: classref-reftable-group + +Properties +---------- + +.. table:: + :widths: auto + + +-----------------------+-----------------------------------------------------+-------+ + | :ref:`int<class_int>` | :ref:`max_steps<class_UndoRedo_property_max_steps>` | ``0`` | + +-----------------------+-----------------------------------------------------+-------+ + .. rst-class:: classref-reftable-group Methods @@ -234,6 +246,28 @@ Makes subsequent actions with the same name be merged into one. .. rst-class:: classref-descriptions-group +Property Descriptions +--------------------- + +.. _class_UndoRedo_property_max_steps: + +.. rst-class:: classref-property + +:ref:`int<class_int>` **max_steps** = ``0`` + +.. rst-class:: classref-property-setget + +- void **set_max_steps** **(** :ref:`int<class_int>` value **)** +- :ref:`int<class_int>` **get_max_steps** **(** **)** + +The maximum number of steps that can be stored in the undo/redo history. If the number of stored steps exceeds this limit, older steps are removed from history and can no longer be reached by calling :ref:`undo<class_UndoRedo_method_undo>`. A value of ``0`` or lower means no limit. + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + Method Descriptions ------------------- diff --git a/classes/class_vector4i.rst b/classes/class_vector4i.rst index 4b2fea1f6d3..4a26815ac30 100644 --- a/classes/class_vector4i.rst +++ b/classes/class_vector4i.rst @@ -21,7 +21,7 @@ A 4-element structure that can be used to represent 4D grid coordinates or any o It uses integer coordinates and is therefore preferable to :ref:`Vector4<class_Vector4>` when exact precision is required. Note that the values are limited to 32 bits, and unlike :ref:`Vector4<class_Vector4>` this cannot be configured with an engine build option. Use :ref:`int<class_int>` or :ref:`PackedInt64Array<class_PackedInt64Array>` if 64-bit values are needed. -\ **Note:** In a boolean context, a Vector4i will evaluate to ``false`` if it's equal to ``Vector4i(0, 0, 0, 0)``. Otherwise, a Vector3i will always evaluate to ``true``. +\ **Note:** In a boolean context, a Vector4i will evaluate to ``false`` if it's equal to ``Vector4i(0, 0, 0, 0)``. Otherwise, a Vector4i will always evaluate to ``true``. .. rst-class:: classref-reftable-group diff --git a/classes/class_viewport.rst b/classes/class_viewport.rst index a35cae4c5db..2a47816917a 100644 --- a/classes/class_viewport.rst +++ b/classes/class_viewport.rst @@ -99,6 +99,8 @@ Properties +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ | :ref:`bool<class_bool>` | :ref:`physics_object_picking<class_Viewport_property_physics_object_picking>` | ``false`` | +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ + | :ref:`bool<class_bool>` | :ref:`physics_object_picking_first_only<class_Viewport_property_physics_object_picking_first_only>` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ | :ref:`bool<class_bool>` | :ref:`physics_object_picking_sort<class_Viewport_property_physics_object_picking_sort>` | ``false`` | +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ | :ref:`bool<class_bool>` | :ref:`positional_shadow_atlas_16_bits<class_Viewport_property_positional_shadow_atlas_16_bits>` | ``true`` | @@ -1428,6 +1430,27 @@ If ``true``, the objects rendered by viewport become subjects of mouse picking p ---- +.. _class_Viewport_property_physics_object_picking_first_only: + +.. rst-class:: classref-property + +:ref:`bool<class_bool>` **physics_object_picking_first_only** = ``false`` + +.. rst-class:: classref-property-setget + +- void **set_physics_object_picking_first_only** **(** :ref:`bool<class_bool>` value **)** +- :ref:`bool<class_bool>` **get_physics_object_picking_first_only** **(** **)** + +If ``true``, the input_event signal will only be sent to one physics object in the mouse picking process. If you want to get the top object only, you must also enable :ref:`physics_object_picking_sort<class_Viewport_property_physics_object_picking_sort>`. + +If ``false``, an input_event signal will be sent to all physics objects in the mouse picking process. + +This applies to 2D CanvasItem object picking only. + +.. rst-class:: classref-item-separator + +---- + .. _class_Viewport_property_physics_object_picking_sort: .. rst-class:: classref-property @@ -2229,6 +2252,8 @@ Helper method which calls the ``set_text()`` method on the currently focused :re void **push_unhandled_input** **(** :ref:`InputEvent<class_InputEvent>` event, :ref:`bool<class_bool>` in_local_coords=false **)** +**Deprecated:** Use :ref:`push_input<class_Viewport_method_push_input>` instead. + Triggers the given :ref:`InputEvent<class_InputEvent>` in this **Viewport**. This can be used to pass input events between viewports, or to locally apply inputs that were sent over the network or saved to a file. If ``in_local_coords`` is ``false``, the event's position is in the embedder's coordinates and will be converted to viewport coordinates. If ``in_local_coords`` is ``true``, the event's position is in viewport coordinates. @@ -2249,8 +2274,6 @@ If none of the methods handle the event and :ref:`physics_object_picking<class_V \ **Note:** This method doesn't propagate input events to embedded :ref:`Window<class_Window>`\ s or :ref:`SubViewport<class_SubViewport>`\ s. -\ *Deprecated.* Use :ref:`push_input<class_Viewport_method_push_input>` instead. - .. rst-class:: classref-item-separator ---- diff --git a/classes/class_visibleonscreenenabler2d.rst b/classes/class_visibleonscreenenabler2d.rst index 0b7e6354225..6cd6a9932e2 100644 --- a/classes/class_visibleonscreenenabler2d.rst +++ b/classes/class_visibleonscreenenabler2d.rst @@ -115,7 +115,7 @@ Determines how the target node is enabled. Corresponds to :ref:`ProcessMode<enum - void **set_enable_node_path** **(** :ref:`NodePath<class_NodePath>` value **)** - :ref:`NodePath<class_NodePath>` **get_enable_node_path** **(** **)** -The path to the target node, relative to the **VisibleOnScreenEnabler2D**. The target node is cached; it's only assigned when setting this property (if the **VisibleOnScreenEnabler2D** is inside the scene tree) and every time the **VisibleOnScreenEnabler2D** enters the scene tree. If the path is invalid, an error will be printed in the editor and no node will be affected. +The path to the target node, relative to the **VisibleOnScreenEnabler2D**. The target node is cached; it's only assigned when setting this property (if the **VisibleOnScreenEnabler2D** is inside the scene tree) and every time the **VisibleOnScreenEnabler2D** enters the scene tree. If the path is empty, no node will be affected. If the path is invalid, an error is also generated. .. |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_visibleonscreenenabler3d.rst b/classes/class_visibleonscreenenabler3d.rst index a10caf07f74..1a56e64f3d9 100644 --- a/classes/class_visibleonscreenenabler3d.rst +++ b/classes/class_visibleonscreenenabler3d.rst @@ -115,7 +115,7 @@ Determines how the target node is enabled. Corresponds to :ref:`ProcessMode<enum - void **set_enable_node_path** **(** :ref:`NodePath<class_NodePath>` value **)** - :ref:`NodePath<class_NodePath>` **get_enable_node_path** **(** **)** -The path to the target node, relative to the **VisibleOnScreenEnabler3D**. The target node is cached; it's only assigned when setting this property (if the **VisibleOnScreenEnabler3D** is inside the scene tree) and every time the **VisibleOnScreenEnabler3D** enters the scene tree. If the path is invalid, an error will be printed in the editor and no node will be affected. +The path to the target node, relative to the **VisibleOnScreenEnabler3D**. The target node is cached; it's only assigned when setting this property (if the **VisibleOnScreenEnabler3D** is inside the scene tree) and every time the **VisibleOnScreenEnabler3D** enters the scene tree. If the path is empty, no node will be affected. If the path is invalid, an error is also generated. .. |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_window.rst b/classes/class_window.rst index 2b06b2c3f2e..0073cd5be67 100644 --- a/classes/class_window.rst +++ b/classes/class_window.rst @@ -1399,7 +1399,7 @@ If ``true``, the **Window**'s background can be transparent. This is best used w \ **Note:** Transparency support is implemented on Linux, macOS and Windows, but availability might vary depending on GPU driver, display manager, and compositor capabilities. -\ **Note:** This property has no effect if either :ref:`ProjectSettings.display/window/per_pixel_transparency/allowed<class_ProjectSettings_property_display/window/per_pixel_transparency/allowed>`, or the window's :ref:`Viewport.transparent_bg<class_Viewport_property_transparent_bg>` is set to ``false``. +\ **Note:** This property has no effect if :ref:`ProjectSettings.display/window/per_pixel_transparency/allowed<class_ProjectSettings_property_display/window/per_pixel_transparency/allowed>` is set to ``false``. .. rst-class:: classref-item-separator @@ -2094,9 +2094,9 @@ Centers a native window on the current screen and an embedded window on its embe void **move_to_foreground** **(** **)** -Moves the **Window** on top of other windows and focuses it. +**Deprecated:** Use :ref:`grab_focus<class_Window_method_grab_focus>` instead. -\ *Deprecated.* Use :ref:`grab_focus<class_Window_method_grab_focus>` instead. +Moves the **Window** on top of other windows and focuses it. .. rst-class:: classref-item-separator diff --git a/classes/class_xrinterface.rst b/classes/class_xrinterface.rst index 09cd1f9cfeb..72216b7890f 100644 --- a/classes/class_xrinterface.rst +++ b/classes/class_xrinterface.rst @@ -290,7 +290,7 @@ Player is free to move around, full positional tracking. :ref:`PlayAreaMode<enum_XRInterface_PlayAreaMode>` **XR_PLAY_AREA_STAGE** = ``4`` -Same as :ref:`XR_PLAY_AREA_ROOMSCALE<class_XRInterface_constant_XR_PLAY_AREA_ROOMSCALE>` but origin point is fixed to the center of the physical space, :ref:`XRServer.center_on_hmd<class_XRServer_method_center_on_hmd>` disabled. +Same as :ref:`XR_PLAY_AREA_ROOMSCALE<class_XRInterface_constant_XR_PLAY_AREA_ROOMSCALE>` but origin point is fixed to the center of the physical space. In this mode, system-level recentering may be disabled, requiring the use of :ref:`XRServer.center_on_hmd<class_XRServer_method_center_on_hmd>`. .. rst-class:: classref-item-separator @@ -584,6 +584,8 @@ Is ``true`` if this interface has been initialized. :ref:`bool<class_bool>` **is_passthrough_enabled** **(** **)** +**Deprecated:** Check if :ref:`environment_blend_mode<class_XRInterface_property_environment_blend_mode>` is :ref:`XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>`, instead. + Is ``true`` if passthrough is enabled. .. rst-class:: classref-item-separator @@ -596,6 +598,8 @@ Is ``true`` if passthrough is enabled. :ref:`bool<class_bool>` **is_passthrough_supported** **(** **)** +**Deprecated:** Check that :ref:`XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>` is supported using :ref:`get_supported_environment_blend_modes<class_XRInterface_method_get_supported_environment_blend_modes>`, instead. + Is ``true`` if this interface supports passthrough. .. rst-class:: classref-item-separator @@ -640,6 +644,8 @@ Sets the active environment blend mode. Sets the active play area mode, will return ``false`` if the mode can't be used with this interface. +\ **Note:** Changing this after the interface has already been initialized can be jarring for the player, so it's recommended to recenter on the HMD with :ref:`XRServer.center_on_hmd<class_XRServer_method_center_on_hmd>` (if switching to :ref:`XR_PLAY_AREA_STAGE<class_XRInterface_constant_XR_PLAY_AREA_STAGE>`) or make the switch during a scene change. + .. rst-class:: classref-item-separator ---- @@ -650,6 +656,8 @@ Sets the active play area mode, will return ``false`` if the mode can't be used :ref:`bool<class_bool>` **start_passthrough** **(** **)** +**Deprecated:** Set the :ref:`environment_blend_mode<class_XRInterface_property_environment_blend_mode>` to :ref:`XR_ENV_BLEND_MODE_ALPHA_BLEND<class_XRInterface_constant_XR_ENV_BLEND_MODE_ALPHA_BLEND>`, instead. + Starts passthrough, will return ``false`` if passthrough couldn't be started. \ **Note:** The viewport used for XR must have a transparent background, otherwise passthrough may not properly render. @@ -664,6 +672,8 @@ Starts passthrough, will return ``false`` if passthrough couldn't be started. void **stop_passthrough** **(** **)** +**Deprecated:** Set the :ref:`environment_blend_mode<class_XRInterface_property_environment_blend_mode>` to :ref:`XR_ENV_BLEND_MODE_OPAQUE<class_XRInterface_constant_XR_ENV_BLEND_MODE_OPAQUE>`, instead. + Stops passthrough. .. rst-class:: classref-item-separator diff --git a/classes/class_xrorigin3d.rst b/classes/class_xrorigin3d.rst index 31c8aaab479..c339ab1b05c 100644 --- a/classes/class_xrorigin3d.rst +++ b/classes/class_xrorigin3d.rst @@ -21,11 +21,11 @@ Description This is a special node within the AR/VR system that maps the physical location of the center of our tracking space to the virtual location within our game world. -There should be only one of these nodes in your scene and you must have one. All the XRCamera3D, XRController3D and XRAnchor3D nodes should be direct children of this node for spatial tracking to work correctly. +Multiple origin points can be added to the scene tree, but only one can used at a time. All the :ref:`XRCamera3D<class_XRCamera3D>`, :ref:`XRController3D<class_XRController3D>`, and :ref:`XRAnchor3D<class_XRAnchor3D>` nodes should be direct children of this node for spatial tracking to work correctly. It is the position of this node that you update when your character needs to move through your game world while we're not moving in the real world. Movement in the real world is always in relation to this origin point. -For example, if your character is driving a car, the XROrigin3D node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node. +For example, if your character is driving a car, the **XROrigin3D** node should be a child node of this car. Or, if you're implementing a teleport system to move your character, you should change the position of this node. .. rst-class:: classref-introduction-group @@ -68,7 +68,7 @@ Property Descriptions - void **set_current** **(** :ref:`bool<class_bool>` value **)** - :ref:`bool<class_bool>` **is_current** **(** **)** -Is this XROrigin3D node the current origin used by the :ref:`XRServer<class_XRServer>`? +If ``true``, this origin node is currently being used by the :ref:`XRServer<class_XRServer>`. Only one origin point can be used at a time. .. rst-class:: classref-item-separator @@ -85,9 +85,7 @@ Is this XROrigin3D node the current origin used by the :ref:`XRServer<class_XRSe - void **set_world_scale** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_world_scale** **(** **)** -Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter. - -\ **Note:** This method is a passthrough to the :ref:`XRServer<class_XRServer>` itself. +The scale of the game world compared to the real world. This is the same as :ref:`XRServer.world_scale<class_XRServer_property_world_scale>`. By default, most AR/VR platforms assume that 1 game unit corresponds to 1 real world meter. .. |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_xrserver.rst b/classes/class_xrserver.rst index a32116e915f..bbf3f16f114 100644 --- a/classes/class_xrserver.rst +++ b/classes/class_xrserver.rst @@ -59,6 +59,8 @@ Methods +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`center_on_hmd<class_XRServer_method_center_on_hmd>` **(** :ref:`RotationMode<enum_XRServer_RotationMode>` rotation_mode, :ref:`bool<class_bool>` keep_height **)** | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Transform3D<class_Transform3D>` | :ref:`clear_reference_frame<class_XRServer_method_clear_reference_frame>` **(** **)** |const| | + +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`XRInterface<class_XRInterface>` | :ref:`find_interface<class_XRServer_method_find_interface>` **(** :ref:`String<class_String>` name **)** |const| | +-------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform3D<class_Transform3D>` | :ref:`get_hmd_transform<class_XRServer_method_get_hmd_transform>` **(** **)** | @@ -306,7 +308,7 @@ The current origin of our tracking space in the virtual world. This is used by t - void **set_world_scale** **(** :ref:`float<class_float>` value **)** - :ref:`float<class_float>` **get_world_scale** **(** **)** -Allows you to adjust the scale to your game's units. Most AR/VR platforms assume a scale of 1 game world unit = 1 real world meter. +The scale of the game world compared to the real world. By default, most AR/VR platforms assume that 1 game unit corresponds to 1 real world meter. .. rst-class:: classref-section-separator @@ -363,6 +365,18 @@ You should call this method after a few seconds have passed. For example, when t ---- +.. _class_XRServer_method_clear_reference_frame: + +.. rst-class:: classref-method + +:ref:`Transform3D<class_Transform3D>` **clear_reference_frame** **(** **)** |const| + +Clears the reference frame that was set by previous calls to :ref:`center_on_hmd<class_XRServer_method_center_on_hmd>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_XRServer_method_find_interface: .. rst-class:: classref-method diff --git a/classes/index.rst b/classes/index.rst index 8731b60a2f8..ca3d5b3e14b 100644 --- a/classes/index.rst +++ b/classes/index.rst @@ -229,6 +229,7 @@ Nodes class_spritebase3d class_staticbody2d class_staticbody3d + class_statusindicator class_subviewport class_subviewportcontainer class_tabbar @@ -238,6 +239,7 @@ Nodes class_textureprogressbar class_texturerect class_tilemap + class_tilemaplayergroup class_timer class_touchscreenbutton class_tree