diff --git a/classes/class_@gdscript.rst b/classes/class_@gdscript.rst index 637da62db00..669f9759e83 100644 --- a/classes/class_@gdscript.rst +++ b/classes/class_@gdscript.rst @@ -899,9 +899,9 @@ Returns a single character (as a :ref:`String`) of the given Unico :: - a = char(65) # a is "A" - a = char(65 + 32) # a is "a" - a = char(8364) # a is "€" + var upper = char(65) # upper is "A" + var lower = char(65 + 32) # lower is "a" + var euro = char(8364) # euro is "€" .. rst-class:: classref-item-separator @@ -1020,7 +1020,7 @@ Returns ``true`` if ``value`` is an instance of ``type``. The ``type`` value mus Unlike the right operand of the ``is`` operator, ``type`` can be a non-constant value. The ``is`` operator supports more features (such as typed arrays). Use the operator instead of this method if you do not need dynamic type checking. -Examples: +\ **Examples:**\ :: @@ -1047,10 +1047,10 @@ Returns the length of the given Variant ``var``. The length can be the character :: - a = [1, 2, 3, 4] + var a = [1, 2, 3, 4] len(a) # Returns 4 - b = "Hello!" + var b = "Hello!" len(b) # Returns 6 .. rst-class:: classref-item-separator @@ -1166,7 +1166,7 @@ Returns an array with the given range. :ref:`range \ **Note:** Returns an empty array if no value meets the value constraint (e.g. ``range(2, 5, -1)`` or ``range(5, 5, 1)``). -Examples: +\ **Examples:**\ :: diff --git a/classes/class_@globalscope.rst b/classes/class_@globalscope.rst index 2e072c6768f..808ebcb8f38 100644 --- a/classes/class_@globalscope.rst +++ b/classes/class_@globalscope.rst @@ -3045,9 +3045,7 @@ enum **Error**: :ref:`🔗` Methods that return :ref:`Error` return :ref:`OK` when no error occurred. -Since :ref:`OK` has value 0, and all other error constants are positive integers, it can also be used in boolean checks. - -\ **Example:**\ +Since :ref:`OK` has value ``0``, and all other error constants are positive integers, it can also be used in boolean checks. :: @@ -3702,7 +3700,7 @@ If a property is :ref:`Array`, hints the editor how to show element -Examples: +\ **Examples:**\ .. tabs:: @@ -6150,15 +6148,12 @@ See also :ref:`inverse_lerp` which perfo :ref:`float` **linear_to_db**\ (\ lin\: :ref:`float`\ ) :ref:`🔗` -Converts from linear energy to decibels (audio). This can be used to implement volume sliders that behave as expected (since volume isn't linear). +Converts from linear energy to decibels (audio). Since volume is not normally linear, this can be used to implement volume sliders that behave as expected. -\ **Example:**\ +\ **Example:** Change the Master bus's volume through a :ref:`Slider` node, which ranges from ``0.0`` to ``1.0``: :: - # "Slider" refers to a node that inherits Range such as HSlider or VSlider. - # Its range must be configured to go from 0 to 1. - # Change the bus name if you'd like to change the volume of a specific bus only. AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear_to_db($Slider.value)) .. rst-class:: classref-item-separator @@ -7072,9 +7067,11 @@ Returns the hyperbolic sine of ``x``. :ref:`float` **smoothstep**\ (\ from\: :ref:`float`, to\: :ref:`float`, x\: :ref:`float`\ ) :ref:`🔗` -Returns the result of smoothly interpolating the value of ``x`` between ``0`` and ``1``, based on the where ``x`` lies with respect to the edges ``from`` and ``to``. +Returns a smooth cubic Hermite interpolation between ``0`` and ``1``. + +For positive ranges (when ``from <= to``) the return value is ``0`` when ``x <= from``, and ``1`` when ``x >= to``. If ``x`` lies between ``from`` and ``to``, the return value follows an S-shaped curve that smoothly transitions from ``0`` to ``1``. -The return value is ``0`` if ``x <= from``, and ``1`` if ``x >= to``. If ``x`` lies between ``from`` and ``to``, the returned value follows an S-shaped curve that maps ``x`` between ``0`` and ``1``. +For negative ranges (when ``from > to``) the function is mirrored and returns ``1`` when ``x <= to`` and ``0`` when ``x >= from``. This S-shaped curve is the cubic Hermite interpolator, given by ``f(y) = 3*y^2 - 2*y^3`` where ``y = (x-from) / (to-from)``. @@ -7087,7 +7084,9 @@ This S-shaped curve is the cubic Hermite interpolator, given by ``f(y) = 3*y^2 - Compared to :ref:`ease` with a curve value of ``-1.6521``, :ref:`smoothstep` returns the smoothest possible curve with no sudden changes in the derivative. If you need to perform more advanced transitions, use :ref:`Tween` or :ref:`AnimationPlayer`. -\ `Comparison between smoothstep() and ease(x, -1.6521) return values `__ +\ `Comparison between smoothstep() and ease(x, -1.6521) return values `__\ + +\ `Smoothstep() return values with positive, zero, and negative ranges `__ .. rst-class:: classref-item-separator diff --git a/classes/class_aabb.rst b/classes/class_aabb.rst index 4c35ba984c8..b9e0bb902a9 100644 --- a/classes/class_aabb.rst +++ b/classes/class_aabb.rst @@ -103,7 +103,7 @@ Methods +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_shortest_axis_size`\ (\ ) |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector3` | :ref:`get_support`\ (\ dir\: :ref:`Vector3`\ ) |const| | + | :ref:`Vector3` | :ref:`get_support`\ (\ direction\: :ref:`Vector3`\ ) |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_volume`\ (\ ) |const| | +-------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -502,7 +502,7 @@ For an example, see :ref:`get_shortest_axis .. rst-class:: classref-method -:ref:`Vector3` **get_support**\ (\ dir\: :ref:`Vector3`\ ) |const| :ref:`🔗` +:ref:`Vector3` **get_support**\ (\ direction\: :ref:`Vector3`\ ) |const| :ref:`🔗` Returns the vertex's position of this bounding box that's the farthest in the given direction. This point is commonly known as the support point in collision detection algorithms. diff --git a/classes/class_animatedsprite2d.rst b/classes/class_animatedsprite2d.rst index 8c909164789..21402452fe8 100644 --- a/classes/class_animatedsprite2d.rst +++ b/classes/class_animatedsprite2d.rst @@ -413,18 +413,15 @@ This method is a shorthand for :ref:`play` w |void| **set_frame_and_progress**\ (\ frame\: :ref:`int`, progress\: :ref:`float`\ ) :ref:`🔗` -The setter of :ref:`frame` resets the :ref:`frame_progress` to ``0.0`` implicitly, but this method avoids that. +Sets :ref:`frame` the :ref:`frame_progress` to the given values. Unlike setting :ref:`frame`, this method does not reset the :ref:`frame_progress` to ``0.0`` implicitly. -This is useful when you want to carry over the current :ref:`frame_progress` to another :ref:`frame`. - -\ **Example:**\ +\ **Example:** Change the animation while keeping the same :ref:`frame` and :ref:`frame_progress`. .. tabs:: .. code-tab:: gdscript - # Change the animation with keeping the frame index and progress. var current_frame = animated_sprite.get_frame() var current_progress = animated_sprite.get_frame_progress() animated_sprite.play("walk_another_skin") diff --git a/classes/class_animatedsprite3d.rst b/classes/class_animatedsprite3d.rst index 46feb6c7589..100e061fe44 100644 --- a/classes/class_animatedsprite3d.rst +++ b/classes/class_animatedsprite3d.rst @@ -333,18 +333,15 @@ This method is a shorthand for :ref:`play` w |void| **set_frame_and_progress**\ (\ frame\: :ref:`int`, progress\: :ref:`float`\ ) :ref:`🔗` -The setter of :ref:`frame` resets the :ref:`frame_progress` to ``0.0`` implicitly, but this method avoids that. +Sets :ref:`frame` the :ref:`frame_progress` to the given values. Unlike setting :ref:`frame`, this method does not reset the :ref:`frame_progress` to ``0.0`` implicitly. -This is useful when you want to carry over the current :ref:`frame_progress` to another :ref:`frame`. - -\ **Example:**\ +\ **Example:** Change the animation while keeping the same :ref:`frame` and :ref:`frame_progress`. .. tabs:: .. code-tab:: gdscript - # Change the animation with keeping the frame index and progress. var current_frame = animated_sprite.get_frame() var current_progress = animated_sprite.get_frame_progress() animated_sprite.play("walk_another_skin") diff --git a/classes/class_animationmixer.rst b/classes/class_animationmixer.rst index 42d15af41cb..d970b77d9b7 100644 --- a/classes/class_animationmixer.rst +++ b/classes/class_animationmixer.rst @@ -25,6 +25,13 @@ Base class for :ref:`AnimationPlayer` and :ref:`Animation After instantiating the playback information data within the extended class, the blending is processed by the **AnimationMixer**. +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- `Migrating Animations from Godot 4.0 to 4.3 `__ + .. rst-class:: classref-reftable-group Properties @@ -665,7 +672,7 @@ The most basic example is applying position to :ref:`CharacterBody3D`, you can apply the root motion position more correctly to account for the rotation of the node. +By using this in combination with :ref:`get_root_motion_rotation_accumulator`, you can apply the root motion position more correctly to account for the rotation of the node. .. tabs:: diff --git a/classes/class_animationnodeanimation.rst b/classes/class_animationnodeanimation.rst index 734212e8862..d7b220ae231 100644 --- a/classes/class_animationnodeanimation.rst +++ b/classes/class_animationnodeanimation.rst @@ -126,6 +126,8 @@ Animation to use as an output. It is one of the animations provided by :ref:`Ani If :ref:`use_custom_timeline` is ``true``, override the loop settings of the original :ref:`Animation` resource with the value. +\ **Note:** If the :ref:`Animation.loop_mode` isn't set to looping, the :ref:`Animation.track_set_interpolation_loop_wrap` option will not be respected. If you cannot get the expected behavior, consider duplicating the :ref:`Animation` resource and changing the loop settings. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_animationnodeblendspace2d.rst b/classes/class_animationnodeblendspace2d.rst index 506b47bff25..c107fffa9f8 100644 --- a/classes/class_animationnodeblendspace2d.rst +++ b/classes/class_animationnodeblendspace2d.rst @@ -21,7 +21,7 @@ Description A resource used by :ref:`AnimationNodeBlendTree`. -\ :ref:`AnimationNodeBlendSpace1D` represents a virtual 2D space on which :ref:`AnimationRootNode`\ s are placed. Outputs the linear blend of the three adjacent animations using a :ref:`Vector2` weight. Adjacent in this context means the three :ref:`AnimationRootNode`\ s making up the triangle that contains the current value. +\ **AnimationNodeBlendSpace2D** represents a virtual 2D space on which :ref:`AnimationRootNode`\ s are placed. Outputs the linear blend of the three adjacent animations using a :ref:`Vector2` weight. Adjacent in this context means the three :ref:`AnimationRootNode`\ s making up the triangle that contains the current value. You can add vertices to the blend space with :ref:`add_blend_point` and automatically triangulate it by setting :ref:`auto_triangles` to ``true``. Otherwise, use :ref:`add_triangle` and :ref:`remove_triangle` to triangulate the blend space by hand. @@ -426,7 +426,7 @@ Changes the :ref:`AnimationNode` referenced by the point at |void| **set_blend_point_position**\ (\ point\: :ref:`int`, pos\: :ref:`Vector2`\ ) :ref:`🔗` -Updates the position of the point at index ``point`` on the blend axis. +Updates the position of the point at index ``point`` in the blend space. .. |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_animationnodestatemachine.rst b/classes/class_animationnodestatemachine.rst index f567081cc0b..d5e14462efa 100644 --- a/classes/class_animationnodestatemachine.rst +++ b/classes/class_animationnodestatemachine.rst @@ -21,8 +21,6 @@ Description Contains multiple :ref:`AnimationRootNode`\ s representing animation states, connected in a graph. State transitions can be configured to happen automatically or via code, using a shortest-path algorithm. Retrieve the :ref:`AnimationNodeStateMachinePlayback` object from the :ref:`AnimationTree` node to control it programmatically. -\ **Example:**\ - .. tabs:: diff --git a/classes/class_animationnodestatemachineplayback.rst b/classes/class_animationnodestatemachineplayback.rst index 221d1f62aa3..c1490a096e9 100644 --- a/classes/class_animationnodestatemachineplayback.rst +++ b/classes/class_animationnodestatemachineplayback.rst @@ -21,8 +21,6 @@ Description Allows control of :ref:`AnimationTree` state machines created with :ref:`AnimationNodeStateMachine`. Retrieve with ``$AnimationTree.get("parameters/playback")``. -\ **Example:**\ - .. tabs:: diff --git a/classes/class_animationplayer.rst b/classes/class_animationplayer.rst index ffa39105dba..b11956e6de9 100644 --- a/classes/class_animationplayer.rst +++ b/classes/class_animationplayer.rst @@ -661,7 +661,7 @@ If ``duration`` is a negative value, the duration is set to the interval between |void| **queue**\ (\ name\: :ref:`StringName`\ ) :ref:`🔗` -Queues an animation for playback once the current one is done. +Queues an animation for playback once the current animation and all previously queued animations are done. \ **Note:** If a looped animation is currently playing, the queued animation will never play unless the looped animation is stopped somehow. diff --git a/classes/class_array.rst b/classes/class_array.rst index aba6bcbb539..ea2f2783c8c 100644 --- a/classes/class_array.rst +++ b/classes/class_array.rst @@ -17,9 +17,7 @@ A built-in data structure that holds a sequence of elements. Description ----------- -An array data structure that can contain a sequence of elements of any :ref:`Variant` type. Elements are accessed by a numerical index starting at 0. Negative indices are used to count from the back (-1 is the last element, -2 is the second to last, etc.). - -\ **Example:**\ +An array data structure that can contain a sequence of elements of any :ref:`Variant` type. Elements are accessed by a numerical index starting at ``0``. Negative indices are used to count from the back (``-1`` is the last element, ``-2`` is the second to last, etc.). .. tabs:: @@ -522,7 +520,7 @@ Appends another ``array`` at the end of this array. var numbers = [1, 2, 3] var extra = [4, 5, 6] numbers.append_array(extra) - print(nums) # Prints [1, 2, 3, 4, 5, 6] + print(numbers) # Prints [1, 2, 3, 4, 5, 6] .. rst-class:: classref-item-separator @@ -1256,7 +1254,7 @@ If ``deep`` is ``true``, all nested **Array** and :ref:`Dictionary` -Sorts the array in ascending order. The final order is dependent on the "less than" (``>``) comparison between elements. +Sorts the array in ascending order. The final order is dependent on the "less than" (``<``) comparison between elements. .. tabs:: @@ -1304,7 +1302,7 @@ Sorts the array using a custom :ref:`Callable`. print(my_items) # Prints [["Rice", 4], ["Tomato", 5], ["Apple", 9]] # Sort descending, using a lambda function. - my_items.sort_custom(func(a, b): return a[0] > b[0]) + my_items.sort_custom(func(a, b): return a[1] > b[1]) print(my_items) # Prints [["Apple", 9], ["Tomato", 5], ["Rice", 4]] It may also be necessary to use this method to sort strings by natural order, with :ref:`String.naturalnocasecmp_to`, as in the following example: diff --git a/classes/class_arraymesh.rst b/classes/class_arraymesh.rst index 629392dde74..a1769807e4f 100644 --- a/classes/class_arraymesh.rst +++ b/classes/class_arraymesh.rst @@ -197,7 +197,9 @@ Overrides the :ref:`AABB` with one defined by user for use with frus - |void| **set_shadow_mesh**\ (\ value\: :ref:`ArrayMesh`\ ) - :ref:`ArrayMesh` **get_shadow_mesh**\ (\ ) -An optional mesh which is used for rendering shadows and can be used for the depth prepass. Can be used to increase performance of shadow rendering by using a mesh that only contains vertex position data (without normals, UVs, colors, etc.). +An optional mesh which can be used for rendering shadows and the depth prepass. Can be used to increase performance by supplying a mesh with fused vertices and only vertex position data (without normals, UVs, colors, etc.). + +\ **Note:** This mesh must have exactly the same vertex positions as the source mesh (including the source mesh's LODs, if present). If vertex positions differ, then the mesh will not draw correctly. .. rst-class:: classref-section-separator diff --git a/classes/class_astar2d.rst b/classes/class_astar2d.rst index 91eef236561..53cc0ac6835 100644 --- a/classes/class_astar2d.rst +++ b/classes/class_astar2d.rst @@ -34,7 +34,7 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_compute_cost`\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| | + | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_point`\ (\ id\: :ref:`int`, position\: :ref:`Vector2`, weight_scale\: :ref:`float` = 1.0\ ) | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -110,7 +110,7 @@ Note that this function is hidden in the default **AStar2D** class. .. rst-class:: classref-method -:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` +:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` Called when estimating the cost between a point and the path's ending point. @@ -319,7 +319,7 @@ If there is no valid path to the target, and ``allow_partial_path`` is ``true``, astar.ConnectPoints(2, 3, false); astar.ConnectPoints(4, 3, false); astar.ConnectPoints(1, 4, false); - int[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3] + long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3] @@ -376,7 +376,7 @@ Returns an array with the IDs of the points that form the connection with the gi astar.ConnectPoints(1, 2, true); astar.ConnectPoints(1, 3, true); - int[] neighbors = astar.GetPointConnections(1); // Returns [2, 3] + long[] neighbors = astar.GetPointConnections(1); // Returns [2, 3] diff --git a/classes/class_astar3d.rst b/classes/class_astar3d.rst index 68a00d86253..ed2deb4c20d 100644 --- a/classes/class_astar3d.rst +++ b/classes/class_astar3d.rst @@ -71,7 +71,7 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_compute_cost`\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| | + | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_point`\ (\ id\: :ref:`int`, position\: :ref:`Vector3`, weight_scale\: :ref:`float` = 1.0\ ) | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -147,7 +147,7 @@ Note that this function is hidden in the default **AStar3D** class. .. rst-class:: classref-method -:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`int`, to_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` +:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`int`, end_id\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` Called when estimating the cost between a point and the path's ending point. @@ -355,7 +355,7 @@ If there is no valid path to the target, and ``allow_partial_path`` is ``true``, astar.ConnectPoints(2, 3, false); astar.ConnectPoints(4, 3, false); astar.ConnectPoints(1, 4, false); - int[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3] + long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3] @@ -411,7 +411,7 @@ Returns an array with the IDs of the points that form the connection with the gi astar.ConnectPoints(1, 2, true); astar.ConnectPoints(1, 3, true); - int[] neighbors = astar.GetPointConnections(1); // Returns [2, 3] + long[] neighbors = astar.GetPointConnections(1); // Returns [2, 3] diff --git a/classes/class_astargrid2d.rst b/classes/class_astargrid2d.rst index 770356dc125..b8835edaade 100644 --- a/classes/class_astargrid2d.rst +++ b/classes/class_astargrid2d.rst @@ -84,39 +84,41 @@ Methods .. table:: :widths: auto - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_compute_cost`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`\ ) |virtual| |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`\ ) |virtual| |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`clear`\ (\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`fill_solid_region`\ (\ region\: :ref:`Rect2i`, solid\: :ref:`bool` = true\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`fill_weight_scale_region`\ (\ region\: :ref:`Rect2i`, weight_scale\: :ref:`float`\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Array`\[:ref:`Vector2i`\] | :ref:`get_id_path`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedVector2Array` | :ref:`get_point_path`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Vector2` | :ref:`get_point_position`\ (\ id\: :ref:`Vector2i`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`get_point_weight_scale`\ (\ id\: :ref:`Vector2i`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_dirty`\ (\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_in_bounds`\ (\ x\: :ref:`int`, y\: :ref:`int`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_in_boundsv`\ (\ id\: :ref:`Vector2i`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_point_solid`\ (\ id\: :ref:`Vector2i`\ ) |const| | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_point_solid`\ (\ id\: :ref:`Vector2i`, solid\: :ref:`bool` = true\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_point_weight_scale`\ (\ id\: :ref:`Vector2i`, weight_scale\: :ref:`float`\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`update`\ (\ ) | - +--------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`_compute_cost`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`\ ) |virtual| |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`_estimate_cost`\ (\ from_id\: :ref:`Vector2i`, end_id\: :ref:`Vector2i`\ ) |virtual| |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear`\ (\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`fill_solid_region`\ (\ region\: :ref:`Rect2i`, solid\: :ref:`bool` = true\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`fill_weight_scale_region`\ (\ region\: :ref:`Rect2i`, weight_scale\: :ref:`float`\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array`\[:ref:`Vector2i`\] | :ref:`get_id_path`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`get_point_data_in_region`\ (\ region\: :ref:`Rect2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedVector2Array` | :ref:`get_point_path`\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`, allow_partial_path\: :ref:`bool` = false\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2` | :ref:`get_point_position`\ (\ id\: :ref:`Vector2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_point_weight_scale`\ (\ id\: :ref:`Vector2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_dirty`\ (\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_in_bounds`\ (\ x\: :ref:`int`, y\: :ref:`int`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_in_boundsv`\ (\ id\: :ref:`Vector2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_point_solid`\ (\ id\: :ref:`Vector2i`\ ) |const| | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_point_solid`\ (\ id\: :ref:`Vector2i`, solid\: :ref:`bool` = true\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_point_weight_scale`\ (\ id\: :ref:`Vector2i`, weight_scale\: :ref:`float`\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`update`\ (\ ) | + +------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -483,7 +485,7 @@ Note that this function is hidden in the default **AStarGrid2D** class. .. rst-class:: classref-method -:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`Vector2i`, to_id\: :ref:`Vector2i`\ ) |virtual| |const| :ref:`🔗` +:ref:`float` **_estimate_cost**\ (\ from_id\: :ref:`Vector2i`, end_id\: :ref:`Vector2i`\ ) |virtual| |const| :ref:`🔗` Called when estimating the cost between a point and the path's ending point. @@ -547,6 +549,18 @@ If there is no valid path to the target, and ``allow_partial_path`` is ``true``, ---- +.. _class_AStarGrid2D_method_get_point_data_in_region: + +.. rst-class:: classref-method + +:ref:`Array`\[:ref:`Dictionary`\] **get_point_data_in_region**\ (\ region\: :ref:`Rect2i`\ ) |const| :ref:`🔗` + +Returns an array of dictionaries with point data (``id``: :ref:`Vector2i`, ``position``: :ref:`Vector2`, ``solid``: :ref:`bool`, ``weight_scale``: :ref:`float`) within a ``region``. + +.. rst-class:: classref-item-separator + +---- + .. _class_AStarGrid2D_method_get_point_path: .. rst-class:: classref-method diff --git a/classes/class_audiostreamplayer.rst b/classes/class_audiostreamplayer.rst index 9f709e104b4..5e8de34ce13 100644 --- a/classes/class_audiostreamplayer.rst +++ b/classes/class_audiostreamplayer.rst @@ -24,7 +24,7 @@ Description The **AudioStreamPlayer** node plays an audio stream non-positionally. It is ideal for user interfaces, menus, or background music. -To use this node, :ref:`stream` needs to be set to a valid :ref:`AudioStream` resource. Playing more than one sound at the time is also supported, see :ref:`max_polyphony`. +To use this node, :ref:`stream` needs to be set to a valid :ref:`AudioStream` resource. Playing more than one sound at the same time is also supported, see :ref:`max_polyphony`. If you need to play audio at a specific position, use :ref:`AudioStreamPlayer2D` or :ref:`AudioStreamPlayer3D` instead. @@ -276,6 +276,7 @@ The playback type of the stream player. If set other than to the default value, .. rst-class:: classref-property-setget +- |void| **set_playing**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_playing**\ (\ ) If ``true``, this node is playing sounds. Setting this property has the same effect as :ref:`play` and :ref:`stop`. diff --git a/classes/class_audiostreamplayer2d.rst b/classes/class_audiostreamplayer2d.rst index ac52ce133d0..d21a37e4428 100644 --- a/classes/class_audiostreamplayer2d.rst +++ b/classes/class_audiostreamplayer2d.rst @@ -286,6 +286,7 @@ The playback type of the stream player. If set other than to the default value, .. rst-class:: classref-property-setget +- |void| **set_playing**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_playing**\ (\ ) If ``true``, audio is playing or is queued to be played (see :ref:`play`). diff --git a/classes/class_audiostreamplayer3d.rst b/classes/class_audiostreamplayer3d.rst index 1160b7cd272..9ac194f2a98 100644 --- a/classes/class_audiostreamplayer3d.rst +++ b/classes/class_audiostreamplayer3d.rst @@ -502,6 +502,7 @@ The playback type of the stream player. If set other than to the default value, .. rst-class:: classref-property-setget +- |void| **set_playing**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_playing**\ (\ ) If ``true``, audio is playing or is queued to be played (see :ref:`play`). diff --git a/classes/class_audiostreamsynchronized.rst b/classes/class_audiostreamsynchronized.rst index a83a29f5c6f..914abe5cb97 100644 --- a/classes/class_audiostreamsynchronized.rst +++ b/classes/class_audiostreamsynchronized.rst @@ -66,7 +66,7 @@ Constants **MAX_STREAMS** = ``32`` :ref:`🔗` -Maximum amount of streams that can be synchrohized. +Maximum amount of streams that can be synchronized. .. rst-class:: classref-section-separator diff --git a/classes/class_audiostreamwav.rst b/classes/class_audiostreamwav.rst index fb21bcccfb9..e61b8c68c31 100644 --- a/classes/class_audiostreamwav.rst +++ b/classes/class_audiostreamwav.rst @@ -87,7 +87,7 @@ enum **Format**: :ref:`🔗` :ref:`Format` **FORMAT_8_BITS** = ``0`` -8-bit audio codec. +8-bit PCM audio codec. .. _class_AudioStreamWAV_constant_FORMAT_16_BITS: @@ -95,7 +95,7 @@ enum **Format**: :ref:`🔗` :ref:`Format` **FORMAT_16_BITS** = ``1`` -16-bit audio codec. +16-bit PCM audio codec. .. _class_AudioStreamWAV_constant_FORMAT_IMA_ADPCM: @@ -103,7 +103,7 @@ enum **Format**: :ref:`🔗` :ref:`Format` **FORMAT_IMA_ADPCM** = ``2`` -Audio is compressed using IMA ADPCM. +Audio is lossily compressed as IMA ADPCM. .. _class_AudioStreamWAV_constant_FORMAT_QOA: @@ -111,7 +111,7 @@ Audio is compressed using IMA ADPCM. :ref:`Format` **FORMAT_QOA** = ``3`` -Audio is compressed as QOA (`Quite OK Audio `__). +Audio is lossily compressed as `Quite OK Audio `__. .. rst-class:: classref-item-separator @@ -177,7 +177,9 @@ Property Descriptions Contains the audio data in bytes. -\ **Note:** This property expects signed PCM8 data. To convert unsigned PCM8 to signed PCM8, subtract 128 from each byte. +\ **Note:** If :ref:`format` is set to :ref:`FORMAT_8_BITS`, this property expects signed 8-bit PCM data. To convert from unsigned 8-bit PCM, subtract 128 from each byte. + +\ **Note:** If :ref:`format` is set to :ref:`FORMAT_QOA`, this property expects data from a full QOA file. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedByteArray` for more details. @@ -213,7 +215,7 @@ Audio format. See :ref:`Format` constants for values - |void| **set_loop_begin**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_loop_begin**\ (\ ) -The loop start point (in number of samples, relative to the beginning of the stream). This information will be imported automatically from the WAV file if present. +The loop start point (in number of samples, relative to the beginning of the stream). .. rst-class:: classref-item-separator @@ -230,7 +232,7 @@ The loop start point (in number of samples, relative to the beginning of the str - |void| **set_loop_end**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_loop_end**\ (\ ) -The loop end point (in number of samples, relative to the beginning of the stream). This information will be imported automatically from the WAV file if present. +The loop end point (in number of samples, relative to the beginning of the stream). .. rst-class:: classref-item-separator @@ -247,7 +249,7 @@ The loop end point (in number of samples, relative to the beginning of the strea - |void| **set_loop_mode**\ (\ value\: :ref:`LoopMode`\ ) - :ref:`LoopMode` **get_loop_mode**\ (\ ) -The loop mode. This information will be imported automatically from the WAV file if present. See :ref:`LoopMode` constants for values. +The loop mode. See :ref:`LoopMode` constants for values. .. rst-class:: classref-item-separator @@ -302,7 +304,7 @@ Method Descriptions :ref:`Error` **save_to_wav**\ (\ path\: :ref:`String`\ ) :ref:`🔗` -Saves the AudioStreamWAV as a WAV file to ``path``. Samples with IMA ADPCM or QOA formats can't be saved. +Saves the AudioStreamWAV as a WAV file to ``path``. Samples with IMA ADPCM or Quite OK Audio formats can't be saved. \ **Note:** A ``.wav`` extension is automatically appended to ``path`` if it is missing. diff --git a/classes/class_boneattachment3d.rst b/classes/class_boneattachment3d.rst index 5b5475a34a4..94b63075d7e 100644 --- a/classes/class_boneattachment3d.rst +++ b/classes/class_boneattachment3d.rst @@ -48,17 +48,19 @@ Methods .. table:: :widths: auto - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`NodePath` | :ref:`get_external_skeleton`\ (\ ) |const| | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`get_use_external_skeleton`\ (\ ) |const| | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`on_skeleton_update`\ (\ ) | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_external_skeleton`\ (\ external_skeleton\: :ref:`NodePath`\ ) | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_use_external_skeleton`\ (\ use_external_skeleton\: :ref:`bool`\ ) | - +---------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`NodePath` | :ref:`get_external_skeleton`\ (\ ) |const| | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Skeleton3D` | :ref:`get_skeleton`\ (\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_use_external_skeleton`\ (\ ) |const| | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`on_skeleton_update`\ (\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_external_skeleton`\ (\ external_skeleton\: :ref:`NodePath`\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_use_external_skeleton`\ (\ use_external_skeleton\: :ref:`bool`\ ) | + +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -139,6 +141,18 @@ Returns the :ref:`NodePath` to the external :ref:`Skeleton3D` **get_skeleton**\ (\ ) :ref:`🔗` + +Get parent or external :ref:`Skeleton3D` node if found. + +.. rst-class:: classref-item-separator + +---- + .. _class_BoneAttachment3D_method_get_use_external_skeleton: .. rst-class:: classref-method diff --git a/classes/class_callable.rst b/classes/class_callable.rst index 691f4482ef9..e5de02ea433 100644 --- a/classes/class_callable.rst +++ b/classes/class_callable.rst @@ -19,8 +19,6 @@ Description **Callable** is a built-in :ref:`Variant` type that represents a function. It can either be a method within an :ref:`Object` instance, or a custom callable used for different purposes (see :ref:`is_custom`). Like all :ref:`Variant` types, it can be stored in variables and passed to other functions. It is most commonly used for signal callbacks. -\ **Example:**\ - .. tabs:: @@ -431,7 +429,9 @@ Returns ``true`` if this **Callable** is a custom callable. Custom callables are :ref:`bool` **is_null**\ (\ ) |const| :ref:`🔗` -Returns ``true`` if this **Callable** has no target to call the method on. +Returns ``true`` if this **Callable** has no target to call the method on. Equivalent to ``callable == Callable()``. + +\ **Note:** This is *not* the same as ``not is_valid()`` and using ``not is_null()`` will *not* guarantee that this callable can be called. Use :ref:`is_valid` instead. .. rst-class:: classref-item-separator diff --git a/classes/class_callbacktweener.rst b/classes/class_callbacktweener.rst index b78d9c67348..2256e8ab3ae 100644 --- a/classes/class_callbacktweener.rst +++ b/classes/class_callbacktweener.rst @@ -54,12 +54,12 @@ Method Descriptions Makes the callback call delayed by given time in seconds. -\ **Example:**\ +\ **Example:** Call :ref:`Node.queue_free` after 2 seconds. :: var tween = get_tree().create_tween() - tween.tween_callback(queue_free).set_delay(2) #this will call queue_free() after 2 seconds + tween.tween_callback(queue_free).set_delay(2) .. |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_classdb.rst b/classes/class_classdb.rst index 9c5b481cd22..ff53168dc5a 100644 --- a/classes/class_classdb.rst +++ b/classes/class_classdb.rst @@ -32,6 +32,8 @@ Methods +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`can_instantiate`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`class_call_static_method`\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| | + +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`class_exists`\ (\ class\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`class_get_enum_constants`\ (\ class\: :ref:`StringName`, enum\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | @@ -52,8 +54,12 @@ Methods +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`class_get_property_default_value`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`class_get_property_getter`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) | + +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`class_get_property_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`StringName` | :ref:`class_get_property_setter`\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) | + +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`class_get_signal`\ (\ class\: :ref:`StringName`, signal\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`class_get_signal_list`\ (\ class\: :ref:`StringName`, no_inheritance\: :ref:`bool` = false\ ) |const| | @@ -104,6 +110,18 @@ Returns ``true`` if objects can be instantiated from the specified ``class``, ot ---- +.. _class_ClassDB_method_class_call_static_method: + +.. rst-class:: classref-method + +:ref:`Variant` **class_call_static_method**\ (\ class\: :ref:`StringName`, method\: :ref:`StringName`, ...\ ) |vararg| :ref:`🔗` + +Calls a static method on a class. + +.. rst-class:: classref-item-separator + +---- + .. _class_ClassDB_method_class_exists: .. rst-class:: classref-method @@ -226,6 +244,18 @@ Returns the default value of ``property`` of ``class`` or its ancestor classes. ---- +.. _class_ClassDB_method_class_get_property_getter: + +.. rst-class:: classref-method + +:ref:`StringName` **class_get_property_getter**\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) :ref:`🔗` + +Returns the getter method name of ``property`` of ``class``. + +.. rst-class:: classref-item-separator + +---- + .. _class_ClassDB_method_class_get_property_list: .. rst-class:: classref-method @@ -238,6 +268,18 @@ Returns an array with all the properties of ``class`` or its ancestry if ``no_in ---- +.. _class_ClassDB_method_class_get_property_setter: + +.. rst-class:: classref-method + +:ref:`StringName` **class_get_property_setter**\ (\ class\: :ref:`StringName`, property\: :ref:`StringName`\ ) :ref:`🔗` + +Returns the setter method name of ``property`` of ``class``. + +.. rst-class:: classref-item-separator + +---- + .. _class_ClassDB_method_class_get_signal: .. rst-class:: classref-method diff --git a/classes/class_codeedit.rst b/classes/class_codeedit.rst index 5cfb6a2dc7a..53aea592f48 100644 --- a/classes/class_codeedit.rst +++ b/classes/class_codeedit.rst @@ -280,6 +280,8 @@ Theme Properties +-----------------------------------+----------------------------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Texture2D` | :ref:`can_fold_code_region` | | +-----------------------------------+----------------------------------------------------------------------------------------------------+-----------------------------------+ + | :ref:`Texture2D` | :ref:`completion_color_bg` | | + +-----------------------------------+----------------------------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Texture2D` | :ref:`executing_line` | | +-----------------------------------+----------------------------------------------------------------------------------------------------+-----------------------------------+ | :ref:`Texture2D` | :ref:`folded` | | @@ -1978,6 +1980,18 @@ Sets a custom :ref:`Texture2D` to draw in the line folding gutt ---- +.. _class_CodeEdit_theme_icon_completion_color_bg: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **completion_color_bg** :ref:`🔗` + +Background panel for the color preview box in autocompletion (visible when the color is translucent). + +.. rst-class:: classref-item-separator + +---- + .. _class_CodeEdit_theme_icon_executing_line: .. rst-class:: classref-themeproperty diff --git a/classes/class_color.rst b/classes/class_color.rst index f91df07a16d..08a71e5faf2 100644 --- a/classes/class_color.rst +++ b/classes/class_color.rst @@ -1771,6 +1771,8 @@ Decodes a **Color** from an RGBE9995 format integer. See :ref:`Image.FORMAT_RGBE Creates a **Color** from the given string, which can be either an HTML color code or a named color (case-insensitive). Returns ``default`` if the color cannot be inferred from the string. +If you want to create a color from String in a constant expression, use the equivalent constructor instead (i.e. ``Color("color string")``). + .. rst-class:: classref-item-separator ---- @@ -1816,6 +1818,8 @@ In GDScript and C#, the :ref:`int` is best visualized with hexadecima +If you want to use hex notation in a constant expression, use the equivalent constructor instead (i.e. ``Color(0xRRGGBBAA)``). + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_compositor.rst b/classes/class_compositor.rst index ec0e40c519f..31533f286bf 100644 --- a/classes/class_compositor.rst +++ b/classes/class_compositor.rst @@ -23,6 +23,13 @@ Description The compositor resource stores attributes used to customize how a :ref:`Viewport` is rendered. +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`The Compositor <../tutorials/rendering/compositor>` + .. rst-class:: classref-reftable-group Properties diff --git a/classes/class_compositoreffect.rst b/classes/class_compositoreffect.rst index fc44b84775d..a72da698208 100644 --- a/classes/class_compositoreffect.rst +++ b/classes/class_compositoreffect.rst @@ -21,7 +21,14 @@ This resource allows for creating a custom rendering effect. Description ----------- -This resource defines a custom rendering effect that can be applied to :ref:`Viewport`\ s through the viewports' :ref:`Environment`. You can implement a callback that is called during rendering at a given stage of the rendering pipeline and allows you to insert additional passes. Note that this callback happens on the rendering thread. +This resource defines a custom rendering effect that can be applied to :ref:`Viewport`\ s through the viewports' :ref:`Environment`. You can implement a callback that is called during rendering at a given stage of the rendering pipeline and allows you to insert additional passes. Note that this callback happens on the rendering thread. CompositorEffect is an abstract base class and must be extended to implement specific rendering logic. + +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- :doc:`The Compositor <../tutorials/rendering/compositor>` .. rst-class:: classref-reftable-group diff --git a/classes/class_control.rst b/classes/class_control.rst index c6177e1a018..a6cc2a484ed 100644 --- a/classes/class_control.rst +++ b/classes/class_control.rst @@ -894,7 +894,7 @@ enum **MouseFilter**: :ref:`🔗` :ref:`MouseFilter` **MOUSE_FILTER_STOP** = ``0`` -The control will receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input`. And the control will receive the :ref:`mouse_entered` and :ref:`mouse_exited` signals. These events are automatically marked as handled, and they will not propagate further to other controls. This also results in blocking signals in other controls. +The control will receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input`. The control will also receive the :ref:`mouse_entered` and :ref:`mouse_exited` signals. These events are automatically marked as handled, and they will not propagate further to other controls. This also results in blocking signals in other controls. .. _class_Control_constant_MOUSE_FILTER_PASS: @@ -902,7 +902,9 @@ The control will receive mouse movement input events and mouse button input even :ref:`MouseFilter` **MOUSE_FILTER_PASS** = ``1`` -The control will receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input`. And the control will receive the :ref:`mouse_entered` and :ref:`mouse_exited` signals. If this control does not handle the event, the parent control (if any) will be considered, and so on until there is no more parent control to potentially handle it. This also allows signals to fire in other controls. If no control handled it, the event will be passed to :ref:`Node._shortcut_input` for further processing. +The control will receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input`. The control will also receive the :ref:`mouse_entered` and :ref:`mouse_exited` signals. + +If this control does not handle the event, the event will propagate up to its parent control if it has one. The event is bubbled up the node hierarchy until it reaches a non-:ref:`CanvasItem`, a control with :ref:`MOUSE_FILTER_STOP`, or a :ref:`CanvasItem` with :ref:`CanvasItem.top_level` enabled. This will allow signals to fire in all controls it reaches. If no control handled it, the event will be passed to :ref:`Node._shortcut_input` for further processing. .. _class_Control_constant_MOUSE_FILTER_IGNORE: @@ -910,7 +912,7 @@ The control will receive mouse movement input events and mouse button input even :ref:`MouseFilter` **MOUSE_FILTER_IGNORE** = ``2`` -The control will not receive mouse movement input events and mouse button input events if clicked on through :ref:`_gui_input`. The control will also not receive the :ref:`mouse_entered` nor :ref:`mouse_exited` signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically. +The control will not receive any mouse movement input events nor mouse button input events through :ref:`_gui_input`. The control will also not receive the :ref:`mouse_entered` nor :ref:`mouse_exited` signals. This will not block other controls from receiving these events or firing the signals. Ignored events will not be handled automatically. If a child has :ref:`MOUSE_FILTER_PASS` and an event was passed to this control, the event will further propagate up to the control's parent. \ **Note:** If the control has received :ref:`mouse_entered` but not :ref:`mouse_exited`, changing the :ref:`mouse_filter` to :ref:`MOUSE_FILTER_IGNORE` will cause :ref:`mouse_exited` to be emitted. diff --git a/classes/class_csgshape3d.rst b/classes/class_csgshape3d.rst index 315f161d6af..60e72560517 100644 --- a/classes/class_csgshape3d.rst +++ b/classes/class_csgshape3d.rst @@ -23,7 +23,15 @@ Description This is the CSG base class that provides CSG operation support to the various CSG nodes in Godot. -\ **Note:** CSG nodes are intended to be used for level prototyping. Creating CSG nodes has a significant CPU cost compared to creating a :ref:`MeshInstance3D` with a :ref:`PrimitiveMesh`. Moving a CSG node within another CSG node also has a significant CPU cost, so it should be avoided during gameplay. +\ **Performance:** CSG nodes are only intended for prototyping as they have a significant CPU performance cost. + +Consider baking final CSG operation results into static geometry that replaces the CSG nodes. + +Individual CSG root node results can be baked to nodes with static resources with the editor menu that appears when a CSG root node is selected. + +Individual CSG root nodes can also be baked to static resources with scripts by calling :ref:`bake_static_mesh` for the visual mesh or :ref:`bake_collision_shape` for the physics collision. + +Entire scenes of CSG nodes can be baked to static geometry and exported with the editor gltf scene exporter. .. rst-class:: classref-introduction-group @@ -64,19 +72,23 @@ Methods .. table:: :widths: auto - +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`get_collision_layer_value`\ (\ layer_number\: :ref:`int`\ ) |const| | - +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`get_collision_mask_value`\ (\ layer_number\: :ref:`int`\ ) |const| | - +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Array` | :ref:`get_meshes`\ (\ ) |const| | - +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_root_shape`\ (\ ) |const| | - +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_collision_layer_value`\ (\ layer_number\: :ref:`int`, value\: :ref:`bool`\ ) | - +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_collision_mask_value`\ (\ layer_number\: :ref:`int`, value\: :ref:`bool`\ ) | - +---------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ConcavePolygonShape3D` | :ref:`bake_collision_shape`\ (\ ) | + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ArrayMesh` | :ref:`bake_static_mesh`\ (\ ) | + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_collision_layer_value`\ (\ layer_number\: :ref:`int`\ ) |const| | + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_collision_mask_value`\ (\ layer_number\: :ref:`int`\ ) |const| | + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array` | :ref:`get_meshes`\ (\ ) |const| | + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_root_shape`\ (\ ) |const| | + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_collision_layer_value`\ (\ layer_number\: :ref:`int`, value\: :ref:`bool`\ ) | + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_collision_mask_value`\ (\ layer_number\: :ref:`int`, value\: :ref:`bool`\ ) | + +-----------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -254,6 +266,32 @@ Adds a collision shape to the physics engine for our CSG shape. This will always Method Descriptions ------------------- +.. _class_CSGShape3D_method_bake_collision_shape: + +.. rst-class:: classref-method + +:ref:`ConcavePolygonShape3D` **bake_collision_shape**\ (\ ) :ref:`🔗` + +Returns a baked physics :ref:`ConcavePolygonShape3D` of this node's CSG operation result. Returns an empty shape if the node is not a CSG root node or has no valid geometry. + +\ **Performance:** If the CSG operation results in a very detailed geometry with many faces physics performance will be very slow. Concave shapes should in general only be used for static level geometry and not with dynamic objects that are moving. + +.. rst-class:: classref-item-separator + +---- + +.. _class_CSGShape3D_method_bake_static_mesh: + +.. rst-class:: classref-method + +:ref:`ArrayMesh` **bake_static_mesh**\ (\ ) :ref:`🔗` + +Returns a baked static :ref:`ArrayMesh` of this node's CSG operation result. Materials from involved CSG nodes are added as extra mesh surfaces. Returns an empty mesh if the node is not a CSG root node or has no valid geometry. + +.. rst-class:: classref-item-separator + +---- + .. _class_CSGShape3D_method_get_collision_layer_value: .. rst-class:: classref-method diff --git a/classes/class_curve2d.rst b/classes/class_curve2d.rst index fda17462067..599fb5a8443 100644 --- a/classes/class_curve2d.rst +++ b/classes/class_curve2d.rst @@ -265,7 +265,7 @@ Deletes the point ``idx`` from the curve. Sends an error to the console if ``idx :ref:`Vector2` **sample**\ (\ idx\: :ref:`int`, t\: :ref:`float`\ ) |const| :ref:`🔗` -Returns the position between the vertex ``idx`` and the vertex ``idx + 1``, where ``t`` controls if the point is the first vertex (``t = 0.0``), the last vertex (``t = 1.0``), or in between. Values of ``t`` outside the range (``0.0 >= t <=1``) give strange, but predictable results. +Returns the position between the vertex ``idx`` and the vertex ``idx + 1``, where ``t`` controls if the point is the first vertex (``t = 0.0``), the last vertex (``t = 1.0``), or in between. Values of ``t`` outside the range (``0.0 <= t <= 1.0``) give strange, but predictable results. If ``idx`` is out of bounds it is truncated to the first or last vertex, and ``t`` is ignored. If the curve has no points, the function sends an error to the console, and returns ``(0, 0)``. diff --git a/classes/class_dictionary.rst b/classes/class_dictionary.rst index 12dbf7269bf..2b3e7ac3edc 100644 --- a/classes/class_dictionary.rst +++ b/classes/class_dictionary.rst @@ -615,8 +615,6 @@ This method is useful for quickly making dictionaries with default values: # Prints { "fruit": "apple", "vegetable": "potato", "dressing": "vinegar" } print(extra.merged(base, true)) -See also :ref:`merge`. - .. rst-class:: classref-item-separator ---- diff --git a/classes/class_displayserver.rst b/classes/class_displayserver.rst index 86ce5173f49..18a5e165dbb 100644 --- a/classes/class_displayserver.rst +++ b/classes/class_displayserver.rst @@ -4397,7 +4397,7 @@ Sets the title of the given window to ``title``. |void| **window_set_transient**\ (\ window_id\: :ref:`int`, parent_window_id\: :ref:`int`\ ) :ref:`🔗` -Sets window transient parent. Transient window is will be destroyed with its transient parent and will return focus to their parent when closed. The transient window is displayed on top of a non-exclusive full-screen parent window. Transient windows can't enter full-screen mode. +Sets window transient parent. Transient window will be destroyed with its transient parent and will return focus to their parent when closed. The transient window is displayed on top of a non-exclusive full-screen parent window. Transient windows can't enter full-screen mode. \ **Note:** It's recommended to change this value using :ref:`Window.transient` instead. diff --git a/classes/class_editorexportplatform.rst b/classes/class_editorexportplatform.rst index a72b7d160f8..952a9f615db 100644 --- a/classes/class_editorexportplatform.rst +++ b/classes/class_editorexportplatform.rst @@ -12,7 +12,7 @@ EditorExportPlatform **Inherits:** :ref:`RefCounted` **<** :ref:`Object` -**Inherited By:** :ref:`EditorExportPlatformAndroid`, :ref:`EditorExportPlatformIOS`, :ref:`EditorExportPlatformMacOS`, :ref:`EditorExportPlatformPC`, :ref:`EditorExportPlatformWeb` +**Inherited By:** :ref:`EditorExportPlatformAndroid`, :ref:`EditorExportPlatformExtension`, :ref:`EditorExportPlatformIOS`, :ref:`EditorExportPlatformMacOS`, :ref:`EditorExportPlatformPC`, :ref:`EditorExportPlatformWeb` Identifies a supported export platform, and internally provides the functionality of exporting to that platform. @@ -40,9 +40,148 @@ Methods .. table:: :widths: auto - +-----------------------------+---------------------------------------------------------------------------------+ - | :ref:`String` | :ref:`get_os_name`\ (\ ) |const| | - +-----------------------------+---------------------------------------------------------------------------------+ + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_message`\ (\ type\: :ref:`ExportMessageType`, category\: :ref:`String`, message\: :ref:`String`\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear_messages`\ (\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorExportPreset` | :ref:`create_preset`\ (\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_project`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_project_files`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, save_cb\: :ref:`Callable`, shared_cb\: :ref:`Callable` = Callable()\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`export_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`find_export_template`\ (\ template_file_name\: :ref:`String`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`gen_export_flags`\ (\ flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array` | :ref:`get_current_presets`\ (\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_forced_export_files`\ (\ ) |static| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_message_category`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_message_count`\ (\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_message_text`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ExportMessageType` | :ref:`get_message_type`\ (\ index\: :ref:`int`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_os_name`\ (\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ExportMessageType` | :ref:`get_worst_message_type`\ (\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`save_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, embed\: :ref:`bool` = false\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`save_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`\ ) | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`ssh_push_to_remote`\ (\ host\: :ref:`String`, port\: :ref:`String`, scp_args\: :ref:`PackedStringArray`, src_file\: :ref:`String`, dst_file\: :ref:`String`\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`ssh_run_on_remote`\ (\ host\: :ref:`String`, port\: :ref:`String`, ssh_arg\: :ref:`PackedStringArray`, cmd_args\: :ref:`String`, output\: :ref:`Array` = [], port_fwd\: :ref:`int` = -1\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`ssh_run_on_remote_no_wait`\ (\ host\: :ref:`String`, port\: :ref:`String`, ssh_args\: :ref:`PackedStringArray`, cmd_args\: :ref:`String`, port_fwd\: :ref:`int` = -1\ ) |const| | + +-----------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Enumerations +------------ + +.. _enum_EditorExportPlatform_ExportMessageType: + +.. rst-class:: classref-enumeration + +enum **ExportMessageType**: :ref:`🔗` + +.. _class_EditorExportPlatform_constant_EXPORT_MESSAGE_NONE: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportMessageType` **EXPORT_MESSAGE_NONE** = ``0`` + +Invalid message type used as the default value when no type is specified. + +.. _class_EditorExportPlatform_constant_EXPORT_MESSAGE_INFO: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportMessageType` **EXPORT_MESSAGE_INFO** = ``1`` + +Message type for informational messages that have no effect on the export. + +.. _class_EditorExportPlatform_constant_EXPORT_MESSAGE_WARNING: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportMessageType` **EXPORT_MESSAGE_WARNING** = ``2`` + +Message type for warning messages that should be addressed but still allow to complete the export. + +.. _class_EditorExportPlatform_constant_EXPORT_MESSAGE_ERROR: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportMessageType` **EXPORT_MESSAGE_ERROR** = ``3`` + +Message type for error messages that must be addressed and fail the export. + +.. rst-class:: classref-item-separator + +---- + +.. _enum_EditorExportPlatform_DebugFlags: + +.. rst-class:: classref-enumeration + +flags **DebugFlags**: :ref:`🔗` + +.. _class_EditorExportPlatform_constant_DEBUG_FLAG_DUMB_CLIENT: + +.. rst-class:: classref-enumeration-constant + +:ref:`DebugFlags` **DEBUG_FLAG_DUMB_CLIENT** = ``1`` + +Flag is set if remotely debugged project is expected to use remote file system. If set, :ref:`gen_export_flags` will add ``--remove-fs`` and ``--remote-fs-password`` (if password is set in the editor settings) command line arguments to the list. + +.. _class_EditorExportPlatform_constant_DEBUG_FLAG_REMOTE_DEBUG: + +.. rst-class:: classref-enumeration-constant + +:ref:`DebugFlags` **DEBUG_FLAG_REMOTE_DEBUG** = ``2`` + +Flag is set if remote debug is enabled. If set, :ref:`gen_export_flags` will add ``--remote-debug`` and ``--breakpoints`` (if breakpoints are selected in the script editor or added by the plugin) command line arguments to the list. + +.. _class_EditorExportPlatform_constant_DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST: + +.. rst-class:: classref-enumeration-constant + +:ref:`DebugFlags` **DEBUG_FLAG_REMOTE_DEBUG_LOCALHOST** = ``4`` + +Flag is set if remotely debugged project is running on the localhost. If set, :ref:`gen_export_flags` will use ``localhost`` instead of :ref:`EditorSettings.network/debug/remote_host` as remote debugger host. + +.. _class_EditorExportPlatform_constant_DEBUG_FLAG_VIEW_COLLISIONS: + +.. rst-class:: classref-enumeration-constant + +:ref:`DebugFlags` **DEBUG_FLAG_VIEW_COLLISIONS** = ``8`` + +Flag is set if "Visible Collision Shapes" remote debug option is enabled. If set, :ref:`gen_export_flags` will add ``--debug-collisions`` command line arguments to the list. + +.. _class_EditorExportPlatform_constant_DEBUG_FLAG_VIEW_NAVIGATION: + +.. rst-class:: classref-enumeration-constant + +:ref:`DebugFlags` **DEBUG_FLAG_VIEW_NAVIGATION** = ``16`` + +Flag is set if Visible Navigation" remote debug option is enabled. If set, :ref:`gen_export_flags` will add ``--debug-navigation`` command line arguments to the list. .. rst-class:: classref-section-separator @@ -53,6 +192,192 @@ Methods Method Descriptions ------------------- +.. _class_EditorExportPlatform_method_add_message: + +.. rst-class:: classref-method + +|void| **add_message**\ (\ type\: :ref:`ExportMessageType`, category\: :ref:`String`, message\: :ref:`String`\ ) :ref:`🔗` + +Adds a message to the export log that will be displayed when exporting ends. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_clear_messages: + +.. rst-class:: classref-method + +|void| **clear_messages**\ (\ ) :ref:`🔗` + +Clears the export log. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_create_preset: + +.. rst-class:: classref-method + +:ref:`EditorExportPreset` **create_preset**\ (\ ) :ref:`🔗` + +Create a new preset for this platform. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_export_pack: + +.. rst-class:: classref-method + +:ref:`Error` **export_pack**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) :ref:`🔗` + +Creates a PCK archive at ``path`` for the specified ``preset``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_export_project: + +.. rst-class:: classref-method + +:ref:`Error` **export_project**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) :ref:`🔗` + +Creates a full project at ``path`` for the specified ``preset``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_export_project_files: + +.. rst-class:: classref-method + +:ref:`Error` **export_project_files**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, save_cb\: :ref:`Callable`, shared_cb\: :ref:`Callable` = Callable()\ ) :ref:`🔗` + +Exports project files for the specified preset. This method can be used to implement custom export format, other than PCK and ZIP. One of the callbacks is called for each exported file. + +\ ``save_cb`` is called for all exported files and have the following arguments: ``file_path: String``, ``file_data: PackedByteArray``, ``file_index: int``, ``file_count: int``, ``encryption_include_filters: PackedStringArray``, ``encryption_exclude_filters: PackedStringArray``, ``encryption_key: PackedByteArray``. + +\ ``shared_cb`` is called for exported native shared/static libraries and have the following arguments: ``file_path: String``, ``tags: PackedStringArray``, ``target_folder: String``. + +\ **Note:** ``file_index`` and ``file_count`` are intended for progress tracking only and aren't necesserely unique and precise. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_export_zip: + +.. rst-class:: classref-method + +:ref:`Error` **export_zip**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\] = 0\ ) :ref:`🔗` + +Create a ZIP archive at ``path`` for the specified ``preset``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_find_export_template: + +.. rst-class:: classref-method + +:ref:`Dictionary` **find_export_template**\ (\ template_file_name\: :ref:`String`\ ) |const| :ref:`🔗` + +Locates export template for the platform, and returns :ref:`Dictionary` with the following keys: ``path: String`` and ``error: String``. This method is provided for convenience and custom export platforms aren't required to use it or keep export templates stored in the same way official templates are. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_gen_export_flags: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **gen_export_flags**\ (\ flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) :ref:`🔗` + +Generates array of command line arguments for the default export templates for the debug flags and editor settings. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_get_current_presets: + +.. rst-class:: classref-method + +:ref:`Array` **get_current_presets**\ (\ ) |const| :ref:`🔗` + +Returns array of :ref:`EditorExportPreset`\ s for this platform. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_get_forced_export_files: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **get_forced_export_files**\ (\ ) |static| :ref:`🔗` + +Returns array of core file names that always should be exported regardless of preset config. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_get_message_category: + +.. rst-class:: classref-method + +:ref:`String` **get_message_category**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns message category, for the message with ``index``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_get_message_count: + +.. rst-class:: classref-method + +:ref:`int` **get_message_count**\ (\ ) |const| :ref:`🔗` + +Returns number of messages in the export log. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_get_message_text: + +.. rst-class:: classref-method + +:ref:`String` **get_message_text**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns message text, for the message with ``index``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_get_message_type: + +.. rst-class:: classref-method + +:ref:`ExportMessageType` **get_message_type**\ (\ index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns message type, for the message with ``index``. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlatform_method_get_os_name: .. rst-class:: classref-method @@ -61,6 +386,80 @@ Method Descriptions Returns the name of the export operating system handled by this **EditorExportPlatform** class, as a friendly string. Possible return values are ``Windows``, ``Linux``, ``macOS``, ``Android``, ``iOS``, and ``Web``. +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_get_worst_message_type: + +.. rst-class:: classref-method + +:ref:`ExportMessageType` **get_worst_message_type**\ (\ ) |const| :ref:`🔗` + +Returns most severe message type currently present in the export log. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_save_pack: + +.. rst-class:: classref-method + +:ref:`Dictionary` **save_pack**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, embed\: :ref:`bool` = false\ ) :ref:`🔗` + +Saves PCK archive and returns :ref:`Dictionary` with the following keys: ``result: Error``, ``so_files: Array`` (array of the shared/static objects which contains dictionaries with the following keys: ``path: String``, ``tags: PackedStringArray``, and ``target_folder: String``). + +If ``embed`` is ``true``, PCK content is appended to the end of ``path`` file and return :ref:`Dictionary` additionally include following keys: ``embedded_start: int`` (embedded PCK offset) and ``embedded_size: int`` (embedded PCK size). + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_save_zip: + +.. rst-class:: classref-method + +:ref:`Dictionary` **save_zip**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`\ ) :ref:`🔗` + +Saves ZIP archive and returns :ref:`Dictionary` with the following keys: ``result: Error``, ``so_files: Array`` (array of the shared/static objects which contains dictionaries with the following keys: ``path: String``, ``tags: PackedStringArray``, and ``target_folder: String``). + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_ssh_push_to_remote: + +.. rst-class:: classref-method + +:ref:`Error` **ssh_push_to_remote**\ (\ host\: :ref:`String`, port\: :ref:`String`, scp_args\: :ref:`PackedStringArray`, src_file\: :ref:`String`, dst_file\: :ref:`String`\ ) |const| :ref:`🔗` + +Uploads specified file over SCP protocol to the remote host. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_ssh_run_on_remote: + +.. rst-class:: classref-method + +:ref:`Error` **ssh_run_on_remote**\ (\ host\: :ref:`String`, port\: :ref:`String`, ssh_arg\: :ref:`PackedStringArray`, cmd_args\: :ref:`String`, output\: :ref:`Array` = [], port_fwd\: :ref:`int` = -1\ ) |const| :ref:`🔗` + +Executes specified command on the remote host via SSH protocol and returns command output in the ``output``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatform_method_ssh_run_on_remote_no_wait: + +.. rst-class:: classref-method + +:ref:`int` **ssh_run_on_remote_no_wait**\ (\ host\: :ref:`String`, port\: :ref:`String`, ssh_args\: :ref:`PackedStringArray`, cmd_args\: :ref:`String`, port_fwd\: :ref:`int` = -1\ ) |const| :ref:`🔗` + +Executes specified command on the remote host via SSH protocol and returns process ID (on the remote host) without waiting for command to finish. + .. |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_editorexportplatformextension.rst b/classes/class_editorexportplatformextension.rst new file mode 100644 index 00000000000..0aa7624fadb --- /dev/null +++ b/classes/class_editorexportplatformextension.rst @@ -0,0 +1,582 @@ +: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/EditorExportPlatformExtension.xml. + +.. _class_EditorExportPlatformExtension: + +EditorExportPlatformExtension +============================= + +**Inherits:** :ref:`EditorExportPlatform` **<** :ref:`RefCounted` **<** :ref:`Object` + +Base class for custom :ref:`EditorExportPlatform` implementations (plugins). + +.. rst-class:: classref-introduction-group + +Description +----------- + +External :ref:`EditorExportPlatform` implementations should inherit from this class. + +To use :ref:`EditorExportPlatform`, register it using the :ref:`EditorPlugin.add_export_platform` method first. + +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_can_export`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_cleanup`\ (\ ) |virtual| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_pack`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_project`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_export_zip`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_binary_extensions`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_debug_protocol`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_device_architecture`\ (\ device\: :ref:`int`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_get_export_option_visibility`\ (\ preset\: :ref:`EditorExportPreset`, option\: :ref:`String`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_export_option_warning`\ (\ preset\: :ref:`EditorExportPreset`, option\: :ref:`StringName`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array`\[:ref:`Dictionary`\] | :ref:`_get_export_options`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`_get_logo`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_name`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ImageTexture` | :ref:`_get_option_icon`\ (\ device\: :ref:`int`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_option_label`\ (\ device\: :ref:`int`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_option_tooltip`\ (\ device\: :ref:`int`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`_get_options_count`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_options_tooltip`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`_get_os_name`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_platform_features`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`_get_preset_features`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`_get_run_icon`\ (\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_has_valid_export_configuration`\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_has_valid_project_configuration`\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_is_executable`\ (\ path\: :ref:`String`\ ) |virtual| |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_poll_export`\ (\ ) |virtual| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`_run`\ (\ preset\: :ref:`EditorExportPreset`, device\: :ref:`int`, debug_flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`_should_update_export_options`\ (\ ) |virtual| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_config_error`\ (\ ) |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_config_missing_templates`\ (\ ) |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_config_error`\ (\ error_text\: :ref:`String`\ ) |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_config_missing_templates`\ (\ missing_templates\: :ref:`bool`\ ) |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_EditorExportPlatformExtension_private_method__can_export: + +.. rst-class:: classref-method + +:ref:`bool` **_can_export**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns ``true``, if specified ``preset`` is valid and can be exported. Use :ref:`set_config_error` and :ref:`set_config_missing_templates` to set error details. + +Usual implementation can call :ref:`_has_valid_export_configuration` and :ref:`_has_valid_project_configuration` to determine if export is possible. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__cleanup: + +.. rst-class:: classref-method + +|void| **_cleanup**\ (\ ) |virtual| :ref:`🔗` + +**Optional.**\ + +Called by the editor before platform is unregistered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__export_pack: + +.. rst-class:: classref-method + +:ref:`Error` **_export_pack**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| :ref:`🔗` + +**Optional.**\ + +Creates a PCK archive at ``path`` for the specified ``preset``. + +This method is called when "Export PCK/ZIP" button is pressed in the export dialog, and PCK is selected as a file type. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__export_project: + +.. rst-class:: classref-method + +:ref:`Error` **_export_project**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| :ref:`🔗` + +**Required.**\ + +Creates a full project at ``path`` for the specified ``preset``. + +This method is called when "Export" button is pressed in the export dialog. + +This method implementation can call :ref:`EditorExportPlatform.save_pack` or :ref:`EditorExportPlatform.save_zip` to use default PCK/ZIP export process, or calls :ref:`EditorExportPlatform.export_project_files` and implement custom callback for processing each exported file. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__export_zip: + +.. rst-class:: classref-method + +:ref:`Error` **_export_zip**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`, path\: :ref:`String`, flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| :ref:`🔗` + +**Optional.**\ + +Create a ZIP archive at ``path`` for the specified ``preset``. + +This method is called when "Export PCK/ZIP" button is pressed in the export dialog, and ZIP is selected as a file type. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_binary_extensions: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **_get_binary_extensions**\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns array of supported binary extensions for the full project export. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_debug_protocol: + +.. rst-class:: classref-method + +:ref:`String` **_get_debug_protocol**\ (\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns protocol used for remote debugging. Default implementation return ``tcp://``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_device_architecture: + +.. rst-class:: classref-method + +:ref:`String` **_get_device_architecture**\ (\ device\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns device architecture for one-click deploy. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_export_option_visibility: + +.. rst-class:: classref-method + +:ref:`bool` **_get_export_option_visibility**\ (\ preset\: :ref:`EditorExportPreset`, option\: :ref:`String`\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Validates ``option`` and returns visibility for the specified ``preset``. Default implementation return ``true`` for all options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_export_option_warning: + +.. rst-class:: classref-method + +:ref:`String` **_get_export_option_warning**\ (\ preset\: :ref:`EditorExportPreset`, option\: :ref:`StringName`\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Validates ``option`` and returns warning message for the specified ``preset``. Default implementation return empty string for all options. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_export_options: + +.. rst-class:: classref-method + +:ref:`Array`\[:ref:`Dictionary`\] **_get_export_options**\ (\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns a property list, as an :ref:`Array` of dictionaries. Each :ref:`Dictionary` must at least contain the ``name: StringName`` and ``type: Variant.Type`` entries. + +Additionally, the following keys are supported: + +- ``hint: PropertyHint``\ + +- ``hint_string: String``\ + +- ``usage: PropertyUsageFlags``\ + +- ``class_name: StringName``\ + +- ``default_value: Variant``, default value of the property. + +- ``update_visibility: bool``, if set to ``true``, :ref:`_get_export_option_visibility` is called for each property when this property is changed. + +- ``required: bool``, if set to ``true``, this property warnings are critical, and should be resolved to make export possible. This value is a hint for the :ref:`_has_valid_export_configuration` implementation, and not used by the engine directly. + +See also :ref:`Object._get_property_list`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_logo: + +.. rst-class:: classref-method + +:ref:`Texture2D` **_get_logo**\ (\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns platform logo displayed in the export dialog, logo should be 32x32 adjusted to the current editor scale, see :ref:`EditorInterface.get_editor_scale`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_name: + +.. rst-class:: classref-method + +:ref:`String` **_get_name**\ (\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns export platform name. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_option_icon: + +.. rst-class:: classref-method + +:ref:`ImageTexture` **_get_option_icon**\ (\ device\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns one-click deploy menu item icon for the specified ``device``, icon should be 16x16 adjusted to the current editor scale, see :ref:`EditorInterface.get_editor_scale`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_option_label: + +.. rst-class:: classref-method + +:ref:`String` **_get_option_label**\ (\ device\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns one-click deploy menu item label for the specified ``device``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_option_tooltip: + +.. rst-class:: classref-method + +:ref:`String` **_get_option_tooltip**\ (\ device\: :ref:`int`\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns one-click deploy menu item tooltip for the specified ``device``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_options_count: + +.. rst-class:: classref-method + +:ref:`int` **_get_options_count**\ (\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns number one-click deploy devices (or other one-click option displayed in the menu). + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_options_tooltip: + +.. rst-class:: classref-method + +:ref:`String` **_get_options_tooltip**\ (\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns tooltip of the one-click deploy menu button. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_os_name: + +.. rst-class:: classref-method + +:ref:`String` **_get_os_name**\ (\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns target OS name. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_platform_features: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **_get_platform_features**\ (\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns array of platform specific features. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_preset_features: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **_get_preset_features**\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns array of platform specific features for the specified ``preset``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__get_run_icon: + +.. rst-class:: classref-method + +:ref:`Texture2D` **_get_run_icon**\ (\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns icon of the one-click deploy menu button, icon should be 16x16 adjusted to the current editor scale, see :ref:`EditorInterface.get_editor_scale`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__has_valid_export_configuration: + +.. rst-class:: classref-method + +:ref:`bool` **_has_valid_export_configuration**\ (\ preset\: :ref:`EditorExportPreset`, debug\: :ref:`bool`\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns ``true`` if export configuration is valid. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__has_valid_project_configuration: + +.. rst-class:: classref-method + +:ref:`bool` **_has_valid_project_configuration**\ (\ preset\: :ref:`EditorExportPreset`\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns ``true`` if project configuration is valid. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__is_executable: + +.. rst-class:: classref-method + +:ref:`bool` **_is_executable**\ (\ path\: :ref:`String`\ ) |virtual| |const| :ref:`🔗` + +**Optional.**\ + +Returns ``true`` if specified file is a valid executable (native executable or script) for the target platform. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__poll_export: + +.. rst-class:: classref-method + +:ref:`bool` **_poll_export**\ (\ ) |virtual| :ref:`🔗` + +**Optional.**\ + +Returns ``true`` if one-click deploy options are changed and editor interface should be updated. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__run: + +.. rst-class:: classref-method + +:ref:`Error` **_run**\ (\ preset\: :ref:`EditorExportPreset`, device\: :ref:`int`, debug_flags\: |bitfield|\[:ref:`DebugFlags`\]\ ) |virtual| :ref:`🔗` + +**Optional.**\ + +This method is called when ``device`` one-click deploy menu option is selected. + +Implementation should export project to a temporary location, upload and run it on the specific ``device``, or perform another action associated with the menu item. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_private_method__should_update_export_options: + +.. rst-class:: classref-method + +:ref:`bool` **_should_update_export_options**\ (\ ) |virtual| :ref:`🔗` + +**Optional.**\ + +Returns ``true`` if export options list is changed and presets should be updated. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_method_get_config_error: + +.. rst-class:: classref-method + +:ref:`String` **get_config_error**\ (\ ) |const| :ref:`🔗` + +Returns current configuration error message text. This method should be called only from the :ref:`_can_export`, :ref:`_has_valid_export_configuration`, or :ref:`_has_valid_project_configuration` implementations. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_method_get_config_missing_templates: + +.. rst-class:: classref-method + +:ref:`bool` **get_config_missing_templates**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` is export templates are missing from the current configuration. This method should be called only from the :ref:`_can_export`, :ref:`_has_valid_export_configuration`, or :ref:`_has_valid_project_configuration` implementations. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_method_set_config_error: + +.. rst-class:: classref-method + +|void| **set_config_error**\ (\ error_text\: :ref:`String`\ ) |const| :ref:`🔗` + +Sets current configuration error message text. This method should be called only from the :ref:`_can_export`, :ref:`_has_valid_export_configuration`, or :ref:`_has_valid_project_configuration` implementations. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlatformExtension_method_set_config_missing_templates: + +.. rst-class:: classref-method + +|void| **set_config_missing_templates**\ (\ missing_templates\: :ref:`bool`\ ) |const| :ref:`🔗` + +Set to ``true`` is export templates are missing from the current configuration. This method should be called only from the :ref:`_can_export`, :ref:`_has_valid_export_configuration`, or :ref:`_has_valid_project_configuration` implementations. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_editorexportplatformios.rst b/classes/class_editorexportplatformios.rst index 52e39a1acc6..e8473aacae5 100644 --- a/classes/class_editorexportplatformios.rst +++ b/classes/class_editorexportplatformios.rst @@ -983,7 +983,7 @@ Indicates whether your app uses advertising data for tracking. :ref:`bool` **privacy/collected_data/audio_data/collected** :ref:`🔗` -Indicates whether your app collects audio data data. +Indicates whether your app collects audio data. .. rst-class:: classref-item-separator @@ -1007,7 +1007,7 @@ The reasons your app collects audio data. See `Describing data use in privacy ma :ref:`bool` **privacy/collected_data/audio_data/linked_to_user** :ref:`🔗` -Indicates whether your app links audio data data to the user's identity. +Indicates whether your app links audio data to the user's identity. .. rst-class:: classref-item-separator @@ -1019,7 +1019,7 @@ Indicates whether your app links audio data data to the user's identity. :ref:`bool` **privacy/collected_data/audio_data/used_for_tracking** :ref:`🔗` -Indicates whether your app uses audio data data for tracking. +Indicates whether your app uses audio data for tracking. .. rst-class:: classref-item-separator diff --git a/classes/class_editorexportplatformmacos.rst b/classes/class_editorexportplatformmacos.rst index 33dbdf9f98f..3bea82b2380 100644 --- a/classes/class_editorexportplatformmacos.rst +++ b/classes/class_editorexportplatformmacos.rst @@ -1335,7 +1335,7 @@ Indicates whether your app uses advertising data for tracking. :ref:`bool` **privacy/collected_data/audio_data/collected** :ref:`🔗` -Indicates whether your app collects audio data data. +Indicates whether your app collects audio data. .. rst-class:: classref-item-separator @@ -1359,7 +1359,7 @@ The reasons your app collects audio data. See `Describing data use in privacy ma :ref:`bool` **privacy/collected_data/audio_data/linked_to_user** :ref:`🔗` -Indicates whether your app links audio data data to the user's identity. +Indicates whether your app links audio data to the user's identity. .. rst-class:: classref-item-separator @@ -1371,7 +1371,7 @@ Indicates whether your app links audio data data to the user's identity. :ref:`bool` **privacy/collected_data/audio_data/used_for_tracking** :ref:`🔗` -Indicates whether your app uses audio data data for tracking. +Indicates whether your app uses audio data for tracking. .. rst-class:: classref-item-separator diff --git a/classes/class_editorexportplugin.rst b/classes/class_editorexportplugin.rst index 241e572665d..d8b95ad88d2 100644 --- a/classes/class_editorexportplugin.rst +++ b/classes/class_editorexportplugin.rst @@ -105,6 +105,10 @@ Methods +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_shared_object`\ (\ path\: :ref:`String`, tags\: :ref:`PackedStringArray`, target\: :ref:`String`\ ) | +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorExportPlatform` | :ref:`get_export_platform`\ (\ ) |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorExportPreset` | :ref:`get_export_preset`\ (\ ) |const| | + +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`get_option`\ (\ name\: :ref:`StringName`\ ) |const| | +------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`skip`\ (\ ) | @@ -593,6 +597,30 @@ In case of a directory code-sign will error if you place non code object in dire ---- +.. _class_EditorExportPlugin_method_get_export_platform: + +.. rst-class:: classref-method + +:ref:`EditorExportPlatform` **get_export_platform**\ (\ ) |const| :ref:`🔗` + +Returns currently used export platform. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPlugin_method_get_export_preset: + +.. rst-class:: classref-method + +:ref:`EditorExportPreset` **get_export_preset**\ (\ ) |const| :ref:`🔗` + +Returns currently used export preset. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorExportPlugin_method_get_option: .. rst-class:: classref-method diff --git a/classes/class_editorexportpreset.rst b/classes/class_editorexportpreset.rst new file mode 100644 index 00000000000..5447b42a782 --- /dev/null +++ b/classes/class_editorexportpreset.rst @@ -0,0 +1,549 @@ +: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/EditorExportPreset.xml. + +.. _class_EditorExportPreset: + +EditorExportPreset +================== + +**Inherits:** :ref:`RefCounted` **<** :ref:`Object` + +Export preset configuration. + +.. rst-class:: classref-introduction-group + +Description +----------- + +Export preset configuration. Instances of **EditorExportPreset** by editor UI and intended to be used a read-only configuration passed to the :ref:`EditorExportPlatform` methods when exporting the project. + +.. rst-class:: classref-reftable-group + +Methods +------- + +.. table:: + :widths: auto + + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`are_advanced_options_enabled`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_custom_features`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Dictionary` | :ref:`get_customized_files`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_customized_files_count`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_encrypt_directory`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`get_encrypt_pck`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_encryption_ex_filter`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_encryption_in_filter`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_encryption_key`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_exclude_filter`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`ExportFilter` | :ref:`get_export_filter`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_export_path`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`FileExportMode` | :ref:`get_file_export_mode`\ (\ path\: :ref:`String`, default\: :ref:`FileExportMode` = 0\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_files_to_export`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_include_filter`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`get_or_env`\ (\ name\: :ref:`StringName`, env_var\: :ref:`String`\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_preset_name`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_script_export_mode`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_version`\ (\ name\: :ref:`StringName`, windows_version\: :ref:`bool`\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has`\ (\ property\: :ref:`StringName`\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`has_export_file`\ (\ path\: :ref:`String`\ ) | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_dedicated_server`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_runnable`\ (\ ) |const| | + +---------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Enumerations +------------ + +.. _enum_EditorExportPreset_ExportFilter: + +.. rst-class:: classref-enumeration + +enum **ExportFilter**: :ref:`🔗` + +.. _class_EditorExportPreset_constant_EXPORT_ALL_RESOURCES: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportFilter` **EXPORT_ALL_RESOURCES** = ``0`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_EXPORT_SELECTED_SCENES: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportFilter` **EXPORT_SELECTED_SCENES** = ``1`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_EXPORT_SELECTED_RESOURCES: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportFilter` **EXPORT_SELECTED_RESOURCES** = ``2`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_EXCLUDE_SELECTED_RESOURCES: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportFilter` **EXCLUDE_SELECTED_RESOURCES** = ``3`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_EXPORT_CUSTOMIZED: + +.. rst-class:: classref-enumeration-constant + +:ref:`ExportFilter` **EXPORT_CUSTOMIZED** = ``4`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. rst-class:: classref-item-separator + +---- + +.. _enum_EditorExportPreset_FileExportMode: + +.. rst-class:: classref-enumeration + +enum **FileExportMode**: :ref:`🔗` + +.. _class_EditorExportPreset_constant_MODE_FILE_NOT_CUSTOMIZED: + +.. rst-class:: classref-enumeration-constant + +:ref:`FileExportMode` **MODE_FILE_NOT_CUSTOMIZED** = ``0`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_MODE_FILE_STRIP: + +.. rst-class:: classref-enumeration-constant + +:ref:`FileExportMode` **MODE_FILE_STRIP** = ``1`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_MODE_FILE_KEEP: + +.. rst-class:: classref-enumeration-constant + +:ref:`FileExportMode` **MODE_FILE_KEEP** = ``2`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_MODE_FILE_REMOVE: + +.. rst-class:: classref-enumeration-constant + +:ref:`FileExportMode` **MODE_FILE_REMOVE** = ``3`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. rst-class:: classref-item-separator + +---- + +.. _enum_EditorExportPreset_ScriptExportMode: + +.. rst-class:: classref-enumeration + +enum **ScriptExportMode**: :ref:`🔗` + +.. _class_EditorExportPreset_constant_MODE_SCRIPT_TEXT: + +.. rst-class:: classref-enumeration-constant + +:ref:`ScriptExportMode` **MODE_SCRIPT_TEXT** = ``0`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_MODE_SCRIPT_BINARY_TOKENS: + +.. rst-class:: classref-enumeration-constant + +:ref:`ScriptExportMode` **MODE_SCRIPT_BINARY_TOKENS** = ``1`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_EditorExportPreset_constant_MODE_SCRIPT_BINARY_TOKENS_COMPRESSED: + +.. rst-class:: classref-enumeration-constant + +:ref:`ScriptExportMode` **MODE_SCRIPT_BINARY_TOKENS_COMPRESSED** = ``2`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Method Descriptions +------------------- + +.. _class_EditorExportPreset_method_are_advanced_options_enabled: + +.. rst-class:: classref-method + +:ref:`bool` **are_advanced_options_enabled**\ (\ ) |const| :ref:`🔗` + +Returns ``true``, is "Advanced" toggle is enabled in the export dialog. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_custom_features: + +.. rst-class:: classref-method + +:ref:`String` **get_custom_features**\ (\ ) |const| :ref:`🔗` + +Returns string with a comma separated list of custom features. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_customized_files: + +.. rst-class:: classref-method + +:ref:`Dictionary` **get_customized_files**\ (\ ) |const| :ref:`🔗` + +Returns :ref:`Dictionary` of files selected in the "Resources" tab of the export dialog. Dictionary keys are file names and values are export mode - ``"strip``, ``"keep"``, or ``"remove"``. See also :ref:`get_file_export_mode`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_customized_files_count: + +.. rst-class:: classref-method + +:ref:`int` **get_customized_files_count**\ (\ ) |const| :ref:`🔗` + +Returns number of files selected in the "Resources" tab of the export dialog. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_encrypt_directory: + +.. rst-class:: classref-method + +:ref:`bool` **get_encrypt_directory**\ (\ ) |const| :ref:`🔗` + +Returns ``true``, PCK directory encryption is enabled in the export dialog. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_encrypt_pck: + +.. rst-class:: classref-method + +:ref:`bool` **get_encrypt_pck**\ (\ ) |const| :ref:`🔗` + +Returns ``true``, PCK encryption is enabled in the export dialog. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_encryption_ex_filter: + +.. rst-class:: classref-method + +:ref:`String` **get_encryption_ex_filter**\ (\ ) |const| :ref:`🔗` + +Returns file filters to exclude during PCK encryption. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_encryption_in_filter: + +.. rst-class:: classref-method + +:ref:`String` **get_encryption_in_filter**\ (\ ) |const| :ref:`🔗` + +Returns file filters to include during PCK encryption. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_encryption_key: + +.. rst-class:: classref-method + +:ref:`String` **get_encryption_key**\ (\ ) |const| :ref:`🔗` + +Returns PCK encryption key. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_exclude_filter: + +.. rst-class:: classref-method + +:ref:`String` **get_exclude_filter**\ (\ ) |const| :ref:`🔗` + +Returns file filters to exclude during export. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_export_filter: + +.. rst-class:: classref-method + +:ref:`ExportFilter` **get_export_filter**\ (\ ) |const| :ref:`🔗` + +Returns export file filter mode selected in the "Resources" tab of the export dialog. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_export_path: + +.. rst-class:: classref-method + +:ref:`String` **get_export_path**\ (\ ) |const| :ref:`🔗` + +Returns export target path. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_file_export_mode: + +.. rst-class:: classref-method + +:ref:`FileExportMode` **get_file_export_mode**\ (\ path\: :ref:`String`, default\: :ref:`FileExportMode` = 0\ ) |const| :ref:`🔗` + +Returns file export mode for the specified file. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_files_to_export: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **get_files_to_export**\ (\ ) |const| :ref:`🔗` + +Returns array of files to export. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_include_filter: + +.. rst-class:: classref-method + +:ref:`String` **get_include_filter**\ (\ ) |const| :ref:`🔗` + +Returns file filters to include during export. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_or_env: + +.. rst-class:: classref-method + +:ref:`Variant` **get_or_env**\ (\ name\: :ref:`StringName`, env_var\: :ref:`String`\ ) |const| :ref:`🔗` + +Returns export option value or value of environment variable if it is set. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_preset_name: + +.. rst-class:: classref-method + +:ref:`String` **get_preset_name**\ (\ ) |const| :ref:`🔗` + +Returns export preset name. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_script_export_mode: + +.. rst-class:: classref-method + +:ref:`int` **get_script_export_mode**\ (\ ) |const| :ref:`🔗` + +Returns script export mode. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_get_version: + +.. rst-class:: classref-method + +:ref:`String` **get_version**\ (\ name\: :ref:`StringName`, windows_version\: :ref:`bool`\ ) |const| :ref:`🔗` + +Returns the preset's version number, or fall back to the :ref:`ProjectSettings.application/config/version` project setting if set to an empty string. + +If ``windows_version`` is ``true``, formats the returned version number to be compatible with Windows executable metadata. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_has: + +.. rst-class:: classref-method + +:ref:`bool` **has**\ (\ property\: :ref:`StringName`\ ) |const| :ref:`🔗` + +Returns ``true`` if preset has specified property. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_has_export_file: + +.. rst-class:: classref-method + +:ref:`bool` **has_export_file**\ (\ path\: :ref:`String`\ ) :ref:`🔗` + +Returns ``true`` if specified file is exported. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_is_dedicated_server: + +.. rst-class:: classref-method + +:ref:`bool` **is_dedicated_server**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if dedicated server export mode is selected in the export dialog. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorExportPreset_method_is_runnable: + +.. rst-class:: classref-method + +:ref:`bool` **is_runnable**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if "Runnable" toggle is enabled in the export dialog. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_editorimportplugin.rst b/classes/class_editorimportplugin.rst index cdebc608398..eea95e10a9b 100644 --- a/classes/class_editorimportplugin.rst +++ b/classes/class_editorimportplugin.rst @@ -120,18 +120,18 @@ Below is an example EditorImportPlugin that imports a :ref:`Mesh` fr }; } - public override int _Import(string sourceFile, string savePath, Godot.Collections.Dictionary options, Godot.Collections.Array platformVariants, Godot.Collections.Array genFiles) + public override Error _Import(string sourceFile, string savePath, Godot.Collections.Dictionary options, Godot.Collections.Array platformVariants, Godot.Collections.Array genFiles) { using var file = FileAccess.Open(sourceFile, FileAccess.ModeFlags.Read); if (file.GetError() != Error.Ok) { - return (int)Error.Failed; + return Error.Failed; } var mesh = new ArrayMesh(); // Fill the Mesh with data read in "file", left as an exercise to the reader. string filename = $"{savePath}.{_GetSaveExtension()}"; - return (int)ResourceSaver.Save(mesh, filename); + return ResourceSaver.Save(mesh, filename); } } @@ -388,7 +388,7 @@ This method must be overridden to do the actual importing work. See this class' :ref:`Error` **append_import_external_resource**\ (\ path\: :ref:`String`, custom_options\: :ref:`Dictionary` = {}, custom_importer\: :ref:`String` = "", generator_parameters\: :ref:`Variant` = null\ ) :ref:`🔗` -This function can only be called during the :ref:`_import` callback and it allows manually importing resources from it. This is useful when the imported file generates external resources that require importing (as example, images). Custom parameters for the ".import" file can be passed via the ``custom_options``. Additionally, in cases where multiple importers can handle a file, the ``custom_importer`` ca be specified to force a specific one. This function performs a resource import and returns immediately with a success or error code. ``generator_parameters`` defines optional extra metadata which will be stored as ``generator_parameters`` in the ``remap`` section of the ``.import`` file, for example to store a md5 hash of the source data. +This function can only be called during the :ref:`_import` callback and it allows manually importing resources from it. This is useful when the imported file generates external resources that require importing (as example, images). Custom parameters for the ".import" file can be passed via the ``custom_options``. Additionally, in cases where multiple importers can handle a file, the ``custom_importer`` can be specified to force a specific one. This function performs a resource import and returns immediately with a success or error code. ``generator_parameters`` defines optional extra metadata which will be stored as ``generator_parameters`` in the ``remap`` section of the ``.import`` file, for example to store a md5 hash of the source data. .. |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_editorinterface.rst b/classes/class_editorinterface.rst index 9b9d5d2618c..460ae730e0c 100644 --- a/classes/class_editorinterface.rst +++ b/classes/class_editorinterface.rst @@ -88,6 +88,8 @@ Methods +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Theme` | :ref:`get_editor_theme`\ (\ ) |const| | +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`EditorUndoRedoManager` | :ref:`get_editor_undo_redo`\ (\ ) |const| | + +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`SubViewport` | :ref:`get_editor_viewport_2d`\ (\ ) |const| | +----------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`SubViewport` | :ref:`get_editor_viewport_3d`\ (\ idx\: :ref:`int` = 0\ ) |const| | @@ -395,6 +397,18 @@ Returns the editor's :ref:`Theme`. ---- +.. _class_EditorInterface_method_get_editor_undo_redo: + +.. rst-class:: classref-method + +:ref:`EditorUndoRedoManager` **get_editor_undo_redo**\ (\ ) |const| :ref:`🔗` + +Returns the editor's :ref:`EditorUndoRedoManager`. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorInterface_method_get_editor_viewport_2d: .. rst-class:: classref-method @@ -723,7 +737,7 @@ See also :ref:`Window.set_unparent_when_invisible` from the edited scene. The ``callback`` must take a single argument of type :ref:`NodePath`. It is called on the selected :ref:`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:**\ +\ **Example:** Display the node selection dialog as soon as this node is added to the tree for the first time: :: @@ -749,8 +763,6 @@ Pops up an editor dialog for selecting a :ref:`Node` from the edited Pops up an editor dialog for selecting properties from ``object``. The ``callback`` must take a single argument of type :ref:`NodePath`. It is called on the selected property path (see :ref:`NodePath.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` values. -\ **Example:**\ - :: func _ready(): diff --git a/classes/class_editorplugin.rst b/classes/class_editorplugin.rst index 3d6fc41e45b..199d912c1a9 100644 --- a/classes/class_editorplugin.rst +++ b/classes/class_editorplugin.rst @@ -99,6 +99,8 @@ Methods +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_debugger_plugin`\ (\ script\: :ref:`EditorDebuggerPlugin`\ ) | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`add_export_platform`\ (\ platform\: :ref:`EditorExportPlatform`\ ) | + +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_export_plugin`\ (\ plugin\: :ref:`EditorExportPlugin`\ ) | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_import_plugin`\ (\ importer\: :ref:`EditorImportPlugin`, first_priority\: :ref:`bool` = false\ ) | @@ -149,6 +151,8 @@ Methods +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_debugger_plugin`\ (\ script\: :ref:`EditorDebuggerPlugin`\ ) | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`remove_export_platform`\ (\ platform\: :ref:`EditorExportPlatform`\ ) | + +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_export_plugin`\ (\ plugin\: :ref:`EditorExportPlugin`\ ) | +-----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`remove_import_plugin`\ (\ importer\: :ref:`EditorImportPlugin`\ ) | @@ -586,7 +590,7 @@ Called by the engine when the 3D editor's viewport is updated. Use the ``overlay func _forward_3d_draw_over_viewport(overlay): # Draw a circle at cursor position. - overlay.draw_circle(overlay.get_local_mouse_position(), 64) + overlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.WHITE) func _forward_3d_gui_input(camera, event): if event is InputEventMouseMotion: @@ -642,8 +646,6 @@ You need to enable calling of this method by using :ref:`set_force_draw_over_for Called when there is a root node in the current edited scene, :ref:`_handles` is implemented, and an :ref:`InputEvent` happens in the 3D viewport. The return value decides whether the :ref:`InputEvent` is consumed or forwarded to other **EditorPlugin**\ s. See :ref:`AfterGUIInput` for options. -\ **Example:**\ - .. tabs:: @@ -663,9 +665,7 @@ Called when there is a root node in the current edited scene, :ref:`_handles` to other Editor classes. - -\ **Example:**\ +This method must return :ref:`AFTER_GUI_INPUT_PASS` in order to forward the :ref:`InputEvent` to other Editor classes. .. tabs:: @@ -759,9 +759,7 @@ You need to enable calling of this method by using :ref:`set_force_draw_over_for :ref:`bool` **_forward_canvas_gui_input**\ (\ event\: :ref:`InputEvent`\ ) |virtual| :ref:`🔗` -Called when there is a root node in the current edited scene, :ref:`_handles` is implemented and an :ref:`InputEvent` happens in the 2D viewport. Intercepts the :ref:`InputEvent`, if ``return true`` **EditorPlugin** consumes the ``event``, otherwise forwards ``event`` to other Editor classes. - -\ **Example:**\ +Called when there is a root node in the current edited scene, :ref:`_handles` is implemented, and an :ref:`InputEvent` happens in the 2D viewport. If this method returns ``true``, ``event`` is intercepted by this **EditorPlugin**, otherwise ``event`` is forwarded to other Editor classes. .. tabs:: @@ -782,9 +780,7 @@ Called when there is a root node in the current edited scene, :ref:`_handles` to other Editor classes. - -\ **Example:**\ +This method must return ``false`` in order to forward the :ref:`InputEvent` to other Editor classes. .. tabs:: @@ -1171,6 +1167,18 @@ Adds a :ref:`Script` as debugger plugin to the Debugger. The scrip ---- +.. _class_EditorPlugin_method_add_export_platform: + +.. rst-class:: classref-method + +|void| **add_export_platform**\ (\ platform\: :ref:`EditorExportPlatform`\ ) :ref:`🔗` + +Registers a new :ref:`EditorExportPlatform`. Export platforms provides functionality of exporting to the specific platform. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorPlugin_method_add_export_plugin: .. rst-class:: classref-method @@ -1513,6 +1521,18 @@ Removes the debugger plugin with given script from the Debugger. ---- +.. _class_EditorPlugin_method_remove_export_platform: + +.. rst-class:: classref-method + +|void| **remove_export_platform**\ (\ platform\: :ref:`EditorExportPlatform`\ ) :ref:`🔗` + +Removes an export platform registered by :ref:`add_export_platform`. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorPlugin_method_remove_export_plugin: .. rst-class:: classref-method diff --git a/classes/class_editorsettings.rst b/classes/class_editorsettings.rst index 7f5acd3e040..eb992a93235 100644 --- a/classes/class_editorsettings.rst +++ b/classes/class_editorsettings.rst @@ -111,6 +111,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Color` | :ref:`editors/2d/viewport_border_color` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`editors/2d/zoom_speed_factor` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`editors/3d/default_fov` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`editors/3d/default_z_far` | @@ -153,13 +155,13 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`editors/3d/navigation/navigation_scheme` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`editors/3d/navigation/orbit_modifier` | + | :ref:`int` | :ref:`editors/3d/navigation/orbit_mouse_button` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`editors/3d/navigation/pan_modifier` | + | :ref:`int` | :ref:`editors/3d/navigation/pan_mouse_button` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`editors/3d/navigation/warped_mouse_panning` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`editors/3d/navigation/zoom_modifier` | + | :ref:`int` | :ref:`editors/3d/navigation/zoom_mouse_button` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`editors/3d/navigation/zoom_style` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -337,6 +339,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/expand_to_title` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`interface/editor/font_allow_msdf` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/font_antialiasing` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/font_disable_embedded_bitmaps` | @@ -347,6 +351,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/import_resources_when_unfocused` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`interface/editor/keep_screen_on` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/localize_settings` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/low_processor_mode_sleep_usec` | @@ -361,6 +367,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`interface/editor/project_manager_screen` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`interface/editor/remember_window_size_and_position` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/save_each_scene_on_quit` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`interface/editor/save_on_focus_loss` | @@ -507,6 +515,8 @@ Properties +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`run/window_placement/android_window` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`run/window_placement/play_window_pip_mode` | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`run/window_placement/rect` | +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`run/window_placement/rect_custom_position` | @@ -1095,7 +1105,7 @@ The color to use when drawing smart snapping lines in the 2D editor. The smart s :ref:`bool` **editors/2d/use_integer_zoom_by_default** :ref:`🔗` -If ``true``, the 2D editor will snap to integer zoom values while not holding the :kbd:`Alt` key and powers of two while holding it. If ``false``, this behavior is swapped. +If ``true``, the 2D editor will snap to integer zoom values when not holding the :kbd:`Alt` key. If ``false``, this behavior is swapped. .. rst-class:: classref-item-separator @@ -1113,6 +1123,18 @@ The color of the viewport border in the 2D editor. This border represents the vi ---- +.. _class_EditorSettings_property_editors/2d/zoom_speed_factor: + +.. rst-class:: classref-property + +:ref:`float` **editors/2d/zoom_speed_factor** :ref:`🔗` + +The factor to use when zooming in or out in the 2D editor. For example, ``1.1`` will zoom in by 10% with every step. If set to ``2.0``, zooming will only cycle through powers of two. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_editors/3d/default_fov: .. rst-class:: classref-property @@ -1289,7 +1311,7 @@ The grid size in units. Higher values prevent the grid from appearing "cut off" :ref:`bool` **editors/3d/grid_xy_plane** :ref:`🔗` -If ``true``, render the grid on an XY plane. This can be useful for 3D side-scrolling games. +If ``true``, renders the grid on the XY plane in perspective view. This can be useful for 3D side-scrolling games. .. rst-class:: classref-item-separator @@ -1301,7 +1323,7 @@ If ``true``, render the grid on an XY plane. This can be useful for 3D side-scro :ref:`bool` **editors/3d/grid_xz_plane** :ref:`🔗` -If ``true``, render the grid on an XZ plane. +If ``true``, renders the grid on the XZ plane in perspective view. .. rst-class:: classref-item-separator @@ -1313,7 +1335,7 @@ If ``true``, render the grid on an XZ plane. :ref:`bool` **editors/3d/grid_yz_plane** :ref:`🔗` -If ``true``, render the grid on a YZ plane. This can be useful for 3D side-scrolling games. +If ``true``, renders the grid on the YZ plane in perspective view. This can be useful for 3D side-scrolling games. .. rst-class:: classref-item-separator @@ -1329,8 +1351,6 @@ If ``true``, enables 3-button mouse emulation mode. This is useful on laptops wh When 3-button mouse emulation mode is enabled, the pan, zoom and orbit modifiers can always be used in the 3D editor viewport, even when not holding down any mouse button. -\ **Note:** No matter the orbit modifier configured in :ref:`editors/3d/navigation/orbit_modifier`, :kbd:`Alt` will always remain usable for orbiting in this mode to improve usability with graphics tablets. - .. rst-class:: classref-item-separator ---- @@ -1377,15 +1397,17 @@ If ``true``, invert the vertical mouse axis when panning, orbiting, or using fre :ref:`int` **editors/3d/navigation/navigation_scheme** :ref:`🔗` -The navigation scheme to use in the 3D editor. Changing this setting will affect the mouse buttons that must be held down to perform certain operations in the 3D editor viewport. +The navigation scheme preset to use in the 3D editor. Changing this setting will affect the mouse button and modifier controls used to navigate the 3D editor viewport. + +All schemes can use :kbd:`Mouse wheel` to zoom. -- **Godot** Middle mouse button to orbit, :kbd:`Shift + Middle mouse button` to pan. :kbd:`Mouse wheel` to zoom. +- **Godot:** :kbd:`Middle mouse button` to orbit. :kbd:`Shift + Middle mouse button` to pan. :kbd:`Ctrl + Shift + Middle mouse button` to zoom. -- **Maya:** :kbd:`Alt + Left mouse button` to orbit. :kbd:`Middle mouse button` to pan, :kbd:`Shift + Middle mouse button` to pan 10 times faster. :kbd:`Mouse wheel` to zoom. +- **Maya:** :kbd:`Alt + Left mouse button` to orbit. :kbd:`Middle mouse button` to pan, :kbd:`Shift + Middle mouse button` to pan 10 times faster. :kbd:`Alt + Right mouse button` to zoom. - **Modo:** :kbd:`Alt + Left mouse button` to orbit. :kbd:`Alt + Shift + Left mouse button` to pan. :kbd:`Ctrl + Alt + Left mouse button` to zoom. -See also :ref:`editors/3d/freelook/freelook_navigation_scheme`. +See also :ref:`editors/3d/navigation/orbit_mouse_button`, :ref:`editors/3d/navigation/pan_mouse_button`, :ref:`editors/3d/navigation/zoom_mouse_button`, and :ref:`editors/3d/freelook/freelook_navigation_scheme`. \ **Note:** On certain window managers on Linux, the :kbd:`Alt` key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed. @@ -1393,31 +1415,25 @@ See also :ref:`editors/3d/freelook/freelook_navigation_scheme` **editors/3d/navigation/orbit_modifier** :ref:`🔗` +:ref:`int` **editors/3d/navigation/orbit_mouse_button** :ref:`🔗` -The modifier key that must be held to orbit in the 3D editor. - -\ **Note:** If :ref:`editors/3d/navigation/emulate_3_button_mouse` is ``true``, :kbd:`Alt` will always remain usable for orbiting to improve usability with graphics tablets. - -\ **Note:** On certain window managers on Linux, the :kbd:`Alt` key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed. +The mouse button that needs to be held down to orbit in the 3D editor viewport. .. rst-class:: classref-item-separator ---- -.. _class_EditorSettings_property_editors/3d/navigation/pan_modifier: +.. _class_EditorSettings_property_editors/3d/navigation/pan_mouse_button: .. rst-class:: classref-property -:ref:`int` **editors/3d/navigation/pan_modifier** :ref:`🔗` - -The modifier key that must be held to pan in the 3D editor. +:ref:`int` **editors/3d/navigation/pan_mouse_button** :ref:`🔗` -\ **Note:** On certain window managers on Linux, the :kbd:`Alt` key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed. +The mouse button that needs to be held down to pan in the 3D editor viewport. .. rst-class:: classref-item-separator @@ -1435,15 +1451,13 @@ If ``true``, warps the mouse around the 3D viewport while panning in the 3D edit ---- -.. _class_EditorSettings_property_editors/3d/navigation/zoom_modifier: +.. _class_EditorSettings_property_editors/3d/navigation/zoom_mouse_button: .. rst-class:: classref-property -:ref:`int` **editors/3d/navigation/zoom_modifier** :ref:`🔗` +:ref:`int` **editors/3d/navigation/zoom_mouse_button** :ref:`🔗` -The modifier key that must be held to zoom in the 3D editor. - -\ **Note:** On certain window managers on Linux, the :kbd:`Alt` key will be intercepted by the window manager when clicking a mouse button at the same time. This means Godot will not see the modifier key as being pressed. +The mouse button that needs to be held down to zoom in the 3D editor viewport. .. rst-class:: classref-item-separator @@ -2575,6 +2589,18 @@ Specific to the macOS platform. ---- +.. _class_EditorSettings_property_interface/editor/font_allow_msdf: + +.. rst-class:: classref-property + +:ref:`bool` **interface/editor/font_allow_msdf** :ref:`🔗` + +If set to ``true``, MSDF font rendering will be used for the visual shader graph editor. You may need to set this to ``false`` when using a custom main font, as some fonts will look broken due to the use of self-intersecting outlines in their font data. Downloading the font from the font maker's official website as opposed to a service like Google Fonts can help resolve this issue. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_interface/editor/font_antialiasing: .. rst-class:: classref-property @@ -2643,6 +2669,18 @@ If ``true``, (re)imports resources even if the editor window is unfocused or min ---- +.. _class_EditorSettings_property_interface/editor/keep_screen_on: + +.. rst-class:: classref-property + +:ref:`bool` **interface/editor/keep_screen_on** :ref:`🔗` + +If ``true``, keeps the screen on (even in case of inactivity), so the screensaver does not take over. Works on desktop and mobile platforms. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_interface/editor/localize_settings: .. rst-class:: classref-property @@ -2731,6 +2769,18 @@ The preferred monitor to display the project manager. ---- +.. _class_EditorSettings_property_interface/editor/remember_window_size_and_position: + +.. rst-class:: classref-property + +:ref:`bool` **interface/editor/remember_window_size_and_position** :ref:`🔗` + +If ``true``, the editor window will remember its size, position, and which screen it was displayed on across restarts. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorSettings_property_interface/editor/save_each_scene_on_quit: .. rst-class:: classref-property @@ -2795,6 +2845,8 @@ The default **Auto** value will only enable this if the editor was compiled with \ **Note:** If :ref:`interface/editor/update_continuously` is ``true``, the spinner icon displays in red. +\ **Note:** If the editor was started with the ``--debug-canvas-item-redraw`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`, the update spinner will *never* display regardless of this setting's value. This is to avoid confusion with what would cause redrawing in real world scenarios. + .. rst-class:: classref-item-separator ---- @@ -2805,7 +2857,9 @@ The default **Auto** value will only enable this if the editor was compiled with :ref:`bool` **interface/editor/single_window_mode** :ref:`🔗` -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. +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. Single-window mode can be faster as it does not need to create a separate window for every popup and tooltip, which can be a slow operation depending on the operating system and rendering method in use. + +This is equivalent to :ref:`ProjectSettings.display/window/subwindows/embed_subwindows` in the running project, except the setting's value is inverted. \ **Note:** To query whether the editor can use multiple windows in an editor plugin, use :ref:`EditorInterface.is_multi_window_enabled` instead of querying the value of this editor setting. @@ -3681,7 +3735,33 @@ If ``true``, on Linux/BSD, the editor will check for Wayland first instead of X1 :ref:`int` **run/window_placement/android_window** :ref:`🔗` -The Android window to display the project on when starting the project from the editor. +Specifies how the Play window is launched relative to the Android editor. + +- **Auto (based on screen size)** (default) will automatically choose how to launch the Play window based on the device and screen metrics. Defaults to **Same as Editor** on phones and **Side-by-side with Editor** on tablets. + +- **Same as Editor** will launch the Play window in the same window as the Editor. + +- **Side-by-side with Editor** will launch the Play window side-by-side with the Editor window. + +\ **Note:** Only available in the Android editor. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorSettings_property_run/window_placement/play_window_pip_mode: + +.. rst-class:: classref-property + +:ref:`int` **run/window_placement/play_window_pip_mode** :ref:`🔗` + +Specifies the picture-in-picture (PiP) mode for the Play window. + +- **Disabled:** PiP is disabled for the Play window. + +- **Enabled:** If the device supports it, PiP is always enabled for the Play window. The Play window will contain a button to enter PiP mode. + +- **Enabled when Play window is same as Editor** (default for Android editor): If the device supports it, PiP is enabled when the Play window is the same as the Editor. The Play window will contain a button to enter PiP mode. \ **Note:** Only available in the Android editor. @@ -4153,7 +4233,7 @@ If ``true``, allows scrolling past the end of the file. :ref:`bool` **text_editor/behavior/navigation/smooth_scrolling** :ref:`🔗` -If ``true``, allows scrolling in sub-line intervals and enables a smooth scrolling animation when using the mouse wheel to scroll. +If ``true``, enables a smooth scrolling animation when using the mouse wheel to scroll. See :ref:`text_editor/behavior/navigation/v_scroll_speed` for the speed of this animation. \ **Note:** :ref:`text_editor/behavior/navigation/smooth_scrolling` currently behaves poorly in projects where :ref:`ProjectSettings.physics/common/physics_ticks_per_second` has been increased significantly from its default value (``60``). In this case, it is recommended to disable this setting. @@ -4203,7 +4283,7 @@ If ``true``, uses the characters in ```!"#$%&'()*+,-./:;<=>?@[\]^`{|}~``, the Un :ref:`int` **text_editor/behavior/navigation/v_scroll_speed** :ref:`🔗` -The number of pixels to scroll with every mouse wheel increment. Higher values make the script scroll by faster when using the mouse wheel. +The speed of scrolling in lines per second when :ref:`text_editor/behavior/navigation/smooth_scrolling` is ``true``. Higher values make the script scroll by faster when using the mouse wheel. \ **Note:** You can hold down :kbd:`Alt` while using the mouse wheel to temporarily scroll 5 times faster. @@ -4930,8 +5010,6 @@ Adds a custom property info to a property. The dictionary must contain: - optionally ``hint``: :ref:`int` (see :ref:`PropertyHint`) and ``hint_string``: :ref:`String`\ -\ **Example:**\ - .. tabs:: diff --git a/classes/class_editorspinslider.rst b/classes/class_editorspinslider.rst index 1906c45136a..0699cf88e13 100644 --- a/classes/class_editorspinslider.rst +++ b/classes/class_editorspinslider.rst @@ -49,6 +49,20 @@ Properties | :ref:`String` | :ref:`suffix` | ``""`` | +--------------------------------------------------------+-----------------------------------------------------------------+------------------------------------------------------------------------------+ +.. rst-class:: classref-reftable-group + +Theme Properties +---------------- + +.. table:: + :widths: auto + + +-----------------------------------+---------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`updown` | + +-----------------------------------+---------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`updown_disabled` | + +-----------------------------------+---------------------------------------------------------------------------+ + .. rst-class:: classref-section-separator ---- @@ -192,6 +206,35 @@ If ``true``, the slider can't be interacted with. The suffix to display after the value (in a faded color). This should generally be a plural word. You may have to use an abbreviation if the suffix is too long to be displayed. +.. rst-class:: classref-section-separator + +---- + +.. rst-class:: classref-descriptions-group + +Theme Property Descriptions +--------------------------- + +.. _class_EditorSpinSlider_theme_icon_updown: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **updown** :ref:`🔗` + +Single texture representing both the up and down buttons. + +.. rst-class:: classref-item-separator + +---- + +.. _class_EditorSpinSlider_theme_icon_updown_disabled: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **updown_disabled** :ref:`🔗` + +Single texture representing both the up and down buttons, when the control is readonly or disabled. + .. |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_editorsyntaxhighlighter.rst b/classes/class_editorsyntaxhighlighter.rst index 27f6bc9de21..0fc9fb80429 100644 --- a/classes/class_editorsyntaxhighlighter.rst +++ b/classes/class_editorsyntaxhighlighter.rst @@ -12,6 +12,8 @@ EditorSyntaxHighlighter **Inherits:** :ref:`SyntaxHighlighter` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` +**Inherited By:** :ref:`GDScriptSyntaxHighlighter` + Base class for :ref:`SyntaxHighlighter` used by the :ref:`ScriptEditor`. .. rst-class:: classref-introduction-group diff --git a/classes/class_editorundoredomanager.rst b/classes/class_editorundoredomanager.rst index 19b1042bf1e..5e0b31c8c78 100644 --- a/classes/class_editorundoredomanager.rst +++ b/classes/class_editorundoredomanager.rst @@ -56,6 +56,8 @@ Methods +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`add_undo_reference`\ (\ object\: :ref:`Object`\ ) | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`clear_history`\ (\ id\: :ref:`int` = -99, increase_version\: :ref:`bool` = true\ ) | + +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`commit_action`\ (\ execute\: :ref:`bool` = true\ ) | +---------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`create_action`\ (\ name\: :ref:`String`, merge_mode\: :ref:`MergeMode` = 0, custom_context\: :ref:`Object` = null, backward_undo_ops\: :ref:`bool` = false\ ) | @@ -226,6 +228,28 @@ Register a reference for "undo" that will be erased if the "undo" history is los ---- +.. _class_EditorUndoRedoManager_method_clear_history: + +.. rst-class:: classref-method + +|void| **clear_history**\ (\ id\: :ref:`int` = -99, increase_version\: :ref:`bool` = true\ ) :ref:`🔗` + +Clears the given undo history. You can clear history for a specific scene, global history, or for all scenes at once if ``id`` is :ref:`INVALID_HISTORY`. + +If ``increase_version`` is ``true``, the undo history version will be increased, marking it as unsaved. Useful for operations that modify the scene, but don't support undo. + +:: + + var scene_root = EditorInterface.get_edited_scene_root() + var undo_redo = EditorInterface.get_editor_undo_redo() + undo_redo.clear_history(undo_redo.get_object_history_id(scene_root)) + +\ **Note:** If you want to mark an edited scene as unsaved without clearing its history, use :ref:`EditorInterface.mark_scene_as_unsaved` instead. + +.. rst-class:: classref-item-separator + +---- + .. _class_EditorUndoRedoManager_method_commit_action: .. rst-class:: classref-method diff --git a/classes/class_filedialog.rst b/classes/class_filedialog.rst index 29bc9d9638e..b61b1c59457 100644 --- a/classes/class_filedialog.rst +++ b/classes/class_filedialog.rst @@ -279,7 +279,7 @@ Property Descriptions The file system access scope. See :ref:`Access` constants. -\ **Warning:** Currently, in sandboxed environments such as Web builds or sandboxed macOS apps, FileDialog cannot access the host file system. See `godot-proposals#1123 `__. +\ **Warning:** In Web builds, FileDialog cannot access the host file system. In sandboxed Linux and macOS environments, :ref:`use_native_dialog` is automatically used to allow limited access to host file system. .. rst-class:: classref-item-separator @@ -298,6 +298,8 @@ The file system access scope. See :ref:`Access` constant The current working directory of the file dialog. +\ **Note:** For native file dialogs, this property is only treated as a hint and may not be respected by specific OS implementations. + .. rst-class:: classref-item-separator ---- @@ -419,6 +421,8 @@ The number of additional :ref:`OptionButton`\ s and :ref:`Ch If non-empty, the given sub-folder will be "root" of this **FileDialog**, i.e. user won't be able to go to its parent directory. +\ **Note:** This property is ignored by native file dialogs. + .. rst-class:: classref-item-separator ---- @@ -436,6 +440,8 @@ If non-empty, the given sub-folder will be "root" of this **FileDialog**, i.e. u If ``true``, the dialog will show hidden files. +\ **Note:** This property is ignored by native file dialogs on Linux. + .. rst-class:: classref-item-separator ---- @@ -453,7 +459,11 @@ If ``true``, the dialog will show hidden files. If ``true``, :ref:`access` is set to :ref:`ACCESS_FILESYSTEM`, and it is supported by the current :ref:`DisplayServer`, OS native dialog will be used instead of custom one. -\ **Note:** On macOS, sandboxed apps always use native dialogs to access host filesystem. +\ **Note:** On Linux and macOS, sandboxed apps always use native dialogs to access the host file system. + +\ **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. + +\ **Note:** Native dialogs are isolated from the base process, file dialog properties can't be modified once the dialog is shown. .. rst-class:: classref-section-separator @@ -590,6 +600,8 @@ Returns the vertical box container of the dialog, custom controls can be added t \ **Warning:** This is a required internal node, removing and freeing it may cause a crash. If you wish to hide it or any of its children, use their :ref:`CanvasItem.visible` property. +\ **Note:** Changes to this node are ignored by native file dialogs, use :ref:`add_option` to add custom elements to the dialog instead. + .. rst-class:: classref-item-separator ---- @@ -602,6 +614,8 @@ Returns the vertical box container of the dialog, custom controls can be added t Invalidate and update the current dialog content list. +\ **Note:** This method does nothing on native file dialogs. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_font.rst b/classes/class_font.rst index 542dcb1a58d..0db4a8e1fc2 100644 --- a/classes/class_font.rst +++ b/classes/class_font.rst @@ -501,7 +501,7 @@ To print available variation axes of a variable font: :: var fv = FontVariation.new() - fv.set_base_font = load("res://RobotoFlex.ttf") + fv.base_font = load("res://RobotoFlex.ttf") var variation_list = fv.get_supported_variation_list() for tag in variation_list: var name = TextServerManager.get_primary_interface().tag_to_name(tag) diff --git a/classes/class_fontvariation.rst b/classes/class_fontvariation.rst index ea7a927b185..bedd7004382 100644 --- a/classes/class_fontvariation.rst +++ b/classes/class_fontvariation.rst @@ -29,8 +29,8 @@ To use simulated bold font variant: .. code-tab:: gdscript var fv = FontVariation.new() - fv.set_base_font(load("res://BarlowCondensed-Regular.ttf")) - fv.set_variation_embolden(1.2) + fv.base_font = load("res://BarlowCondensed-Regular.ttf") + fv.variation_embolden = 1.2 $Label.add_theme_font_override("font", fv) $Label.add_theme_font_size_override("font_size", 64) diff --git a/classes/class_gdextensionmanager.rst b/classes/class_gdextensionmanager.rst index 406d574613b..9352a887616 100644 --- a/classes/class_gdextensionmanager.rst +++ b/classes/class_gdextensionmanager.rst @@ -63,6 +63,34 @@ Methods Signals ------- +.. _class_GDExtensionManager_signal_extension_loaded: + +.. rst-class:: classref-signal + +**extension_loaded**\ (\ extension\: :ref:`GDExtension`\ ) :ref:`🔗` + +Emitted after the editor has finished loading a new extension. + +\ **Note:** This signal is only emitted in editor builds. + +.. rst-class:: classref-item-separator + +---- + +.. _class_GDExtensionManager_signal_extension_unloading: + +.. rst-class:: classref-signal + +**extension_unloading**\ (\ extension\: :ref:`GDExtension`\ ) :ref:`🔗` + +Emitted before the editor starts unloading an extension. + +\ **Note:** This signal is only emitted in editor builds. + +.. rst-class:: classref-item-separator + +---- + .. _class_GDExtensionManager_signal_extensions_reloaded: .. rst-class:: classref-signal diff --git a/classes/class_gdscriptsyntaxhighlighter.rst b/classes/class_gdscriptsyntaxhighlighter.rst new file mode 100644 index 00000000000..d49f2b44fcb --- /dev/null +++ b/classes/class_gdscriptsyntaxhighlighter.rst @@ -0,0 +1,48 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/gdscript/doc_classes/GDScriptSyntaxHighlighter.xml. + +.. _class_GDScriptSyntaxHighlighter: + +GDScriptSyntaxHighlighter +========================= + +**Inherits:** :ref:`EditorSyntaxHighlighter` **<** :ref:`SyntaxHighlighter` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` + +A GDScript syntax highlighter that can be used with :ref:`TextEdit` and :ref:`CodeEdit` nodes. + +.. rst-class:: classref-introduction-group + +Description +----------- + +**Note:** This class can only be used for editor plugins because it relies on editor settings. + + +.. tabs:: + + .. code-tab:: gdscript + + var code_preview = TextEdit.new() + var highlighter = GDScriptSyntaxHighlighter.new() + code_preview.syntax_highlighter = highlighter + + .. code-tab:: csharp + + var codePreview = new TextEdit(); + var highlighter = new GDScriptSyntaxHighlighter(); + codePreview.SyntaxHighlighter = highlighter; + + + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_geometry2d.rst b/classes/class_geometry2d.rst index dc692e09d7a..023e8858327 100644 --- a/classes/class_geometry2d.rst +++ b/classes/class_geometry2d.rst @@ -387,9 +387,40 @@ Returns ``true`` if ``polygon``'s vertices are ordered in clockwise order, other :ref:`Variant` **line_intersects_line**\ (\ from_a\: :ref:`Vector2`, dir_a\: :ref:`Vector2`, from_b\: :ref:`Vector2`, dir_b\: :ref:`Vector2`\ ) :ref:`🔗` -Checks if the two lines (``from_a``, ``dir_a``) and (``from_b``, ``dir_b``) intersect. If yes, return the point of intersection as :ref:`Vector2`. If no intersection takes place, returns ``null``. +Returns the point of intersection between the two lines (``from_a``, ``dir_a``) and (``from_b``, ``dir_b``). Returns a :ref:`Vector2`, or ``null`` if the lines are parallel. + +\ ``from`` and ``dir`` are *not* endpoints of a line segment or ray but the slope (``dir``) and a known point (``from``) on that line. + + +.. tabs:: + + .. code-tab:: gdscript + + var from_a = Vector2.ZERO + var dir_a = Vector2.RIGHT + var from_b = Vector2.DOWN + + # Returns Vector2(1, 0) + Geometry2D.line_intersects_line(from_a, dir_a, from_b, Vector2(1, -1)) + # Returns Vector2(-1, 0) + Geometry2D.line_intersects_line(from_a, dir_a, from_b, Vector2(-1, -1)) + # Returns null + Geometry2D.line_intersects_line(from_a, dir_a, from_b, Vector2.RIGHT) + + .. code-tab:: csharp + + var fromA = Vector2.Zero; + var dirA = Vector2.Right; + var fromB = Vector2.Down; + + // Returns new Vector2(1, 0) + Geometry2D.LineIntersectsLine(fromA, dirA, fromB, new Vector2(1, -1)); + // Returns new Vector2(-1, 0) + Geometry2D.LineIntersectsLine(fromA, dirA, fromB, new Vector2(-1, -1)); + // Returns null + Geometry2D.LineIntersectsLine(fromA, dirA, fromB, Vector2.Right); + -\ **Note:** The lines are specified using direction vectors, not end points. .. rst-class:: classref-item-separator diff --git a/classes/class_gltfaccessor.rst b/classes/class_gltfaccessor.rst index d3febd05a38..dc3b57eba93 100644 --- a/classes/class_gltfaccessor.rst +++ b/classes/class_gltfaccessor.rst @@ -12,16 +12,16 @@ GLTFAccessor **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Represents a GLTF accessor. +Represents a glTF accessor. .. rst-class:: classref-introduction-group Description ----------- -GLTFAccessor is a data structure representing GLTF a ``accessor`` that would be found in the ``"accessors"`` array. A buffer is a blob of binary data. A buffer view is a slice of a buffer. An accessor is a typed interpretation of the data in a buffer view. +GLTFAccessor is a data structure representing a glTF ``accessor`` that would be found in the ``"accessors"`` array. A buffer is a blob of binary data. A buffer view is a slice of a buffer. An accessor is a typed interpretation of the data in a buffer view. -Most custom data stored in GLTF does not need accessors, only buffer views (see :ref:`GLTFBufferView`). Accessors are for more advanced use cases such as interleaved mesh data encoded for the GPU. +Most custom data stored in glTF does not need accessors, only buffer views (see :ref:`GLTFBufferView`). Accessors are for more advanced use cases such as interleaved mesh data encoded for the GPU. .. rst-class:: classref-introduction-group @@ -163,7 +163,7 @@ Property Descriptions - |void| **set_accessor_type**\ (\ value\: :ref:`GLTFAccessorType`\ ) - :ref:`GLTFAccessorType` **get_accessor_type**\ (\ ) -The GLTF accessor type as an enum. Possible values are 0 for "SCALAR", 1 for "VEC2", 2 for "VEC3", 3 for "VEC4", 4 for "MAT2", 5 for "MAT3", and 6 for "MAT4". +The glTF accessor type as an enum. Possible values are 0 for "SCALAR", 1 for "VEC2", 2 for "VEC3", 3 for "VEC4", 4 for "MAT2", 5 for "MAT3", and 6 for "MAT4". .. rst-class:: classref-item-separator @@ -214,7 +214,7 @@ The offset relative to the start of the buffer view in bytes. - |void| **set_component_type**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_component_type**\ (\ ) -The GLTF component type as an enum. Possible values are 5120 for "BYTE", 5121 for "UNSIGNED_BYTE", 5122 for "SHORT", 5123 for "UNSIGNED_SHORT", 5125 for "UNSIGNED_INT", and 5126 for "FLOAT". A value of 5125 or "UNSIGNED_INT" must not be used for any accessor that is not referenced by mesh.primitive.indices. +The glTF component type as an enum. Possible values are 5120 for "BYTE", 5121 for "UNSIGNED_BYTE", 5122 for "SHORT", 5123 for "UNSIGNED_SHORT", 5125 for "UNSIGNED_INT", and 5126 for "FLOAT". A value of 5125 or "UNSIGNED_INT" must not be used for any accessor that is not referenced by mesh.primitive.indices. .. rst-class:: classref-item-separator @@ -403,7 +403,7 @@ The offset relative to the start of the bufferView in bytes. **Deprecated:** Use :ref:`accessor_type` instead. -The GLTF accessor type as an enum. Use :ref:`accessor_type` instead. +The glTF accessor type as an enum. Use :ref:`accessor_type` 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.)` diff --git a/classes/class_gltfanimation.rst b/classes/class_gltfanimation.rst index fd6195bdee6..1b5b651824b 100644 --- a/classes/class_gltfanimation.rst +++ b/classes/class_gltfanimation.rst @@ -109,7 +109,7 @@ Method Descriptions Gets additional arbitrary data in this **GLTFAnimation** instance. This can be used to keep per-node state data in :ref:`GLTFDocumentExtension` classes, which is important because they are stateless. -The argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the GLTF file), and the return value can be anything you set. If nothing was set, the return value is null. +The argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the glTF file), and the return value can be anything you set. If nothing was set, the return value is null. .. rst-class:: classref-item-separator @@ -123,7 +123,7 @@ The argument should be the :ref:`GLTFDocumentExtension` classes, which is important because they are stateless. -The first argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the GLTF file), and the second argument can be anything you want. +The first argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the glTF file), and the second argument can be anything you want. .. |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_gltfbufferview.rst b/classes/class_gltfbufferview.rst index dc1f3c1cb81..2bc977316a4 100644 --- a/classes/class_gltfbufferview.rst +++ b/classes/class_gltfbufferview.rst @@ -12,14 +12,14 @@ GLTFBufferView **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Represents a GLTF buffer view. +Represents a glTF buffer view. .. rst-class:: classref-introduction-group Description ----------- -GLTFBufferView is a data structure representing GLTF a ``bufferView`` that would be found in the ``"bufferViews"`` array. A buffer is a blob of binary data. A buffer view is a slice of a buffer that can be used to identify and extract data from the buffer. +GLTFBufferView is a data structure representing a glTF ``bufferView`` that would be found in the ``"bufferViews"`` array. A buffer is a blob of binary data. A buffer view is a slice of a buffer that can be used to identify and extract data from the buffer. Most custom uses of buffers only need to use the :ref:`buffer`, :ref:`byte_length`, and :ref:`byte_offset`. The :ref:`byte_stride` and :ref:`indices` properties are for more advanced use cases such as interleaved mesh data encoded for the GPU. diff --git a/classes/class_gltfcamera.rst b/classes/class_gltfcamera.rst index 418bbfa1c25..b1eced242cc 100644 --- a/classes/class_gltfcamera.rst +++ b/classes/class_gltfcamera.rst @@ -12,14 +12,14 @@ GLTFCamera **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Represents a GLTF camera. +Represents a glTF camera. .. rst-class:: classref-introduction-group Description ----------- -Represents a camera as defined by the base GLTF spec. +Represents a camera as defined by the base glTF spec. .. rst-class:: classref-introduction-group @@ -28,9 +28,9 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `GLTF camera detailed specification `__ +- `glTF camera detailed specification `__ -- `GLTF camera spec and example file `__ +- `glTF camera spec and example file `__ .. rst-class:: classref-reftable-group @@ -90,7 +90,7 @@ Property Descriptions - |void| **set_depth_far**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_depth_far**\ (\ ) -The distance to the far culling boundary for this camera relative to its local Z axis, in meters. This maps to GLTF's ``zfar`` property. +The distance to the far culling boundary for this camera relative to its local Z axis, in meters. This maps to glTF's ``zfar`` property. .. rst-class:: classref-item-separator @@ -107,7 +107,7 @@ The distance to the far culling boundary for this camera relative to its local Z - |void| **set_depth_near**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_depth_near**\ (\ ) -The distance to the near culling boundary for this camera relative to its local Z axis, in meters. This maps to GLTF's ``znear`` property. +The distance to the near culling boundary for this camera relative to its local Z axis, in meters. This maps to glTF's ``znear`` property. .. rst-class:: classref-item-separator @@ -124,7 +124,7 @@ The distance to the near culling boundary for this camera relative to its local - |void| **set_fov**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_fov**\ (\ ) -The FOV of the camera. This class and GLTF define the camera FOV in radians, while Godot uses degrees. This maps to GLTF's ``yfov`` property. This value is only used for perspective cameras, when :ref:`perspective` is true. +The FOV of the camera. This class and glTF define the camera FOV in radians, while Godot uses degrees. This maps to glTF's ``yfov`` property. This value is only used for perspective cameras, when :ref:`perspective` is true. .. rst-class:: classref-item-separator @@ -141,7 +141,7 @@ The FOV of the camera. This class and GLTF define the camera FOV in radians, whi - |void| **set_perspective**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **get_perspective**\ (\ ) -Whether or not the camera is in perspective mode. If false, the camera is in orthographic/orthogonal mode. This maps to GLTF's camera ``type`` property. See :ref:`Camera3D.projection` and the GLTF spec for more information. +Whether or not the camera is in perspective mode. If false, the camera is in orthographic/orthogonal mode. This maps to glTF's camera ``type`` property. See :ref:`Camera3D.projection` and the glTF spec for more information. .. rst-class:: classref-item-separator @@ -158,7 +158,7 @@ Whether or not the camera is in perspective mode. If false, the camera is in ort - |void| **set_size_mag**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_size_mag**\ (\ ) -The size of the camera. This class and GLTF define the camera size magnitude as a radius in meters, while Godot defines it as a diameter in meters. This maps to GLTF's ``ymag`` property. This value is only used for orthographic/orthogonal cameras, when :ref:`perspective` is false. +The size of the camera. This class and glTF define the camera size magnitude as a radius in meters, while Godot defines it as a diameter in meters. This maps to glTF's ``ymag`` property. This value is only used for orthographic/orthogonal cameras, when :ref:`perspective` is false. .. rst-class:: classref-section-separator diff --git a/classes/class_gltfdocument.rst b/classes/class_gltfdocument.rst index f5d8a657bc0..8401f4c3592 100644 --- a/classes/class_gltfdocument.rst +++ b/classes/class_gltfdocument.rst @@ -23,7 +23,7 @@ Description GLTFDocument supports reading data from a glTF file, buffer, or Godot scene. This data can then be written to the filesystem, buffer, or used to create a Godot scene. -All of the data in a GLTF scene is stored in the :ref:`GLTFState` class. GLTFDocument processes state objects, but does not contain any scene data itself. GLTFDocument has member variables to store export configuration settings such as the image format, but is otherwise stateless. Multiple scenes can be processed with the same settings using the same GLTFDocument object and different :ref:`GLTFState` objects. +All of the data in a glTF scene is stored in the :ref:`GLTFState` class. GLTFDocument processes state objects, but does not contain any scene data itself. GLTFDocument has member variables to store export configuration settings such as the image format, but is otherwise stateless. Multiple scenes can be processed with the same settings using the same GLTFDocument object and different :ref:`GLTFState` objects. GLTFDocument can be extended with arbitrary functionality by extending the :ref:`GLTFDocumentExtension` class and registering it with GLTFDocument via :ref:`register_gltf_document_extension`. This allows for custom data to be imported and exported. @@ -62,23 +62,25 @@ Methods .. table:: :widths: auto - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`append_from_buffer`\ (\ bytes\: :ref:`PackedByteArray`, base_path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) | - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`append_from_file`\ (\ path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0, base_path\: :ref:`String` = ""\ ) | - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`append_from_scene`\ (\ node\: :ref:`Node`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) | - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`PackedByteArray` | :ref:`generate_buffer`\ (\ state\: :ref:`GLTFState`\ ) | - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Node` | :ref:`generate_scene`\ (\ state\: :ref:`GLTFState`, bake_fps\: :ref:`float` = 30, trimming\: :ref:`bool` = false, remove_immutable_tracks\: :ref:`bool` = true\ ) | - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`register_gltf_document_extension`\ (\ extension\: :ref:`GLTFDocumentExtension`, first_priority\: :ref:`bool` = false\ ) |static| | - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`unregister_gltf_document_extension`\ (\ extension\: :ref:`GLTFDocumentExtension`\ ) |static| | - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`write_to_filesystem`\ (\ state\: :ref:`GLTFState`, path\: :ref:`String`\ ) | - +-----------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`append_from_buffer`\ (\ bytes\: :ref:`PackedByteArray`, base_path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`append_from_file`\ (\ path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0, base_path\: :ref:`String` = ""\ ) | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`append_from_scene`\ (\ node\: :ref:`Node`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedByteArray` | :ref:`generate_buffer`\ (\ state\: :ref:`GLTFState`\ ) | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Node` | :ref:`generate_scene`\ (\ state\: :ref:`GLTFState`, bake_fps\: :ref:`float` = 30, trimming\: :ref:`bool` = false, remove_immutable_tracks\: :ref:`bool` = true\ ) | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_supported_gltf_extensions`\ (\ ) |static| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`register_gltf_document_extension`\ (\ extension\: :ref:`GLTFDocumentExtension`, first_priority\: :ref:`bool` = false\ ) |static| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`unregister_gltf_document_extension`\ (\ extension\: :ref:`GLTFDocumentExtension`\ ) |static| | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Error` | :ref:`write_to_filesystem`\ (\ state\: :ref:`GLTFState`, path\: :ref:`String`\ ) | + +---------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -139,7 +141,7 @@ Property Descriptions - |void| **set_image_format**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_image_format**\ (\ ) -The user-friendly name of the export image format. This is used when exporting the GLTF file, including writing to a file and writing to a byte array. +The user-friendly name of the export image format. This is used when exporting the glTF file, including writing to a file and writing to a byte array. By default, Godot allows the following options: "None", "PNG", "JPEG", "Lossless WebP", and "Lossy WebP". Support for more image formats can be added in :ref:`GLTFDocumentExtension` classes. @@ -194,7 +196,7 @@ Method Descriptions :ref:`Error` **append_from_buffer**\ (\ bytes\: :ref:`PackedByteArray`, base_path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0\ ) :ref:`🔗` -Takes a :ref:`PackedByteArray` defining a GLTF and imports the data to the given :ref:`GLTFState` object through the ``state`` parameter. +Takes a :ref:`PackedByteArray` defining a glTF and imports the data to the given :ref:`GLTFState` object through the ``state`` parameter. \ **Note:** The ``base_path`` tells :ref:`append_from_buffer` where to find dependencies and can be empty. @@ -208,7 +210,7 @@ Takes a :ref:`PackedByteArray` defining a GLTF and import :ref:`Error` **append_from_file**\ (\ path\: :ref:`String`, state\: :ref:`GLTFState`, flags\: :ref:`int` = 0, base_path\: :ref:`String` = ""\ ) :ref:`🔗` -Takes a path to a GLTF file and imports the data at that file path to the given :ref:`GLTFState` object through the ``state`` parameter. +Takes a path to a glTF file and imports the data at that file path to the given :ref:`GLTFState` object through the ``state`` parameter. \ **Note:** The ``base_path`` tells :ref:`append_from_file` where to find dependencies and can be empty. @@ -234,7 +236,7 @@ Takes a Godot Engine scene node and exports it and its descendants to the given :ref:`PackedByteArray` **generate_buffer**\ (\ state\: :ref:`GLTFState`\ ) :ref:`🔗` -Takes a :ref:`GLTFState` object through the ``state`` parameter and returns a GLTF :ref:`PackedByteArray`. +Takes a :ref:`GLTFState` object through the ``state`` parameter and returns a glTF :ref:`PackedByteArray`. .. rst-class:: classref-item-separator @@ -254,6 +256,20 @@ The ``bake_fps`` parameter overrides the bake_fps in ``state``. ---- +.. _class_GLTFDocument_method_get_supported_gltf_extensions: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **get_supported_gltf_extensions**\ (\ ) |static| :ref:`🔗` + +Returns a list of all support glTF extensions, including extensions supported directly by the engine, and extensions supported by user plugins registering :ref:`GLTFDocumentExtension` classes. + +\ **Note:** If this method is run before a GLTFDocumentExtension is registered, its extensions won't be included in the list. Be sure to only run this method after all extensions are registered. If you run this when the engine starts, consider waiting a frame before calling this method to ensure all extensions are registered. + +.. rst-class:: classref-item-separator + +---- + .. _class_GLTFDocument_method_register_gltf_document_extension: .. rst-class:: classref-method diff --git a/classes/class_gltfdocumentextension.rst b/classes/class_gltfdocumentextension.rst index 9daad61f3f2..8e846284b76 100644 --- a/classes/class_gltfdocumentextension.rst +++ b/classes/class_gltfdocumentextension.rst @@ -21,7 +21,7 @@ GLTFDocumentExtension Description ----------- -Extends the functionality of the :ref:`GLTFDocument` class by allowing you to run arbitrary code at various stages of GLTF import or export. +Extends the functionality of the :ref:`GLTFDocument` class by allowing you to run arbitrary code at various stages of glTF import or export. To use, make a new class extending GLTFDocumentExtension, override any methods you need, make an instance of your class, and register it using :ref:`GLTFDocument.register_gltf_document_extension`. @@ -113,7 +113,7 @@ Runs when converting the data from a Godot scene node. This method can be used t Part of the export process. This method is run after :ref:`_get_saveable_image_formats` and before :ref:`_export_post`. If this **GLTFDocumentExtension** is used for exporting images, this runs after :ref:`_serialize_texture_json`. -This method can be used to modify the final JSON of each node. Data should be primarily stored in ``gltf_node`` prior to serializing the JSON, but the original Godot ``node`` is also provided if available. The node may be null if not available, such as when exporting GLTF data not generated from a Godot scene. +This method can be used to modify the final JSON of each node. Data should be primarily stored in ``gltf_node`` prior to serializing the JSON, but the original Godot ``node`` is also provided if available. The node may be null if not available, such as when exporting glTF data not generated from a Godot scene. .. rst-class:: classref-item-separator @@ -127,7 +127,7 @@ This method can be used to modify the final JSON of each node. Data should be pr Part of the export process. This method is run last, after all other parts of the export process. -This method can be used to modify the final JSON of the generated GLTF file. +This method can be used to modify the final JSON of the generated glTF file. .. rst-class:: classref-item-separator @@ -141,7 +141,7 @@ This method can be used to modify the final JSON of the generated GLTF file. Part of the export process. This method is run first, before all other parts of the export process. -The return value is used to determine if this **GLTFDocumentExtension** instance should be used for exporting a given GLTF file. If :ref:`@GlobalScope.OK`, the export will use this **GLTFDocumentExtension** instance. If not overridden, :ref:`@GlobalScope.OK` is returned. +The return value is used to determine if this **GLTFDocumentExtension** instance should be used for exporting a given glTF file. If :ref:`@GlobalScope.OK`, the export will use this **GLTFDocumentExtension** instance. If not overridden, :ref:`@GlobalScope.OK` is returned. .. rst-class:: classref-item-separator @@ -211,7 +211,7 @@ Returns an array of the image formats that can be saved/exported by this extensi Part of the import process. This method is run after :ref:`_import_preflight` and before :ref:`_parse_node_extensions`. -Returns an array of the GLTF extensions supported by this GLTFDocumentExtension class. This is used to validate if a GLTF file with required extensions can be loaded. +Returns an array of the glTF extensions supported by this GLTFDocumentExtension class. This is used to validate if a glTF file with required extensions can be loaded. .. rst-class:: classref-item-separator @@ -267,7 +267,7 @@ This method can be used to modify any of the data imported so far after parsing, Part of the import process. This method is run first, before all other parts of the import process. -The return value is used to determine if this **GLTFDocumentExtension** instance should be used for importing a given GLTF file. If :ref:`@GlobalScope.OK`, the import will use this **GLTFDocumentExtension** instance. If not overridden, :ref:`@GlobalScope.OK` is returned. +The return value is used to determine if this **GLTFDocumentExtension** instance should be used for importing a given glTF file. If :ref:`@GlobalScope.OK`, the import will use this **GLTFDocumentExtension** instance. If not overridden, :ref:`@GlobalScope.OK` is returned. .. rst-class:: classref-item-separator @@ -281,7 +281,7 @@ The return value is used to determine if this **GLTFDocumentExtension** instance Part of the import process. This method is run after :ref:`_parse_node_extensions` and before :ref:`_parse_texture_json`. -Runs when parsing image data from a GLTF file. The data could be sourced from a separate file, a URI, or a buffer, and then is passed as a byte array. +Runs when parsing image data from a glTF file. The data could be sourced from a separate file, a URI, or a buffer, and then is passed as a byte array. .. rst-class:: classref-item-separator @@ -309,7 +309,7 @@ Runs when parsing the node extensions of a GLTFNode. This method can be used to Part of the import process. This method is run after :ref:`_parse_image_data` and before :ref:`_generate_scene_node`. -Runs when parsing the texture JSON from the GLTF textures array. This can be used to set the source image index to use as the texture. +Runs when parsing the texture JSON from the glTF textures array. This can be used to set the source image index to use as the texture. .. rst-class:: classref-item-separator @@ -323,7 +323,7 @@ Runs when parsing the texture JSON from the GLTF textures array. This can be use Part of the export process. This method is run after :ref:`_get_saveable_image_formats` and before :ref:`_serialize_texture_json`. -This method is run when saving images separately from the GLTF file. When images are embedded, :ref:`_serialize_image_to_bytes` runs instead. Note that these methods only run when this **GLTFDocumentExtension** is selected as the image exporter. +This method is run when saving images separately from the glTF file. When images are embedded, :ref:`_serialize_image_to_bytes` runs instead. Note that these methods only run when this **GLTFDocumentExtension** is selected as the image exporter. .. rst-class:: classref-item-separator @@ -337,7 +337,7 @@ This method is run when saving images separately from the GLTF file. When images Part of the export process. This method is run after :ref:`_get_saveable_image_formats` and before :ref:`_serialize_texture_json`. -This method is run when embedding images in the GLTF file. When images are saved separately, :ref:`_save_image_at_path` runs instead. Note that these methods only run when this **GLTFDocumentExtension** is selected as the image exporter. +This method is run when embedding images in the glTF file. When images are saved separately, :ref:`_save_image_at_path` runs instead. Note that these methods only run when this **GLTFDocumentExtension** is selected as the image exporter. This method must set the image MIME type in the ``image_dict`` with the ``"mimeType"`` key. For example, for a PNG image, it would be set to ``"image/png"``. The return value must be a :ref:`PackedByteArray` containing the image data. diff --git a/classes/class_gltflight.rst b/classes/class_gltflight.rst index d92a7c3a890..f9c74903bc1 100644 --- a/classes/class_gltflight.rst +++ b/classes/class_gltflight.rst @@ -12,14 +12,14 @@ GLTFLight **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Represents a GLTF light. +Represents a glTF light. .. rst-class:: classref-introduction-group Description ----------- -Represents a light as defined by the ``KHR_lights_punctual`` GLTF extension. +Represents a light as defined by the ``KHR_lights_punctual`` glTF extension. .. rst-class:: classref-introduction-group @@ -28,7 +28,7 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `KHR_lights_punctual GLTF extension spec `__ +- `KHR_lights_punctual glTF extension spec `__ .. rst-class:: classref-reftable-group @@ -183,7 +183,7 @@ At this angle, the light drops off to zero brightness. Between the inner and out - |void| **set_range**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_range**\ (\ ) -The range of the light, beyond which the light has no effect. GLTF lights with no range defined behave like physical lights (which have infinite range). When creating a Godot light, the range is clamped to 4096. +The range of the light, beyond which the light has no effect. glTF lights with no range defined behave like physical lights (which have infinite range). When creating a Godot light, the range is clamped to 4096. .. rst-class:: classref-section-separator diff --git a/classes/class_gltfmesh.rst b/classes/class_gltfmesh.rst index 1003478aa10..d56c474eec9 100644 --- a/classes/class_gltfmesh.rst +++ b/classes/class_gltfmesh.rst @@ -12,14 +12,14 @@ GLTFMesh **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -GLTFMesh represents a GLTF mesh. +GLTFMesh represents a glTF mesh. .. rst-class:: classref-introduction-group Description ----------- -GLTFMesh handles 3D mesh data imported from GLTF files. It includes properties for blend channels, blend weights, instance materials, and the mesh itself. +GLTFMesh handles 3D mesh data imported from glTF files. It includes properties for blend channels, blend weights, instance materials, and the mesh itself. .. rst-class:: classref-introduction-group @@ -152,7 +152,7 @@ Method Descriptions Gets additional arbitrary data in this **GLTFMesh** instance. This can be used to keep per-node state data in :ref:`GLTFDocumentExtension` classes, which is important because they are stateless. -The argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the GLTF file), and the return value can be anything you set. If nothing was set, the return value is null. +The argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the glTF file), and the return value can be anything you set. If nothing was set, the return value is null. .. rst-class:: classref-item-separator @@ -166,7 +166,7 @@ The argument should be the :ref:`GLTFDocumentExtension` classes, which is important because they are stateless. -The first argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the GLTF file), and the second argument can be anything you want. +The first argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the glTF file), and the second argument can be anything you want. .. |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_gltfnode.rst b/classes/class_gltfnode.rst index dde695d27d3..77459360253 100644 --- a/classes/class_gltfnode.rst +++ b/classes/class_gltfnode.rst @@ -12,16 +12,16 @@ GLTFNode **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -GLTF node class. +glTF node class. .. rst-class:: classref-introduction-group Description ----------- -Represents a GLTF node. GLTF nodes may have names, transforms, children (other GLTF nodes), and more specialized properties (represented by their own classes). +Represents a glTF node. glTF nodes may have names, transforms, children (other glTF nodes), and more specialized properties (represented by their own classes). -GLTF nodes generally exist inside of :ref:`GLTFState` which represents all data of a GLTF file. Most of GLTFNode's properties are indices of other data in the GLTF file. You can extend a GLTF node with additional properties by using :ref:`get_additional_data` and :ref:`set_additional_data`. +glTF nodes generally exist inside of :ref:`GLTFState` which represents all data of a glTF file. Most of GLTFNode's properties are indices of other data in the glTF file. You can extend a glTF node with additional properties by using :ref:`get_additional_data` and :ref:`set_additional_data`. .. rst-class:: classref-introduction-group @@ -30,7 +30,7 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `GLTF scene and node spec `__ +- `glTF scene and node spec `__ .. rst-class:: classref-reftable-group @@ -102,7 +102,7 @@ Property Descriptions - |void| **set_camera**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_camera**\ (\ ) -If this GLTF node is a camera, the index of the :ref:`GLTFCamera` in the :ref:`GLTFState` that describes the camera's properties. If -1, this node is not a camera. +If this glTF node is a camera, the index of the :ref:`GLTFCamera` in the :ref:`GLTFState` that describes the camera's properties. If -1, this node is not a camera. .. rst-class:: classref-item-separator @@ -119,7 +119,7 @@ If this GLTF node is a camera, the index of the :ref:`GLTFCamera`\ ) - :ref:`PackedInt32Array` **get_children**\ (\ ) -The indices of the child nodes in the :ref:`GLTFState`. If this GLTF node has no children, this will be an empty array. +The indices of the child nodes in the :ref:`GLTFState`. If this glTF node has no children, this will be an empty array. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedInt32Array` for more details. @@ -155,7 +155,7 @@ How deep into the node hierarchy this node is. A root node will have a height of - |void| **set_light**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_light**\ (\ ) -If this GLTF node is a light, the index of the :ref:`GLTFLight` in the :ref:`GLTFState` that describes the light's properties. If -1, this node is not a light. +If this glTF node is a light, the index of the :ref:`GLTFLight` in the :ref:`GLTFState` that describes the light's properties. If -1, this node is not a light. .. rst-class:: classref-item-separator @@ -172,7 +172,7 @@ If this GLTF node is a light, the index of the :ref:`GLTFLight` - |void| **set_mesh**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_mesh**\ (\ ) -If this GLTF node is a mesh, the index of the :ref:`GLTFMesh` in the :ref:`GLTFState` that describes the mesh's properties. If -1, this node is not a mesh. +If this glTF node is a mesh, the index of the :ref:`GLTFMesh` in the :ref:`GLTFState` that describes the mesh's properties. If -1, this node is not a mesh. .. rst-class:: classref-item-separator @@ -223,7 +223,7 @@ The index of the parent node in the :ref:`GLTFState`. If -1, th - |void| **set_position**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_position**\ (\ ) -The position of the GLTF node relative to its parent. +The position of the glTF node relative to its parent. .. rst-class:: classref-item-separator @@ -240,7 +240,7 @@ The position of the GLTF node relative to its parent. - |void| **set_rotation**\ (\ value\: :ref:`Quaternion`\ ) - :ref:`Quaternion` **get_rotation**\ (\ ) -The rotation of the GLTF node relative to its parent. +The rotation of the glTF node relative to its parent. .. rst-class:: classref-item-separator @@ -257,7 +257,7 @@ The rotation of the GLTF node relative to its parent. - |void| **set_scale**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_scale**\ (\ ) -The scale of the GLTF node relative to its parent. +The scale of the glTF node relative to its parent. .. rst-class:: classref-item-separator @@ -274,7 +274,7 @@ The scale of the GLTF node relative to its parent. - |void| **set_skeleton**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_skeleton**\ (\ ) -If this GLTF node has a skeleton, the index of the :ref:`GLTFSkeleton` in the :ref:`GLTFState` that describes the skeleton's properties. If -1, this node does not have a skeleton. +If this glTF node has a skeleton, the index of the :ref:`GLTFSkeleton` in the :ref:`GLTFState` that describes the skeleton's properties. If -1, this node does not have a skeleton. .. rst-class:: classref-item-separator @@ -291,7 +291,7 @@ If this GLTF node has a skeleton, the index of the :ref:`GLTFSkeleton`\ ) - :ref:`int` **get_skin**\ (\ ) -If this GLTF node has a skin, the index of the :ref:`GLTFSkin` in the :ref:`GLTFState` that describes the skin's properties. If -1, this node does not have a skin. +If this glTF node has a skin, the index of the :ref:`GLTFSkin` in the :ref:`GLTFState` that describes the skin's properties. If -1, this node does not have a skin. .. rst-class:: classref-item-separator @@ -308,7 +308,7 @@ If this GLTF node has a skin, the index of the :ref:`GLTFSkin` i - |void| **set_xform**\ (\ value\: :ref:`Transform3D`\ ) - :ref:`Transform3D` **get_xform**\ (\ ) -The transform of the GLTF node relative to its parent. This property is usually unused since the position, rotation, and scale properties are preferred. +The transform of the glTF node relative to its parent. This property is usually unused since the position, rotation, and scale properties are preferred. .. rst-class:: classref-section-separator @@ -327,7 +327,7 @@ Method Descriptions Gets additional arbitrary data in this **GLTFNode** instance. This can be used to keep per-node state data in :ref:`GLTFDocumentExtension` classes, which is important because they are stateless. -The argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the GLTF file), and the return value can be anything you set. If nothing was set, the return value is null. +The argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the glTF file), and the return value can be anything you set. If nothing was set, the return value is null. .. rst-class:: classref-item-separator @@ -341,7 +341,7 @@ The argument should be the :ref:`GLTFDocumentExtension` classes, which is important because they are stateless. -The first argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the GLTF file), and the second argument can be anything you want. +The first argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the glTF file), and the second argument can be anything you want. .. |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_gltfphysicsbody.rst b/classes/class_gltfphysicsbody.rst index 4eb9962f904..e2879a47810 100644 --- a/classes/class_gltfphysicsbody.rst +++ b/classes/class_gltfphysicsbody.rst @@ -12,14 +12,14 @@ GLTFPhysicsBody **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Represents a GLTF physics body. +Represents a glTF physics body. .. rst-class:: classref-introduction-group Description ----------- -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. +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 @@ -28,7 +28,7 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `OMI_physics_body GLTF extension `__ +- `OMI_physics_body glTF extension `__ .. rst-class:: classref-reftable-group @@ -236,7 +236,7 @@ Method Descriptions :ref:`GLTFPhysicsBody` **from_dictionary**\ (\ dictionary\: :ref:`Dictionary`\ ) |static| :ref:`🔗` -Creates a new GLTFPhysicsBody instance by parsing the given :ref:`Dictionary` in the ``OMI_physics_body`` GLTF extension format. +Creates a new GLTFPhysicsBody instance by parsing the given :ref:`Dictionary` in the ``OMI_physics_body`` glTF extension format. .. rst-class:: classref-item-separator @@ -260,7 +260,7 @@ Creates a new GLTFPhysicsBody instance from the given Godot :ref:`CollisionObjec :ref:`Dictionary` **to_dictionary**\ (\ ) |const| :ref:`🔗` -Serializes this GLTFPhysicsBody instance into a :ref:`Dictionary`. It will be in the format expected by the ``OMI_physics_body`` GLTF extension. +Serializes this GLTFPhysicsBody instance into a :ref:`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 b0b5cb10d41..fae4b8bd87b 100644 --- a/classes/class_gltfphysicsshape.rst +++ b/classes/class_gltfphysicsshape.rst @@ -12,14 +12,14 @@ GLTFPhysicsShape **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Represents a GLTF physics shape. +Represents a glTF physics shape. .. rst-class:: classref-introduction-group Description ----------- -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. +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,9 +28,9 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `OMI_physics_shape GLTF extension `__ +- `OMI_physics_shape glTF extension `__ -- `OMI_collider GLTF extension `__ +- `OMI_collider glTF extension `__ .. rst-class:: classref-reftable-group @@ -151,7 +151,7 @@ This is the only variable not used in the :ref:`to_node`\ ) - :ref:`int` **get_mesh_index**\ (\ ) -The index of the shape's mesh in the GLTF file. This is only used when the shape type is "hull" (convex hull) or "trimesh" (concave trimesh). +The index of the shape's mesh in the glTF file. This is only used when the shape type is "hull" (convex hull) or "trimesh" (concave trimesh). .. rst-class:: classref-item-separator diff --git a/classes/class_gltfskeleton.rst b/classes/class_gltfskeleton.rst index 9951dfc18aa..2c18ecaea1d 100644 --- a/classes/class_gltfskeleton.rst +++ b/classes/class_gltfskeleton.rst @@ -147,7 +147,7 @@ Method Descriptions :ref:`Dictionary` **get_godot_bone_node**\ (\ ) :ref:`🔗` -Returns a :ref:`Dictionary` that maps skeleton bone indices to the indices of GLTF nodes. This property is unused during import, and only set during export. In a GLTF file, a bone is a node, so Godot converts skeleton bones to GLTF nodes. +Returns a :ref:`Dictionary` that maps skeleton bone indices to the indices of glTF nodes. This property is unused during import, and only set during export. In a glTF file, a bone is a node, so Godot converts skeleton bones to glTF nodes. .. rst-class:: classref-item-separator @@ -187,7 +187,7 @@ Returns a :ref:`Dictionary` that maps skeleton bone indices to |void| **set_godot_bone_node**\ (\ godot_bone_node\: :ref:`Dictionary`\ ) :ref:`🔗` -Sets a :ref:`Dictionary` that maps skeleton bone indices to the indices of GLTF nodes. This property is unused during import, and only set during export. In a GLTF file, a bone is a node, so Godot converts skeleton bones to GLTF nodes. +Sets a :ref:`Dictionary` that maps skeleton bone indices to the indices of glTF nodes. This property is unused during import, and only set during export. In a glTF file, a bone is a node, so Godot converts skeleton bones to glTF nodes. .. rst-class:: classref-item-separator diff --git a/classes/class_gltfspecgloss.rst b/classes/class_gltfspecgloss.rst index a5cb4f2d997..0cc58a899d4 100644 --- a/classes/class_gltfspecgloss.rst +++ b/classes/class_gltfspecgloss.rst @@ -12,14 +12,14 @@ GLTFSpecGloss **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Archived GLTF extension for specular/glossy materials. +Archived glTF extension for specular/glossy materials. .. rst-class:: classref-introduction-group Description ----------- -KHR_materials_pbrSpecularGlossiness is an archived GLTF extension. This means that it is deprecated and not recommended for new files. However, it is still supported for loading old files. +KHR_materials_pbrSpecularGlossiness is an archived glTF extension. This means that it is deprecated and not recommended for new files. However, it is still supported for loading old files. .. rst-class:: classref-introduction-group @@ -28,7 +28,7 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `KHR_materials_pbrSpecularGlossiness GLTF extension spec `__ +- `KHR_materials_pbrSpecularGlossiness glTF extension spec `__ .. rst-class:: classref-reftable-group diff --git a/classes/class_gltfstate.rst b/classes/class_gltfstate.rst index 9faaf6c653d..2cc29142e42 100644 --- a/classes/class_gltfstate.rst +++ b/classes/class_gltfstate.rst @@ -14,16 +14,16 @@ GLTFState **Inherited By:** :ref:`FBXState` -Represents all data of a GLTF file. +Represents all data of a glTF file. .. rst-class:: classref-introduction-group Description ----------- -Contains all nodes and resources of a GLTF file. This is used by :ref:`GLTFDocument` as data storage, which allows :ref:`GLTFDocument` and all :ref:`GLTFDocumentExtension` classes to remain stateless. +Contains all nodes and resources of a glTF file. This is used by :ref:`GLTFDocument` as data storage, which allows :ref:`GLTFDocument` and all :ref:`GLTFDocumentExtension` classes to remain stateless. -GLTFState can be populated by :ref:`GLTFDocument` reading a file or by converting a Godot scene. Then the data can either be used to create a Godot scene or save to a GLTF file. The code that converts to/from a Godot scene can be intercepted at arbitrary points by :ref:`GLTFDocumentExtension` classes. This allows for custom data to be stored in the GLTF file or for custom data to be converted to/from Godot nodes. +GLTFState can be populated by :ref:`GLTFDocument` reading a file or by converting a Godot scene. Then the data can either be used to create a Godot scene or save to a glTF file. The code that converts to/from a Godot scene can be intercepted at arbitrary points by :ref:`GLTFDocumentExtension` classes. This allows for custom data to be stored in the glTF file or for custom data to be converted to/from Godot nodes. .. rst-class:: classref-introduction-group @@ -32,7 +32,7 @@ Tutorials - :doc:`Runtime file loading and saving <../tutorials/io/runtime_file_loading_and_saving>` -- `GLTF asset header schema `__ +- `glTF asset header schema `__ .. rst-class:: classref-reftable-group @@ -240,7 +240,7 @@ The baking fps of the animation for either import or export. - |void| **set_base_path**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_base_path**\ (\ ) -The folder path associated with this GLTF data. This is used to find other files the GLTF file references, like images or binary buffers. This will be set during import when appending from a file, and will be set during export when writing to a file. +The folder path associated with this glTF data. This is used to find other files the glTF file references, like images or binary buffers. This will be set during import when appending from a file, and will be set during export when writing to a file. .. rst-class:: classref-item-separator @@ -276,7 +276,7 @@ The folder path associated with this GLTF data. This is used to find other files - |void| **set_copyright**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_copyright**\ (\ ) -The copyright string in the asset header of the GLTF file. This is set during import if present and export if non-empty. See the GLTF asset header documentation for more information. +The copyright string in the asset header of the glTF file. This is set during import if present and export if non-empty. See the glTF asset header documentation for more information. .. rst-class:: classref-item-separator @@ -312,7 +312,7 @@ The copyright string in the asset header of the GLTF file. This is set during im - |void| **set_filename**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_filename**\ (\ ) -The file name associated with this GLTF data. If it ends with ``.gltf``, this is text-based GLTF, otherwise this is binary GLB. This will be set during import when appending from a file, and will be set during export when writing to a file. If writing to a buffer, this will be an empty string. +The file name associated with this glTF data. If it ends with ``.gltf``, this is text-based glTF, otherwise this is binary GLB. This will be set during import when appending from a file, and will be set during export when writing to a file. If writing to a buffer, this will be an empty string. .. rst-class:: classref-item-separator @@ -420,7 +420,7 @@ The original raw JSON document corresponding to this GLTFState. - |void| **set_root_nodes**\ (\ value\: :ref:`PackedInt32Array`\ ) - :ref:`PackedInt32Array` **get_root_nodes**\ (\ ) -The root nodes of the GLTF file. Typically, a GLTF file will only have one scene, and therefore one root node. However, a GLTF file may have multiple scenes and therefore multiple root nodes, which will be generated as siblings of each other and as children of the root node of the generated Godot scene. +The root nodes of the glTF file. Typically, a glTF file will only have one scene, and therefore one root node. However, a glTF file may have multiple scenes and therefore multiple root nodes, which will be generated as siblings of each other and as children of the root node of the generated Godot scene. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedInt32Array` for more details. @@ -439,7 +439,7 @@ The root nodes of the GLTF file. Typically, a GLTF file will only have one scene - |void| **set_scene_name**\ (\ value\: :ref:`String`\ ) - :ref:`String` **get_scene_name**\ (\ ) -The name of the scene. When importing, if not specified, this will be the file name. When exporting, if specified, the scene name will be saved to the GLTF file. +The name of the scene. When importing, if not specified, this will be the file name. When exporting, if specified, the scene name will be saved to the glTF file. .. rst-class:: classref-item-separator @@ -475,7 +475,7 @@ Method Descriptions |void| **add_used_extension**\ (\ extension_name\: :ref:`String`, required\: :ref:`bool`\ ) :ref:`🔗` -Appends an extension to the list of extensions used by this GLTF file during serialization. If ``required`` is true, the extension will also be added to the list of required extensions. Do not run this in :ref:`GLTFDocumentExtension._export_post`, as that stage is too late to add extensions. The final list is sorted alphabetically. +Appends an extension to the list of extensions used by this glTF file during serialization. If ``required`` is true, the extension will also be added to the list of required extensions. Do not run this in :ref:`GLTFDocumentExtension._export_post`, as that stage is too late to add extensions. The final list is sorted alphabetically. .. rst-class:: classref-item-separator @@ -515,7 +515,7 @@ Appends the given byte array data to the buffers and creates a :ref:`GLTFBufferV Gets additional arbitrary data in this **GLTFState** instance. This can be used to keep per-file state data in :ref:`GLTFDocumentExtension` classes, which is important because they are stateless. -The argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the GLTF file), and the return value can be anything you set. If nothing was set, the return value is null. +The argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the glTF file), and the return value can be anything you set. If nothing was set, the return value is null. .. rst-class:: classref-item-separator @@ -527,7 +527,7 @@ The argument should be the :ref:`GLTFDocumentExtension` **get_animation_player**\ (\ idx\: :ref:`int`\ ) :ref:`🔗` -Returns the :ref:`AnimationPlayer` node with the given index. These nodes are only used during the export process when converting Godot :ref:`AnimationPlayer` nodes to GLTF animations. +Returns the :ref:`AnimationPlayer` node with the given index. These nodes are only used during the export process when converting Godot :ref:`AnimationPlayer` nodes to glTF animations. .. rst-class:: classref-item-separator @@ -539,7 +539,7 @@ Returns the :ref:`AnimationPlayer` node with the given in :ref:`int` **get_animation_players_count**\ (\ idx\: :ref:`int`\ ) :ref:`🔗` -Returns the number of :ref:`AnimationPlayer` nodes in this **GLTFState**. These nodes are only used during the export process when converting Godot :ref:`AnimationPlayer` nodes to GLTF animations. +Returns the number of :ref:`AnimationPlayer` nodes in this **GLTFState**. These nodes are only used during the export process when converting Godot :ref:`AnimationPlayer` nodes to glTF animations. .. rst-class:: classref-item-separator @@ -551,7 +551,7 @@ Returns the number of :ref:`AnimationPlayer` nodes in thi :ref:`Array`\[:ref:`GLTFAnimation`\] **get_animations**\ (\ ) :ref:`🔗` -Returns an array of all :ref:`GLTFAnimation`\ s in the GLTF file. When importing, these will be generated as animations in an :ref:`AnimationPlayer` node. When exporting, these will be generated from Godot :ref:`AnimationPlayer` nodes. +Returns an array of all :ref:`GLTFAnimation`\ s in the glTF file. When importing, these will be generated as animations in an :ref:`AnimationPlayer` node. When exporting, these will be generated from Godot :ref:`AnimationPlayer` nodes. .. rst-class:: classref-item-separator @@ -577,7 +577,7 @@ Returns an array of all :ref:`GLTFAnimation`\ s in the GLTF :ref:`Array`\[:ref:`GLTFCamera`\] **get_cameras**\ (\ ) :ref:`🔗` -Returns an array of all :ref:`GLTFCamera`\ s in the GLTF file. These are the cameras that the :ref:`GLTFNode.camera` index refers to. +Returns an array of all :ref:`GLTFCamera`\ s in the glTF file. These are the cameras that the :ref:`GLTFNode.camera` index refers to. .. rst-class:: classref-item-separator @@ -603,7 +603,7 @@ Returns an array of all :ref:`GLTFCamera`\ s in the GLTF file. :ref:`Array`\[:ref:`Texture2D`\] **get_images**\ (\ ) :ref:`🔗` -Gets the images of the GLTF file as an array of :ref:`Texture2D`\ s. These are the images that the :ref:`GLTFTexture.src_image` index refers to. +Gets the images of the glTF file as an array of :ref:`Texture2D`\ s. These are the images that the :ref:`GLTFTexture.src_image` index refers to. .. rst-class:: classref-item-separator @@ -615,7 +615,7 @@ Gets the images of the GLTF file as an array of :ref:`Texture2D :ref:`Array`\[:ref:`GLTFLight`\] **get_lights**\ (\ ) :ref:`🔗` -Returns an array of all :ref:`GLTFLight`\ s in the GLTF file. These are the lights that the :ref:`GLTFNode.light` index refers to. +Returns an array of all :ref:`GLTFLight`\ s in the glTF file. These are the lights that the :ref:`GLTFNode.light` index refers to. .. rst-class:: classref-item-separator @@ -641,7 +641,7 @@ Returns an array of all :ref:`GLTFLight`\ s in the GLTF file. T :ref:`Array`\[:ref:`GLTFMesh`\] **get_meshes**\ (\ ) :ref:`🔗` -Returns an array of all :ref:`GLTFMesh`\ es in the GLTF file. These are the meshes that the :ref:`GLTFNode.mesh` index refers to. +Returns an array of all :ref:`GLTFMesh`\ es in the glTF file. These are the meshes that the :ref:`GLTFNode.mesh` index refers to. .. rst-class:: classref-item-separator @@ -667,7 +667,7 @@ Returns the index of the :ref:`GLTFNode` corresponding to this G :ref:`Array`\[:ref:`GLTFNode`\] **get_nodes**\ (\ ) :ref:`🔗` -Returns an array of all :ref:`GLTFNode`\ s in the GLTF file. These are the nodes that :ref:`GLTFNode.children` and :ref:`root_nodes` refer to. This includes nodes that may not be generated in the Godot scene, or nodes that may generate multiple Godot scene nodes. +Returns an array of all :ref:`GLTFNode`\ s in the glTF file. These are the nodes that :ref:`GLTFNode.children` and :ref:`root_nodes` refer to. This includes nodes that may not be generated in the Godot scene, or nodes that may generate multiple Godot scene nodes. .. rst-class:: classref-item-separator @@ -693,7 +693,7 @@ Returns the Godot scene node that corresponds to the same index as the :ref:`GLT :ref:`Array`\[:ref:`GLTFSkeleton`\] **get_skeletons**\ (\ ) :ref:`🔗` -Returns an array of all :ref:`GLTFSkeleton`\ s in the GLTF file. These are the skeletons that the :ref:`GLTFNode.skeleton` index refers to. +Returns an array of all :ref:`GLTFSkeleton`\ s in the glTF file. These are the skeletons that the :ref:`GLTFNode.skeleton` index refers to. .. rst-class:: classref-item-separator @@ -705,7 +705,7 @@ Returns an array of all :ref:`GLTFSkeleton`\ s in the GLTF f :ref:`Array`\[:ref:`GLTFSkin`\] **get_skins**\ (\ ) :ref:`🔗` -Returns an array of all :ref:`GLTFSkin`\ s in the GLTF file. These are the skins that the :ref:`GLTFNode.skin` index refers to. +Returns an array of all :ref:`GLTFSkin`\ s in the glTF file. These are the skins that the :ref:`GLTFNode.skin` index refers to. .. rst-class:: classref-item-separator @@ -717,7 +717,7 @@ Returns an array of all :ref:`GLTFSkin`\ s in the GLTF file. The :ref:`Array`\[:ref:`GLTFTextureSampler`\] **get_texture_samplers**\ (\ ) :ref:`🔗` -Retrieves the array of texture samplers that are used by the textures contained in the GLTF. +Retrieves the array of texture samplers that are used by the textures contained in the glTF. .. rst-class:: classref-item-separator @@ -783,7 +783,7 @@ Returns an array of unique node names. This is used in both the import process a Sets additional arbitrary data in this **GLTFState** instance. This can be used to keep per-file state data in :ref:`GLTFDocumentExtension` classes, which is important because they are stateless. -The first argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the GLTF file), and the second argument can be anything you want. +The first argument should be the :ref:`GLTFDocumentExtension` name (does not have to match the extension name in the glTF file), and the second argument can be anything you want. .. rst-class:: classref-item-separator @@ -933,7 +933,7 @@ Sets the :ref:`GLTFSkin`\ s in the state. These are the skins th |void| **set_texture_samplers**\ (\ texture_samplers\: :ref:`Array`\[:ref:`GLTFTextureSampler`\]\ ) :ref:`🔗` -Sets the array of texture samplers that are used by the textures contained in the GLTF. +Sets the array of texture samplers that are used by the textures contained in the glTF. .. rst-class:: classref-item-separator diff --git a/classes/class_gltftexture.rst b/classes/class_gltftexture.rst index 187d5364509..5dff769778a 100644 --- a/classes/class_gltftexture.rst +++ b/classes/class_gltftexture.rst @@ -12,7 +12,7 @@ GLTFTexture **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -GLTFTexture represents a texture in a GLTF file. +GLTFTexture represents a texture in a glTF file. .. rst-class:: classref-introduction-group diff --git a/classes/class_gltftexturesampler.rst b/classes/class_gltftexturesampler.rst index dad254a2c83..9e120d012d1 100644 --- a/classes/class_gltftexturesampler.rst +++ b/classes/class_gltftexturesampler.rst @@ -12,14 +12,14 @@ GLTFTextureSampler **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` -Represents a GLTF texture sampler +Represents a glTF texture sampler .. rst-class:: classref-introduction-group Description ----------- -Represents a texture sampler as defined by the base GLTF spec. Texture samplers in GLTF specify how to sample data from the texture's base image, when rendering the texture on an object. +Represents a texture sampler as defined by the base glTF spec. Texture samplers in glTF specify how to sample data from the texture's base image, when rendering the texture on an object. .. rst-class:: classref-introduction-group diff --git a/classes/class_httpclient.rst b/classes/class_httpclient.rst index e91837ea0dd..45e2fe61cd0 100644 --- a/classes/class_httpclient.rst +++ b/classes/class_httpclient.rst @@ -930,9 +930,7 @@ Returns the response headers. :ref:`Dictionary` **get_response_headers_as_dictionary**\ (\ ) :ref:`🔗` -Returns all response headers as a Dictionary of structure ``{ "key": "value1; value2" }`` where the case-sensitivity of the keys and values is kept like the server delivers it. A value is a simple String, this string can have more than one value where "; " is used as separator. - -\ **Example:**\ +Returns all response headers as a :ref:`Dictionary`. Each entry is composed by the header name, and a :ref:`String` containing the values separated by ``"; "``. The casing is kept the same as the headers were received. :: diff --git a/classes/class_image.rst b/classes/class_image.rst index 4e594fca6d5..03479cc4f22 100644 --- a/classes/class_image.rst +++ b/classes/class_image.rst @@ -137,6 +137,8 @@ Methods +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_invisible`\ (\ ) |const| | +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`linear_to_srgb`\ (\ ) | + +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`load`\ (\ path\: :ref:`String`\ ) | +-----------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Error` | :ref:`load_bmp_from_buffer`\ (\ buffer\: :ref:`PackedByteArray`\ ) | @@ -1382,6 +1384,18 @@ Returns ``true`` if all the image's pixels have an alpha value of 0. Returns ``f ---- +.. _class_Image_method_linear_to_srgb: + +.. rst-class:: classref-method + +|void| **linear_to_srgb**\ (\ ) :ref:`🔗` + +Converts the entire image from the linear colorspace to the sRGB colorspace. Only works on images with :ref:`FORMAT_RGB8` or :ref:`FORMAT_RGBA8` formats. + +.. rst-class:: classref-item-separator + +---- + .. _class_Image_method_load: .. rst-class:: classref-method @@ -1734,8 +1748,6 @@ Overwrites data of an existing **Image**. Non-static equivalent of :ref:`create_ Sets the :ref:`Color` of the pixel at ``(x, y)`` to ``color``. -\ **Example:**\ - .. tabs:: @@ -1771,8 +1783,6 @@ This is the same as :ref:`set_pixelv`, but with a Sets the :ref:`Color` of the pixel at ``point`` to ``color``. -\ **Example:**\ - .. tabs:: @@ -1818,7 +1828,7 @@ Shrinks the image by a factor of 2 on each axis (this divides the pixel count by |void| **srgb_to_linear**\ (\ ) :ref:`🔗` -Converts the raw data from the sRGB colorspace to a linear scale. +Converts the raw data from the sRGB colorspace to a linear scale. Only works on images with :ref:`FORMAT_RGB8` or :ref:`FORMAT_RGBA8` formats. .. |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_importermesh.rst b/classes/class_importermesh.rst index 45246548813..fbb9070e815 100644 --- a/classes/class_importermesh.rst +++ b/classes/class_importermesh.rst @@ -25,18 +25,6 @@ Unlike its runtime counterpart, **ImporterMesh** contains mesh data before vario .. rst-class:: classref-reftable-group -Properties ----------- - -.. table:: - :widths: auto - - +-------------------------------------+-------------------------------------------------+------------------------+ - | :ref:`Dictionary` | :ref:`_data` | ``{ "surfaces": [] }`` | - +-------------------------------------+-------------------------------------------------+------------------------+ - -.. rst-class:: classref-reftable-group - Methods ------- @@ -97,25 +85,6 @@ Methods .. rst-class:: classref-descriptions-group -Property Descriptions ---------------------- - -.. _class_ImporterMesh_property__data: - -.. rst-class:: classref-property - -:ref:`Dictionary` **_data** = ``{ "surfaces": [] }`` :ref:`🔗` - -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! - -.. rst-class:: classref-section-separator - ----- - -.. rst-class:: classref-descriptions-group - Method Descriptions ------------------- diff --git a/classes/class_input.rst b/classes/class_input.rst index bae03e0b96f..cf5c2f9321d 100644 --- a/classes/class_input.rst +++ b/classes/class_input.rst @@ -672,6 +672,8 @@ On Linux: \ ``steam_input_index``: The Steam Input gamepad index, if the device is not a Steam Input device this key won't be present. +\ **Note:** The returned dictionary is always empty on Web, iOS, Android, and macOS. + .. rst-class:: classref-item-separator ---- @@ -934,8 +936,6 @@ Returns ``true`` if you are pressing the key in the physical location on the 101 Feeds an :ref:`InputEvent` to the game. Can be used to artificially trigger input events from code. Also generates :ref:`Node._input` calls. -\ **Example:**\ - .. tabs:: diff --git a/classes/class_inputeventmousemotion.rst b/classes/class_inputeventmousemotion.rst index c2a16ef66fb..f96c1679e06 100644 --- a/classes/class_inputeventmousemotion.rst +++ b/classes/class_inputeventmousemotion.rst @@ -23,6 +23,8 @@ Stores information about a mouse or a pen motion. This includes relative positio \ **Note:** By default, this event is only emitted once per frame rendered at most. If you need more precise input reporting, set :ref:`Input.use_accumulated_input` to ``false`` to make events emitted as often as possible. If you use InputEventMouseMotion to draw lines, consider implementing `Bresenham's line algorithm `__ as well to avoid visible gaps in lines if the user is moving the mouse quickly. +\ **Note:** This event may be emitted even when the mouse hasn't moved, either by the operating system or by Godot itself. If you really need to know if the mouse has moved (e.g. to suppress displaying a tooltip), you should check that ``relative.is_zero_approx()`` is ``false``. + .. rst-class:: classref-introduction-group Tutorials @@ -116,7 +118,7 @@ Represents the pressure the user puts on the pen. Ranges from ``0.0`` to ``1.0`` 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:** Since **InputEventMouseMotion** may only be emitted when the mouse moves, it is not possible to reliably detect when the mouse has stopped moving by checking this property. A separate, short timer may be necessary. \ **Note:** :ref:`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` in a script that handles mouse aiming with the :ref:`Input.MOUSE_MODE_CAPTURED` mouse mode. To avoid this, use :ref:`screen_relative` instead. @@ -137,7 +139,9 @@ The mouse position relative to the previous position (position at the last frame 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`. This should be preferred over :ref:`relative` for mouse aiming when using the :ref:`Input.MOUSE_MODE_CAPTURED` mouse mode, regardless of the project's stretch mode. +\ **Note:** Since **InputEventMouseMotion** may only be emitted when the mouse moves, it is not possible to reliably detect when the mouse has stopped moving by checking this property. A separate, short timer may be necessary. + +\ **Note:** This coordinate is *not* scaled according to the content scale factor or calls to :ref:`InputEvent.xformed_by`. This should be preferred over :ref:`relative` for mouse aiming when using the :ref:`Input.MOUSE_MODE_CAPTURED` mouse mode, regardless of the project's stretch mode. .. rst-class:: classref-item-separator diff --git a/classes/class_inputeventshortcut.rst b/classes/class_inputeventshortcut.rst index 8a1170f1f5d..bdebcaf978a 100644 --- a/classes/class_inputeventshortcut.rst +++ b/classes/class_inputeventshortcut.rst @@ -19,7 +19,7 @@ Represents a triggered keyboard :ref:`Shortcut`. Description ----------- -InputEventShortcut is a special event that can be received in :ref:`Node._unhandled_key_input`. It is typically sent by the editor's Command Palette to trigger actions, but can also be sent manually using :ref:`Viewport.push_input`. +InputEventShortcut is a special event that can be received in :ref:`Node._input`, :ref:`Node._shortcut_input`, and :ref:`Node._unhandled_input`. It is typically sent by the editor's Command Palette to trigger actions, but can also be sent manually using :ref:`Viewport.push_input`. .. rst-class:: classref-reftable-group diff --git a/classes/class_javascriptobject.rst b/classes/class_javascriptobject.rst index f42c6517c1d..87addd31d18 100644 --- a/classes/class_javascriptobject.rst +++ b/classes/class_javascriptobject.rst @@ -21,8 +21,6 @@ Description JavaScriptObject is used to interact with JavaScript objects retrieved or created via :ref:`JavaScriptBridge.get_interface`, :ref:`JavaScriptBridge.create_object`, or :ref:`JavaScriptBridge.create_callback`. -\ **Example:**\ - :: extends Node diff --git a/classes/class_json.rst b/classes/class_json.rst index 8276d936dcf..b741881af36 100644 --- a/classes/class_json.rst +++ b/classes/class_json.rst @@ -19,13 +19,11 @@ Helper class for creating and parsing JSON data. Description ----------- -The **JSON** enables all data types to be converted to and from a JSON string. This useful for serializing data to save to a file or send over the network. +The **JSON** class enables all data types to be converted to and from a JSON string. This is useful for serializing data, e.g. to save to a file or send over the network. \ :ref:`stringify` is used to convert any data type into a JSON string. -\ :ref:`parse` is used to convert any existing JSON data into a :ref:`Variant` that can be used within Godot. If successfully parsed, use :ref:`data` to retrieve the :ref:`Variant`, and use ``typeof`` to check if the Variant's type is what you expect. JSON Objects are converted into a :ref:`Dictionary`, but JSON data can be used to store :ref:`Array`\ s, numbers, :ref:`String`\ s and even just a boolean. - -\ **Example**\ +\ :ref:`parse` is used to convert any existing JSON data into a :ref:`Variant` that can be used within Godot. If successfully parsed, use :ref:`data` to retrieve the :ref:`Variant`, and use :ref:`@GlobalScope.typeof` to check if the Variant's type is what you expect. JSON Objects are converted into a :ref:`Dictionary`, but JSON data can be used to store :ref:`Array`\ s, numbers, :ref:`String`\ s and even just a boolean. :: @@ -45,7 +43,7 @@ The **JSON** enables all data types to be converted to and from a JSON string. T else: print("JSON Parse Error: ", json.get_error_message(), " in ", json_string, " at line ", json.get_error_line()) -Alternatively, you can parse string using the static :ref:`parse_string` method, but it doesn't allow to handle errors. +Alternatively, you can parse strings using the static :ref:`parse_string` method, but it doesn't handle errors. :: @@ -59,7 +57,7 @@ Alternatively, you can parse string using the static :ref:`parse_string` which is generally more lax than the JSON specification. -- Certain errors, such as invalid Unicode sequences, do not cause a parser error. Instead, the string is cleansed and an error is logged to the console. +- Certain errors, such as invalid Unicode sequences, do not cause a parser error. Instead, the string is cleaned up and an error is logged to the console. .. rst-class:: classref-reftable-group @@ -81,6 +79,8 @@ Methods .. table:: :widths: auto + +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`from_native`\ (\ variant\: :ref:`Variant`, allow_classes\: :ref:`bool` = false, allow_scripts\: :ref:`bool` = false\ ) |static| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_error_line`\ (\ ) |const| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -94,6 +94,8 @@ Methods +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`stringify`\ (\ data\: :ref:`Variant`, indent\: :ref:`String` = "", sort_keys\: :ref:`bool` = true, full_precision\: :ref:`bool` = false\ ) |static| | +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Variant` | :ref:`to_native`\ (\ json\: :ref:`Variant`, allow_classes\: :ref:`bool` = false, allow_scripts\: :ref:`bool` = false\ ) |static| | + +---------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -126,6 +128,20 @@ Contains the parsed JSON data in :ref:`Variant` form. Method Descriptions ------------------- +.. _class_JSON_method_from_native: + +.. rst-class:: classref-method + +:ref:`Variant` **from_native**\ (\ variant\: :ref:`Variant`, allow_classes\: :ref:`bool` = false, allow_scripts\: :ref:`bool` = false\ ) |static| :ref:`🔗` + +Converts a native engine type to a JSON-compliant dictionary. + +By default, classes and scripts are ignored for security reasons, unless ``allow_classes`` or ``allow_scripts`` are specified. + +.. rst-class:: classref-item-separator + +---- + .. _class_JSON_method_get_error_line: .. rst-class:: classref-method @@ -156,7 +172,7 @@ Returns an empty string if the last call to :ref:`parse :ref:`String` **get_parsed_text**\ (\ ) |const| :ref:`🔗` -Return the text parsed by :ref:`parse` as long as the function is instructed to keep it. +Return the text parsed by :ref:`parse` (requires passing ``keep_text`` to :ref:`parse`). .. rst-class:: classref-item-separator @@ -170,7 +186,7 @@ Return the text parsed by :ref:`parse` as long as the f Attempts to parse the ``json_text`` provided. -Returns an :ref:`Error`. If the parse was successful, it returns :ref:`@GlobalScope.OK` and the result can be retrieved using :ref:`data`. If unsuccessful, use :ref:`get_error_line` and :ref:`get_error_message` for identifying the source of the failure. +Returns an :ref:`Error`. If the parse was successful, it returns :ref:`@GlobalScope.OK` and the result can be retrieved using :ref:`data`. If unsuccessful, use :ref:`get_error_line` and :ref:`get_error_message` to identify the source of the failure. Non-static variant of :ref:`parse_string`, if you want custom error handling. @@ -204,7 +220,7 @@ Converts a :ref:`Variant` var to JSON text and returns the result \ **Note:** If ``full_precision`` is ``true``, when stringifying floats, the unreliable digits are stringified in addition to the reliable digits to guarantee exact decoding. -The ``indent`` parameter controls if and how something is indented, the string used for this parameter will be used where there should be an indent in the output, even spaces like ``" "`` will work. ``\t`` and ``\n`` can also be used for a tab indent, or to make a newline for each indent respectively. +The ``indent`` parameter controls if and how something is indented; its contents will be used where there should be an indent in the output. Even spaces like ``" "`` will work. ``\t`` and ``\n`` can also be used for a tab indent, or to make a newline for each indent respectively. \ **Example output:**\ @@ -245,6 +261,20 @@ The ``indent`` parameter controls if and how something is indented, the string u ...] } +.. rst-class:: classref-item-separator + +---- + +.. _class_JSON_method_to_native: + +.. rst-class:: classref-method + +:ref:`Variant` **to_native**\ (\ json\: :ref:`Variant`, allow_classes\: :ref:`bool` = false, allow_scripts\: :ref:`bool` = false\ ) |static| :ref:`🔗` + +Converts a JSON-compliant dictionary that was created with :ref:`from_native` back to native engine types. + +By default, classes and scripts are ignored for security reasons, unless ``allow_classes`` or ``allow_scripts`` are specified. + .. |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_label.rst b/classes/class_label.rst index 909c66b28b5..cfc6079901c 100644 --- a/classes/class_label.rst +++ b/classes/class_label.rst @@ -225,7 +225,7 @@ Controls the text's horizontal alignment. Supports left, center, right, and fill - |void| **set_justification_flags**\ (\ value\: |bitfield|\[:ref:`JustificationFlag`\]\ ) - |bitfield|\[:ref:`JustificationFlag`\] **get_justification_flags**\ (\ ) -Line fill alignment rules. For more info see :ref:`JustificationFlag`. +Line fill alignment rules. See :ref:`JustificationFlag` for more information. .. rst-class:: classref-item-separator diff --git a/classes/class_label3d.rst b/classes/class_label3d.rst index 594fc95ac52..7fe374de68a 100644 --- a/classes/class_label3d.rst +++ b/classes/class_label3d.rst @@ -454,7 +454,7 @@ Controls the text's horizontal alignment. Supports left, center, right, and fill - |void| **set_justification_flags**\ (\ value\: |bitfield|\[:ref:`JustificationFlag`\]\ ) - |bitfield|\[:ref:`JustificationFlag`\] **get_justification_flags**\ (\ ) -Line fill alignment rules. For more info see :ref:`JustificationFlag`. +Line fill alignment rules. See :ref:`JustificationFlag` for more information. .. rst-class:: classref-item-separator diff --git a/classes/class_lineedit.rst b/classes/class_lineedit.rst index a084669c4cc..7dde88ddf5a 100644 --- a/classes/class_lineedit.rst +++ b/classes/class_lineedit.rst @@ -887,9 +887,9 @@ Language code used for line-breaking and text shaping algorithms. If left empty, Maximum number of characters that can be entered inside the **LineEdit**. If ``0``, there is no limit. -When a limit is defined, characters that would exceed :ref:`max_length` are truncated. This happens both for existing :ref:`text` contents when setting the max length, or for new text inserted in the **LineEdit**, including pasting. If any input text is truncated, the :ref:`text_change_rejected` signal is emitted with the truncated substring as parameter. +When a limit is defined, characters that would exceed :ref:`max_length` are truncated. This happens both for existing :ref:`text` contents when setting the max length, or for new text inserted in the **LineEdit**, including pasting. -\ **Example:**\ +If any input text is truncated, the :ref:`text_change_rejected` signal is emitted with the truncated substring as parameter: .. tabs:: diff --git a/classes/class_linkbutton.rst b/classes/class_linkbutton.rst index 6a6f3fca4d4..6fd24d30a39 100644 --- a/classes/class_linkbutton.rst +++ b/classes/class_linkbutton.rst @@ -248,8 +248,6 @@ The underline mode to use for the text. See :ref:`UnderlineMode`__ for this **LinkButton**. If set to a valid URI, pressing the button opens the URI using the operating system's default program for the protocol (via :ref:`OS.shell_open`). HTTP and HTTPS URLs open the default web browser. -\ **Examples:**\ - .. tabs:: diff --git a/classes/class_meshdatatool.rst b/classes/class_meshdatatool.rst index befab3f9868..40f22a67cf5 100644 --- a/classes/class_meshdatatool.rst +++ b/classes/class_meshdatatool.rst @@ -320,9 +320,7 @@ Calculates and returns the face normal of the given face. Returns the specified vertex index of the given face. -Vertex argument must be either 0, 1, or 2 because faces contain three vertices. - -\ **Example:**\ +\ ``vertex`` must be either ``0``, ``1``, or ``2`` because faces contain three vertices. .. tabs:: diff --git a/classes/class_mobilevrinterface.rst b/classes/class_mobilevrinterface.rst index 14b69591f74..b5bcd4ce413 100644 --- a/classes/class_mobilevrinterface.rst +++ b/classes/class_mobilevrinterface.rst @@ -29,7 +29,7 @@ You can initialize this interface as follows: var interface = XRServer.find_interface("Native mobile") if interface and interface.initialize(): - get_viewport().xr = true + get_viewport().use_xr = true .. rst-class:: classref-reftable-group diff --git a/classes/class_multimesh.rst b/classes/class_multimesh.rst index e212c9e387b..4dcf5ef822a 100644 --- a/classes/class_multimesh.rst +++ b/classes/class_multimesh.rst @@ -53,31 +53,33 @@ Properties .. table:: :widths: auto - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`PackedFloat32Array` | :ref:`buffer` | ``PackedFloat32Array()`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`PackedColorArray` | :ref:`color_array` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`AABB` | :ref:`custom_aabb` | ``AABB(0, 0, 0, 0, 0, 0)`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`PackedColorArray` | :ref:`custom_data_array` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`int` | :ref:`instance_count` | ``0`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`Mesh` | :ref:`mesh` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`PackedVector2Array` | :ref:`transform_2d_array` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`PackedVector3Array` | :ref:`transform_array` | | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`TransformFormat` | :ref:`transform_format` | ``0`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`bool` | :ref:`use_colors` | ``false`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`bool` | :ref:`use_custom_data` | ``false`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ - | :ref:`int` | :ref:`visible_instance_count` | ``-1`` | - +--------------------------------------------------------+--------------------------------------------------------------------------------+----------------------------+ + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedFloat32Array` | :ref:`buffer` | ``PackedFloat32Array()`` | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedColorArray` | :ref:`color_array` | | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`AABB` | :ref:`custom_aabb` | ``AABB(0, 0, 0, 0, 0, 0)`` | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedColorArray` | :ref:`custom_data_array` | | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`int` | :ref:`instance_count` | ``0`` | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`Mesh` | :ref:`mesh` | | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`PhysicsInterpolationQuality` | :ref:`physics_interpolation_quality` | ``0`` | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedVector2Array` | :ref:`transform_2d_array` | | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`PackedVector3Array` | :ref:`transform_array` | | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`TransformFormat` | :ref:`transform_format` | ``0`` | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`bool` | :ref:`use_colors` | ``false`` | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`bool` | :ref:`use_custom_data` | ``false`` | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ + | :ref:`int` | :ref:`visible_instance_count` | ``-1`` | + +--------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------+----------------------------+ .. rst-class:: classref-reftable-group @@ -87,25 +89,29 @@ Methods .. table:: :widths: auto - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`AABB` | :ref:`get_aabb`\ (\ ) |const| | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`get_instance_color`\ (\ instance\: :ref:`int`\ ) |const| | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Color` | :ref:`get_instance_custom_data`\ (\ instance\: :ref:`int`\ ) |const| | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Transform3D` | :ref:`get_instance_transform`\ (\ instance\: :ref:`int`\ ) |const| | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Transform2D` | :ref:`get_instance_transform_2d`\ (\ instance\: :ref:`int`\ ) |const| | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_instance_color`\ (\ instance\: :ref:`int`, color\: :ref:`Color`\ ) | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_instance_custom_data`\ (\ instance\: :ref:`int`, custom_data\: :ref:`Color`\ ) | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_instance_transform`\ (\ instance\: :ref:`int`, transform\: :ref:`Transform3D`\ ) | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_instance_transform_2d`\ (\ instance\: :ref:`int`, transform\: :ref:`Transform2D`\ ) | - +---------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AABB` | :ref:`get_aabb`\ (\ ) |const| | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_instance_color`\ (\ instance\: :ref:`int`\ ) |const| | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Color` | :ref:`get_instance_custom_data`\ (\ instance\: :ref:`int`\ ) |const| | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Transform3D` | :ref:`get_instance_transform`\ (\ instance\: :ref:`int`\ ) |const| | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Transform2D` | :ref:`get_instance_transform_2d`\ (\ instance\: :ref:`int`\ ) |const| | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`reset_instance_physics_interpolation`\ (\ instance\: :ref:`int`\ ) | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_buffer_interpolated`\ (\ buffer_curr\: :ref:`PackedFloat32Array`, buffer_prev\: :ref:`PackedFloat32Array`\ ) | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_instance_color`\ (\ instance\: :ref:`int`, color\: :ref:`Color`\ ) | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_instance_custom_data`\ (\ instance\: :ref:`int`, custom_data\: :ref:`Color`\ ) | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_instance_transform`\ (\ instance\: :ref:`int`, transform\: :ref:`Transform3D`\ ) | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_instance_transform_2d`\ (\ instance\: :ref:`int`, transform\: :ref:`Transform2D`\ ) | + +---------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -138,6 +144,32 @@ Use this when using 2D transforms. Use this when using 3D transforms. +.. rst-class:: classref-item-separator + +---- + +.. _enum_MultiMesh_PhysicsInterpolationQuality: + +.. rst-class:: classref-enumeration + +enum **PhysicsInterpolationQuality**: :ref:`🔗` + +.. _class_MultiMesh_constant_INTERP_QUALITY_FAST: + +.. rst-class:: classref-enumeration-constant + +:ref:`PhysicsInterpolationQuality` **INTERP_QUALITY_FAST** = ``0`` + +Always interpolate using Basis lerping, which can produce warping artifacts in some situations. + +.. _class_MultiMesh_constant_INTERP_QUALITY_HIGH: + +.. rst-class:: classref-enumeration-constant + +:ref:`PhysicsInterpolationQuality` **INTERP_QUALITY_HIGH** = ``1`` + +Attempt to interpolate using Basis slerping (spherical linear interpolation) where possible, otherwise fall back to lerping. + .. rst-class:: classref-section-separator ---- @@ -253,6 +285,27 @@ The looks of the individual instances can be modified using :ref:`set_instance_c ---- +.. _class_MultiMesh_property_physics_interpolation_quality: + +.. rst-class:: classref-property + +:ref:`PhysicsInterpolationQuality` **physics_interpolation_quality** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_physics_interpolation_quality**\ (\ value\: :ref:`PhysicsInterpolationQuality`\ ) +- :ref:`PhysicsInterpolationQuality` **get_physics_interpolation_quality**\ (\ ) + +Choose whether to use an interpolation method that favors speed or quality. + +When using low physics tick rates (typically below 20) or high rates of object rotation, you may get better results from the high quality setting. + +\ **Note:** Fast quality does not equate to low quality. Except in the special cases mentioned above, the quality should be comparable to high quality. + +.. rst-class:: classref-item-separator + +---- + .. _class_MultiMesh_property_transform_2d_array: .. rst-class:: classref-property @@ -418,6 +471,36 @@ Returns the :ref:`Transform2D` of a specific instance. ---- +.. _class_MultiMesh_method_reset_instance_physics_interpolation: + +.. rst-class:: classref-method + +|void| **reset_instance_physics_interpolation**\ (\ instance\: :ref:`int`\ ) :ref:`🔗` + +When using *physics interpolation*, this function allows you to prevent interpolation on an instance in the current physics tick. + +This allows you to move instances instantaneously, and should usually be used when initially placing an instance such as a bullet to prevent graphical glitches. + +.. rst-class:: classref-item-separator + +---- + +.. _class_MultiMesh_method_set_buffer_interpolated: + +.. rst-class:: classref-method + +|void| **set_buffer_interpolated**\ (\ buffer_curr\: :ref:`PackedFloat32Array`, buffer_prev\: :ref:`PackedFloat32Array`\ ) :ref:`🔗` + +An alternative to setting the :ref:`buffer` property, which can be used with *physics interpolation*. This method takes two arrays, and can set the data for the current and previous tick in one go. The renderer will automatically interpolate the data at each frame. + +This is useful for situations where the order of instances may change from physics tick to tick, such as particle systems. + +When the order of instances is coherent, the simpler alternative of setting :ref:`buffer` can still be used with interpolation. + +.. rst-class:: classref-item-separator + +---- + .. _class_MultiMesh_method_set_instance_color: .. rst-class:: classref-method @@ -426,6 +509,8 @@ Returns the :ref:`Transform2D` of a specific instance. Sets the color of a specific instance by *multiplying* the mesh's existing vertex colors. This allows for different color tinting per instance. +\ **Note:** Each component is stored in 32 bits in the Forward+ and Mobile rendering methods, but is packed into 16 bits in the Compatibility rendering method. + For the color to take effect, ensure that :ref:`use_colors` is ``true`` on the **MultiMesh** and :ref:`BaseMaterial3D.vertex_color_use_as_albedo` is ``true`` on the material. If you intend to set an absolute color instead of tinting, make sure the material's albedo color is set to pure white (``Color(1, 1, 1)``). .. rst-class:: classref-item-separator @@ -440,6 +525,8 @@ For the color to take effect, ensure that :ref:`use_colors` type only to contain 4 floating-point numbers. +\ **Note:** Each number is stored in 32 bits in the Forward+ and Mobile rendering methods, but is packed into 16 bits in the Compatibility rendering method. + For the custom data to be used, ensure that :ref:`use_custom_data` is ``true``. This custom instance data has to be manually accessed in your custom shader using ``INSTANCE_CUSTOM``. diff --git a/classes/class_multiplayerspawner.rst b/classes/class_multiplayerspawner.rst index 557d860fb72..d2d78757a08 100644 --- a/classes/class_multiplayerspawner.rst +++ b/classes/class_multiplayerspawner.rst @@ -113,7 +113,7 @@ Property Descriptions - |void| **set_spawn_function**\ (\ value\: :ref:`Callable`\ ) - :ref:`Callable` **get_spawn_function**\ (\ ) -Method called on all peers when for every custom :ref:`spawn` requested by the authority. Will receive the ``data`` parameter, and should return a :ref:`Node` that is not in the scene tree. +Method called on all peers when a custom :ref:`spawn` is requested by the authority. Will receive the ``data`` parameter, and should return a :ref:`Node` that is not in the scene tree. \ **Note:** The returned node should **not** be added to the scene with :ref:`Node.add_child`. This is done automatically. @@ -132,7 +132,7 @@ Method called on all peers when for every custom :ref:`spawn`\ ) - :ref:`int` **get_spawn_limit**\ (\ ) -Maximum nodes that is allowed to be spawned by this spawner. Includes both spawnable scenes and custom spawns. +Maximum number of nodes allowed to be spawned by this spawner. Includes both spawnable scenes and custom spawns. When set to ``0`` (the default), there is no limit. diff --git a/classes/class_navigationlink2d.rst b/classes/class_navigationlink2d.rst index ee524d16615..ee45e15a15b 100644 --- a/classes/class_navigationlink2d.rst +++ b/classes/class_navigationlink2d.rst @@ -69,6 +69,8 @@ Methods +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_navigation_layer_value`\ (\ layer_number\: :ref:`int`\ ) |const| | +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`get_navigation_map`\ (\ ) |const| | + +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_rid`\ (\ ) |const| | +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_global_end_position`\ (\ position\: :ref:`Vector2`\ ) | @@ -77,6 +79,8 @@ Methods +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_navigation_layer_value`\ (\ layer_number\: :ref:`int`, value\: :ref:`bool`\ ) | +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_navigation_map`\ (\ navigation_map\: :ref:`RID`\ ) | + +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -255,6 +259,18 @@ Returns whether or not the specified layer of the :ref:`navigation_layers` **get_navigation_map**\ (\ ) |const| :ref:`🔗` + +Returns the current navigation map :ref:`RID` used by this link. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationLink2D_method_get_rid: .. rst-class:: classref-method @@ -299,6 +315,18 @@ Sets the :ref:`start_position` t Based on ``value``, enables or disables the specified layer in the :ref:`navigation_layers` bitmask, given a ``layer_number`` between 1 and 32. +.. rst-class:: classref-item-separator + +---- + +.. _class_NavigationLink2D_method_set_navigation_map: + +.. rst-class:: classref-method + +|void| **set_navigation_map**\ (\ navigation_map\: :ref:`RID`\ ) :ref:`🔗` + +Sets the :ref:`RID` of the navigation map this link should use. By default the link will automatically join the :ref:`World2D` default navigation map so this function is only required to override the default map. + .. |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_navigationlink3d.rst b/classes/class_navigationlink3d.rst index 11a90a70ecd..698f0dff394 100644 --- a/classes/class_navigationlink3d.rst +++ b/classes/class_navigationlink3d.rst @@ -69,6 +69,8 @@ Methods +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`get_navigation_layer_value`\ (\ layer_number\: :ref:`int`\ ) |const| | +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`RID` | :ref:`get_navigation_map`\ (\ ) |const| | + +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`get_rid`\ (\ ) |const| | +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_global_end_position`\ (\ position\: :ref:`Vector3`\ ) | @@ -77,6 +79,8 @@ Methods +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_navigation_layer_value`\ (\ layer_number\: :ref:`int`, value\: :ref:`bool`\ ) | +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_navigation_map`\ (\ navigation_map\: :ref:`RID`\ ) | + +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -255,6 +259,18 @@ Returns whether or not the specified layer of the :ref:`navigation_layers` **get_navigation_map**\ (\ ) |const| :ref:`🔗` + +Returns the current navigation map :ref:`RID` used by this link. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationLink3D_method_get_rid: .. rst-class:: classref-method @@ -299,6 +315,18 @@ Sets the :ref:`start_position` t Based on ``value``, enables or disables the specified layer in the :ref:`navigation_layers` bitmask, given a ``layer_number`` between 1 and 32. +.. rst-class:: classref-item-separator + +---- + +.. _class_NavigationLink3D_method_set_navigation_map: + +.. rst-class:: classref-method + +|void| **set_navigation_map**\ (\ navigation_map\: :ref:`RID`\ ) :ref:`🔗` + +Sets the :ref:`RID` of the navigation map this link should use. By default the link will automatically join the :ref:`World3D` default navigation map so this function is only required to override the default map. + .. |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_navigationmesh.rst b/classes/class_navigationmesh.rst index 1562e6021af..7e37ec9c77a 100644 --- a/classes/class_navigationmesh.rst +++ b/classes/class_navigationmesh.rst @@ -75,7 +75,7 @@ Properties +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`int` | :ref:`geometry_collision_mask` | ``4294967295`` | +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+ - | :ref:`ParsedGeometryType` | :ref:`geometry_parsed_geometry_type` | ``0`` | + | :ref:`ParsedGeometryType` | :ref:`geometry_parsed_geometry_type` | ``2`` | +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+ | :ref:`SourceGeometryMode` | :ref:`geometry_source_geometry_mode` | ``0`` | +---------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+-------------------------------------+ @@ -567,7 +567,7 @@ Only used when :ref:`geometry_parsed_geometry_type` **geometry_parsed_geometry_type** = ``0`` :ref:`🔗` +:ref:`ParsedGeometryType` **geometry_parsed_geometry_type** = ``2`` :ref:`🔗` .. rst-class:: classref-property-setget diff --git a/classes/class_navigationmeshsourcegeometrydata2d.rst b/classes/class_navigationmeshsourcegeometrydata2d.rst index 557a839f4c5..cb2bb11b82e 100644 --- a/classes/class_navigationmeshsourcegeometrydata2d.rst +++ b/classes/class_navigationmeshsourcegeometrydata2d.rst @@ -46,6 +46,8 @@ Methods +----------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear_projected_obstructions`\ (\ ) | +----------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Rect2` | :ref:`get_bounds`\ (\ ) | + +----------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`PackedVector2Array`\] | :ref:`get_obstruction_outlines`\ (\ ) |const| | +----------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_projected_obstructions`\ (\ ) |const| | @@ -156,6 +158,18 @@ Clears all projected obstructions. ---- +.. _class_NavigationMeshSourceGeometryData2D_method_get_bounds: + +.. rst-class:: classref-method + +:ref:`Rect2` **get_bounds**\ (\ ) :ref:`🔗` + +Returns an axis-aligned bounding box that covers all the stored geometry data. The bounds are calculated when calling this function with the result cached until further geometry changes are made. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationMeshSourceGeometryData2D_method_get_obstruction_outlines: .. rst-class:: classref-method diff --git a/classes/class_navigationmeshsourcegeometrydata3d.rst b/classes/class_navigationmeshsourcegeometrydata3d.rst index 1543fe5205e..65a1c0f99d6 100644 --- a/classes/class_navigationmeshsourcegeometrydata3d.rst +++ b/classes/class_navigationmeshsourcegeometrydata3d.rst @@ -46,6 +46,8 @@ Methods +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear_projected_obstructions`\ (\ ) | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`AABB` | :ref:`get_bounds`\ (\ ) | + +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedInt32Array` | :ref:`get_indices`\ (\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`get_projected_obstructions`\ (\ ) |const| | @@ -156,6 +158,18 @@ Clears all projected obstructions. ---- +.. _class_NavigationMeshSourceGeometryData3D_method_get_bounds: + +.. rst-class:: classref-method + +:ref:`AABB` **get_bounds**\ (\ ) :ref:`🔗` + +Returns an axis-aligned bounding box that covers all the stored geometry data. The bounds are calculated when calling this function with the result cached until further geometry changes are made. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationMeshSourceGeometryData3D_method_get_indices: .. rst-class:: classref-method diff --git a/classes/class_navigationpolygon.rst b/classes/class_navigationpolygon.rst index b55607d9068..8b2eecc205f 100644 --- a/classes/class_navigationpolygon.rst +++ b/classes/class_navigationpolygon.rst @@ -88,25 +88,27 @@ Properties .. table:: :widths: auto - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`float` | :ref:`agent_radius` | ``10.0`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`Rect2` | :ref:`baking_rect` | ``Rect2(0, 0, 0, 0)`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`Vector2` | :ref:`baking_rect_offset` | ``Vector2(0, 0)`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`float` | :ref:`border_size` | ``0.0`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`float` | :ref:`cell_size` | ``1.0`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`int` | :ref:`parsed_collision_mask` | ``4294967295`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`ParsedGeometryType` | :ref:`parsed_geometry_type` | ``2`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`StringName` | :ref:`source_geometry_group_name` | ``&"navigation_polygon_source_geometry_group"`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ - | :ref:`SourceGeometryMode` | :ref:`source_geometry_mode` | ``0`` | - +----------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`float` | :ref:`agent_radius` | ``10.0`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`Rect2` | :ref:`baking_rect` | ``Rect2(0, 0, 0, 0)`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`Vector2` | :ref:`baking_rect_offset` | ``Vector2(0, 0)`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`float` | :ref:`border_size` | ``0.0`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`float` | :ref:`cell_size` | ``1.0`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`int` | :ref:`parsed_collision_mask` | ``4294967295`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`ParsedGeometryType` | :ref:`parsed_geometry_type` | ``2`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`SamplePartitionType` | :ref:`sample_partition_type` | ``0`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`StringName` | :ref:`source_geometry_group_name` | ``&"navigation_polygon_source_geometry_group"`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ + | :ref:`SourceGeometryMode` | :ref:`source_geometry_mode` | ``0`` | + +------------------------------------------------------------------------+------------------------------------------------------------------------------------------------+-------------------------------------------------+ .. rst-class:: classref-reftable-group @@ -163,6 +165,40 @@ Methods Enumerations ------------ +.. _enum_NavigationPolygon_SamplePartitionType: + +.. rst-class:: classref-enumeration + +enum **SamplePartitionType**: :ref:`🔗` + +.. _class_NavigationPolygon_constant_SAMPLE_PARTITION_CONVEX_PARTITION: + +.. rst-class:: classref-enumeration-constant + +:ref:`SamplePartitionType` **SAMPLE_PARTITION_CONVEX_PARTITION** = ``0`` + +Convex partitioning that yields navigation mesh with convex polygons. + +.. _class_NavigationPolygon_constant_SAMPLE_PARTITION_TRIANGULATE: + +.. rst-class:: classref-enumeration-constant + +:ref:`SamplePartitionType` **SAMPLE_PARTITION_TRIANGULATE** = ``1`` + +Triangulation partitioning that yields navigation mesh with triangle polygons. + +.. _class_NavigationPolygon_constant_SAMPLE_PARTITION_MAX: + +.. rst-class:: classref-enumeration-constant + +:ref:`SamplePartitionType` **SAMPLE_PARTITION_MAX** = ``2`` + +Represents the size of the :ref:`SamplePartitionType` enum. + +.. rst-class:: classref-item-separator + +---- + .. _enum_NavigationPolygon_ParsedGeometryType: .. rst-class:: classref-enumeration @@ -377,6 +413,23 @@ Determines which type of nodes will be parsed as geometry. See :ref:`ParsedGeome ---- +.. _class_NavigationPolygon_property_sample_partition_type: + +.. rst-class:: classref-property + +:ref:`SamplePartitionType` **sample_partition_type** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_sample_partition_type**\ (\ value\: :ref:`SamplePartitionType`\ ) +- :ref:`SamplePartitionType` **get_sample_partition_type**\ (\ ) + +Partitioning algorithm for creating the navigation mesh polys. See :ref:`SamplePartitionType` for possible values. + +.. rst-class:: classref-item-separator + +---- + .. _class_NavigationPolygon_property_source_geometry_group_name: .. rst-class:: classref-property diff --git a/classes/class_navigationserver3d.rst b/classes/class_navigationserver3d.rst index 370ebd0bf5e..d6462951ddb 100644 --- a/classes/class_navigationserver3d.rst +++ b/classes/class_navigationserver3d.rst @@ -472,6 +472,14 @@ Constant to get the number of navigation mesh polygon edges that are considered Constant to get the number of navigation mesh polygon edges that could not be merged but may be still connected by edge proximity or with links. +.. _class_NavigationServer3D_constant_INFO_OBSTACLE_COUNT: + +.. rst-class:: classref-enumeration-constant + +:ref:`ProcessInfo` **INFO_OBSTACLE_COUNT** = ``9`` + +Constant to get the number of active navigation obstacles. + .. rst-class:: classref-section-separator ---- diff --git a/classes/class_node.rst b/classes/class_node.rst index 318db3705a8..7d01b701387 100644 --- a/classes/class_node.rst +++ b/classes/class_node.rst @@ -1781,7 +1781,7 @@ The Tween will start automatically on the next process frame or physics frame (d :ref:`Node` **duplicate**\ (\ flags\: :ref:`int` = 15\ ) |const| :ref:`🔗` -Duplicates the node, returning a new node with all of its properties, signals and groups copied from the original. The behavior can be tweaked through the ``flags`` (see :ref:`DuplicateFlags`). +Duplicates the node, returning a new node with all of its properties, signals, groups, and children copied from the original. The behavior can be tweaked through the ``flags`` (see :ref:`DuplicateFlags`). \ **Note:** For nodes with a :ref:`Script` attached, if :ref:`Object._init` has been defined with required parameters, the duplicated node will not have a :ref:`Script`. diff --git a/classes/class_node3d.rst b/classes/class_node3d.rst index f8a6153a0cc..2f1eea7f782 100644 --- a/classes/class_node3d.rst +++ b/classes/class_node3d.rst @@ -101,6 +101,8 @@ Methods +--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array`\[:ref:`Node3DGizmo`\] | :ref:`get_gizmos`\ (\ ) |const| | +--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Transform3D` | :ref:`get_global_transform_interpolated`\ (\ ) | + +--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Node3D` | :ref:`get_parent_node_3d`\ (\ ) |const| | +--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`World3D` | :ref:`get_world_3d`\ (\ ) |const| | @@ -648,6 +650,22 @@ Returns all the gizmos attached to this **Node3D**. ---- +.. _class_Node3D_method_get_global_transform_interpolated: + +.. rst-class:: classref-method + +:ref:`Transform3D` **get_global_transform_interpolated**\ (\ ) :ref:`🔗` + +When using physics interpolation, there will be circumstances in which you want to know the interpolated (displayed) transform of a node rather than the standard transform (which may only be accurate to the most recent physics tick). + +This is particularly important for frame-based operations that take place in :ref:`Node._process`, rather than :ref:`Node._physics_process`. Examples include :ref:`Camera3D`\ s focusing on a node, or finding where to fire lasers from on a frame rather than physics tick. + +\ **Note:** This function creates an interpolation pump on the **Node3D** the first time it is called, which can respond to physics interpolation resets. If you get problems with "streaking" when initially following a **Node3D**, be sure to call :ref:`get_global_transform_interpolated` at least once *before* resetting the **Node3D** physics interpolation. + +.. rst-class:: classref-item-separator + +---- + .. _class_Node3D_method_get_parent_node_3d: .. rst-class:: classref-method diff --git a/classes/class_object.rst b/classes/class_object.rst index 4910f84f598..9d20aa9ff59 100644 --- a/classes/class_object.rst +++ b/classes/class_object.rst @@ -431,7 +431,7 @@ The example below displays a list of numbers shown as words going from ``ZERO`` } } - private List _numbers = new(); + private Godot.Collections.Array _numbers = new(); public override Godot.Collections.Array _GetPropertyList() { @@ -468,7 +468,7 @@ The example below displays a list of numbers shown as words going from ``ZERO`` if (propertyName.StartsWith("number_")) { int index = int.Parse(propertyName.Substring("number_".Length)); - numbers[index] = value.As(); + _numbers[index] = value.As(); return true; } return false; @@ -695,7 +695,7 @@ Override this method to customize existing properties. Every property info goes public override void _ValidateProperty(Godot.Collections.Dictionary property) { - if (property["name"].AsStringName() == PropertyName.Number && IsNumberEditable) + if (property["name"].AsStringName() == PropertyName.Number && !IsNumberEditable) { var usage = property["usage"].As() | PropertyUsageFlags.ReadOnly; property["usage"] = (int)usage; diff --git a/classes/class_openxrapiextension.rst b/classes/class_openxrapiextension.rst index 60781adebea..56724f4ddc3 100644 --- a/classes/class_openxrapiextension.rst +++ b/classes/class_openxrapiextension.rst @@ -50,9 +50,13 @@ Methods .. table:: :widths: auto + +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`begin_debug_label_region`\ (\ label_name\: :ref:`String`\ ) | +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`can_render`\ (\ ) | +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`end_debug_label_region`\ (\ ) | + +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_error_string`\ (\ result\: :ref:`int`\ ) | +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_hand_tracker`\ (\ hand_index\: :ref:`int`\ ) | @@ -73,6 +77,8 @@ Methods +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_system_id`\ (\ ) | +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`insert_debug_label`\ (\ label_name\: :ref:`String`\ ) | + +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`OpenXRAlphaBlendModeSupport` | :ref:`is_environment_blend_mode_alpha_supported`\ (\ ) | +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_initialized`\ (\ ) | @@ -85,6 +91,8 @@ Methods +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`set_emulate_environment_blend_mode_alpha_blend`\ (\ enabled\: :ref:`bool`\ ) | +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_object_name`\ (\ object_type\: :ref:`int`, object_handle\: :ref:`int`, object_name\: :ref:`String`\ ) | + +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform3D` | :ref:`transform_from_pose`\ (\ pose\: ``const void*``\ ) | +-----------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`unregister_composition_layer_provider`\ (\ extension\: :ref:`OpenXRExtensionWrapperExtension`\ ) | @@ -140,6 +148,18 @@ Means that :ref:`XRInterface.XR_ENV_BLEND_MODE_ALPHA_BLEND`\ ) :ref:`🔗` + +Begins a new debug label region, this label will be reported in debug messages for any calls following this until :ref:`end_debug_label_region` is called. Debug labels can be stacked. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_can_render: .. rst-class:: classref-method @@ -152,6 +172,18 @@ Returns ``true`` if OpenXR is initialized for rendering with an XR viewport. ---- +.. _class_OpenXRAPIExtension_method_end_debug_label_region: + +.. rst-class:: classref-method + +|void| **end_debug_label_region**\ (\ ) :ref:`🔗` + +Marks the end of a debug label region. Removes the latest debug label region added by calling :ref:`begin_debug_label_region`. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_get_error_string: .. rst-class:: classref-method @@ -274,6 +306,18 @@ Returns the id of the system, which is a `XrSystemId `\ ) :ref:`🔗` + +Inserts a debug label, this label is reported in any debug message resulting from the OpenXR calls that follows, until any of :ref:`begin_debug_label_region`, :ref:`end_debug_label_region`, or :ref:`insert_debug_label` is called. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_is_environment_blend_mode_alpha_supported: .. rst-class:: classref-method @@ -346,6 +390,18 @@ If set to ``true``, an OpenXR extension is loaded which is capable of emulating ---- +.. _class_OpenXRAPIExtension_method_set_object_name: + +.. rst-class:: classref-method + +|void| **set_object_name**\ (\ object_type\: :ref:`int`, object_handle\: :ref:`int`, object_name\: :ref:`String`\ ) :ref:`🔗` + +Set the object name of an OpenXR object, used for debug output. ``object_type`` must be a valid OpenXR ``XrObjectType`` enum and ``object_handle`` must be a valid OpenXR object handle. + +.. rst-class:: classref-item-separator + +---- + .. _class_OpenXRAPIExtension_method_transform_from_pose: .. rst-class:: classref-method diff --git a/classes/class_openxrinterface.rst b/classes/class_openxrinterface.rst index 56f5cb446cd..66479ab7a6a 100644 --- a/classes/class_openxrinterface.rst +++ b/classes/class_openxrinterface.rst @@ -137,7 +137,7 @@ Informs the user queued a recenter of the player position. Informs the user the HMD refresh rate has changed. -\ **Node:** Only emitted if XR runtime supports the refresh rate extension. +\ **Note:** Only emitted if XR runtime supports the refresh rate extension. .. rst-class:: classref-item-separator diff --git a/classes/class_openxrvisibilitymask.rst b/classes/class_openxrvisibilitymask.rst new file mode 100644 index 00000000000..d74f8e0019e --- /dev/null +++ b/classes/class_openxrvisibilitymask.rst @@ -0,0 +1,33 @@ +:github_url: hide + +.. DO NOT EDIT THIS FILE!!! +.. Generated automatically from Godot engine sources. +.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. +.. XML source: https://github.com/godotengine/godot/tree/master/modules/openxr/doc_classes/OpenXRVisibilityMask.xml. + +.. _class_OpenXRVisibilityMask: + +OpenXRVisibilityMask +==================== + +**Inherits:** :ref:`VisualInstance3D` **<** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` + +Draws a stereo correct visibility mask. + +.. rst-class:: classref-introduction-group + +Description +----------- + +The visibility mask allows us to black out the part of the render result that is invisible due to lens distortion. + +As this is rendered first, it prevents fragments with expensive lighting calculations to be processed as they are discarded through z-checking. + +.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` +.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` +.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` +.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` +.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` +.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` +.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` +.. |void| replace:: :abbr:`void (No return value.)` diff --git a/classes/class_os.rst b/classes/class_os.rst index ae8e98be3b2..eb00f225a53 100644 --- a/classes/class_os.rst +++ b/classes/class_os.rst @@ -231,6 +231,14 @@ The OpenGL 3 rendering driver. It uses OpenGL 3.3 Core Profile on desktop platfo The Direct3D 12 rendering driver. +.. _class_OS_constant_RENDERING_DRIVER_METAL: + +.. rst-class:: classref-enumeration-constant + +:ref:`RenderingDriver` **RENDERING_DRIVER_METAL** = ``3`` + +The Metal rendering driver. + .. rst-class:: classref-item-separator ---- @@ -1057,6 +1065,8 @@ Returns the exit code of a spawned process once it has finished running (see :re Returns ``-1`` if the ``pid`` is not a PID of a spawned child process, the process is still running, or the method is not implemented for the current platform. +\ **Note:** Returns ``-1`` if the ``pid`` is a macOS bundled app process. + \ **Note:** This method is implemented on Android, Linux, macOS and Windows. .. rst-class:: classref-item-separator diff --git a/classes/class_packedscene.rst b/classes/class_packedscene.rst index 497d46b6eb9..7b4c67b1d6b 100644 --- a/classes/class_packedscene.rst +++ b/classes/class_packedscene.rst @@ -110,18 +110,6 @@ Tutorials .. rst-class:: classref-reftable-group -Properties ----------- - -.. table:: - :widths: auto - - +-------------------------------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Dictionary` | :ref:`_bundled` | ``{ "conn_count": 0, "conns": PackedInt32Array(), "editable_instances": [], "names": PackedStringArray(), "node_count": 0, "node_paths": [], "nodes": PackedInt32Array(), "variants": [], "version": 3 }`` | - +-------------------------------------+------------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -.. rst-class:: classref-reftable-group - Methods ------- @@ -197,25 +185,6 @@ It's similar to :ref:`GEN_EDIT_STATE_MAIN` **_bundled** = ``{ "conn_count": 0, "conns": PackedInt32Array(), "editable_instances": [], "names": PackedStringArray(), "node_count": 0, "node_paths": [], "nodes": PackedInt32Array(), "variants": [], "version": 3 }`` :ref:`🔗` - -A dictionary representation of the scene contents. - -Available keys include "names" and "variants" for resources, "node_count", "nodes", "node_paths" for nodes, "editable_instances" for paths to overridden nodes, "conn_count" and "conns" for signal connections, and "version" for the format style of the PackedScene. - -.. rst-class:: classref-section-separator - ----- - -.. rst-class:: classref-descriptions-group - Method Descriptions ------------------- diff --git a/classes/class_performance.rst b/classes/class_performance.rst index 8928c4e8237..f66d110dc04 100644 --- a/classes/class_performance.rst +++ b/classes/class_performance.rst @@ -332,11 +332,19 @@ Number of polygon edges that are considered connected by edge proximity :ref:`Na Number of navigation mesh polygon edges that could not be merged in the :ref:`NavigationServer3D`. The edges still may be connected by edge proximity or with links. +.. _class_Performance_constant_NAVIGATION_OBSTACLE_COUNT: + +.. rst-class:: classref-enumeration-constant + +:ref:`Monitor` **NAVIGATION_OBSTACLE_COUNT** = ``33`` + +Number of active navigation obstacles in the :ref:`NavigationServer3D`. + .. _class_Performance_constant_MONITOR_MAX: .. rst-class:: classref-enumeration-constant -:ref:`Monitor` **MONITOR_MAX** = ``33`` +:ref:`Monitor` **MONITOR_MAX** = ``34`` Represents the size of the :ref:`Monitor` enum. diff --git a/classes/class_physicsserver2d.rst b/classes/class_physicsserver2d.rst index 8a58d30b956..500395ab270 100644 --- a/classes/class_physicsserver2d.rst +++ b/classes/class_physicsserver2d.rst @@ -208,6 +208,8 @@ Methods +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`body_set_state`\ (\ body\: :ref:`RID`, state\: :ref:`BodyState`, value\: :ref:`Variant`\ ) | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`body_set_state_sync_callback`\ (\ body\: :ref:`RID`, callable\: :ref:`Callable`\ ) | + +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`body_test_motion`\ (\ body\: :ref:`RID`, parameters\: :ref:`PhysicsTestMotionParameters2D`, result\: :ref:`PhysicsTestMotionResult2D` = null\ ) | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`capsule_shape_create`\ (\ ) | @@ -2151,6 +2153,24 @@ Sets the value of a body's state. See :ref:`BodyState`, callable\: :ref:`Callable`\ ) :ref:`🔗` + +Sets the body's state synchronization callback function to ``callable``. Use an empty :ref:`Callable` (``Callable()``) to clear the callback. + +The function ``callable`` will be called every physics frame, assuming that the body was active during the previous physics tick, and can be used to fetch the latest state from the physics server. + +The function ``callable`` must take the following parameters: + +1. ``state``: a :ref:`PhysicsDirectBodyState2D`, used to retrieve the body's state. + +.. rst-class:: classref-item-separator + +---- + .. _class_PhysicsServer2D_method_body_test_motion: .. rst-class:: classref-method diff --git a/classes/class_physicsserver2dextension.rst b/classes/class_physicsserver2dextension.rst index c93a466d3c2..c0bb62666d8 100644 --- a/classes/class_physicsserver2dextension.rst +++ b/classes/class_physicsserver2dextension.rst @@ -1386,7 +1386,7 @@ Overridable version of :ref:`PhysicsServer2D.body_set_state` is called. See also :ref:`_sync`. -Overridable version of :ref:`PhysicsServer2D`'s internal ``body_set_state_sync_callback`` method. +Overridable version of :ref:`PhysicsServer2D.body_set_state_sync_callback`. .. rst-class:: classref-item-separator diff --git a/classes/class_physicsserver3d.rst b/classes/class_physicsserver3d.rst index bb6015042b8..cd8e76c55ed 100644 --- a/classes/class_physicsserver3d.rst +++ b/classes/class_physicsserver3d.rst @@ -206,6 +206,8 @@ Methods +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`body_set_state`\ (\ body\: :ref:`RID`, state\: :ref:`BodyState`, value\: :ref:`Variant`\ ) | +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`body_set_state_sync_callback`\ (\ body\: :ref:`RID`, callable\: :ref:`Callable`\ ) | + +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`body_test_motion`\ (\ body\: :ref:`RID`, parameters\: :ref:`PhysicsTestMotionParameters3D`, result\: :ref:`PhysicsTestMotionResult3D` = null\ ) | +-------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`box_shape_create`\ (\ ) | @@ -2887,6 +2889,24 @@ Sets a body state (see :ref:`BodyState` constant ---- +.. _class_PhysicsServer3D_method_body_set_state_sync_callback: + +.. rst-class:: classref-method + +|void| **body_set_state_sync_callback**\ (\ body\: :ref:`RID`, callable\: :ref:`Callable`\ ) :ref:`🔗` + +Sets the body's state synchronization callback function to ``callable``. Use an empty :ref:`Callable` (``Callable()``) to clear the callback. + +The function ``callable`` will be called every physics frame, assuming that the body was active during the previous physics tick, and can be used to fetch the latest state from the physics server. + +The function ``callable`` must take the following parameters: + +1. ``state``: a :ref:`PhysicsDirectBodyState3D`, used to retrieve the body's state. + +.. rst-class:: classref-item-separator + +---- + .. _class_PhysicsServer3D_method_body_test_motion: .. rst-class:: classref-method diff --git a/classes/class_polygon2d.rst b/classes/class_polygon2d.rst index 3ccc0cef189..ebcae4cf138 100644 --- a/classes/class_polygon2d.rst +++ b/classes/class_polygon2d.rst @@ -32,8 +32,6 @@ Properties +-----------------------------------------------------+------------------------------------------------------------------------------+--------------------------+ | :ref:`bool` | :ref:`antialiased` | ``false`` | +-----------------------------------------------------+------------------------------------------------------------------------------+--------------------------+ - | :ref:`Array` | :ref:`bones` | ``[]`` | - +-----------------------------------------------------+------------------------------------------------------------------------------+--------------------------+ | :ref:`Color` | :ref:`color` | ``Color(1, 1, 1, 1)`` | +-----------------------------------------------------+------------------------------------------------------------------------------+--------------------------+ | :ref:`int` | :ref:`internal_vertex_count` | ``0`` | @@ -115,18 +113,6 @@ If ``true``, polygon edges will be anti-aliased. ---- -.. _class_Polygon2D_property_bones: - -.. rst-class:: classref-property - -:ref:`Array` **bones** = ``[]`` :ref:`🔗` - -Internal list of :ref:`Bone2D` nodes used by the assigned :ref:`skeleton`. Edited using the Polygon2D editor ("UV" button on the top toolbar). - -.. rst-class:: classref-item-separator - ----- - .. _class_Polygon2D_property_color: .. rst-class:: classref-property diff --git a/classes/class_portablecompressedtexture2d.rst b/classes/class_portablecompressedtexture2d.rst index 5ccb0fd9995..3fbe6b1667b 100644 --- a/classes/class_portablecompressedtexture2d.rst +++ b/classes/class_portablecompressedtexture2d.rst @@ -37,15 +37,13 @@ Properties .. table:: :widths: auto - +-----------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ - | :ref:`PackedByteArray` | :ref:`_data` | ``PackedByteArray()`` | - +-----------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`keep_compressed_buffer` | ``false`` | - +-----------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ - | :ref:`bool` | resource_local_to_scene | ``false`` (overrides :ref:`Resource`) | - +-----------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ - | :ref:`Vector2` | :ref:`size_override` | ``Vector2(0, 0)`` | - +-----------------------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ + +-------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`keep_compressed_buffer` | ``false`` | + +-------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ + | :ref:`bool` | resource_local_to_scene | ``false`` (overrides :ref:`Resource`) | + +-------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ + | :ref:`Vector2` | :ref:`size_override` | ``Vector2(0, 0)`` | + +-------------------------------+--------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group @@ -163,20 +161,6 @@ enum **CompressionMode**: :ref:`🔗` **_data** = ``PackedByteArray()`` :ref:`🔗` - -.. container:: contribute - - There is currently no description for this property. Please help us by :ref:`contributing one `! - -.. rst-class:: classref-item-separator - ----- - .. _class_PortableCompressedTexture2D_property_keep_compressed_buffer: .. rst-class:: classref-property diff --git a/classes/class_projectsettings.rst b/classes/class_projectsettings.rst index be606a64b82..5287f09577f 100644 --- a/classes/class_projectsettings.rst +++ b/classes/class_projectsettings.rst @@ -213,6 +213,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`debug/gdscript/warnings/integer_division` | ``1`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`debug/gdscript/warnings/missing_tool` | ``1`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`debug/gdscript/warnings/narrowing_conversion` | ``1`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`debug/gdscript/warnings/native_method_override` | ``2`` | @@ -277,6 +279,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`debug/settings/gdscript/max_call_stack` | ``1024`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`debug/settings/physics_interpolation/enable_warnings` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`debug/settings/profiler/max_functions` | ``16384`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`debug/settings/profiler/max_timestamp_query_elements` | ``256`` | @@ -399,8 +403,6 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`display/window/energy_saving/keep_screen_on` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`display/window/energy_saving/keep_screen_on.editor_hint` | ``false`` | - +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`display/window/handheld/orientation` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`display/window/ios/allow_high_refresh_rate` | ``true`` | @@ -493,7 +495,7 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`editor/run/main_run_args` | ``""`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ - | :ref:`PackedStringArray` | :ref:`editor/script/search_in_file_extensions` | ``PackedStringArray("gd", "gdshader")`` | + | :ref:`PackedStringArray` | :ref:`editor/script/search_in_file_extensions` | | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`editor/script/templates_search_path` | ``"res://script_templates"`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ @@ -723,6 +725,14 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`input_devices/pointing/emulate_touch_from_mouse` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`input_devices/sensors/enable_accelerometer` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`input_devices/sensors/enable_gravity` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`input_devices/sensors/enable_gyroscope` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`input_devices/sensors/enable_magnetometer` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`internationalization/locale/fallback` | ``"en"`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`internationalization/locale/include_text_server_data` | ``false`` | @@ -1417,6 +1427,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`rendering/lightmapping/denoising/denoiser` | ``0`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`rendering/lightmapping/lightmap_gi/use_bicubic_filter` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`rendering/lightmapping/primitive_meshes/texel_size` | ``0.2`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`rendering/lightmapping/probe_capture/update_speed` | ``15`` | @@ -1523,6 +1535,10 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`rendering/rendering_device/driver.windows` | | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`rendering/rendering_device/fallback_to_d3d12` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`rendering/rendering_device/fallback_to_vulkan` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`rendering/rendering_device/pipeline_cache/enable` | ``true`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`rendering/rendering_device/pipeline_cache/save_chunk_size_mb` | ``3.0`` | @@ -1579,6 +1595,8 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`rendering/textures/lossless_compression/force_png` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`rendering/textures/vram_compression/compress_with_gpu` | ``true`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`rendering/textures/vram_compression/import_etc2_astc` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`rendering/textures/vram_compression/import_s3tc_bptc` | ``false`` | @@ -1605,11 +1623,19 @@ Properties +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`xr/openxr/environment_blend_mode` | ``"0"`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`xr/openxr/extensions/debug_message_types` | ``"15"`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`xr/openxr/extensions/debug_utils` | ``"0"`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`xr/openxr/extensions/eye_gaze_interaction` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`xr/openxr/extensions/hand_interaction_profile` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`xr/openxr/extensions/hand_tracking` | ``true`` | + | :ref:`bool` | :ref:`xr/openxr/extensions/hand_tracking` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`xr/openxr/extensions/hand_tracking_controller_data_source` | ``false`` | + +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`xr/openxr/extensions/hand_tracking_unobstructed_data_source` | ``false`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`xr/openxr/form_factor` | ``"0"`` | +---------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------+ @@ -2796,6 +2822,18 @@ When set to ``warn`` or ``error``, produces a warning or an error respectively w ---- +.. _class_ProjectSettings_property_debug/gdscript/warnings/missing_tool: + +.. rst-class:: classref-property + +:ref:`int` **debug/gdscript/warnings/missing_tool** = ``1`` :ref:`🔗` + +When set to ``warn`` or ``error``, produces a warning or an error respectively when the base class script has the ``@tool`` annotation, but the current class script does not have it. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_debug/gdscript/warnings/narrowing_conversion: .. rst-class:: classref-property @@ -3184,6 +3222,20 @@ Maximum call stack allowed for debugging GDScript. ---- +.. _class_ProjectSettings_property_debug/settings/physics_interpolation/enable_warnings: + +.. rst-class:: classref-property + +:ref:`bool` **debug/settings/physics_interpolation/enable_warnings** = ``true`` :ref:`🔗` + +If ``true``, enables warnings which can help pinpoint where nodes are being incorrectly updated, which will result in incorrect interpolation and visual glitches. + +When a node is being interpolated, it is essential that the transform is set during :ref:`Node._physics_process` (during a physics tick) rather than :ref:`Node._process` (during a frame). + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_debug/settings/profiler/max_functions: .. rst-class:: classref-property @@ -3918,18 +3970,6 @@ If ``true``, keeps the screen on (even in case of inactivity), so the screensave ---- -.. _class_ProjectSettings_property_display/window/energy_saving/keep_screen_on.editor_hint: - -.. rst-class:: classref-property - -:ref:`bool` **display/window/energy_saving/keep_screen_on.editor_hint** = ``false`` :ref:`🔗` - -Editor-only override for :ref:`display/window/energy_saving/keep_screen_on`. Does not affect running project. - -.. rst-class:: classref-item-separator - ----- - .. _class_ProjectSettings_property_display/window/handheld/orientation: .. rst-class:: classref-property @@ -4274,7 +4314,11 @@ The policy to use to determine the final scale factor for 2D elements. This affe :ref:`bool` **display/window/subwindows/embed_subwindows** = ``true`` :ref:`🔗` -If ``true`` subwindows are embedded in the main window. +If ``true``, subwindows are embedded in the main window (this is also called single-window mode). Single-window mode can be faster as it does not need to create a separate window for every popup and tooltip, which can be a slow operation depending on the operating system and rendering method in use. + +If ``false``, subwindows are created as separate windows (this is also called multi-window mode). This allows them to be moved outside the main window and use native operating system window decorations. + +This is equivalent to :ref:`EditorSettings.interface/editor/single_window_mode` in the editor, except the setting's value is inverted. .. rst-class:: classref-item-separator @@ -4578,7 +4622,7 @@ For example, this can be used to force the project to run on the dedicated GPU i .. rst-class:: classref-property -:ref:`PackedStringArray` **editor/script/search_in_file_extensions** = ``PackedStringArray("gd", "gdshader")`` :ref:`🔗` +:ref:`PackedStringArray` **editor/script/search_in_file_extensions** :ref:`🔗` Text-based file extensions to include in the script editor's "Find in Files" feature. You can add e.g. ``tscn`` if you wish to also parse your scene files, especially if you use built-in scripts which are serialized in the scene files. @@ -6126,6 +6170,54 @@ If ``true``, sends touch input events when clicking or dragging the mouse. ---- +.. _class_ProjectSettings_property_input_devices/sensors/enable_accelerometer: + +.. rst-class:: classref-property + +:ref:`bool` **input_devices/sensors/enable_accelerometer** = ``false`` :ref:`🔗` + +If ``true``, the accelerometer sensor is enabled and :ref:`Input.get_accelerometer` returns valid data. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_input_devices/sensors/enable_gravity: + +.. rst-class:: classref-property + +:ref:`bool` **input_devices/sensors/enable_gravity** = ``false`` :ref:`🔗` + +If ``true``, the gravity sensor is enabled and :ref:`Input.get_gravity` returns valid data. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_input_devices/sensors/enable_gyroscope: + +.. rst-class:: classref-property + +:ref:`bool` **input_devices/sensors/enable_gyroscope** = ``false`` :ref:`🔗` + +If ``true``, the gyroscope sensor is enabled and :ref:`Input.get_gyroscope` returns valid data. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_input_devices/sensors/enable_magnetometer: + +.. rst-class:: classref-property + +:ref:`bool` **input_devices/sensors/enable_magnetometer** = ``false`` :ref:`🔗` + +If ``true``, the magnetometer sensor is enabled and :ref:`Input.get_magnetometer` returns valid data. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_internationalization/locale/fallback: .. rst-class:: classref-property @@ -9530,8 +9622,6 @@ If ``true``, the renderer will interpolate the transforms of physics objects bet \ **Note:** This property is only read when the project starts. To toggle physics interpolation at runtime, set :ref:`SceneTree.physics_interpolation` instead. -\ **Note:** This feature is currently only implemented in the 2D renderer. - .. rst-class:: classref-item-separator ---- @@ -9544,7 +9634,9 @@ If ``true``, the renderer will interpolate the transforms of physics objects bet Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of in-game clock and real clock, but allows smoothing out framerate jitters. The default value of 0.5 should be good enough for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended. -\ **Note:** When using a physics interpolation solution (such as enabling :ref:`physics/common/physics_interpolation` or using a custom solution), the physics jitter fix should be disabled by setting :ref:`physics/common/physics_jitter_fix` to ``0.0``. +\ **Note:** Jitter fix is automatically disabled at runtime when :ref:`physics/common/physics_interpolation` is enabled. + +\ **Note:** When using a custom physics interpolation solution, the physics jitter fix should be disabled by setting :ref:`physics/common/physics_jitter_fix` to ``0.0``. \ **Note:** This property is only read when the project starts. To change the physics jitter fix at runtime, set :ref:`Engine.physics_jitter_fix` instead. @@ -10238,9 +10330,9 @@ If ``true``, the compatibility renderer will fall back to OpenGLES if desktop Op :ref:`bool` **rendering/gl_compatibility/fallback_to_native** = ``true`` :ref:`🔗` -If ``true``, the compatibility renderer will fall back to native OpenGL if ANGLE over Metal is not supported. +If ``true``, the compatibility renderer will fall back to native OpenGL if ANGLE is not supported, or ANGLE dynamic libraries aren't found. -\ **Note:** This setting is implemented only on macOS. +\ **Note:** This setting is implemented on macOS and Windows. .. rst-class:: classref-item-separator @@ -10516,6 +10608,20 @@ If no GPU acceleration is configured on the system, multi-threaded CPU-based den ---- +.. _class_ProjectSettings_property_rendering/lightmapping/lightmap_gi/use_bicubic_filter: + +.. rst-class:: classref-property + +:ref:`bool` **rendering/lightmapping/lightmap_gi/use_bicubic_filter** = ``true`` :ref:`🔗` + +If ``true``, applies a bicubic filter during lightmap sampling. This makes lightmaps look much smoother, at a moderate performance cost. + +\ **Note:** The bicubic filter exaggerates the 'bleeding' effect that occurs when a lightmap's resolution is low enough. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_rendering/lightmapping/primitive_meshes/texel_size: .. rst-class:: classref-property @@ -10846,9 +10952,9 @@ The minimum number of instances that must be present in a scene to enable cullin :ref:`float` **rendering/limits/time/time_rollover_secs** = ``3600`` :ref:`🔗` -.. container:: contribute +Maximum time (in seconds) before the ``TIME`` shader built-in variable rolls over. The ``TIME`` variable increments by ``delta`` each frame, and when it exceeds this value, it rolls over to ``0.0``. Since large floating-point values are less precise than small floating-point values, this should be set as low as possible to maximize the precision of the ``TIME`` built-in variable in shaders. This is especially important on mobile platforms where precision in shaders is significantly reduced. However, if this is set too low, shader animations may appear to restart from the beginning while the project is running. - There is currently no description for this property. Please help us by :ref:`contributing one `! +On desktop platforms, values below ``4096`` are recommended, ideally below ``2048``. On mobile platforms, values below ``64`` are recommended, ideally below ``32``. .. rst-class:: classref-item-separator @@ -11202,6 +11308,34 @@ Windows override for :ref:`rendering/rendering_device/driver` **rendering/rendering_device/fallback_to_d3d12** = ``true`` :ref:`🔗` + +If ``true``, the forward renderer will fall back to Direct3D 12 if Vulkan is not supported. + +\ **Note:** This setting is implemented only on Windows. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_rendering/rendering_device/fallback_to_vulkan: + +.. rst-class:: classref-property + +:ref:`bool` **rendering/rendering_device/fallback_to_vulkan** = ``true`` :ref:`🔗` + +If ``true``, the forward renderer will fall back to Vulkan if Direct3D 12 is not supported. + +\ **Note:** This setting is implemented only on Windows. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_rendering/rendering_device/pipeline_cache/enable: .. rst-class:: classref-property @@ -11592,6 +11726,22 @@ If ``true``, the texture importer will import lossless textures using the PNG fo ---- +.. _class_ProjectSettings_property_rendering/textures/vram_compression/compress_with_gpu: + +.. rst-class:: classref-property + +:ref:`bool` **rendering/textures/vram_compression/compress_with_gpu** = ``true`` :ref:`🔗` + +If ``true``, the texture importer will utilize the GPU for compressing textures, which makes large textures import significantly faster. + +\ **Note:** This setting requires either Vulkan or D3D12 available as a rendering backend. + +\ **Note:** Currently this only affects BC6H compression, which is used on Desktop and Console for HDR images. + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_rendering/textures/vram_compression/import_etc2_astc: .. rst-class:: classref-property @@ -11771,6 +11921,30 @@ Specify how OpenXR should blend in the environment. This is specific to certain ---- +.. _class_ProjectSettings_property_xr/openxr/extensions/debug_message_types: + +.. rst-class:: classref-property + +:ref:`int` **xr/openxr/extensions/debug_message_types** = ``"15"`` :ref:`🔗` + +Specifies the message types for which we request debug messages. Requires :ref:`xr/openxr/extensions/debug_utils` to be set and the extension to be supported by the XR runtime. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_xr/openxr/extensions/debug_utils: + +.. rst-class:: classref-property + +:ref:`int` **xr/openxr/extensions/debug_utils** = ``"0"`` :ref:`🔗` + +Enables debug utilities on XR runtimes that supports the debug utils extension. Sets the maximum severity being reported (0 = disabled, 1 = error, 2 = warning, 3 = info, 4 = verbose). + +.. rst-class:: classref-item-separator + +---- + .. _class_ProjectSettings_property_xr/openxr/extensions/eye_gaze_interaction: .. rst-class:: classref-property @@ -11789,7 +11963,7 @@ Specify whether to enable eye tracking for this project. Depending on the platfo :ref:`bool` **xr/openxr/extensions/hand_interaction_profile** = ``false`` :ref:`🔗` -If true the hand interaction profile extension will be activated if supported by the platform. +If ``true`` the hand interaction profile extension will be activated if supported by the platform. .. rst-class:: classref-item-separator @@ -11799,9 +11973,39 @@ If true the hand interaction profile extension will be activated if supported by .. rst-class:: classref-property -:ref:`bool` **xr/openxr/extensions/hand_tracking** = ``true`` :ref:`🔗` +:ref:`bool` **xr/openxr/extensions/hand_tracking** = ``false`` :ref:`🔗` -If true we enable the hand tracking extension if available. +If ``true``, the hand tracking extension is enabled if available. + +\ **Note:** By default hand tracking will only work for data sources chosen by the XR runtime. For SteamVR this is the controller inferred data source, for most other runtimes this is the unobstructed data source. There is no way to query this. If a runtime supports the OpenXR data source extension you can use the :ref:`xr/openxr/extensions/hand_tracking_controller_data_source` and/or :ref:`xr/openxr/extensions/hand_tracking_unobstructed_data_source` to indicate you wish to enable these data sources. If neither is selected the data source extension is not enabled and the XR runtimes default behavior persists. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_xr/openxr/extensions/hand_tracking_controller_data_source: + +.. rst-class:: classref-property + +:ref:`bool` **xr/openxr/extensions/hand_tracking_controller_data_source** = ``false`` :ref:`🔗` + +If ``true``, support for the controller inferred data source is requested. If supported, you will receive hand tracking data even if the user has a controller in hand, with finger positions automatically inferred from controller input and/or sensors. + +\ **Node:** This requires the OpenXR data source extension and controller inferred handtracking to be supported by the XR runtime. If not supported this setting will be ignored. :ref:`xr/openxr/extensions/hand_tracking` must be enabled for this setting to be used. + +.. rst-class:: classref-item-separator + +---- + +.. _class_ProjectSettings_property_xr/openxr/extensions/hand_tracking_unobstructed_data_source: + +.. rst-class:: classref-property + +:ref:`bool` **xr/openxr/extensions/hand_tracking_unobstructed_data_source** = ``false`` :ref:`🔗` + +If ``true``, support for the unobstructed data source is requested. If supported, you will receive hand tracking data based on the actual finger positions of the user often determined by optical tracking. + +\ **Node:** This requires the OpenXR data source extension and unobstructed handtracking to be supported by the XR runtime. If not supported this setting will be ignored. :ref:`xr/openxr/extensions/hand_tracking` must be enabled for this setting to be used. .. rst-class:: classref-item-separator @@ -11926,8 +12130,6 @@ Adds a custom property info to a property. The dictionary must contain: - optionally ``"hint"``: :ref:`int` (see :ref:`PropertyHint`) and ``"hint_string"``: :ref:`String`\ -\ **Example:**\ - .. tabs:: @@ -12020,8 +12222,6 @@ Returns the order of a configuration value (influences when saved to the config Returns the value of the setting identified by ``name``. If the setting doesn't exist and ``default_value`` is specified, the value of ``default_value`` is returned. Otherwise, ``null`` is returned. -\ **Example:**\ - .. tabs:: @@ -12051,9 +12251,7 @@ Returns the value of the setting identified by ``name``. If the setting doesn't Similar to :ref:`get_setting`, but applies feature tag overrides if any exists and is valid. -\ **Example:**\ - -If the following setting override exists "application/config/name.windows", and the following code is executed: +\ **Example:**\ If the setting override ``"application/config/name.windows"`` exists, and the following code is executed on a *Windows* operating system, the overridden setting is printed instead: .. tabs:: @@ -12068,8 +12266,6 @@ If the following setting override exists "application/config/name.windows", and -Then the overridden setting will be returned instead if the project is running on the *Windows* operating system. - .. rst-class:: classref-item-separator ---- @@ -12238,8 +12434,6 @@ Sets whether a setting requires restarting the editor to properly take effect. Sets the value of a setting. -\ **Example:**\ - .. tabs:: diff --git a/classes/class_propertytweener.rst b/classes/class_propertytweener.rst index 966125b95f8..65d20e588fa 100644 --- a/classes/class_propertytweener.rst +++ b/classes/class_propertytweener.rst @@ -21,6 +21,8 @@ Description **PropertyTweener** is used to interpolate a property in an object. See :ref:`Tween.tween_property` for more usage information. +The tweener will finish automatically if the target object is freed. + \ **Note:** :ref:`Tween.tween_property` is the only correct way to create **PropertyTweener**. Any **PropertyTweener** created manually will not function correctly. .. rst-class:: classref-reftable-group @@ -64,12 +66,12 @@ Method Descriptions When called, the final value will be used as a relative value instead. -\ **Example:**\ +\ **Example:** Move the node by ``100`` pixels to the right. :: var tween = get_tree().create_tween() - tween.tween_property(self, "position", Vector2.RIGHT * 100, 1).as_relative() #the node will move by 100 pixels to the right + tween.tween_property(self, "position", Vector2.RIGHT * 100, 1).as_relative() .. rst-class:: classref-item-separator @@ -83,12 +85,12 @@ When called, the final value will be used as a relative value instead. Sets a custom initial value to the **PropertyTweener**. -\ **Example:**\ +\ **Example:** Move the node from position ``(100, 100)`` to ``(200, 100)``. :: var tween = get_tree().create_tween() - tween.tween_property(self, "position", Vector2(200, 100), 1).from(Vector2(100, 100)) #this will move the node from position (100, 100) to (200, 100) + tween.tween_property(self, "position", Vector2(200, 100), 1).from(Vector2(100, 100)) .. rst-class:: classref-item-separator @@ -119,8 +121,6 @@ Makes the **PropertyTweener** use the current property value (i.e. at the time o 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 diff --git a/classes/class_rect2.rst b/classes/class_rect2.rst index 65d11ae327c..ba2d6e7f15c 100644 --- a/classes/class_rect2.rst +++ b/classes/class_rect2.rst @@ -95,6 +95,8 @@ Methods +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_center`\ (\ ) |const| | +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Vector2` | :ref:`get_support`\ (\ direction\: :ref:`Vector2`\ ) |const| | + +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2` | :ref:`grow`\ (\ amount\: :ref:`float`\ ) |const| | +-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2` | :ref:`grow_individual`\ (\ left\: :ref:`float`, top\: :ref:`float`, right\: :ref:`float`, bottom\: :ref:`float`\ ) |const| | @@ -337,6 +339,18 @@ Returns the center point of the rectangle. This is the same as ``position + (siz ---- +.. _class_Rect2_method_get_support: + +.. rst-class:: classref-method + +:ref:`Vector2` **get_support**\ (\ direction\: :ref:`Vector2`\ ) |const| :ref:`🔗` + +Returns the vertex's position of this rect that's the farthest in the given direction. This point is commonly known as the support point in collision detection algorithms. + +.. rst-class:: classref-item-separator + +---- + .. _class_Rect2_method_grow: .. rst-class:: classref-method diff --git a/classes/class_refcounted.rst b/classes/class_refcounted.rst index fefdffe9bce..61010394d17 100644 --- a/classes/class_refcounted.rst +++ b/classes/class_refcounted.rst @@ -12,7 +12,7 @@ RefCounted **Inherits:** :ref:`Object` -**Inherited By:** :ref:`AESContext`, :ref:`AStar2D`, :ref:`AStar3D`, :ref:`AStarGrid2D`, :ref:`AudioEffectInstance`, :ref:`AudioSample`, :ref:`AudioSamplePlayback`, :ref:`AudioStreamPlayback`, :ref:`CameraFeed`, :ref:`CharFXTransform`, :ref:`ConfigFile`, :ref:`Crypto`, :ref:`DirAccess`, :ref:`DTLSServer`, :ref:`EditorDebuggerPlugin`, :ref:`EditorDebuggerSession`, :ref:`EditorExportPlatform`, :ref:`EditorExportPlugin`, :ref:`EditorFeatureProfile`, :ref:`EditorFileSystemImportFormatSupportQuery`, :ref:`EditorInspectorPlugin`, :ref:`EditorResourceConversionPlugin`, :ref:`EditorResourcePreviewGenerator`, :ref:`EditorResourceTooltipPlugin`, :ref:`EditorSceneFormatImporter`, :ref:`EditorScenePostImport`, :ref:`EditorScenePostImportPlugin`, :ref:`EditorScript`, :ref:`EditorTranslationParserPlugin`, :ref:`EncodedObjectAsID`, :ref:`ENetConnection`, :ref:`EngineProfiler`, :ref:`Expression`, :ref:`FileAccess`, :ref:`HashingContext`, :ref:`HMACContext`, :ref:`HTTPClient`, :ref:`ImageFormatLoader`, :ref:`JavaClass`, :ref:`JavaScriptObject`, :ref:`KinematicCollision2D`, :ref:`KinematicCollision3D`, :ref:`Lightmapper`, :ref:`MeshConvexDecompositionSettings`, :ref:`MeshDataTool`, :ref:`MultiplayerAPI`, :ref:`Mutex`, :ref:`NavigationPathQueryParameters2D`, :ref:`NavigationPathQueryParameters3D`, :ref:`NavigationPathQueryResult2D`, :ref:`NavigationPathQueryResult3D`, :ref:`Node3DGizmo`, :ref:`OggPacketSequencePlayback`, :ref:`OpenXRAPIExtension`, :ref:`PackedDataContainerRef`, :ref:`PacketPeer`, :ref:`PCKPacker`, :ref:`PhysicsPointQueryParameters2D`, :ref:`PhysicsPointQueryParameters3D`, :ref:`PhysicsRayQueryParameters2D`, :ref:`PhysicsRayQueryParameters3D`, :ref:`PhysicsShapeQueryParameters2D`, :ref:`PhysicsShapeQueryParameters3D`, :ref:`PhysicsTestMotionParameters2D`, :ref:`PhysicsTestMotionParameters3D`, :ref:`PhysicsTestMotionResult2D`, :ref:`PhysicsTestMotionResult3D`, :ref:`RandomNumberGenerator`, :ref:`RDAttachmentFormat`, :ref:`RDFramebufferPass`, :ref:`RDPipelineColorBlendState`, :ref:`RDPipelineColorBlendStateAttachment`, :ref:`RDPipelineDepthStencilState`, :ref:`RDPipelineMultisampleState`, :ref:`RDPipelineRasterizationState`, :ref:`RDPipelineSpecializationConstant`, :ref:`RDSamplerState`, :ref:`RDShaderSource`, :ref:`RDTextureFormat`, :ref:`RDTextureView`, :ref:`RDUniform`, :ref:`RDVertexAttribute`, :ref:`RegEx`, :ref:`RegExMatch`, :ref:`RenderSceneBuffers`, :ref:`RenderSceneBuffersConfiguration`, :ref:`Resource`, :ref:`ResourceFormatLoader`, :ref:`ResourceFormatSaver`, :ref:`ResourceImporter`, :ref:`SceneState`, :ref:`SceneTreeTimer`, :ref:`Semaphore`, :ref:`SkinReference`, :ref:`StreamPeer`, :ref:`SurfaceTool`, :ref:`TCPServer`, :ref:`TextLine`, :ref:`TextParagraph`, :ref:`TextServer`, :ref:`Thread`, :ref:`TLSOptions`, :ref:`TriangleMesh`, :ref:`Tween`, :ref:`Tweener`, :ref:`UDPServer`, :ref:`UPNP`, :ref:`UPNPDevice`, :ref:`WeakRef`, :ref:`WebRTCPeerConnection`, :ref:`XMLParser`, :ref:`XRInterface`, :ref:`XRPose`, :ref:`XRTracker`, :ref:`ZIPPacker`, :ref:`ZIPReader` +**Inherited By:** :ref:`AESContext`, :ref:`AStar2D`, :ref:`AStar3D`, :ref:`AStarGrid2D`, :ref:`AudioEffectInstance`, :ref:`AudioSample`, :ref:`AudioSamplePlayback`, :ref:`AudioStreamPlayback`, :ref:`CameraFeed`, :ref:`CharFXTransform`, :ref:`ConfigFile`, :ref:`Crypto`, :ref:`DirAccess`, :ref:`DTLSServer`, :ref:`EditorDebuggerPlugin`, :ref:`EditorDebuggerSession`, :ref:`EditorExportPlatform`, :ref:`EditorExportPlugin`, :ref:`EditorExportPreset`, :ref:`EditorFeatureProfile`, :ref:`EditorFileSystemImportFormatSupportQuery`, :ref:`EditorInspectorPlugin`, :ref:`EditorResourceConversionPlugin`, :ref:`EditorResourcePreviewGenerator`, :ref:`EditorResourceTooltipPlugin`, :ref:`EditorSceneFormatImporter`, :ref:`EditorScenePostImport`, :ref:`EditorScenePostImportPlugin`, :ref:`EditorScript`, :ref:`EditorTranslationParserPlugin`, :ref:`EncodedObjectAsID`, :ref:`ENetConnection`, :ref:`EngineProfiler`, :ref:`Expression`, :ref:`FileAccess`, :ref:`HashingContext`, :ref:`HMACContext`, :ref:`HTTPClient`, :ref:`ImageFormatLoader`, :ref:`JavaClass`, :ref:`JavaScriptObject`, :ref:`KinematicCollision2D`, :ref:`KinematicCollision3D`, :ref:`Lightmapper`, :ref:`MeshConvexDecompositionSettings`, :ref:`MeshDataTool`, :ref:`MultiplayerAPI`, :ref:`Mutex`, :ref:`NavigationPathQueryParameters2D`, :ref:`NavigationPathQueryParameters3D`, :ref:`NavigationPathQueryResult2D`, :ref:`NavigationPathQueryResult3D`, :ref:`Node3DGizmo`, :ref:`OggPacketSequencePlayback`, :ref:`OpenXRAPIExtension`, :ref:`PackedDataContainerRef`, :ref:`PacketPeer`, :ref:`PCKPacker`, :ref:`PhysicsPointQueryParameters2D`, :ref:`PhysicsPointQueryParameters3D`, :ref:`PhysicsRayQueryParameters2D`, :ref:`PhysicsRayQueryParameters3D`, :ref:`PhysicsShapeQueryParameters2D`, :ref:`PhysicsShapeQueryParameters3D`, :ref:`PhysicsTestMotionParameters2D`, :ref:`PhysicsTestMotionParameters3D`, :ref:`PhysicsTestMotionResult2D`, :ref:`PhysicsTestMotionResult3D`, :ref:`RandomNumberGenerator`, :ref:`RDAttachmentFormat`, :ref:`RDFramebufferPass`, :ref:`RDPipelineColorBlendState`, :ref:`RDPipelineColorBlendStateAttachment`, :ref:`RDPipelineDepthStencilState`, :ref:`RDPipelineMultisampleState`, :ref:`RDPipelineRasterizationState`, :ref:`RDPipelineSpecializationConstant`, :ref:`RDSamplerState`, :ref:`RDShaderSource`, :ref:`RDTextureFormat`, :ref:`RDTextureView`, :ref:`RDUniform`, :ref:`RDVertexAttribute`, :ref:`RegEx`, :ref:`RegExMatch`, :ref:`RenderSceneBuffers`, :ref:`RenderSceneBuffersConfiguration`, :ref:`Resource`, :ref:`ResourceFormatLoader`, :ref:`ResourceFormatSaver`, :ref:`ResourceImporter`, :ref:`SceneState`, :ref:`SceneTreeTimer`, :ref:`Semaphore`, :ref:`SkinReference`, :ref:`StreamPeer`, :ref:`SurfaceTool`, :ref:`TCPServer`, :ref:`TextLine`, :ref:`TextParagraph`, :ref:`TextServer`, :ref:`Thread`, :ref:`TLSOptions`, :ref:`TriangleMesh`, :ref:`Tween`, :ref:`Tweener`, :ref:`UDPServer`, :ref:`UPNP`, :ref:`UPNPDevice`, :ref:`WeakRef`, :ref:`WebRTCPeerConnection`, :ref:`XMLParser`, :ref:`XRInterface`, :ref:`XRPose`, :ref:`XRTracker`, :ref:`ZIPPacker`, :ref:`ZIPReader` Base class for reference-counted objects. diff --git a/classes/class_regex.rst b/classes/class_regex.rst index 57368a09e3c..27f2b19d7ad 100644 --- a/classes/class_regex.rst +++ b/classes/class_regex.rst @@ -86,9 +86,9 @@ Methods +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`clear`\ (\ ) | +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Error` | :ref:`compile`\ (\ pattern\: :ref:`String`\ ) | + | :ref:`Error` | :ref:`compile`\ (\ pattern\: :ref:`String`, show_error\: :ref:`bool` = true\ ) | +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`RegEx` | :ref:`create_from_string`\ (\ pattern\: :ref:`String`\ ) |static| | + | :ref:`RegEx` | :ref:`create_from_string`\ (\ pattern\: :ref:`String`, show_error\: :ref:`bool` = true\ ) |static| | +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_group_count`\ (\ ) |const| | +------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -130,9 +130,9 @@ This method resets the state of the object, as if it was freshly created. Namely .. rst-class:: classref-method -:ref:`Error` **compile**\ (\ pattern\: :ref:`String`\ ) :ref:`🔗` +:ref:`Error` **compile**\ (\ pattern\: :ref:`String`, show_error\: :ref:`bool` = true\ ) :ref:`🔗` -Compiles and assign the search pattern to use. Returns :ref:`@GlobalScope.OK` if the compilation is successful. If an error is encountered, details are printed to standard output and an error is returned. +Compiles and assign the search pattern to use. Returns :ref:`@GlobalScope.OK` if the compilation is successful. If compilation fails, returns :ref:`@GlobalScope.FAILED` and when ``show_error`` is ``true``, details are printed to standard output. .. rst-class:: classref-item-separator @@ -142,9 +142,9 @@ Compiles and assign the search pattern to use. Returns :ref:`@GlobalScope.OK` **create_from_string**\ (\ pattern\: :ref:`String`\ ) |static| :ref:`🔗` +:ref:`RegEx` **create_from_string**\ (\ pattern\: :ref:`String`, show_error\: :ref:`bool` = true\ ) |static| :ref:`🔗` -Creates and compiles a new **RegEx** object. +Creates and compiles a new **RegEx** object. See also :ref:`compile`. .. rst-class:: classref-item-separator diff --git a/classes/class_renderingdevice.rst b/classes/class_renderingdevice.rst index d7e988760f8..ed49c2e2d6e 100644 --- a/classes/class_renderingdevice.rst +++ b/classes/class_renderingdevice.rst @@ -85,7 +85,7 @@ Methods +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`draw_command_insert_label`\ (\ name\: :ref:`String`, color\: :ref:`Color`\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`int` | :ref:`draw_list_begin`\ (\ framebuffer\: :ref:`RID`, initial_color_action\: :ref:`InitialAction`, final_color_action\: :ref:`FinalAction`, initial_depth_action\: :ref:`InitialAction`, final_depth_action\: :ref:`FinalAction`, clear_color_values\: :ref:`PackedColorArray` = PackedColorArray(), clear_depth\: :ref:`float` = 1.0, clear_stencil\: :ref:`int` = 0, region\: :ref:`Rect2` = Rect2(0, 0, 0, 0)\ ) | + | :ref:`int` | :ref:`draw_list_begin`\ (\ framebuffer\: :ref:`RID`, initial_color_action\: :ref:`InitialAction`, final_color_action\: :ref:`FinalAction`, initial_depth_action\: :ref:`InitialAction`, final_depth_action\: :ref:`FinalAction`, clear_color_values\: :ref:`PackedColorArray` = PackedColorArray(), clear_depth\: :ref:`float` = 1.0, clear_stencil\: :ref:`int` = 0, region\: :ref:`Rect2` = Rect2(0, 0, 0, 0), breadcrumb\: :ref:`int` = 0\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`draw_list_begin_for_screen`\ (\ screen\: :ref:`int` = 0, clear_color\: :ref:`Color` = Color(0, 0, 0, 1)\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -147,18 +147,42 @@ Methods +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_captured_timestamps_frame`\ (\ ) |const| | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_device_allocation_count`\ (\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_device_allocs_by_object_type`\ (\ type\: :ref:`int`\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_device_memory_by_object_type`\ (\ type\: :ref:`int`\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_device_name`\ (\ ) |const| | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_device_pipeline_cache_uuid`\ (\ ) |const| | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_device_total_memory`\ (\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_device_vendor_name`\ (\ ) |const| | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_driver_allocation_count`\ (\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_driver_allocs_by_object_type`\ (\ type\: :ref:`int`\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_driver_and_device_memory_report`\ (\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_driver_memory_by_object_type`\ (\ type\: :ref:`int`\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_driver_resource`\ (\ resource\: :ref:`DriverResource`, rid\: :ref:`RID`, index\: :ref:`int`\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_driver_total_memory`\ (\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_frame_delay`\ (\ ) |const| | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_memory_usage`\ (\ type\: :ref:`MemoryType`\ ) |const| | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_perf_report`\ (\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`String` | :ref:`get_tracked_object_name`\ (\ type_index\: :ref:`int`\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`get_tracked_object_type_count`\ (\ ) |const| | + +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`index_array_create`\ (\ index_buffer\: :ref:`RID`, index_offset\: :ref:`int`, index_count\: :ref:`int`\ ) | +------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`index_buffer_create`\ (\ size_indices\: :ref:`int`, format\: :ref:`IndexBufferFormat`, data\: :ref:`PackedByteArray` = PackedByteArray(), use_restart_indices\: :ref:`bool` = false\ ) | @@ -4507,6 +4531,172 @@ Memory taken by buffers. Total memory taken. This is greater than the sum of :ref:`MEMORY_TEXTURES` and :ref:`MEMORY_BUFFERS`, as it also includes miscellaneous memory usage. +.. rst-class:: classref-item-separator + +---- + +.. _enum_RenderingDevice_BreadcrumbMarker: + +.. rst-class:: classref-enumeration + +enum **BreadcrumbMarker**: :ref:`🔗` + +.. _class_RenderingDevice_constant_NONE: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **NONE** = ``0`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_REFLECTION_PROBES: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **REFLECTION_PROBES** = ``65536`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_SKY_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **SKY_PASS** = ``131072`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_LIGHTMAPPER_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **LIGHTMAPPER_PASS** = ``196608`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_SHADOW_PASS_DIRECTIONAL: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **SHADOW_PASS_DIRECTIONAL** = ``262144`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_SHADOW_PASS_CUBE: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **SHADOW_PASS_CUBE** = ``327680`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_OPAQUE_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **OPAQUE_PASS** = ``393216`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_ALPHA_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **ALPHA_PASS** = ``458752`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_TRANSPARENT_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **TRANSPARENT_PASS** = ``524288`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_POST_PROCESSING_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **POST_PROCESSING_PASS** = ``589824`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_BLIT_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **BLIT_PASS** = ``655360`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_UI_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **UI_PASS** = ``720896`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + +.. _class_RenderingDevice_constant_DEBUG_PASS: + +.. rst-class:: classref-enumeration-constant + +:ref:`BreadcrumbMarker` **DEBUG_PASS** = ``786432`` + +.. container:: contribute + + There is currently no description for this enum. Please help us by :ref:`contributing one `! + + + .. rst-class:: classref-section-separator ---- @@ -4839,7 +5029,7 @@ This method does nothing. .. rst-class:: classref-method -:ref:`int` **draw_list_begin**\ (\ framebuffer\: :ref:`RID`, initial_color_action\: :ref:`InitialAction`, final_color_action\: :ref:`FinalAction`, initial_depth_action\: :ref:`InitialAction`, final_depth_action\: :ref:`FinalAction`, clear_color_values\: :ref:`PackedColorArray` = PackedColorArray(), clear_depth\: :ref:`float` = 1.0, clear_stencil\: :ref:`int` = 0, region\: :ref:`Rect2` = Rect2(0, 0, 0, 0)\ ) :ref:`🔗` +:ref:`int` **draw_list_begin**\ (\ framebuffer\: :ref:`RID`, initial_color_action\: :ref:`InitialAction`, final_color_action\: :ref:`FinalAction`, initial_depth_action\: :ref:`InitialAction`, final_depth_action\: :ref:`FinalAction`, clear_color_values\: :ref:`PackedColorArray` = PackedColorArray(), clear_depth\: :ref:`float` = 1.0, clear_stencil\: :ref:`int` = 0, region\: :ref:`Rect2` = Rect2(0, 0, 0, 0), breadcrumb\: :ref:`int` = 0\ ) :ref:`🔗` Starts a list of raster drawing commands created with the ``draw_*`` methods. The returned value should be passed to other ``draw_list_*`` functions. @@ -4851,7 +5041,7 @@ A simple drawing operation might look like this (code is not a complete example) var rd = RenderingDevice.new() var clear_colors = PackedColorArray([Color(0, 0, 0, 0), Color(0, 0, 0, 0), Color(0, 0, 0, 0)]) - var draw_list = rd.draw_list_begin(framebuffers[i], RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_DISCARD, clear_colors) + var draw_list = rd.draw_list_begin(framebuffers[i], RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_DISCARD, clear_colors, RenderingDevice.OPAQUE_PASS) # Draw opaque. rd.draw_list_bind_render_pipeline(draw_list, raster_pipeline) @@ -4866,6 +5056,14 @@ A simple drawing operation might look like this (code is not a complete example) rd.draw_list_end() +The ``breadcrumb`` parameter can be an arbitrary 32-bit integer that is useful to diagnose GPU crashes. If Godot is built in dev or debug mode; when the GPU crashes Godot will dump all shaders that were being executed at the time of the crash and the breadcrumb is useful to diagnose what passes did those shaders belong to. + +It does not affect rendering behavior and can be set to 0. It is recommended to use :ref:`BreadcrumbMarker` enumerations for consistency but it's not required. It is also possible to use bitwise operations to add extra data. e.g. + +:: + + rd.draw_list_begin(fb[i], RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_READ, RenderingDevice.INITIAL_ACTION_CLEAR, RenderingDevice.FINAL_ACTION_DISCARD, clear_colors, RenderingDevice.OPAQUE_PASS | 5) + .. rst-class:: classref-item-separator ---- @@ -5248,6 +5446,52 @@ Returns the index of the last frame rendered that has rendering timestamps avail ---- +.. _class_RenderingDevice_method_get_device_allocation_count: + +.. rst-class:: classref-method + +:ref:`int` **get_device_allocation_count**\ (\ ) |const| :ref:`🔗` + +Returns how many allocations the GPU has performed for internal driver structures. + +This is only used by Vulkan in debug builds and can return 0 when this information is not tracked or unknown. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingDevice_method_get_device_allocs_by_object_type: + +.. rst-class:: classref-method + +:ref:`int` **get_device_allocs_by_object_type**\ (\ type\: :ref:`int`\ ) |const| :ref:`🔗` + +Same as :ref:`get_device_allocation_count` but filtered for a given object type. + +The type argument must be in range ``[0; get_tracked_object_type_count - 1]``. If :ref:`get_tracked_object_type_count` is 0, then type argument is ignored and always returns 0. + +This is only used by Vulkan in debug builds and can return 0 when this information is not tracked or unknown. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingDevice_method_get_device_memory_by_object_type: + +.. rst-class:: classref-method + +:ref:`int` **get_device_memory_by_object_type**\ (\ type\: :ref:`int`\ ) |const| :ref:`🔗` + +Same as :ref:`get_device_total_memory` but filtered for a given object type. + +The type argument must be in range ``[0; get_tracked_object_type_count - 1]``. If :ref:`get_tracked_object_type_count` is 0, then type argument is ignored and always returns 0. + +This is only used by Vulkan in debug builds and can return 0 when this information is not tracked or unknown. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingDevice_method_get_device_name: .. rst-class:: classref-method @@ -5272,6 +5516,20 @@ Returns the universally unique identifier for the pipeline cache. This is used t ---- +.. _class_RenderingDevice_method_get_device_total_memory: + +.. rst-class:: classref-method + +:ref:`int` **get_device_total_memory**\ (\ ) |const| :ref:`🔗` + +Returns how much bytes the GPU is using. + +This is only used by Vulkan in debug builds and can return 0 when this information is not tracked or unknown. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingDevice_method_get_device_vendor_name: .. rst-class:: classref-method @@ -5284,6 +5542,86 @@ Returns the vendor of the video adapter (e.g. "NVIDIA Corporation"). Equivalent ---- +.. _class_RenderingDevice_method_get_driver_allocation_count: + +.. rst-class:: classref-method + +:ref:`int` **get_driver_allocation_count**\ (\ ) |const| :ref:`🔗` + +Returns how many allocations the GPU driver has performed for internal driver structures. + +This is only used by Vulkan in debug builds and can return 0 when this information is not tracked or unknown. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingDevice_method_get_driver_allocs_by_object_type: + +.. rst-class:: classref-method + +:ref:`int` **get_driver_allocs_by_object_type**\ (\ type\: :ref:`int`\ ) |const| :ref:`🔗` + +Same as :ref:`get_driver_allocation_count` but filtered for a given object type. + +The type argument must be in range ``[0; get_tracked_object_type_count - 1]``. If :ref:`get_tracked_object_type_count` is 0, then type argument is ignored and always returns 0. + +This is only used by Vulkan in debug builds and can return 0 when this information is not tracked or unknown. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingDevice_method_get_driver_and_device_memory_report: + +.. rst-class:: classref-method + +:ref:`String` **get_driver_and_device_memory_report**\ (\ ) |const| :ref:`🔗` + +Returns string report in CSV format using the following methods: + +- :ref:`get_tracked_object_name`\ + +- :ref:`get_tracked_object_type_count`\ + +- :ref:`get_driver_total_memory`\ + +- :ref:`get_driver_allocation_count`\ + +- :ref:`get_driver_memory_by_object_type`\ + +- :ref:`get_driver_allocs_by_object_type`\ + +- :ref:`get_device_total_memory`\ + +- :ref:`get_device_allocation_count`\ + +- :ref:`get_device_memory_by_object_type`\ + +- :ref:`get_device_allocs_by_object_type`\ + +This is only used by Vulkan in debug builds. Godot must also be started with the ``--extra-gpu-memory-tracking`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingDevice_method_get_driver_memory_by_object_type: + +.. rst-class:: classref-method + +:ref:`int` **get_driver_memory_by_object_type**\ (\ type\: :ref:`int`\ ) |const| :ref:`🔗` + +Same as :ref:`get_driver_total_memory` but filtered for a given object type. + +The type argument must be in range ``[0; get_tracked_object_type_count - 1]``. If :ref:`get_tracked_object_type_count` is 0, then type argument is ignored and always returns 0. + +This is only used by Vulkan in debug builds and can return 0 when this information is not tracked or unknown. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingDevice_method_get_driver_resource: .. rst-class:: classref-method @@ -5296,6 +5634,20 @@ Returns the unique identifier of the driver ``resource`` for the specified ``rid ---- +.. _class_RenderingDevice_method_get_driver_total_memory: + +.. rst-class:: classref-method + +:ref:`int` **get_driver_total_memory**\ (\ ) |const| :ref:`🔗` + +Returns how much bytes the GPU driver is using for internal driver structures. + +This is only used by Vulkan in debug builds and can return 0 when this information is not tracked or unknown. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingDevice_method_get_frame_delay: .. rst-class:: classref-method @@ -5320,6 +5672,58 @@ Returns the memory usage in bytes corresponding to the given ``type``. When usin ---- +.. _class_RenderingDevice_method_get_perf_report: + +.. rst-class:: classref-method + +:ref:`String` **get_perf_report**\ (\ ) |const| :ref:`🔗` + +Returns a string with a performance report from the past frame. Updates every frame. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingDevice_method_get_tracked_object_name: + +.. rst-class:: classref-method + +:ref:`String` **get_tracked_object_name**\ (\ type_index\: :ref:`int`\ ) |const| :ref:`🔗` + +Returns the name of the type of object for the given ``type_index``. This value must be in range ``[0; get_tracked_object_type_count - 1]``. If :ref:`get_tracked_object_type_count` is 0, then type argument is ignored and always returns the same string. + +The return value is important because it gives meaning to the types passed to :ref:`get_driver_memory_by_object_type`, :ref:`get_driver_allocs_by_object_type`, :ref:`get_device_memory_by_object_type`, and :ref:`get_device_allocs_by_object_type`. Examples of strings it can return (not exhaustive): + +- DEVICE_MEMORY + +- PIPELINE_CACHE + +- SWAPCHAIN_KHR + +- COMMAND_POOL + +Thus if e.g. ``get_tracked_object_name(5)`` returns "COMMAND_POOL", then ``get_device_memory_by_object_type(5)`` returns the bytes used by the GPU for command pools. + +This is only used by Vulkan in debug builds. Godot must also be started with the ``--extra-gpu-memory-tracking`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingDevice_method_get_tracked_object_type_count: + +.. rst-class:: classref-method + +:ref:`int` **get_tracked_object_type_count**\ (\ ) |const| :ref:`🔗` + +Returns how many types of trackable objects are. + +This is only used by Vulkan in debug builds. Godot must also be started with the ``--extra-gpu-memory-tracking`` :doc:`command line argument <../tutorials/editor/command_line_tutorial>`. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingDevice_method_index_array_create: .. rst-class:: classref-method diff --git a/classes/class_renderingserver.rst b/classes/class_renderingserver.rst index 21fd6d7b8fc..85b1d47dbe3 100644 --- a/classes/class_renderingserver.rst +++ b/classes/class_renderingserver.rst @@ -477,6 +477,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`instance_geometry_set_visibility_range`\ (\ instance\: :ref:`RID`, min\: :ref:`float`, max\: :ref:`float`, min_margin\: :ref:`float`, max_margin\: :ref:`float`, fade_mode\: :ref:`VisibilityRangeFadeMode`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`instance_reset_physics_interpolation`\ (\ instance\: :ref:`RID`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`instance_set_base`\ (\ instance\: :ref:`RID`, base\: :ref:`RID`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`instance_set_blend_shape_weight`\ (\ instance\: :ref:`RID`, shape\: :ref:`int`, weight\: :ref:`float`\ ) | @@ -487,6 +489,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`instance_set_ignore_culling`\ (\ instance\: :ref:`RID`, enabled\: :ref:`bool`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`instance_set_interpolated`\ (\ instance\: :ref:`RID`, interpolated\: :ref:`bool`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`instance_set_layer_mask`\ (\ instance\: :ref:`RID`, mask\: :ref:`int`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`instance_set_pivot_data`\ (\ instance\: :ref:`RID`, sorting_offset\: :ref:`float`, use_aabb_center\: :ref:`bool`\ ) | @@ -561,6 +565,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`lightmap_set_textures`\ (\ lightmap\: :ref:`RID`, light\: :ref:`RID`, uses_sh\: :ref:`bool`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`lightmaps_set_bicubic_filter`\ (\ enable\: :ref:`bool`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`make_sphere_mesh`\ (\ latitudes\: :ref:`int`, longitudes\: :ref:`int`, radius\: :ref:`float`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`material_create`\ (\ ) | @@ -649,6 +655,8 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform2D` | :ref:`multimesh_instance_get_transform_2d`\ (\ multimesh\: :ref:`RID`, index\: :ref:`int`\ ) |const| | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`multimesh_instance_reset_physics_interpolation`\ (\ multimesh\: :ref:`RID`, index\: :ref:`int`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_instance_set_color`\ (\ multimesh\: :ref:`RID`, index\: :ref:`int`, color\: :ref:`Color`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_instance_set_custom_data`\ (\ multimesh\: :ref:`RID`, index\: :ref:`int`, custom_data\: :ref:`Color`\ ) | @@ -659,10 +667,16 @@ Methods +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_set_buffer`\ (\ multimesh\: :ref:`RID`, buffer\: :ref:`PackedFloat32Array`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`multimesh_set_buffer_interpolated`\ (\ multimesh\: :ref:`RID`, buffer\: :ref:`PackedFloat32Array`, buffer_previous\: :ref:`PackedFloat32Array`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_set_custom_aabb`\ (\ multimesh\: :ref:`RID`, aabb\: :ref:`AABB`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_set_mesh`\ (\ multimesh\: :ref:`RID`, mesh\: :ref:`RID`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`multimesh_set_physics_interpolated`\ (\ multimesh\: :ref:`RID`, interpolated\: :ref:`bool`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`multimesh_set_physics_interpolation_quality`\ (\ multimesh\: :ref:`RID`, quality\: :ref:`MultimeshPhysicsInterpolationQuality`\ ) | + +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`multimesh_set_visible_instances`\ (\ multimesh\: :ref:`RID`, visible\: :ref:`int`\ ) | +----------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`occluder_create`\ (\ ) | @@ -1866,6 +1880,32 @@ Use :ref:`Transform3D` to store MultiMesh transform. ---- +.. _enum_RenderingServer_MultimeshPhysicsInterpolationQuality: + +.. rst-class:: classref-enumeration + +enum **MultimeshPhysicsInterpolationQuality**: :ref:`🔗` + +.. _class_RenderingServer_constant_MULTIMESH_INTERP_QUALITY_FAST: + +.. rst-class:: classref-enumeration-constant + +:ref:`MultimeshPhysicsInterpolationQuality` **MULTIMESH_INTERP_QUALITY_FAST** = ``0`` + +MultiMesh physics interpolation favors speed over quality. + +.. _class_RenderingServer_constant_MULTIMESH_INTERP_QUALITY_HIGH: + +.. rst-class:: classref-enumeration-constant + +:ref:`MultimeshPhysicsInterpolationQuality` **MULTIMESH_INTERP_QUALITY_HIGH** = ``1`` + +MultiMesh physics interpolation favors quality over speed. + +.. rst-class:: classref-item-separator + +---- + .. _enum_RenderingServer_LightProjectorFilter: .. rst-class:: classref-enumeration @@ -7086,7 +7126,9 @@ Sets the shape of the occluder polygon. |void| **canvas_set_item_mirroring**\ (\ canvas\: :ref:`RID`, item\: :ref:`RID`, mirroring\: :ref:`Vector2`\ ) :ref:`🔗` -A copy of the canvas item will be drawn with a local offset of the mirroring :ref:`Vector2`. +A copy of the canvas item will be drawn with a local offset of the ``mirroring``. + +\ **Note:** This is equivalent to calling :ref:`canvas_set_item_repeat` like ``canvas_set_item_repeat(item, mirroring, 1)``, with an additional check ensuring ``canvas`` is a parent of ``item``. .. rst-class:: classref-item-separator @@ -8432,6 +8474,20 @@ Sets the visibility range values for the given geometry instance. Equivalent to ---- +.. _class_RenderingServer_method_instance_reset_physics_interpolation: + +.. rst-class:: classref-method + +|void| **instance_reset_physics_interpolation**\ (\ instance\: :ref:`RID`\ ) :ref:`🔗` + +Prevents physics interpolation for the current physics tick. + +This is useful when moving an instance to a new location, to give an instantaneous change rather than interpolation from the previous location. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_instance_set_base: .. rst-class:: classref-method @@ -8492,6 +8548,18 @@ If ``true``, ignores both frustum and occlusion culling on the specified 3D geom ---- +.. _class_RenderingServer_method_instance_set_interpolated: + +.. rst-class:: classref-method + +|void| **instance_set_interpolated**\ (\ instance\: :ref:`RID`, interpolated\: :ref:`bool`\ ) :ref:`🔗` + +Turns on and off physics interpolation for the instance. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_instance_set_layer_mask: .. rst-class:: classref-method @@ -8962,6 +9030,18 @@ Set the textures on the given ``lightmap`` GI instance to the texture array poin ---- +.. _class_RenderingServer_method_lightmaps_set_bicubic_filter: + +.. rst-class:: classref-method + +|void| **lightmaps_set_bicubic_filter**\ (\ enable\: :ref:`bool`\ ) :ref:`🔗` + +Toggles whether a bicubic filter should be used when lightmaps are sampled. This smoothens their appearance at a performance cost. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_make_sphere_mesh: .. rst-class:: classref-method @@ -9526,6 +9606,20 @@ Returns the :ref:`Transform2D` of the specified instance. For ---- +.. _class_RenderingServer_method_multimesh_instance_reset_physics_interpolation: + +.. rst-class:: classref-method + +|void| **multimesh_instance_reset_physics_interpolation**\ (\ multimesh\: :ref:`RID`, index\: :ref:`int`\ ) :ref:`🔗` + +Prevents physics interpolation for the specified instance during the current physics tick. + +This is useful when moving an instance to a new location, to give an instantaneous change rather than interpolation from the previous location. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_multimesh_instance_set_color: .. rst-class:: classref-method @@ -9601,6 +9695,20 @@ The per-instance data size and expected data order is: ---- +.. _class_RenderingServer_method_multimesh_set_buffer_interpolated: + +.. rst-class:: classref-method + +|void| **multimesh_set_buffer_interpolated**\ (\ multimesh\: :ref:`RID`, buffer\: :ref:`PackedFloat32Array`, buffer_previous\: :ref:`PackedFloat32Array`\ ) :ref:`🔗` + +Alternative version of :ref:`multimesh_set_buffer` for use with physics interpolation. + +Takes both an array of current data and an array of data for the previous physics tick. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_multimesh_set_custom_aabb: .. rst-class:: classref-method @@ -9625,6 +9733,32 @@ Sets the mesh to be drawn by the multimesh. Equivalent to :ref:`MultiMesh.mesh`, interpolated\: :ref:`bool`\ ) :ref:`🔗` + +Turns on and off physics interpolation for this MultiMesh resource. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RenderingServer_method_multimesh_set_physics_interpolation_quality: + +.. rst-class:: classref-method + +|void| **multimesh_set_physics_interpolation_quality**\ (\ multimesh\: :ref:`RID`, quality\: :ref:`MultimeshPhysicsInterpolationQuality`\ ) :ref:`🔗` + +Sets the physics interpolation quality for the :ref:`MultiMesh`. + +A value of :ref:`MULTIMESH_INTERP_QUALITY_FAST` gives fast but low quality interpolation, a value of :ref:`MULTIMESH_INTERP_QUALITY_HIGH` gives slower but higher quality interpolation. + +.. rst-class:: classref-item-separator + +---- + .. _class_RenderingServer_method_multimesh_set_visible_instances: .. rst-class:: classref-method diff --git a/classes/class_resource.rst b/classes/class_resource.rst index 830345729a1..6239494b12f 100644 --- a/classes/class_resource.rst +++ b/classes/class_resource.rst @@ -65,7 +65,7 @@ Methods :widths: auto +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ - | :ref:`RID` | :ref:`_get_rid`\ (\ ) |virtual| | + | :ref:`RID` | :ref:`_get_rid`\ (\ ) |virtual| |const| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_setup_local_to_scene`\ (\ ) |virtual| | +---------------------------------+-----------------------------------------------------------------------------------------------------------------+ @@ -215,7 +215,7 @@ Method Descriptions .. rst-class:: classref-method -:ref:`RID` **_get_rid**\ (\ ) |virtual| :ref:`🔗` +:ref:`RID` **_get_rid**\ (\ ) |virtual| |const| :ref:`🔗` Override this method to return a custom :ref:`RID` when :ref:`get_rid` is called. diff --git a/classes/class_resourceimporterdynamicfont.rst b/classes/class_resourceimporterdynamicfont.rst index c0388887f2e..9cacce548df 100644 --- a/classes/class_resourceimporterdynamicfont.rst +++ b/classes/class_resourceimporterdynamicfont.rst @@ -73,7 +73,7 @@ Properties +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------+-----------+ | :ref:`Dictionary` | :ref:`script_support` | ``{}`` | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------+-----------+ - | :ref:`int` | :ref:`subpixel_positioning` | ``1`` | + | :ref:`int` | :ref:`subpixel_positioning` | ``4`` | +-------------------------------------+--------------------------------------------------------------------------------------------------------------------------+-----------+ .. rst-class:: classref-section-separator @@ -299,7 +299,7 @@ Override the list of language scripts supported by this font. If left empty, thi .. rst-class:: classref-property -:ref:`int` **subpixel_positioning** = ``1`` :ref:`🔗` +:ref:`int` **subpixel_positioning** = ``4`` :ref:`🔗` Subpixel positioning improves font rendering appearance, especially at smaller font sizes. The downside is that it takes more time to initially render the font, which can cause stuttering during gameplay, especially if used with large font sizes. This should be set to **Disabled** for fonts with a pixel art appearance. @@ -311,6 +311,8 @@ Subpixel positioning improves font rendering appearance, especially at smaller f \ **One Quarter of a Pixel:** Always perform precise subpixel positioning regardless of font size. Highest quality, slowest rendering. +\ **Auto (Except Pixel Fonts):** **Disabled** for the pixel style fonts (each glyph contours contain only straight horizontal and vertical lines), **Auto** for the other fonts. + .. |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_resourceimporterimagefont.rst b/classes/class_resourceimporterimagefont.rst index 989f5f61ffb..d6882106b0b 100644 --- a/classes/class_resourceimporterimagefont.rst +++ b/classes/class_resourceimporterimagefont.rst @@ -183,7 +183,7 @@ Margin to cut on the sides of the entire image. This can be used to cut parts of 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``. +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``. ``\uXXXX`` escape sequences can be used to add Unicode characters. **Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray` for more details. diff --git a/classes/class_resourceimporterobj.rst b/classes/class_resourceimporterobj.rst index db0de9ba1fd..cfc2b3127c6 100644 --- a/classes/class_resourceimporterobj.rst +++ b/classes/class_resourceimporterobj.rst @@ -45,8 +45,6 @@ Properties +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ | :ref:`Vector3` | :ref:`offset_mesh` | ``Vector3(0, 0, 0)`` | +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ - | :ref:`bool` | :ref:`optimize_mesh` | ``true`` | - +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ | :ref:`Vector3` | :ref:`scale_mesh` | ``Vector3(1, 1, 1)`` | +-------------------------------+----------------------------------------------------------------------------------------------------------+----------------------+ @@ -97,18 +95,6 @@ Offsets the mesh's data by the specified value. This can be used to work around ---- -.. _class_ResourceImporterOBJ_property_optimize_mesh: - -.. rst-class:: classref-property - -:ref:`bool` **optimize_mesh** = ``true`` :ref:`🔗` - -Unused parameter. This currently has no effect. - -.. rst-class:: classref-item-separator - ----- - .. _class_ResourceImporterOBJ_property_scale_mesh: .. rst-class:: classref-property diff --git a/classes/class_resourceimportertexture.rst b/classes/class_resourceimportertexture.rst index 5be053430fd..37acc7b5219 100644 --- a/classes/class_resourceimportertexture.rst +++ b/classes/class_resourceimportertexture.rst @@ -329,9 +329,9 @@ More information about normal maps (including a coordinate order table for popul An alternative to fixing darkened borders with :ref:`process/fix_alpha_border` is to use premultiplied alpha. By enabling this option, the texture will be converted to this format. A premultiplied alpha texture requires specific materials to be displayed correctly: -- In 2D, a :ref:`CanvasItemMaterial` will need to be created and configured to use the :ref:`CanvasItemMaterial.BLEND_MODE_PREMULT_ALPHA` blend mode on :ref:`CanvasItem`\ s that use this texture. +- In 2D, a :ref:`CanvasItemMaterial` will need to be created and configured to use the :ref:`CanvasItemMaterial.BLEND_MODE_PREMULT_ALPHA` blend mode on :ref:`CanvasItem`\ s that use this texture. In custom ``@canvas_item`` shaders, ``render_mode blend_premul_alpha;`` should be used. -- In 3D, there is no support for premultiplied alpha blend mode yet, so this option is only suited for 2D. +- In 3D, a :ref:`BaseMaterial3D` will need to be created and configured to use the :ref:`BaseMaterial3D.BLEND_MODE_PREMULT_ALPHA` blend mode on materials that use this texture. In custom ``spatial`` shaders, ``render_mode blend_premul_alpha;`` should be used. .. rst-class:: classref-item-separator diff --git a/classes/class_resourceimporterwav.rst b/classes/class_resourceimporterwav.rst index 6cbf8292c99..f63ea0f568a 100644 --- a/classes/class_resourceimporterwav.rst +++ b/classes/class_resourceimporterwav.rst @@ -75,11 +75,11 @@ Property Descriptions The compression mode to use on import. -\ **Disabled:** Imports audio data without any compression. This results in the highest possible quality. +- **PCM (Uncompressed):** Imports audio data without any form of compression, preserving the highest possible quality. It has the lowest CPU cost, but the highest memory usage. -\ **RAM (Ima-ADPCM):** Performs fast lossy compression on import. Low CPU cost, but quality is noticeably decreased compared to Ogg Vorbis or even MP3. +- **IMA ADPCM:** Applies fast, lossy compression during import, noticeably decreasing the quality, but with low CPU cost and memory usage. Does not support seeking and only Forward loop mode is supported. -\ **QOA (`Quite OK Audio `__):** Performs lossy compression on import. CPU cost is slightly higher than IMA-ADPCM, but quality is much higher. +- **\ `Quite OK Audio `__:** Also applies lossy compression on import, having a slightly higher CPU cost compared to IMA ADPCM, but much higher quality and the lowest memory usage. .. rst-class:: classref-item-separator @@ -115,15 +115,17 @@ The end loop point to use when :ref:`edit/loop_mode` **edit/loop_mode** = ``0`` :ref:`🔗` -Controls how audio should loop. This is automatically read from the WAV metadata on import. +Controls how audio should loop. -\ **Disabled:** Don't loop audio, even if metadata indicates the file should be played back looping. +- **Detect From WAV:** Uses loop information from the WAV metadata. -\ **Forward:** Standard audio looping. +- **Disabled:** Don't loop audio, even if the metadata indicates the file playback should loop. -\ **Ping-Pong:** Play audio forward until it's done playing, then play it backward and repeat. This is similar to mirrored texture repeat, but for audio. +- **Forward:** Standard audio looping. Plays the audio forward from the beginning to :ref:`edit/loop_end`, then returns to :ref:`edit/loop_begin` and repeats. -\ **Backward:** Play audio in reverse and loop back to the end when done playing. +- **Ping-Pong:** Plays the audio forward until :ref:`edit/loop_end`, then backwards to :ref:`edit/loop_begin`, repeating this cycle. + +- **Backward:** Plays the audio backwards from :ref:`edit/loop_end` to :ref:`edit/loop_begin`, then repeats. \ **Note:** In :ref:`AudioStreamPlayer`, the :ref:`AudioStreamPlayer.finished` signal won't be emitted for looping audio when it reaches the end of the audio file, as the audio will keep playing indefinitely. diff --git a/classes/class_resourceloader.rst b/classes/class_resourceloader.rst index 845ce3d19e0..a039c11dda5 100644 --- a/classes/class_resourceloader.rst +++ b/classes/class_resourceloader.rst @@ -45,6 +45,8 @@ Methods +---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`exists`\ (\ path\: :ref:`String`, type_hint\: :ref:`String` = ""\ ) | +---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Resource` | :ref:`get_cached_ref`\ (\ path\: :ref:`String`\ ) | + +---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_dependencies`\ (\ path\: :ref:`String`\ ) | +---------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`get_recognized_extensions_for_type`\ (\ type\: :ref:`String`\ ) | @@ -202,6 +204,20 @@ An optional ``type_hint`` can be used to further specify the :ref:`Resource` **get_cached_ref**\ (\ path\: :ref:`String`\ ) :ref:`🔗` + +Returns the cached resource reference for the given ``path``. + +\ **Note:** If the resource is not cached, the returned :ref:`Resource` will be invalid. + +.. rst-class:: classref-item-separator + +---- + .. _class_ResourceLoader_method_get_dependencies: .. rst-class:: classref-method diff --git a/classes/class_resourceuid.rst b/classes/class_resourceuid.rst index cc39a4191b4..47a1cf2a7ea 100644 --- a/classes/class_resourceuid.rst +++ b/classes/class_resourceuid.rst @@ -19,7 +19,7 @@ A singleton that manages the unique identifiers of all resources within a projec Description ----------- -Resource UIDs (Unique IDentifiers) allow the engine to keep references between resources intact, even if files can renamed or moved. They can be accessed with ``uid://``. +Resource UIDs (Unique IDentifiers) allow the engine to keep references between resources intact, even if files are renamed or moved. They can be accessed with ``uid://``. \ **ResourceUID** keeps track of all registered resource UIDs in a project, generates new UIDs, and converts between their string and integer representations. diff --git a/classes/class_richtextlabel.rst b/classes/class_richtextlabel.rst index f1a0d6a2b4e..0f10265ceaa 100644 --- a/classes/class_richtextlabel.rst +++ b/classes/class_richtextlabel.rst @@ -67,6 +67,10 @@ Properties +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`bool` | :ref:`hint_underlined` | ``true`` | +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ + | :ref:`HorizontalAlignment` | :ref:`horizontal_alignment` | ``0`` | + +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ + | |bitfield|\[:ref:`JustificationFlag`\] | :ref:`justification_flags` | ``163`` | + +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`String` | :ref:`language` | ``""`` | +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`bool` | :ref:`meta_underlined` | ``true`` | @@ -87,6 +91,8 @@ Properties +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`int` | :ref:`tab_size` | ``4`` | +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ + | :ref:`PackedFloat32Array` | :ref:`tab_stops` | ``PackedFloat32Array()`` | + +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`String` | :ref:`text` | ``""`` | +-----------------------------------------------------------------------------+------------------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------+ | :ref:`TextDirection` | :ref:`text_direction` | ``0`` | @@ -157,6 +163,8 @@ Methods +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`invalidate_paragraph`\ (\ paragraph\: :ref:`int`\ ) | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_finished`\ (\ ) |const| | + +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_menu_visible`\ (\ ) |const| | +-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_ready`\ (\ ) |const| | @@ -722,6 +730,40 @@ If ``true``, the label underlines hint tags such as ``[hint=description]{text}[/ ---- +.. _class_RichTextLabel_property_horizontal_alignment: + +.. rst-class:: classref-property + +:ref:`HorizontalAlignment` **horizontal_alignment** = ``0`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_horizontal_alignment**\ (\ value\: :ref:`HorizontalAlignment`\ ) +- :ref:`HorizontalAlignment` **get_horizontal_alignment**\ (\ ) + +Controls the text's horizontal alignment. Supports left, center, right, and fill, or justify. Set it to one of the :ref:`HorizontalAlignment` constants. + +.. rst-class:: classref-item-separator + +---- + +.. _class_RichTextLabel_property_justification_flags: + +.. rst-class:: classref-property + +|bitfield|\[:ref:`JustificationFlag`\] **justification_flags** = ``163`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_justification_flags**\ (\ value\: |bitfield|\[:ref:`JustificationFlag`\]\ ) +- |bitfield|\[:ref:`JustificationFlag`\] **get_justification_flags**\ (\ ) + +Line fill alignment rules. See :ref:`JustificationFlag` for more information. + +.. rst-class:: classref-item-separator + +---- + .. _class_RichTextLabel_property_language: .. rst-class:: classref-property @@ -894,6 +936,25 @@ The number of spaces associated with a single tab length. Does not affect ``\t`` ---- +.. _class_RichTextLabel_property_tab_stops: + +.. rst-class:: classref-property + +:ref:`PackedFloat32Array` **tab_stops** = ``PackedFloat32Array()`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_tab_stops**\ (\ value\: :ref:`PackedFloat32Array`\ ) +- :ref:`PackedFloat32Array` **get_tab_stops**\ (\ ) + +Aligns text to the given tab-stops. + +**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedFloat32Array` for more details. + +.. rst-class:: classref-item-separator + +---- + .. _class_RichTextLabel_property_text: .. rst-class:: classref-property @@ -1089,7 +1150,7 @@ Clears the current selection. Returns the line number of the character position provided. Line and character numbers are both zero-indexed. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1103,7 +1164,7 @@ Returns the line number of the character position provided. Line and character n Returns the paragraph number of the character position provided. Paragraph and character numbers are both zero-indexed. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1117,7 +1178,7 @@ Returns the paragraph number of the character position provided. Paragraph and c Returns the height of the content. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1131,7 +1192,7 @@ Returns the height of the content. Returns the width of the content. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1145,7 +1206,7 @@ Returns the width of the content. Returns the total number of lines in the text. Wrapped text is counted as multiple lines. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1159,7 +1220,7 @@ Returns the total number of lines in the text. Wrapped text is counted as multip Returns the vertical offset of the line found at the provided index. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1244,7 +1305,7 @@ Returns the total number of paragraphs (newlines or ``p`` tags in the tag stack' Returns the vertical offset of the paragraph found at the provided index. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1332,7 +1393,7 @@ Returns the vertical scrollbar. Returns the number of visible lines. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1346,7 +1407,7 @@ Returns the number of visible lines. Returns the number of visible paragraphs. A paragraph is considered visible if at least one of its lines is visible. -\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_ready` or :ref:`finished` to determine whether document is fully loaded. +\ **Note:** If :ref:`threaded` is enabled, this method returns a value for the loaded part of the document. Use :ref:`is_finished` or :ref:`finished` to determine whether document is fully loaded. .. rst-class:: classref-item-separator @@ -1401,6 +1462,18 @@ Invalidates ``paragraph`` and all subsequent paragraphs cache. ---- +.. _class_RichTextLabel_method_is_finished: + +.. rst-class:: classref-method + +:ref:`bool` **is_finished**\ (\ ) |const| :ref:`🔗` + +If :ref:`threaded` is enabled, returns ``true`` if the background thread has finished text processing, otherwise always return ``true``. + +.. rst-class:: classref-item-separator + +---- + .. _class_RichTextLabel_method_is_menu_visible: .. rst-class:: classref-method @@ -1419,6 +1492,8 @@ Returns whether the menu is visible. Use this instead of ``get_menu().visible`` :ref:`bool` **is_ready**\ (\ ) |const| :ref:`🔗` +**Deprecated:** Use :ref:`is_finished` instead. + If :ref:`threaded` is enabled, returns ``true`` if the background thread has finished text processing, otherwise always return ``true``. .. rst-class:: classref-item-separator diff --git a/classes/class_scenetree.rst b/classes/class_scenetree.rst index 82e2d63d69c..3b3562a856e 100644 --- a/classes/class_scenetree.rst +++ b/classes/class_scenetree.rst @@ -730,7 +730,7 @@ Returns ``true`` if a node added to the given group ``name`` exists in the tree. |void| **notify_group**\ (\ group\: :ref:`StringName`, notification\: :ref:`int`\ ) :ref:`🔗` -Calls :ref:`Object.notification` with the given ``notification`` to all nodes inside this tree added to the ``group``. See also :ref:`call_group` and :ref:`set_group`. +Calls :ref:`Object.notification` with the given ``notification`` to all nodes inside this tree added to the ``group``. See also :doc:`Godot notifications <../tutorials/best_practices/godot_notifications>` and :ref:`call_group` and :ref:`set_group`. \ **Note:** This method acts immediately on all selected nodes at once, which may cause stuttering in some performance-intensive situations. diff --git a/classes/class_scripteditor.rst b/classes/class_scripteditor.rst index f7963518b6d..554d9de0ea1 100644 --- a/classes/class_scripteditor.rst +++ b/classes/class_scripteditor.rst @@ -31,6 +31,8 @@ Methods .. table:: :widths: auto + +------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedStringArray` | :ref:`get_breakpoints`\ (\ ) | +------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`ScriptEditorBase` | :ref:`get_current_editor`\ (\ ) |const| | +------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -89,6 +91,18 @@ Emitted when editor is about to close the active script. Argument is a :ref:`Scr Method Descriptions ------------------- +.. _class_ScriptEditor_method_get_breakpoints: + +.. rst-class:: classref-method + +:ref:`PackedStringArray` **get_breakpoints**\ (\ ) :ref:`🔗` + +Returns array of breakpoints. + +.. rst-class:: classref-item-separator + +---- + .. _class_ScriptEditor_method_get_current_editor: .. rst-class:: classref-method @@ -147,8 +161,6 @@ Opens help for the given topic. The ``topic`` is an encoded string that controls The supported ``topic`` formats include ``class_name:class``, ``class_method:class:method``, ``class_constant:class:constant``, ``class_signal:class:signal``, ``class_annotation:class:@annotation``, ``class_property:class:property``, and ``class_theme_item:class:item``, where ``class`` is the class name, ``method`` is the method name, ``constant`` is the constant name, ``signal`` is the signal name, ``annotation`` is the annotation name, ``property`` is the property name, and ``item`` is the theme item. -\ **Examples:**\ - :: # Shows help for the Node class. diff --git a/classes/class_scriptlanguageextension.rst b/classes/class_scriptlanguageextension.rst index 5c3fde62ee9..4ad7879b7b4 100644 --- a/classes/class_scriptlanguageextension.rst +++ b/classes/class_scriptlanguageextension.rst @@ -127,6 +127,8 @@ Methods +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_reload_all_scripts`\ (\ ) |virtual| | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`_reload_scripts`\ (\ scripts\: :ref:`Array`, soft_reload\: :ref:`bool`\ ) |virtual| | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_reload_tool_script`\ (\ script\: :ref:`Script`, soft_reload\: :ref:`bool`\ ) |virtual| | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |void| | :ref:`_remove_named_global_constant`\ (\ name\: :ref:`StringName`\ ) |virtual| | @@ -1180,6 +1182,20 @@ Returns the line where the function is defined in the code, or ``-1`` if the fun ---- +.. _class_ScriptLanguageExtension_private_method__reload_scripts: + +.. rst-class:: classref-method + +|void| **_reload_scripts**\ (\ scripts\: :ref:`Array`, soft_reload\: :ref:`bool`\ ) |virtual| :ref:`🔗` + +.. container:: contribute + + There is currently no description for this method. Please help us by :ref:`contributing one `! + +.. rst-class:: classref-item-separator + +---- + .. _class_ScriptLanguageExtension_private_method__reload_tool_script: .. rst-class:: classref-method diff --git a/classes/class_semaphore.rst b/classes/class_semaphore.rst index dba9b2dc128..ab7c8890dcb 100644 --- a/classes/class_semaphore.rst +++ b/classes/class_semaphore.rst @@ -46,13 +46,13 @@ Methods .. table:: :widths: auto - +-------------------------+--------------------------------------------------------+ - | |void| | :ref:`post`\ (\ ) | - +-------------------------+--------------------------------------------------------+ - | :ref:`bool` | :ref:`try_wait`\ (\ ) | - +-------------------------+--------------------------------------------------------+ - | |void| | :ref:`wait`\ (\ ) | - +-------------------------+--------------------------------------------------------+ + +-------------------------+-----------------------------------------------------------------------------------+ + | |void| | :ref:`post`\ (\ count\: :ref:`int` = 1\ ) | + +-------------------------+-----------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`try_wait`\ (\ ) | + +-------------------------+-----------------------------------------------------------------------------------+ + | |void| | :ref:`wait`\ (\ ) | + +-------------------------+-----------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -67,9 +67,9 @@ Method Descriptions .. rst-class:: classref-method -|void| **post**\ (\ ) :ref:`🔗` +|void| **post**\ (\ count\: :ref:`int` = 1\ ) :ref:`🔗` -Lowers the **Semaphore**, allowing one more thread in. +Lowers the **Semaphore**, allowing one thread in, or more if ``count`` is specified. .. rst-class:: classref-item-separator diff --git a/classes/class_shader.rst b/classes/class_shader.rst index 00d4576142b..20d7683c8d3 100644 --- a/classes/class_shader.rst +++ b/classes/class_shader.rst @@ -52,15 +52,15 @@ Methods .. table:: :widths: auto - +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Texture2D` | :ref:`get_default_texture_parameter`\ (\ name\: :ref:`StringName`, index\: :ref:`int` = 0\ ) |const| | - +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Mode` | :ref:`get_mode`\ (\ ) |const| | - +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | :ref:`Array` | :ref:`get_shader_uniform_list`\ (\ get_groups\: :ref:`bool` = false\ ) | - +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - | |void| | :ref:`set_default_texture_parameter`\ (\ name\: :ref:`StringName`, texture\: :ref:`Texture2D`, index\: :ref:`int` = 0\ ) | - +-----------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Texture` | :ref:`get_default_texture_parameter`\ (\ name\: :ref:`StringName`, index\: :ref:`int` = 0\ ) |const| | + +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Mode` | :ref:`get_mode`\ (\ ) |const| | + +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`Array` | :ref:`get_shader_uniform_list`\ (\ get_groups\: :ref:`bool` = false\ ) | + +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | |void| | :ref:`set_default_texture_parameter`\ (\ name\: :ref:`StringName`, texture\: :ref:`Texture`, index\: :ref:`int` = 0\ ) | + +-------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -152,7 +152,7 @@ Method Descriptions .. rst-class:: classref-method -:ref:`Texture2D` **get_default_texture_parameter**\ (\ name\: :ref:`StringName`, index\: :ref:`int` = 0\ ) |const| :ref:`🔗` +:ref:`Texture` **get_default_texture_parameter**\ (\ name\: :ref:`StringName`, index\: :ref:`int` = 0\ ) |const| :ref:`🔗` Returns the texture that is set as default for the specified parameter. @@ -194,7 +194,7 @@ If argument ``get_groups`` is true, parameter grouping hints will be provided. .. rst-class:: classref-method -|void| **set_default_texture_parameter**\ (\ name\: :ref:`StringName`, texture\: :ref:`Texture2D`, index\: :ref:`int` = 0\ ) :ref:`🔗` +|void| **set_default_texture_parameter**\ (\ name\: :ref:`StringName`, texture\: :ref:`Texture`, index\: :ref:`int` = 0\ ) :ref:`🔗` Sets the default texture to be used with a texture uniform. The default is used if a texture is not set in the :ref:`ShaderMaterial`. diff --git a/classes/class_shapecast2d.rst b/classes/class_shapecast2d.rst index fefcbd4e2df..0e93e897b49 100644 --- a/classes/class_shapecast2d.rst +++ b/classes/class_shapecast2d.rst @@ -153,7 +153,7 @@ If ``true``, collisions with :ref:`PhysicsBody2D`\ s will b - |void| **set_collision_mask**\ (\ value\: :ref:`int`\ ) - :ref:`int` **get_collision_mask**\ (\ ) -The shape's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. +The shape's collision mask. Only objects in at least one collision layer enabled in the mask will be detected. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information. .. rst-class:: classref-item-separator @@ -165,6 +165,10 @@ The shape's collision mask. Only objects in at least one collision layer enabled :ref:`Array` **collision_result** = ``[]`` :ref:`🔗` +.. rst-class:: classref-property-setget + +- :ref:`Array` **get_collision_result**\ (\ ) + Returns the complete collision information from the collision sweep. The data returned is the same as in the :ref:`PhysicsDirectSpaceState2D.get_rest_info` method. .. rst-class:: classref-item-separator @@ -250,7 +254,7 @@ The number of intersections can be limited with this parameter, to reduce the pr - |void| **set_shape**\ (\ value\: :ref:`Shape2D`\ ) - :ref:`Shape2D` **get_shape**\ (\ ) -The :ref:`Shape2D`-derived shape to be used for collision queries. +The shape to be used for collision queries. .. rst-class:: classref-item-separator @@ -267,7 +271,7 @@ The :ref:`Shape2D`-derived shape to be used for collision queries - |void| **set_target_position**\ (\ value\: :ref:`Vector2`\ ) - :ref:`Vector2` **get_target_position**\ (\ ) -The shape's destination point, relative to this node's ``position``. +The shape's destination point, relative to this node's :ref:`Node2D.position`. .. rst-class:: classref-section-separator @@ -284,7 +288,7 @@ Method Descriptions |void| **add_exception**\ (\ node\: :ref:`CollisionObject2D`\ ) :ref:`🔗` -Adds a collision exception so the shape does not report collisions with the specified :ref:`CollisionObject2D` node. +Adds a collision exception so the shape does not report collisions with the specified node. .. rst-class:: classref-item-separator @@ -322,7 +326,7 @@ Removes all collision exceptions for this shape. Updates the collision information for the shape immediately, without waiting for the next ``_physics_process`` call. Use this method, for example, when the shape or its parent has changed state. -\ **Note:** ``enabled == true`` is not required for this to work. +\ **Note:** Setting :ref:`enabled` to ``true`` is not required for this to work. .. rst-class:: classref-item-separator @@ -334,7 +338,7 @@ Updates the collision information for the shape immediately, without waiting for :ref:`float` **get_closest_collision_safe_fraction**\ (\ ) |const| :ref:`🔗` -The fraction from the **ShapeCast2D**'s origin to its :ref:`target_position` (between 0 and 1) of how far the shape can move without triggering a collision. +Returns the fraction from this cast's origin to its :ref:`target_position` of how far the shape can move without triggering a collision, as a value between ``0.0`` and ``1.0``. .. rst-class:: classref-item-separator @@ -346,7 +350,7 @@ The fraction from the **ShapeCast2D**'s origin to its :ref:`target_position` **get_closest_collision_unsafe_fraction**\ (\ ) |const| :ref:`🔗` -The fraction from the **ShapeCast2D**'s origin to its :ref:`target_position` (between 0 and 1) of how far the shape must move to trigger a collision. +Returns the fraction from this cast's origin to its :ref:`target_position` of how far the shape must move to trigger a collision, as a value between ``0.0`` and ``1.0``. In ideal conditions this would be the same as :ref:`get_closest_collision_safe_fraction`, however shape casting is calculated in discrete steps, so the precise point of collision can occur between two calculated positions. @@ -434,7 +438,7 @@ Returns the normal of one of the multiple collisions at ``index`` of the interse Returns the collision point of one of the multiple collisions at ``index`` where the shape intersects the colliding object. -\ **Note:** this point is in the **global** coordinate system. +\ **Note:** This point is in the **global** coordinate system. .. rst-class:: classref-item-separator @@ -458,7 +462,7 @@ Returns whether any object is intersecting with the shape's vector (considering |void| **remove_exception**\ (\ node\: :ref:`CollisionObject2D`\ ) :ref:`🔗` -Removes a collision exception so the shape does report collisions with the specified :ref:`CollisionObject2D` node. +Removes a collision exception so the shape does report collisions with the specified node. .. rst-class:: classref-item-separator diff --git a/classes/class_shapecast3d.rst b/classes/class_shapecast3d.rst index 09a71f904f8..cb1dc3cbd71 100644 --- a/classes/class_shapecast3d.rst +++ b/classes/class_shapecast3d.rst @@ -169,6 +169,10 @@ The shape's collision mask. Only objects in at least one collision layer enabled :ref:`Array` **collision_result** = ``[]`` :ref:`🔗` +.. rst-class:: classref-property-setget + +- :ref:`Array` **get_collision_result**\ (\ ) + Returns the complete collision information from the collision sweep. The data returned is the same as in the :ref:`PhysicsDirectSpaceState3D.get_rest_info` method. .. rst-class:: classref-item-separator @@ -273,7 +277,7 @@ The number of intersections can be limited with this parameter, to reduce the pr - |void| **set_shape**\ (\ value\: :ref:`Shape3D`\ ) - :ref:`Shape3D` **get_shape**\ (\ ) -The :ref:`Shape3D`-derived shape to be used for collision queries. +The shape to be used for collision queries. .. rst-class:: classref-item-separator @@ -290,7 +294,7 @@ The :ref:`Shape3D`-derived shape to be used for collision queries - |void| **set_target_position**\ (\ value\: :ref:`Vector3`\ ) - :ref:`Vector3` **get_target_position**\ (\ ) -The shape's destination point, relative to this node's ``position``. +The shape's destination point, relative to this node's :ref:`Node3D.position`. .. rst-class:: classref-section-separator @@ -307,7 +311,7 @@ Method Descriptions |void| **add_exception**\ (\ node\: :ref:`CollisionObject3D`\ ) :ref:`🔗` -Adds a collision exception so the shape does not report collisions with the specified :ref:`CollisionObject3D` node. +Adds a collision exception so the shape does not report collisions with the specified node. .. rst-class:: classref-item-separator @@ -331,7 +335,7 @@ Adds a collision exception so the shape does not report collisions with the spec |void| **clear_exceptions**\ (\ ) :ref:`🔗` -Removes all collision exceptions for this **ShapeCast3D**. +Removes all collision exceptions for this shape. .. rst-class:: classref-item-separator @@ -345,7 +349,7 @@ Removes all collision exceptions for this **ShapeCast3D**. Updates the collision information for the shape immediately, without waiting for the next ``_physics_process`` call. Use this method, for example, when the shape or its parent has changed state. -\ **Note:** ``enabled == true`` is not required for this to work. +\ **Note:** Setting :ref:`enabled` to ``true`` is not required for this to work. .. rst-class:: classref-item-separator @@ -357,7 +361,7 @@ Updates the collision information for the shape immediately, without waiting for :ref:`float` **get_closest_collision_safe_fraction**\ (\ ) |const| :ref:`🔗` -The fraction from the **ShapeCast3D**'s origin to its :ref:`target_position` (between 0 and 1) of how far the shape can move without triggering a collision. +Returns the fraction from this cast's origin to its :ref:`target_position` of how far the shape can move without triggering a collision, as a value between ``0.0`` and ``1.0``. .. rst-class:: classref-item-separator @@ -369,7 +373,7 @@ The fraction from the **ShapeCast3D**'s origin to its :ref:`target_position` **get_closest_collision_unsafe_fraction**\ (\ ) |const| :ref:`🔗` -The fraction from the **ShapeCast3D**'s origin to its :ref:`target_position` (between 0 and 1) of how far the shape must move to trigger a collision. +Returns the fraction from this cast's origin to its :ref:`target_position` of how far the shape must move to trigger a collision, as a value between ``0.0`` and ``1.0``. In ideal conditions this would be the same as :ref:`get_closest_collision_safe_fraction`, however shape casting is calculated in discrete steps, so the precise point of collision can occur between two calculated positions. @@ -457,7 +461,7 @@ Returns the normal of one of the multiple collisions at ``index`` of the interse Returns the collision point of one of the multiple collisions at ``index`` where the shape intersects the colliding object. -\ **Note:** this point is in the **global** coordinate system. +\ **Note:** This point is in the **global** coordinate system. .. rst-class:: classref-item-separator @@ -481,7 +485,7 @@ Returns whether any object is intersecting with the shape's vector (considering |void| **remove_exception**\ (\ node\: :ref:`CollisionObject3D`\ ) :ref:`🔗` -Removes a collision exception so the shape does report collisions with the specified :ref:`CollisionObject3D` node. +Removes a collision exception so the shape does report collisions with the specified node. .. rst-class:: classref-item-separator diff --git a/classes/class_signal.rst b/classes/class_signal.rst index de512669939..04fd6d08243 100644 --- a/classes/class_signal.rst +++ b/classes/class_signal.rst @@ -279,7 +279,7 @@ Returns ``true`` if the specified :ref:`Callable` is connected t :ref:`bool` **is_null**\ (\ ) |const| :ref:`🔗` -Returns ``true`` if the signal's name does not exist in its object, or the object is not valid. +Returns ``true`` if this **Signal** has no object and the signal name is empty. Equivalent to ``signal == Signal()``. .. rst-class:: classref-section-separator diff --git a/classes/class_skeletonmodifier3d.rst b/classes/class_skeletonmodifier3d.rst index 401d766dee5..c00c09b431f 100644 --- a/classes/class_skeletonmodifier3d.rst +++ b/classes/class_skeletonmodifier3d.rst @@ -25,7 +25,14 @@ Description If there is :ref:`AnimationMixer`, modification always performs after playback process of the :ref:`AnimationMixer`. -This node should be used to implement custom IK solvers, constraints, or skeleton physics +This node should be used to implement custom IK solvers, constraints, or skeleton physics. + +.. rst-class:: classref-introduction-group + +Tutorials +--------- + +- `Design of the Skeleton Modifier 3D `__ .. rst-class:: classref-reftable-group diff --git a/classes/class_spinbox.rst b/classes/class_spinbox.rst index fe44c94d495..b1d7f359978 100644 --- a/classes/class_spinbox.rst +++ b/classes/class_spinbox.rst @@ -24,7 +24,7 @@ Description **SpinBox** is a numerical input text field. It allows entering integers and floating-point numbers. -\ **Example:**\ +\ **Example:** Create a **SpinBox**, disable its context menu and set its text alignment to right. .. tabs:: @@ -47,13 +47,11 @@ Description -The above code will create a **SpinBox**, disable context menu on it and set the text alignment to right. - See :ref:`Range` class for more options over the **SpinBox**. \ **Note:** With the **SpinBox**'s context menu disabled, you can right-click the bottom half of the spinbox to set the value to its minimum, while right-clicking the top half sets the value to its maximum. -\ **Note:** **SpinBox** relies on an underlying :ref:`LineEdit` node. To theme a **SpinBox**'s background, add theme items for :ref:`LineEdit` and customize them. +\ **Note:** **SpinBox** relies on an underlying :ref:`LineEdit` node. To theme a **SpinBox**'s background, add theme items for :ref:`LineEdit` and customize them. The :ref:`LineEdit` has the ``SpinBoxInnerLineEdit`` theme variation, so that you can give it a distinct appearance from regular :ref:`LineEdit`\ s. \ **Note:** If you want to implement drag and drop for the underlying :ref:`LineEdit`, you can use :ref:`Control.set_drag_forwarding` on the node returned by :ref:`get_line_edit`. @@ -107,9 +105,69 @@ Theme Properties .. table:: :widths: auto - +-----------------------------------+------------------------------------------------+ - | :ref:`Texture2D` | :ref:`updown` | - +-----------------------------------+------------------------------------------------+ + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`down_disabled_icon_modulate` | ``Color(0.875, 0.875, 0.875, 0.5)`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`down_hover_icon_modulate` | ``Color(0.95, 0.95, 0.95, 1)`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`down_icon_modulate` | ``Color(0.875, 0.875, 0.875, 1)`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`down_pressed_icon_modulate` | ``Color(0.95, 0.95, 0.95, 1)`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`up_disabled_icon_modulate` | ``Color(0.875, 0.875, 0.875, 0.5)`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`up_hover_icon_modulate` | ``Color(0.95, 0.95, 0.95, 1)`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`up_icon_modulate` | ``Color(0.875, 0.875, 0.875, 1)`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Color` | :ref:`up_pressed_icon_modulate` | ``Color(0.95, 0.95, 0.95, 1)`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`buttons_vertical_separation` | ``0`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`buttons_width` | ``16`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`field_and_buttons_separation` | ``2`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`int` | :ref:`set_min_buttons_width_from_icons` | ``1`` | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`down` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`down_disabled` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`down_hover` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`down_pressed` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`up` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`up_disabled` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`up_hover` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`up_pressed` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`Texture2D` | :ref:`updown` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`down_background` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`down_background_disabled` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`down_background_hovered` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`down_background_pressed` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`field_and_buttons_separator` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`up_background` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`up_background_disabled` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`up_background_hovered` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`up_background_pressed` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ + | :ref:`StyleBox` | :ref:`up_down_buttons_separator` | | + +-----------------------------------+--------------------------------------------------------------------------------------------------------+-------------------------------------+ .. rst-class:: classref-section-separator @@ -275,13 +333,373 @@ Returns the :ref:`LineEdit` instance from this **SpinBox**. You Theme Property Descriptions --------------------------- +.. _class_SpinBox_theme_color_down_disabled_icon_modulate: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **down_disabled_icon_modulate** = ``Color(0.875, 0.875, 0.875, 0.5)`` :ref:`🔗` + +Down button icon modulation color, when the button is disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_color_down_hover_icon_modulate: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **down_hover_icon_modulate** = ``Color(0.95, 0.95, 0.95, 1)`` :ref:`🔗` + +Down button icon modulation color, when the button is hovered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_color_down_icon_modulate: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **down_icon_modulate** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗` + +Down button icon modulation color. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_color_down_pressed_icon_modulate: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **down_pressed_icon_modulate** = ``Color(0.95, 0.95, 0.95, 1)`` :ref:`🔗` + +Down button icon modulation color, when the button is being pressed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_color_up_disabled_icon_modulate: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **up_disabled_icon_modulate** = ``Color(0.875, 0.875, 0.875, 0.5)`` :ref:`🔗` + +Up button icon modulation color, when the button is disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_color_up_hover_icon_modulate: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **up_hover_icon_modulate** = ``Color(0.95, 0.95, 0.95, 1)`` :ref:`🔗` + +Up button icon modulation color, when the button is hovered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_color_up_icon_modulate: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **up_icon_modulate** = ``Color(0.875, 0.875, 0.875, 1)`` :ref:`🔗` + +Up button icon modulation color. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_color_up_pressed_icon_modulate: + +.. rst-class:: classref-themeproperty + +:ref:`Color` **up_pressed_icon_modulate** = ``Color(0.95, 0.95, 0.95, 1)`` :ref:`🔗` + +Up button icon modulation color, when the button is being pressed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_constant_buttons_vertical_separation: + +.. rst-class:: classref-themeproperty + +:ref:`int` **buttons_vertical_separation** = ``0`` :ref:`🔗` + +Vertical separation between the up and down buttons. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_constant_buttons_width: + +.. rst-class:: classref-themeproperty + +:ref:`int` **buttons_width** = ``16`` :ref:`🔗` + +Width of the up and down buttons. If smaller than any icon set on the buttons, the respective icon may overlap neighboring elements, unless :ref:`set_min_buttons_width_from_icons` is different than ``0``. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_constant_field_and_buttons_separation: + +.. rst-class:: classref-themeproperty + +:ref:`int` **field_and_buttons_separation** = ``2`` :ref:`🔗` + +Width of the horizontal separation between the text input field (:ref:`LineEdit`) and the buttons. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_constant_set_min_buttons_width_from_icons: + +.. rst-class:: classref-themeproperty + +:ref:`int` **set_min_buttons_width_from_icons** = ``1`` :ref:`🔗` + +If not ``0``, the minimum button width corresponds to the widest of all icons set on those buttons, even if :ref:`buttons_width` is smaller. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_icon_down: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **down** :ref:`🔗` + +Down button icon, displayed in the middle of the down (value-decreasing) button. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_icon_down_disabled: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **down_disabled** :ref:`🔗` + +Down button icon when the button is disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_icon_down_hover: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **down_hover** :ref:`🔗` + +Down button icon when the button is hovered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_icon_down_pressed: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **down_pressed** :ref:`🔗` + +Down button icon when the button is being pressed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_icon_up: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **up** :ref:`🔗` + +Up button icon, displayed in the middle of the up (value-increasing) button. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_icon_up_disabled: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **up_disabled** :ref:`🔗` + +Up button icon when the button is disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_icon_up_hover: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **up_hover** :ref:`🔗` + +Up button icon when the button is hovered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_icon_up_pressed: + +.. rst-class:: classref-themeproperty + +:ref:`Texture2D` **up_pressed** :ref:`🔗` + +Up button icon when the button is being pressed. + +.. rst-class:: classref-item-separator + +---- + .. _class_SpinBox_theme_icon_updown: .. rst-class:: classref-themeproperty :ref:`Texture2D` **updown** :ref:`🔗` -Sets a custom :ref:`Texture2D` for up and down arrows of the **SpinBox**. +Single texture representing both the up and down buttons icons. It is displayed in the middle of the buttons and does not change upon interaction. It is recommended to use individual :ref:`up` and :ref:`down` graphics for better usability. This can also be used as additional decoration between the two buttons. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_down_background: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **down_background** :ref:`🔗` + +Background style of the down button. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_down_background_disabled: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **down_background_disabled** :ref:`🔗` + +Background style of the down button when disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_down_background_hovered: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **down_background_hovered** :ref:`🔗` + +Background style of the down button when hovered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_down_background_pressed: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **down_background_pressed** :ref:`🔗` + +Background style of the down button when being pressed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_field_and_buttons_separator: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **field_and_buttons_separator** :ref:`🔗` + +:ref:`StyleBox` drawn in the space occupied by the separation between the input field and the buttons. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_up_background: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **up_background** :ref:`🔗` + +Background style of the up button. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_up_background_disabled: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **up_background_disabled** :ref:`🔗` + +Background style of the up button when disabled. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_up_background_hovered: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **up_background_hovered** :ref:`🔗` + +Background style of the up button when hovered. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_up_background_pressed: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **up_background_pressed** :ref:`🔗` + +Background style of the up button when being pressed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_SpinBox_theme_style_up_down_buttons_separator: + +.. rst-class:: classref-themeproperty + +:ref:`StyleBox` **up_down_buttons_separator** :ref:`🔗` + +:ref:`StyleBox` drawn in the space occupied by the separation between the up and down buttons. .. |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_sprite2d.rst b/classes/class_sprite2d.rst index 4040bce9faa..4acb0f4a924 100644 --- a/classes/class_sprite2d.rst +++ b/classes/class_sprite2d.rst @@ -331,9 +331,9 @@ Method Descriptions :ref:`Rect2` **get_rect**\ (\ ) |const| :ref:`🔗` -Returns a :ref:`Rect2` representing the Sprite2D's boundary in local coordinates. Can be used to detect if the Sprite2D was clicked. +Returns a :ref:`Rect2` representing the Sprite2D's boundary in local coordinates. -\ **Example:**\ +\ **Example:** Detect if the Sprite2D was clicked: .. tabs:: diff --git a/classes/class_string.rst b/classes/class_string.rst index c9e175f5fc5..9039a710fe8 100644 --- a/classes/class_string.rst +++ b/classes/class_string.rst @@ -137,6 +137,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_subsequence_ofn`\ (\ text\: :ref:`String`\ ) |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_valid_ascii_identifier`\ (\ ) |const| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_valid_filename`\ (\ ) |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_valid_float`\ (\ ) |const| | @@ -151,6 +153,8 @@ Methods +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_valid_ip_address`\ (\ ) |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_valid_unicode_identifier`\ (\ ) |const| | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`join`\ (\ parts\: :ref:`PackedStringArray`\ ) |const| | +-----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`json_escape`\ (\ ) |const| | @@ -816,8 +820,6 @@ Splits the string using a ``delimiter`` and returns the substring at index ``sli This is faster than :ref:`split`, if you only need one substring. -\ **Example:**\ - :: print("i/am/example/hi".get_slice("/", 2)) # Prints "example" @@ -1033,6 +1035,27 @@ Returns ``true`` if all characters of this string can be found in ``text`` in th ---- +.. _class_String_method_is_valid_ascii_identifier: + +.. rst-class:: classref-method + +:ref:`bool` **is_valid_ascii_identifier**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if this string is a valid ASCII identifier. A valid ASCII identifier may contain only letters, digits, and underscores (``_``), and the first character may not be a digit. + +:: + + print("node_2d".is_valid_ascii_identifier()) # Prints true + print("TYPE_FLOAT".is_valid_ascii_identifier()) # Prints true + print("1st_method".is_valid_ascii_identifier()) # Prints false + print("MyMethod#2".is_valid_ascii_identifier()) # Prints false + +See also :ref:`is_valid_unicode_identifier`. + +.. rst-class:: classref-item-separator + +---- + .. _class_String_method_is_valid_filename: .. rst-class:: classref-method @@ -1104,6 +1127,8 @@ Returns ``true`` if this string is a valid color in hexadecimal HTML notation. T :ref:`bool` **is_valid_identifier**\ (\ ) |const| :ref:`🔗` +**Deprecated:** Use :ref:`is_valid_ascii_identifier` instead. + Returns ``true`` if this string is a valid identifier. A valid identifier may contain only letters, digits and underscores (``_``), and the first character may not be a digit. :: @@ -1149,6 +1174,33 @@ Returns ``true`` if this string represents a well-formatted IPv4 or IPv6 address ---- +.. _class_String_method_is_valid_unicode_identifier: + +.. rst-class:: classref-method + +:ref:`bool` **is_valid_unicode_identifier**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if this string is a valid Unicode identifier. + +A valid Unicode identifier must begin with a Unicode character of class ``XID_Start`` or ``"_"``, and may contain Unicode characters of class ``XID_Continue`` in the other positions. + +:: + + print("node_2d".is_valid_unicode_identifier()) # Prints true + print("1st_method".is_valid_unicode_identifier()) # Prints false + print("MyMethod#2".is_valid_unicode_identifier()) # Prints false + print("állóképesség".is_valid_unicode_identifier()) # Prints true + print("выносливость".is_valid_unicode_identifier()) # Prints true + print("体力".is_valid_unicode_identifier()) # Prints true + +See also :ref:`is_valid_ascii_identifier`. + +\ **Note:** This method checks identifiers the same way as GDScript. See :ref:`TextServer.is_valid_identifier` for more advanced checks. + +.. rst-class:: classref-item-separator + +---- + .. _class_String_method_join: .. rst-class:: classref-method @@ -1157,8 +1209,6 @@ Returns ``true`` if this string represents a well-formatted IPv4 or IPv6 address Returns the concatenation of ``parts``' elements, with each element separated by the string calling this method. This method is the opposite of :ref:`split`. -\ **Example:**\ - .. tabs:: @@ -1362,8 +1412,6 @@ If ``decimals`` is ``-1`` as by default, the string representation may only have Trailing zeros are not included in the string. The last digit is rounded, not truncated. -\ **Example:**\ - :: String.num(3.141593) # Returns "3.141593" @@ -1598,8 +1646,6 @@ If ``allow_empty`` is ``false``, empty strings between adjacent delimiters are e If ``maxsplit`` is greater than ``0``, the number of splits may not exceed ``maxsplit``. By default, the entire string is split, which is mostly identical to :ref:`split`. -\ **Example:**\ - .. tabs:: @@ -1732,8 +1778,6 @@ If ``allow_empty`` is ``false``, empty strings between adjacent delimiters are e If ``maxsplit`` is greater than ``0``, the number of splits may not exceed ``maxsplit``. By default, the entire string is split. -\ **Example:**\ - .. tabs:: diff --git a/classes/class_stringname.rst b/classes/class_stringname.rst index 3355a4ee007..401fa86b7b5 100644 --- a/classes/class_stringname.rst +++ b/classes/class_stringname.rst @@ -130,6 +130,8 @@ Methods +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_subsequence_ofn`\ (\ text\: :ref:`String`\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_valid_ascii_identifier`\ (\ ) |const| | + +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_valid_filename`\ (\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_valid_float`\ (\ ) |const| | @@ -144,6 +146,8 @@ Methods +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_valid_ip_address`\ (\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_valid_unicode_identifier`\ (\ ) |const| | + +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`join`\ (\ parts\: :ref:`PackedStringArray`\ ) |const| | +-----------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`json_escape`\ (\ ) |const| | @@ -763,8 +767,6 @@ Splits the string using a ``delimiter`` and returns the substring at index ``sli This is faster than :ref:`split`, if you only need one substring. -\ **Example:**\ - :: print("i/am/example/hi".get_slice("/", 2)) # Prints "example" @@ -966,6 +968,27 @@ Returns ``true`` if all characters of this string can be found in ``text`` in th ---- +.. _class_StringName_method_is_valid_ascii_identifier: + +.. rst-class:: classref-method + +:ref:`bool` **is_valid_ascii_identifier**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if this string is a valid ASCII identifier. A valid ASCII identifier may contain only letters, digits, and underscores (``_``), and the first character may not be a digit. + +:: + + print("node_2d".is_valid_ascii_identifier()) # Prints true + print("TYPE_FLOAT".is_valid_ascii_identifier()) # Prints true + print("1st_method".is_valid_ascii_identifier()) # Prints false + print("MyMethod#2".is_valid_ascii_identifier()) # Prints false + +See also :ref:`is_valid_unicode_identifier`. + +.. rst-class:: classref-item-separator + +---- + .. _class_StringName_method_is_valid_filename: .. rst-class:: classref-method @@ -1037,6 +1060,8 @@ Returns ``true`` if this string is a valid color in hexadecimal HTML notation. T :ref:`bool` **is_valid_identifier**\ (\ ) |const| :ref:`🔗` +**Deprecated:** Use :ref:`is_valid_ascii_identifier` instead. + Returns ``true`` if this string is a valid identifier. A valid identifier may contain only letters, digits and underscores (``_``), and the first character may not be a digit. :: @@ -1082,6 +1107,33 @@ Returns ``true`` if this string represents a well-formatted IPv4 or IPv6 address ---- +.. _class_StringName_method_is_valid_unicode_identifier: + +.. rst-class:: classref-method + +:ref:`bool` **is_valid_unicode_identifier**\ (\ ) |const| :ref:`🔗` + +Returns ``true`` if this string is a valid Unicode identifier. + +A valid Unicode identifier must begin with a Unicode character of class ``XID_Start`` or ``"_"``, and may contain Unicode characters of class ``XID_Continue`` in the other positions. + +:: + + print("node_2d".is_valid_unicode_identifier()) # Prints true + print("1st_method".is_valid_unicode_identifier()) # Prints false + print("MyMethod#2".is_valid_unicode_identifier()) # Prints false + print("állóképesség".is_valid_unicode_identifier()) # Prints true + print("выносливость".is_valid_unicode_identifier()) # Prints true + print("体力".is_valid_unicode_identifier()) # Prints true + +See also :ref:`is_valid_ascii_identifier`. + +\ **Note:** This method checks identifiers the same way as GDScript. See :ref:`TextServer.is_valid_identifier` for more advanced checks. + +.. rst-class:: classref-item-separator + +---- + .. _class_StringName_method_join: .. rst-class:: classref-method @@ -1090,8 +1142,6 @@ Returns ``true`` if this string represents a well-formatted IPv4 or IPv6 address Returns the concatenation of ``parts``' elements, with each element separated by the string calling this method. This method is the opposite of :ref:`split`. -\ **Example:**\ - .. tabs:: @@ -1434,8 +1484,6 @@ If ``allow_empty`` is ``false``, empty strings between adjacent delimiters are e If ``maxsplit`` is greater than ``0``, the number of splits may not exceed ``maxsplit``. By default, the entire string is split, which is mostly identical to :ref:`split`. -\ **Example:**\ - .. tabs:: @@ -1568,8 +1616,6 @@ If ``allow_empty`` is ``false``, empty strings between adjacent delimiters are e If ``maxsplit`` is greater than ``0``, the number of splits may not exceed ``maxsplit``. By default, the entire string is split. -\ **Example:**\ - .. tabs:: diff --git a/classes/class_styleboxflat.rst b/classes/class_styleboxflat.rst index 1b8f6d7b08a..043c1a26f31 100644 --- a/classes/class_styleboxflat.rst +++ b/classes/class_styleboxflat.rst @@ -21,9 +21,7 @@ Description By configuring various properties of this style box, you can achieve many common looks without the need of a texture. This includes optionally rounded borders, antialiasing, shadows, and skew. -Setting corner radius to high values is allowed. As soon as corners overlap, the stylebox will switch to a relative system. - -\ **Example:**\ +Setting corner radius to high values is allowed. As soon as corners overlap, the stylebox will switch to a relative system: .. code:: text diff --git a/classes/class_textedit.rst b/classes/class_textedit.rst index f71171de46c..ad8f4780551 100644 --- a/classes/class_textedit.rst +++ b/classes/class_textedit.rst @@ -95,6 +95,8 @@ Properties +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_fit_content_height` | ``false`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`scroll_fit_content_width` | ``false`` | + +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`scroll_horizontal` | ``0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`scroll_past_end_of_file` | ``false`` | @@ -1508,7 +1510,24 @@ Text shown when the **TextEdit** is empty. It is **not** the **TextEdit**'s defa - |void| **set_fit_content_height_enabled**\ (\ value\: :ref:`bool`\ ) - :ref:`bool` **is_fit_content_height_enabled**\ (\ ) -If ``true``, **TextEdit** will disable vertical scroll and fit minimum height to the number of visible lines. +If ``true``, **TextEdit** will disable vertical scroll and fit minimum height to the number of visible lines. When both this property and :ref:`scroll_fit_content_width` are ``true``, no scrollbars will be displayed. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TextEdit_property_scroll_fit_content_width: + +.. rst-class:: classref-property + +:ref:`bool` **scroll_fit_content_width** = ``false`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_fit_content_width_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_fit_content_width_enabled**\ (\ ) + +If ``true``, **TextEdit** will disable horizontal scroll and fit minimum width to the widest line in the text. When both this property and :ref:`scroll_fit_content_height` are ``true``, no scrollbars will be displayed. .. rst-class:: classref-item-separator diff --git a/classes/class_textmesh.rst b/classes/class_textmesh.rst index 5eb39463e92..0514e2e76fc 100644 --- a/classes/class_textmesh.rst +++ b/classes/class_textmesh.rst @@ -200,7 +200,7 @@ Controls the text's horizontal alignment. Supports left, center, right, and fill - |void| **set_justification_flags**\ (\ value\: |bitfield|\[:ref:`JustificationFlag`\]\ ) - |bitfield|\[:ref:`JustificationFlag`\] **get_justification_flags**\ (\ ) -Line fill alignment rules. For more info see :ref:`JustificationFlag`. +Line fill alignment rules. See :ref:`JustificationFlag` for more information. .. rst-class:: classref-item-separator diff --git a/classes/class_textparagraph.rst b/classes/class_textparagraph.rst index 2309a3997fd..98997a0c315 100644 --- a/classes/class_textparagraph.rst +++ b/classes/class_textparagraph.rst @@ -234,7 +234,7 @@ Ellipsis character used for text clipping. - |void| **set_justification_flags**\ (\ value\: |bitfield|\[:ref:`JustificationFlag`\]\ ) - |bitfield|\[:ref:`JustificationFlag`\] **get_justification_flags**\ (\ ) -Line fill alignment rules. For more info see :ref:`JustificationFlag`. +Line fill alignment rules. See :ref:`JustificationFlag` for more information. .. rst-class:: classref-item-separator @@ -593,7 +593,7 @@ Returns TextServer line buffer RID. :ref:`Vector2` **get_line_size**\ (\ line\: :ref:`int`\ ) |const| :ref:`🔗` -Returns size of the bounding box of the line of text. +Returns size of the bounding box of the line of text. Returned size is rounded up. .. rst-class:: classref-item-separator diff --git a/classes/class_textserver.rst b/classes/class_textserver.rst index 655d54c9d71..cd8c968acb0 100644 --- a/classes/class_textserver.rst +++ b/classes/class_textserver.rst @@ -157,6 +157,8 @@ Methods +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`font_get_supported_chars`\ (\ font_rid\: :ref:`RID`\ ) |const| | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedInt32Array` | :ref:`font_get_supported_glyphs`\ (\ font_rid\: :ref:`RID`\ ) |const| | + +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`font_get_texture_count`\ (\ font_rid\: :ref:`RID`, size\: :ref:`Vector2i`\ ) |const| | +------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`font_get_texture_image`\ (\ font_rid\: :ref:`RID`, size\: :ref:`Vector2i`, texture_index\: :ref:`int`\ ) |const| | @@ -2250,6 +2252,18 @@ Returns a string containing all the characters available in the font. ---- +.. _class_TextServer_method_font_get_supported_glyphs: + +.. rst-class:: classref-method + +:ref:`PackedInt32Array` **font_get_supported_glyphs**\ (\ font_rid\: :ref:`RID`\ ) |const| :ref:`🔗` + +Returns an array containing all glyph indices in the font. + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServer_method_font_get_texture_count: .. rst-class:: classref-method diff --git a/classes/class_textserverextension.rst b/classes/class_textserverextension.rst index 04c009aa4eb..45d910800d5 100644 --- a/classes/class_textserverextension.rst +++ b/classes/class_textserverextension.rst @@ -142,6 +142,8 @@ Methods +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_font_get_supported_chars`\ (\ font_rid\: :ref:`RID`\ ) |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`PackedInt32Array` | :ref:`_font_get_supported_glyphs`\ (\ font_rid\: :ref:`RID`\ ) |virtual| |const| | + +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_texture_count`\ (\ font_rid\: :ref:`RID`, size\: :ref:`Vector2i`\ ) |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`_font_get_texture_image`\ (\ font_rid\: :ref:`RID`, size\: :ref:`Vector2i`, texture_index\: :ref:`int`\ ) |virtual| |const| | @@ -1244,6 +1246,20 @@ Returns a string containing all the characters available in the font. ---- +.. _class_TextServerExtension_private_method__font_get_supported_glyphs: + +.. rst-class:: classref-method + +:ref:`PackedInt32Array` **_font_get_supported_glyphs**\ (\ font_rid\: :ref:`RID`\ ) |virtual| |const| :ref:`🔗` + +**Required.**\ + +Returns an array containing all glyph indices in the font. + +.. rst-class:: classref-item-separator + +---- + .. _class_TextServerExtension_private_method__font_get_texture_count: .. rst-class:: classref-method diff --git a/classes/class_tiledata.rst b/classes/class_tiledata.rst index ff0db80faff..968cdb334cf 100644 --- a/classes/class_tiledata.rst +++ b/classes/class_tiledata.rst @@ -521,7 +521,7 @@ Enables/disables one-way collisions on the polygon at index ``polygon_index`` fo |void| **set_collision_polygon_one_way_margin**\ (\ layer_id\: :ref:`int`, polygon_index\: :ref:`int`, one_way_margin\: :ref:`float`\ ) :ref:`🔗` -Enables/disables one-way collisions on the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. +Sets the one-way margin (for one-way platforms) of the polygon at index ``polygon_index`` for TileSet physics layer with index ``layer_id``. .. rst-class:: classref-item-separator diff --git a/classes/class_tilemap.rst b/classes/class_tilemap.rst index bc63e741979..c5afd5f3356 100644 --- a/classes/class_tilemap.rst +++ b/classes/class_tilemap.rst @@ -13,7 +13,7 @@ TileMap ======= -**Deprecated:** Use multiple :ref:`TileMapLayer` nodes instead. +**Deprecated:** Use multiple :ref:`TileMapLayer` nodes instead. To convert a TileMap to a set of TileMapLayer nodes, open the TileMap bottom panel with the node selected, click the toolbox icon in the top-right corner and choose 'Extract TileMap layers as individual TileMapLayer nodes'. **Inherits:** :ref:`Node2D` **<** :ref:`CanvasItem` **<** :ref:`Node` **<** :ref:`Object` @@ -132,6 +132,12 @@ Methods +--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2i` | :ref:`get_used_rect`\ (\ ) |const| | +--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_cell_flipped_h`\ (\ layer\: :ref:`int`, coords\: :ref:`Vector2i`, use_proxies\: :ref:`bool` = false\ ) |const| | + +--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_cell_flipped_v`\ (\ layer\: :ref:`int`, coords\: :ref:`Vector2i`, use_proxies\: :ref:`bool` = false\ ) |const| | + +--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_cell_transposed`\ (\ layer\: :ref:`int`, coords\: :ref:`Vector2i`, use_proxies\: :ref:`bool` = false\ ) |const| | + +--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_layer_enabled`\ (\ layer\: :ref:`int`\ ) |const| | +--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_layer_navigation_enabled`\ (\ layer\: :ref:`int`\ ) |const| | @@ -732,6 +738,42 @@ Returns a rectangle enclosing the used (non-empty) tiles of the map, including a ---- +.. _class_TileMap_method_is_cell_flipped_h: + +.. rst-class:: classref-method + +:ref:`bool` **is_cell_flipped_h**\ (\ layer\: :ref:`int`, coords\: :ref:`Vector2i`, use_proxies\: :ref:`bool` = false\ ) |const| :ref:`🔗` + +Returns ``true`` if the cell on layer ``layer`` at coordinates ``coords`` is flipped horizontally. The result is valid only for atlas sources. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TileMap_method_is_cell_flipped_v: + +.. rst-class:: classref-method + +:ref:`bool` **is_cell_flipped_v**\ (\ layer\: :ref:`int`, coords\: :ref:`Vector2i`, use_proxies\: :ref:`bool` = false\ ) |const| :ref:`🔗` + +Returns ``true`` if the cell on layer ``layer`` at coordinates ``coords`` is flipped vertically. The result is valid only for atlas sources. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TileMap_method_is_cell_transposed: + +.. rst-class:: classref-method + +:ref:`bool` **is_cell_transposed**\ (\ layer\: :ref:`int`, coords\: :ref:`Vector2i`, use_proxies\: :ref:`bool` = false\ ) |const| :ref:`🔗` + +Returns ``true`` if the cell on layer ``layer`` at coordinates ``coords`` is transposed. The result is valid only for atlas sources. + +.. rst-class:: classref-item-separator + +---- + .. _class_TileMap_method_is_layer_enabled: .. rst-class:: classref-method diff --git a/classes/class_tilemaplayer.rst b/classes/class_tilemaplayer.rst index 62145b9fa45..58a5a61ea49 100644 --- a/classes/class_tilemaplayer.rst +++ b/classes/class_tilemaplayer.rst @@ -44,6 +44,8 @@ Properties +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------+-----------------------+ | :ref:`DebugVisibilityMode` | :ref:`navigation_visibility_mode` | ``0`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------+-----------------------+ + | :ref:`bool` | :ref:`occlusion_enabled` | ``true`` | + +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------+-----------------------+ | :ref:`int` | :ref:`rendering_quadrant_size` | ``16`` | +-------------------------------------------------------------------+-------------------------------------------------------------------------------------------+-----------------------+ | :ref:`PackedByteArray` | :ref:`tile_map_data` | ``PackedByteArray()`` | @@ -102,6 +104,12 @@ Methods +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_body_rid`\ (\ body\: :ref:`RID`\ ) |const| | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_cell_flipped_h`\ (\ coords\: :ref:`Vector2i`\ ) |const| | + +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_cell_flipped_v`\ (\ coords\: :ref:`Vector2i`\ ) |const| | + +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_cell_transposed`\ (\ coords\: :ref:`Vector2i`\ ) |const| | + +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`local_to_map`\ (\ local_position\: :ref:`Vector2`\ ) |const| | +--------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`map_pattern`\ (\ position_in_tilemap\: :ref:`Vector2i`, coords_in_pattern\: :ref:`Vector2i`, pattern\: :ref:`TileMapPattern`\ ) | @@ -275,6 +283,23 @@ Show or hide the **TileMapLayer**'s navigation meshes. If set to :ref:`DEBUG_VIS ---- +.. _class_TileMapLayer_property_occlusion_enabled: + +.. rst-class:: classref-property + +:ref:`bool` **occlusion_enabled** = ``true`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_occlusion_enabled**\ (\ value\: :ref:`bool`\ ) +- :ref:`bool` **is_occlusion_enabled**\ (\ ) + +Enable or disable light occlusion. + +.. rst-class:: classref-item-separator + +---- + .. _class_TileMapLayer_property_rendering_quadrant_size: .. rst-class:: classref-property @@ -630,6 +655,42 @@ Returns whether the provided ``body`` :ref:`RID` belongs to one of th ---- +.. _class_TileMapLayer_method_is_cell_flipped_h: + +.. rst-class:: classref-method + +:ref:`bool` **is_cell_flipped_h**\ (\ coords\: :ref:`Vector2i`\ ) |const| :ref:`🔗` + +Returns ``true`` if the cell at coordinates ``coords`` is flipped horizontally. The result is valid only for atlas sources. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TileMapLayer_method_is_cell_flipped_v: + +.. rst-class:: classref-method + +:ref:`bool` **is_cell_flipped_v**\ (\ coords\: :ref:`Vector2i`\ ) |const| :ref:`🔗` + +Returns ``true`` if the cell at coordinates ``coords`` is flipped vertically. The result is valid only for atlas sources. + +.. rst-class:: classref-item-separator + +---- + +.. _class_TileMapLayer_method_is_cell_transposed: + +.. rst-class:: classref-method + +:ref:`bool` **is_cell_transposed**\ (\ coords\: :ref:`Vector2i`\ ) |const| :ref:`🔗` + +Returns ``true`` if the cell at coordinates ``coords`` is transposed. The result is valid only for atlas sources. + +.. rst-class:: classref-item-separator + +---- + .. _class_TileMapLayer_method_local_to_map: .. rst-class:: classref-method diff --git a/classes/class_timer.rst b/classes/class_timer.rst index fee0bdb49e2..0b0a08f8f1b 100644 --- a/classes/class_timer.rst +++ b/classes/class_timer.rst @@ -266,7 +266,7 @@ Returns ``true`` if the timer is stopped or has not started. |void| **start**\ (\ time_sec\: :ref:`float` = -1\ ) :ref:`🔗` -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`. +Starts the timer, or resets the timer if it was 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`. \ **Note:** This method does not resume a paused timer. See :ref:`paused`. diff --git a/classes/class_tween.rst b/classes/class_tween.rst index 615b14683d0..042f19a5ae8 100644 --- a/classes/class_tween.rst +++ b/classes/class_tween.rst @@ -617,8 +617,6 @@ Aborts all tweening operations and invalidates the **Tween**. Makes the next :ref:`Tweener` run parallelly to the previous one. -\ **Example:**\ - .. tabs:: @@ -965,8 +963,6 @@ Creates and appends a :ref:`MethodTweener`. This method is Creates and appends a :ref:`PropertyTweener`. This method tweens a ``property`` of an ``object`` between an initial value and ``final_val`` in a span of time equal to ``duration``, in seconds. The initial value by default is the property's value at the time the tweening of the :ref:`PropertyTweener` starts. -\ **Example:**\ - .. tabs:: diff --git a/classes/class_tweener.rst b/classes/class_tweener.rst index 355996804c2..5e7ae765ec4 100644 --- a/classes/class_tweener.rst +++ b/classes/class_tweener.rst @@ -38,7 +38,7 @@ Signals **finished**\ (\ ) :ref:`🔗` -Emitted when the **Tweener** has just finished its job. +Emitted when the **Tweener** has just finished its job or became invalid (e.g. due to a freed object). .. |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_upnp.rst b/classes/class_upnp.rst index c178ce766c1..648596817d9 100644 --- a/classes/class_upnp.rst +++ b/classes/class_upnp.rst @@ -53,13 +53,13 @@ To close a specific port (e.g. after you have finished using it): if err != OK: push_error(str(err)) - emit_signal("upnp_completed", err) + upnp_completed.emit(err) return if upnp.get_gateway() and upnp.get_gateway().is_valid_gateway(): upnp.add_port_mapping(server_port, server_port, ProjectSettings.get_setting("application/config/name"), "UDP") upnp.add_port_mapping(server_port, server_port, ProjectSettings.get_setting("application/config/name"), "TCP") - emit_signal("upnp_completed", OK) + upnp_completed.emit(OK) func _ready(): thread = Thread.new() diff --git a/classes/class_vehiclewheel3d.rst b/classes/class_vehiclewheel3d.rst index 1df0021c1e3..9035314013f 100644 --- a/classes/class_vehiclewheel3d.rst +++ b/classes/class_vehiclewheel3d.rst @@ -76,15 +76,19 @@ Methods .. table:: :widths: auto - +-----------------------------+-------------------------------------------------------------------------------------+ - | :ref:`Node3D` | :ref:`get_contact_body`\ (\ ) |const| | - +-----------------------------+-------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`get_rpm`\ (\ ) |const| | - +-----------------------------+-------------------------------------------------------------------------------------+ - | :ref:`float` | :ref:`get_skidinfo`\ (\ ) |const| | - +-----------------------------+-------------------------------------------------------------------------------------+ - | :ref:`bool` | :ref:`is_in_contact`\ (\ ) |const| | - +-----------------------------+-------------------------------------------------------------------------------------+ + +-------------------------------+-----------------------------------------------------------------------------------------+ + | :ref:`Node3D` | :ref:`get_contact_body`\ (\ ) |const| | + +-------------------------------+-----------------------------------------------------------------------------------------+ + | :ref:`Vector3` | :ref:`get_contact_normal`\ (\ ) |const| | + +-------------------------------+-----------------------------------------------------------------------------------------+ + | :ref:`Vector3` | :ref:`get_contact_point`\ (\ ) |const| | + +-------------------------------+-----------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_rpm`\ (\ ) |const| | + +-------------------------------+-----------------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`get_skidinfo`\ (\ ) |const| | + +-------------------------------+-----------------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`is_in_contact`\ (\ ) |const| | + +-------------------------------+-----------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -358,6 +362,30 @@ Returns ``null`` if the wheel is not in contact with a surface, or the contact b ---- +.. _class_VehicleWheel3D_method_get_contact_normal: + +.. rst-class:: classref-method + +:ref:`Vector3` **get_contact_normal**\ (\ ) |const| :ref:`🔗` + +Returns the normal of the suspension's collision in world space if the wheel is in contact. If the wheel isn't in contact with anything, returns a vector pointing directly along the suspension axis toward the vehicle in world space. + +.. rst-class:: classref-item-separator + +---- + +.. _class_VehicleWheel3D_method_get_contact_point: + +.. rst-class:: classref-method + +:ref:`Vector3` **get_contact_point**\ (\ ) |const| :ref:`🔗` + +Returns the point of the suspension's collision in world space if the wheel is in contact. If the wheel isn't in contact with anything, returns the maximum point of the wheel's ray cast in world space, which is defined by ``wheel_rest_length + wheel_radius``. + +.. rst-class:: classref-item-separator + +---- + .. _class_VehicleWheel3D_method_get_rpm: .. rst-class:: classref-method diff --git a/classes/class_viewport.rst b/classes/class_viewport.rst index a49e66d7ff7..94a5041bc30 100644 --- a/classes/class_viewport.rst +++ b/classes/class_viewport.rst @@ -60,99 +60,101 @@ Properties .. table:: :widths: auto - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`audio_listener_enable_2d` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`audio_listener_enable_3d` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`int` | :ref:`canvas_cull_mask` | ``4294967295`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`DefaultCanvasItemTextureFilter` | :ref:`canvas_item_default_texture_filter` | ``1`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`DefaultCanvasItemTextureRepeat` | :ref:`canvas_item_default_texture_repeat` | ``0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`Transform2D` | :ref:`canvas_transform` | | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`DebugDraw` | :ref:`debug_draw` | ``0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`disable_3d` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`float` | :ref:`fsr_sharpness` | ``0.2`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`Transform2D` | :ref:`global_canvas_transform` | | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`gui_disable_input` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`gui_embed_subwindows` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`gui_snap_controls_to_pixels` | ``true`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`handle_input_locally` | ``true`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`float` | :ref:`mesh_lod_threshold` | ``1.0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`MSAA` | :ref:`msaa_2d` | ``0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`MSAA` | :ref:`msaa_3d` | ``0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`own_world_3d` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`physics_object_picking` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`physics_object_picking_first_only` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`physics_object_picking_sort` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`positional_shadow_atlas_16_bits` | ``true`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`PositionalShadowAtlasQuadrantSubdiv` | :ref:`positional_shadow_atlas_quad_0` | ``2`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`PositionalShadowAtlasQuadrantSubdiv` | :ref:`positional_shadow_atlas_quad_1` | ``2`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`PositionalShadowAtlasQuadrantSubdiv` | :ref:`positional_shadow_atlas_quad_2` | ``3`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`PositionalShadowAtlasQuadrantSubdiv` | :ref:`positional_shadow_atlas_quad_3` | ``4`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`int` | :ref:`positional_shadow_atlas_size` | ``2048`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`Scaling3DMode` | :ref:`scaling_3d_mode` | ``0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`float` | :ref:`scaling_3d_scale` | ``1.0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`ScreenSpaceAA` | :ref:`screen_space_aa` | ``0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`SDFOversize` | :ref:`sdf_oversize` | ``1`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`SDFScale` | :ref:`sdf_scale` | ``1`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`snap_2d_transforms_to_pixel` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`snap_2d_vertices_to_pixel` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`float` | :ref:`texture_mipmap_bias` | ``0.0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`transparent_bg` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`use_debanding` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`use_hdr_2d` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`use_occlusion_culling` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`use_taa` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`bool` | :ref:`use_xr` | ``false`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`VRSMode` | :ref:`vrs_mode` | ``0`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`Texture2D` | :ref:`vrs_texture` | | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`VRSUpdateMode` | :ref:`vrs_update_mode` | ``1`` | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`World2D` | :ref:`world_2d` | | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ - | :ref:`World3D` | :ref:`world_3d` | | - +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+----------------+ + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`audio_listener_enable_2d` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`audio_listener_enable_3d` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`canvas_cull_mask` | ``4294967295`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`DefaultCanvasItemTextureFilter` | :ref:`canvas_item_default_texture_filter` | ``1`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`DefaultCanvasItemTextureRepeat` | :ref:`canvas_item_default_texture_repeat` | ``0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`Transform2D` | :ref:`canvas_transform` | | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`DebugDraw` | :ref:`debug_draw` | ``0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`disable_3d` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`fsr_sharpness` | ``0.2`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`Transform2D` | :ref:`global_canvas_transform` | | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`gui_disable_input` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`gui_embed_subwindows` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`gui_snap_controls_to_pixels` | ``true`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`handle_input_locally` | ``true`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`mesh_lod_threshold` | ``1.0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`MSAA` | :ref:`msaa_2d` | ``0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`MSAA` | :ref:`msaa_3d` | ``0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`own_world_3d` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`PhysicsInterpolationMode` | physics_interpolation_mode | ``1`` (overrides :ref:`Node`) | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`physics_object_picking` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`physics_object_picking_first_only` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`physics_object_picking_sort` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`positional_shadow_atlas_16_bits` | ``true`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`PositionalShadowAtlasQuadrantSubdiv` | :ref:`positional_shadow_atlas_quad_0` | ``2`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`PositionalShadowAtlasQuadrantSubdiv` | :ref:`positional_shadow_atlas_quad_1` | ``2`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`PositionalShadowAtlasQuadrantSubdiv` | :ref:`positional_shadow_atlas_quad_2` | ``3`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`PositionalShadowAtlasQuadrantSubdiv` | :ref:`positional_shadow_atlas_quad_3` | ``4`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`int` | :ref:`positional_shadow_atlas_size` | ``2048`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`Scaling3DMode` | :ref:`scaling_3d_mode` | ``0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`scaling_3d_scale` | ``1.0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`ScreenSpaceAA` | :ref:`screen_space_aa` | ``0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`SDFOversize` | :ref:`sdf_oversize` | ``1`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`SDFScale` | :ref:`sdf_scale` | ``1`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`snap_2d_transforms_to_pixel` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`snap_2d_vertices_to_pixel` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`float` | :ref:`texture_mipmap_bias` | ``0.0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`transparent_bg` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`use_debanding` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`use_hdr_2d` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`use_occlusion_culling` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`use_taa` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`bool` | :ref:`use_xr` | ``false`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`VRSMode` | :ref:`vrs_mode` | ``0`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`Texture2D` | :ref:`vrs_texture` | | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`VRSUpdateMode` | :ref:`vrs_update_mode` | ``1`` | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`World2D` | :ref:`world_2d` | | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ + | :ref:`World3D` | :ref:`world_3d` | | + +-----------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+ .. rst-class:: classref-reftable-group @@ -2051,6 +2053,8 @@ Returns the viewport's texture. await RenderingServer.frame_post_draw $Viewport.get_texture().get_image().save_png("user://Screenshot.png") +\ **Note:** When :ref:`use_hdr_2d` is ``true`` the returned texture will be an HDR image encoded in linear space. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_viewporttexture.rst b/classes/class_viewporttexture.rst index 96387139a62..2684c184d88 100644 --- a/classes/class_viewporttexture.rst +++ b/classes/class_viewporttexture.rst @@ -27,6 +27,13 @@ To get a **ViewportTexture** in code, use the :ref:`Viewport.get_texture` with :ref:`Viewport.use_hdr_2d` set to ``true`` the returned texture will be an HDR image encoded in linear space. This may look darker than normal when displayed directly on screen. To convert to gamma space, you can do the following: + +:: + + img.convert(Image.FORMAT_RGBA8) + imb.linear_to_srgb() + .. rst-class:: classref-introduction-group Tutorials diff --git a/classes/class_visibleonscreennotifier2d.rst b/classes/class_visibleonscreennotifier2d.rst index 37e3e0554ab..b789caf2362 100644 --- a/classes/class_visibleonscreennotifier2d.rst +++ b/classes/class_visibleonscreennotifier2d.rst @@ -21,7 +21,7 @@ A rectangular region of 2D space that detects whether it is visible on screen. Description ----------- -:ref:`VisibleOnScreenEnabler2D` represents a rectangular region of 2D space. When any part of this region becomes visible on screen or in a viewport, it will emit a :ref:`screen_entered` signal, and likewise it will emit a :ref:`screen_exited` signal when no part of it remains visible. +**VisibleOnScreenNotifier2D** represents a rectangular region of 2D space. When any part of this region becomes visible on screen or in a viewport, it will emit a :ref:`screen_entered` signal, and likewise it will emit a :ref:`screen_exited` signal when no part of it remains visible. If you want a node to be enabled automatically when this region is visible on screen, use :ref:`VisibleOnScreenEnabler2D`. diff --git a/classes/class_visibleonscreennotifier3d.rst b/classes/class_visibleonscreennotifier3d.rst index d201ffa6166..ded7a0e147a 100644 --- a/classes/class_visibleonscreennotifier3d.rst +++ b/classes/class_visibleonscreennotifier3d.rst @@ -21,7 +21,7 @@ A box-shaped region of 3D space that detects whether it is visible on screen. Description ----------- -:ref:`VisibleOnScreenEnabler3D` represents a box-shaped region of 3D space. When any part of this region becomes visible on screen or in a :ref:`Camera3D`'s view, it will emit a :ref:`screen_entered` signal, and likewise it will emit a :ref:`screen_exited` signal when no part of it remains visible. +**VisibleOnScreenNotifier3D** represents a box-shaped region of 3D space. When any part of this region becomes visible on screen or in a :ref:`Camera3D`'s view, it will emit a :ref:`screen_entered` signal, and likewise it will emit a :ref:`screen_exited` signal when no part of it remains visible. If you want a node to be enabled automatically when this region is visible on screen, use :ref:`VisibleOnScreenEnabler3D`. diff --git a/classes/class_visualinstance3d.rst b/classes/class_visualinstance3d.rst index 713d99f60ff..4645f7c459b 100644 --- a/classes/class_visualinstance3d.rst +++ b/classes/class_visualinstance3d.rst @@ -12,7 +12,7 @@ VisualInstance3D **Inherits:** :ref:`Node3D` **<** :ref:`Node` **<** :ref:`Object` -**Inherited By:** :ref:`Decal`, :ref:`FogVolume`, :ref:`GeometryInstance3D`, :ref:`GPUParticlesAttractor3D`, :ref:`GPUParticlesCollision3D`, :ref:`Light3D`, :ref:`LightmapGI`, :ref:`OccluderInstance3D`, :ref:`ReflectionProbe`, :ref:`RootMotionView`, :ref:`VisibleOnScreenNotifier3D`, :ref:`VoxelGI` +**Inherited By:** :ref:`Decal`, :ref:`FogVolume`, :ref:`GeometryInstance3D`, :ref:`GPUParticlesAttractor3D`, :ref:`GPUParticlesCollision3D`, :ref:`Light3D`, :ref:`LightmapGI`, :ref:`OccluderInstance3D`, :ref:`OpenXRVisibilityMask`, :ref:`ReflectionProbe`, :ref:`RootMotionView`, :ref:`VisibleOnScreenNotifier3D`, :ref:`VoxelGI` Parent of all visual 3D nodes. diff --git a/classes/class_visualshadernodecubemap.rst b/classes/class_visualshadernodecubemap.rst index 4e4b786940b..108da2e1a91 100644 --- a/classes/class_visualshadernodecubemap.rst +++ b/classes/class_visualshadernodecubemap.rst @@ -30,7 +30,7 @@ Properties :widths: auto +--------------------------------------------------------------+--------------------------------------------------------------------------+-------+ - | :ref:`Cubemap` | :ref:`cube_map` | | + | :ref:`TextureLayered` | :ref:`cube_map` | | +--------------------------------------------------------------+--------------------------------------------------------------------------+-------+ | :ref:`Source` | :ref:`source` | ``0`` | +--------------------------------------------------------------+--------------------------------------------------------------------------+-------+ @@ -131,12 +131,12 @@ Property Descriptions .. rst-class:: classref-property -:ref:`Cubemap` **cube_map** :ref:`🔗` +:ref:`TextureLayered` **cube_map** :ref:`🔗` .. rst-class:: classref-property-setget -- |void| **set_cube_map**\ (\ value\: :ref:`Cubemap`\ ) -- :ref:`Cubemap` **get_cube_map**\ (\ ) +- |void| **set_cube_map**\ (\ value\: :ref:`TextureLayered`\ ) +- :ref:`TextureLayered` **get_cube_map**\ (\ ) The :ref:`Cubemap` texture to sample when using :ref:`SOURCE_TEXTURE` as :ref:`source`. diff --git a/classes/class_visualshadernodeintparameter.rst b/classes/class_visualshadernodeintparameter.rst index ee79ad55fc1..bb727fd7a96 100644 --- a/classes/class_visualshadernodeintparameter.rst +++ b/classes/class_visualshadernodeintparameter.rst @@ -29,19 +29,21 @@ Properties .. table:: :widths: auto - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-----------+ - | :ref:`int` | :ref:`default_value` | ``0`` | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-----------+ - | :ref:`bool` | :ref:`default_value_enabled` | ``false`` | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-----------+ - | :ref:`Hint` | :ref:`hint` | ``0`` | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-----------+ - | :ref:`int` | :ref:`max` | ``100`` | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-----------+ - | :ref:`int` | :ref:`min` | ``0`` | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-----------+ - | :ref:`int` | :ref:`step` | ``1`` | - +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-----------+ + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-------------------------+ + | :ref:`int` | :ref:`default_value` | ``0`` | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-------------------------+ + | :ref:`bool` | :ref:`default_value_enabled` | ``false`` | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-------------------------+ + | :ref:`PackedStringArray` | :ref:`enum_names` | ``PackedStringArray()`` | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-------------------------+ + | :ref:`Hint` | :ref:`hint` | ``0`` | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-------------------------+ + | :ref:`int` | :ref:`max` | ``100`` | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-------------------------+ + | :ref:`int` | :ref:`min` | ``0`` | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-------------------------+ + | :ref:`int` | :ref:`step` | ``1`` | + +-----------------------------------------------------+-------------------------------------------------------------------------------------------------+-------------------------+ .. rst-class:: classref-section-separator @@ -82,11 +84,19 @@ The parameter's value must be within the specified :ref:`min` between values. +.. _class_VisualShaderNodeIntParameter_constant_HINT_ENUM: + +.. rst-class:: classref-enumeration-constant + +:ref:`Hint` **HINT_ENUM** = ``3`` + +The parameter uses an enum to associate preset values to names in the editor. + .. _class_VisualShaderNodeIntParameter_constant_HINT_MAX: .. rst-class:: classref-enumeration-constant -:ref:`Hint` **HINT_MAX** = ``3`` +:ref:`Hint` **HINT_MAX** = ``4`` Represents the size of the :ref:`Hint` enum. @@ -133,6 +143,25 @@ If ``true``, the node will have a custom default value. ---- +.. _class_VisualShaderNodeIntParameter_property_enum_names: + +.. rst-class:: classref-property + +:ref:`PackedStringArray` **enum_names** = ``PackedStringArray()`` :ref:`🔗` + +.. rst-class:: classref-property-setget + +- |void| **set_enum_names**\ (\ value\: :ref:`PackedStringArray`\ ) +- :ref:`PackedStringArray` **get_enum_names**\ (\ ) + +The names used for the enum select in the editor. :ref:`hint` must be :ref:`HINT_ENUM` for this to take effect. + +**Note:** The returned array is *copied* and any changes to it will not update the original property value. See :ref:`PackedStringArray` for more details. + +.. rst-class:: classref-item-separator + +---- + .. _class_VisualShaderNodeIntParameter_property_hint: .. rst-class:: classref-property diff --git a/classes/class_visualshadernodetexture2darray.rst b/classes/class_visualshadernodetexture2darray.rst index 3b725a70229..20823d66ce6 100644 --- a/classes/class_visualshadernodetexture2darray.rst +++ b/classes/class_visualshadernodetexture2darray.rst @@ -30,7 +30,7 @@ Properties :widths: auto +---------------------------------------------+-----------------------------------------------------------------------------------+ - | :ref:`Texture2DArray` | :ref:`texture_array` | + | :ref:`TextureLayered` | :ref:`texture_array` | +---------------------------------------------+-----------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator @@ -46,12 +46,12 @@ Property Descriptions .. rst-class:: classref-property -:ref:`Texture2DArray` **texture_array** :ref:`🔗` +:ref:`TextureLayered` **texture_array** :ref:`🔗` .. rst-class:: classref-property-setget -- |void| **set_texture_array**\ (\ value\: :ref:`Texture2DArray`\ ) -- :ref:`Texture2DArray` **get_texture_array**\ (\ ) +- |void| **set_texture_array**\ (\ value\: :ref:`TextureLayered`\ ) +- :ref:`TextureLayered` **get_texture_array**\ (\ ) A source texture array. Used if :ref:`VisualShaderNodeSample3D.source` is set to :ref:`VisualShaderNodeSample3D.SOURCE_TEXTURE`. diff --git a/classes/class_websocketpeer.rst b/classes/class_websocketpeer.rst index c7d7d73de46..b2104534c39 100644 --- a/classes/class_websocketpeer.rst +++ b/classes/class_websocketpeer.rst @@ -482,7 +482,7 @@ Sends the given ``message`` using WebSocket text mode. Prefer this method over : |void| **set_no_delay**\ (\ enabled\: :ref:`bool`\ ) :ref:`🔗` -Disable Nagle's algorithm on the underling TCP socket (default). See :ref:`StreamPeerTCP.set_no_delay` for more information. +Disable Nagle's algorithm on the underlying TCP socket (default). See :ref:`StreamPeerTCP.set_no_delay` for more information. \ **Note:** Not available in the Web export. diff --git a/classes/class_window.rst b/classes/class_window.rst index bf0a89c2cf9..004a0b70cf9 100644 --- a/classes/class_window.rst +++ b/classes/class_window.rst @@ -2137,6 +2137,12 @@ Causes the window to grab focus, allowing it to receive user input. Shows the **Window** and makes it transient (see :ref:`transient`). If ``rect`` is provided, it will be set as the **Window**'s size. Fails if called on the main window. +If :ref:`ProjectSettings.display/window/subwindows/embed_subwindows` is ``true`` (single-window mode), ``rect``'s coordinates are global and relative to the main window's top-left corner (excluding window decorations). If ``rect``'s position coordinates are negative, the window will be located outside the main window and may not be visible as a result. + +If :ref:`ProjectSettings.display/window/subwindows/embed_subwindows` is ``false`` (multi-window mode), ``rect``'s coordinates are global and relative to the top-left corner of the leftmost screen. If ``rect``'s position coordinates are negative, the window will be placed at the top-left corner of the screen. + +\ **Note:** ``rect`` must be in global coordinates if specified. + .. rst-class:: classref-item-separator ---- diff --git a/classes/class_xrhandtracker.rst b/classes/class_xrhandtracker.rst index 9aeb48e332c..8fbfbbf92a9 100644 --- a/classes/class_xrhandtracker.rst +++ b/classes/class_xrhandtracker.rst @@ -117,11 +117,19 @@ The source of hand tracking data is unobstructed, meaning that an accurate metho The source of hand tracking data is a controller, meaning that joint positions are inferred from controller inputs. +.. _class_XRHandTracker_constant_HAND_TRACKING_SOURCE_NOT_TRACKED: + +.. rst-class:: classref-enumeration-constant + +:ref:`HandTrackingSource` **HAND_TRACKING_SOURCE_NOT_TRACKED** = ``3`` + +No hand tracking data is tracked, this either means the hand is obscured, the controller is turned off, or tracking is not supported for the current input type. + .. _class_XRHandTracker_constant_HAND_TRACKING_SOURCE_MAX: .. rst-class:: classref-enumeration-constant -:ref:`HandTrackingSource` **HAND_TRACKING_SOURCE_MAX** = ``3`` +:ref:`HandTrackingSource` **HAND_TRACKING_SOURCE_MAX** = ``4`` Represents the size of the :ref:`HandTrackingSource` enum. diff --git a/classes/index.rst b/classes/index.rst index fd3c02edabc..ab55fbf9f47 100644 --- a/classes/index.rst +++ b/classes/index.rst @@ -177,6 +177,7 @@ Nodes class_openxrcompositionlayerequirect class_openxrcompositionlayerquad class_openxrhand + class_openxrvisibilitymask class_optionbutton class_panel class_panelcontainer @@ -406,6 +407,7 @@ Resources class_fontvariation class_gdextension class_gdscript + class_gdscriptsyntaxhighlighter class_gltfaccessor class_gltfanimation class_gltfbufferview @@ -726,6 +728,7 @@ Other objects class_editordebuggersession class_editorexportplatform class_editorexportplatformandroid + class_editorexportplatformextension class_editorexportplatformios class_editorexportplatformlinuxbsd class_editorexportplatformmacos @@ -733,6 +736,7 @@ Other objects class_editorexportplatformweb class_editorexportplatformwindows class_editorexportplugin + class_editorexportpreset class_editorfeatureprofile class_editorfilesystemdirectory class_editorfilesystemimportformatsupportquery @@ -980,6 +984,7 @@ Editor-only class_editordebuggersession class_editorexportplatform class_editorexportplatformandroid + class_editorexportplatformextension class_editorexportplatformios class_editorexportplatformlinuxbsd class_editorexportplatformmacos @@ -987,6 +992,7 @@ Editor-only class_editorexportplatformweb class_editorexportplatformwindows class_editorexportplugin + class_editorexportpreset class_editorfeatureprofile class_editorfiledialog class_editorfilesystem