Browse Source

classref: Sync with current 3.3 branch

Rémi Verschelde 4 years ago
parent
commit
b7ba6a23c5

+ 15 - 7
classes/[email protected]

@@ -1294,6 +1294,8 @@ enum **ButtonList**:
 
 
 .. _class_@GlobalScope_constant_JOY_BUTTON_21:
 .. _class_@GlobalScope_constant_JOY_BUTTON_21:
 
 
+.. _class_@GlobalScope_constant_JOY_BUTTON_22:
+
 .. _class_@GlobalScope_constant_JOY_BUTTON_MAX:
 .. _class_@GlobalScope_constant_JOY_BUTTON_MAX:
 
 
 .. _class_@GlobalScope_constant_JOY_SONY_CIRCLE:
 .. _class_@GlobalScope_constant_JOY_SONY_CIRCLE:
@@ -1346,6 +1348,8 @@ enum **ButtonList**:
 
 
 .. _class_@GlobalScope_constant_JOY_DPAD_RIGHT:
 .. _class_@GlobalScope_constant_JOY_DPAD_RIGHT:
 
 
+.. _class_@GlobalScope_constant_JOY_GUIDE:
+
 .. _class_@GlobalScope_constant_JOY_MISC1:
 .. _class_@GlobalScope_constant_JOY_MISC1:
 
 
 .. _class_@GlobalScope_constant_JOY_PADDLE1:
 .. _class_@GlobalScope_constant_JOY_PADDLE1:
@@ -1460,7 +1464,9 @@ enum **JoystickList**:
 
 
 - **JOY_BUTTON_21** = **21** --- Gamepad button 21.
 - **JOY_BUTTON_21** = **21** --- Gamepad button 21.
 
 
-- **JOY_BUTTON_MAX** = **22** --- Represents the maximum number of joystick buttons supported.
+- **JOY_BUTTON_22** = **22** --- Gamepad button 22.
+
+- **JOY_BUTTON_MAX** = **23** --- Represents the maximum number of joystick buttons supported.
 
 
 - **JOY_SONY_CIRCLE** = **1** --- DualShock circle button.
 - **JOY_SONY_CIRCLE** = **1** --- DualShock circle button.
 
 
@@ -1512,17 +1518,19 @@ enum **JoystickList**:
 
 
 - **JOY_DPAD_RIGHT** = **15** --- Gamepad DPad right.
 - **JOY_DPAD_RIGHT** = **15** --- Gamepad DPad right.
 
 
-- **JOY_MISC1** = **16** --- Gamepad SDL miscellaneous button.
+- **JOY_GUIDE** = **16** --- Gamepad SDL guide button.
+
+- **JOY_MISC1** = **17** --- Gamepad SDL miscellaneous button.
 
 
-- **JOY_PADDLE1** = **17** --- Gamepad SDL paddle 1 button.
+- **JOY_PADDLE1** = **18** --- Gamepad SDL paddle 1 button.
 
 
-- **JOY_PADDLE2** = **18** --- Gamepad SDL paddle 2 button.
+- **JOY_PADDLE2** = **19** --- Gamepad SDL paddle 2 button.
 
 
-- **JOY_PADDLE3** = **19** --- Gamepad SDL paddle 3 button.
+- **JOY_PADDLE3** = **20** --- Gamepad SDL paddle 3 button.
 
 
-- **JOY_PADDLE4** = **20** --- Gamepad SDL paddle 4 button.
+- **JOY_PADDLE4** = **21** --- Gamepad SDL paddle 4 button.
 
 
-- **JOY_TOUCHPAD** = **21** --- Gamepad SDL touchpad button.
+- **JOY_TOUCHPAD** = **22** --- Gamepad SDL touchpad button.
 
 
 - **JOY_L** = **4** --- Gamepad left Shoulder button.
 - **JOY_L** = **4** --- Gamepad left Shoulder button.
 
 

+ 1 - 1
classes/class_area.rst

@@ -316,7 +316,7 @@ The physics layers this area scans to determine collision detection. See `Collis
 | *Getter*  | get_gravity()      |
 | *Getter*  | get_gravity()      |
 +-----------+--------------------+
 +-----------+--------------------+
 
 
-The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
+The area's gravity intensity (in meters per second squared). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
 
 
 ----
 ----
 
 

+ 1 - 1
classes/class_area2d.rst

@@ -312,7 +312,7 @@ The physics layers this area scans to determine collision detection. See `Collis
 | *Getter*  | get_gravity()      |
 | *Getter*  | get_gravity()      |
 +-----------+--------------------+
 +-----------+--------------------+
 
 
-The area's gravity intensity (ranges from -1024 to 1024). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
+The area's gravity intensity (in pixels per second squared). This value multiplies the gravity vector. This is useful to alter the force of gravity without altering its direction.
 
 
 ----
 ----
 
 

+ 2 - 0
classes/class_array.rst

@@ -496,6 +496,8 @@ Sorts the array.
 
 
 Sorts the array using a custom method. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return either ``true`` or ``false``.
 Sorts the array using a custom method. The arguments are an object that holds the method and the name of such method. The custom method receives two arguments (a pair of elements from the array) and must return either ``true`` or ``false``.
 
 
+For two elements ``a`` and ``b``, if the given method returns ``true``, element ``b`` will be after element ``a`` in the array.
+
 **Note:** you cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
 **Note:** you cannot randomize the return value as the heapsort algorithm expects a deterministic result. Doing so will result in unexpected behavior.
 
 
 ::
 ::

+ 0 - 2
classes/class_arraymesh.rst

@@ -249,8 +249,6 @@ Surfaces are created to be rendered using a ``primitive``, which may be any of t
 
 
 The ``arrays`` argument is an array of arrays. See :ref:`ArrayType<enum_ArrayMesh_ArrayType>` for the values used in this array. For example, ``arrays[0]`` is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for :ref:`ARRAY_INDEX<class_ArrayMesh_constant_ARRAY_INDEX>` if it is used.
 The ``arrays`` argument is an array of arrays. See :ref:`ArrayType<enum_ArrayMesh_ArrayType>` for the values used in this array. For example, ``arrays[0]`` is the array of vertices. That first vertex sub-array is always required; the others are optional. Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data and the index array defines the vertex order. All sub-arrays must have the same length as the vertex array or be empty, except for :ref:`ARRAY_INDEX<class_ArrayMesh_constant_ARRAY_INDEX>` if it is used.
 
 
-Adding an index array puts this function into "index mode" where the vertex and other arrays become the sources of data, and the index array defines the order of the vertices.
-
 ----
 ----
 
 
 .. _class_ArrayMesh_method_clear_blend_shapes:
 .. _class_ArrayMesh_method_clear_blend_shapes:

+ 44 - 1
classes/class_editorplugin.rst

@@ -327,7 +327,9 @@ During run-time, this will be a simple object with a script so this function doe
 
 
 - void **add_export_plugin** **(** :ref:`EditorExportPlugin<class_EditorExportPlugin>` plugin **)**
 - void **add_export_plugin** **(** :ref:`EditorExportPlugin<class_EditorExportPlugin>` plugin **)**
 
 
-Registers a new export plugin. Export plugins are used when the project is being exported. See :ref:`EditorExportPlugin<class_EditorExportPlugin>` for more information.
+Registers a new :ref:`EditorExportPlugin<class_EditorExportPlugin>`. Export plugins are used to perform tasks when the project is being exported.
+
+See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>` for an example of how to register a plugin.
 
 
 ----
 ----
 
 
@@ -335,24 +337,51 @@ Registers a new export plugin. Export plugins are used when the project is being
 
 
 - void **add_import_plugin** **(** :ref:`EditorImportPlugin<class_EditorImportPlugin>` importer **)**
 - void **add_import_plugin** **(** :ref:`EditorImportPlugin<class_EditorImportPlugin>` importer **)**
 
 
+Registers a new :ref:`EditorImportPlugin<class_EditorImportPlugin>`. Import plugins are used to import custom and unsupported assets as a custom :ref:`Resource<class_Resource>` type.
+
+**Note:** If you want to import custom 3D asset formats use :ref:`add_scene_import_plugin<class_EditorPlugin_method_add_scene_import_plugin>` instead.
+
+See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>` for an example of how to register a plugin.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_add_inspector_plugin:
 .. _class_EditorPlugin_method_add_inspector_plugin:
 
 
 - void **add_inspector_plugin** **(** :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` plugin **)**
 - void **add_inspector_plugin** **(** :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` plugin **)**
 
 
+Registers a new :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>`. Inspector plugins are used to extend :ref:`EditorInspector<class_EditorInspector>` and provide custom configuration tools for your object's properties.
+
+**Note:** Always use :ref:`remove_inspector_plugin<class_EditorPlugin_method_remove_inspector_plugin>` to remove the registered :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` when your ``EditorPlugin`` is disabled to prevent leaks and an unexpected behavior.
+
+::
+
+    const MyInspectorPlugin = preload("res://addons/your_addon/path/to/your/script.gd")
+    var inspector_plugin = MyInspectorPlugin.new()
+    
+    func _enter_tree():
+        add_inspector_plugin(inspector_plugin)
+    
+    func _exit_tree():
+        remove_inspector_plugin(inspector_plugin)
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_add_scene_import_plugin:
 .. _class_EditorPlugin_method_add_scene_import_plugin:
 
 
 - void **add_scene_import_plugin** **(** :ref:`EditorSceneImporter<class_EditorSceneImporter>` scene_importer **)**
 - void **add_scene_import_plugin** **(** :ref:`EditorSceneImporter<class_EditorSceneImporter>` scene_importer **)**
 
 
+Registers a new :ref:`EditorSceneImporter<class_EditorSceneImporter>`. Scene importers are used to import custom 3D asset formats as scenes.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_add_spatial_gizmo_plugin:
 .. _class_EditorPlugin_method_add_spatial_gizmo_plugin:
 
 
 - void **add_spatial_gizmo_plugin** **(** :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` plugin **)**
 - void **add_spatial_gizmo_plugin** **(** :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` plugin **)**
 
 
+Registers a new :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>`. Gizmo plugins are used to add custom gizmos to the 3D preview viewport for a :ref:`Spatial<class_Spatial>`.
+
+See :ref:`add_inspector_plugin<class_EditorPlugin_method_add_inspector_plugin>` for an example of how to register a plugin.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_add_tool_menu_item:
 .. _class_EditorPlugin_method_add_tool_menu_item:
@@ -637,12 +666,16 @@ Returns ``true`` if this is a main screen editor plugin (it goes in the workspac
 
 
 - void **hide_bottom_panel** **(** **)**
 - void **hide_bottom_panel** **(** **)**
 
 
+Minimizes the bottom panel.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_make_bottom_panel_item_visible:
 .. _class_EditorPlugin_method_make_bottom_panel_item_visible:
 
 
 - void **make_bottom_panel_item_visible** **(** :ref:`Control<class_Control>` item **)**
 - void **make_bottom_panel_item_visible** **(** :ref:`Control<class_Control>` item **)**
 
 
+Makes a specific item in the bottom panel visible.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_make_visible:
 .. _class_EditorPlugin_method_make_visible:
@@ -707,30 +740,40 @@ Removes a custom type added by :ref:`add_custom_type<class_EditorPlugin_method_a
 
 
 - void **remove_export_plugin** **(** :ref:`EditorExportPlugin<class_EditorExportPlugin>` plugin **)**
 - void **remove_export_plugin** **(** :ref:`EditorExportPlugin<class_EditorExportPlugin>` plugin **)**
 
 
+Removes an export plugin registered by :ref:`add_export_plugin<class_EditorPlugin_method_add_export_plugin>`.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_remove_import_plugin:
 .. _class_EditorPlugin_method_remove_import_plugin:
 
 
 - void **remove_import_plugin** **(** :ref:`EditorImportPlugin<class_EditorImportPlugin>` importer **)**
 - void **remove_import_plugin** **(** :ref:`EditorImportPlugin<class_EditorImportPlugin>` importer **)**
 
 
+Removes an import plugin registered by :ref:`add_import_plugin<class_EditorPlugin_method_add_import_plugin>`.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_remove_inspector_plugin:
 .. _class_EditorPlugin_method_remove_inspector_plugin:
 
 
 - void **remove_inspector_plugin** **(** :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` plugin **)**
 - void **remove_inspector_plugin** **(** :ref:`EditorInspectorPlugin<class_EditorInspectorPlugin>` plugin **)**
 
 
+Removes an inspector plugin registered by :ref:`add_import_plugin<class_EditorPlugin_method_add_import_plugin>`
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_remove_scene_import_plugin:
 .. _class_EditorPlugin_method_remove_scene_import_plugin:
 
 
 - void **remove_scene_import_plugin** **(** :ref:`EditorSceneImporter<class_EditorSceneImporter>` scene_importer **)**
 - void **remove_scene_import_plugin** **(** :ref:`EditorSceneImporter<class_EditorSceneImporter>` scene_importer **)**
 
 
+Removes a scene importer registered by :ref:`add_scene_import_plugin<class_EditorPlugin_method_add_scene_import_plugin>`.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_remove_spatial_gizmo_plugin:
 .. _class_EditorPlugin_method_remove_spatial_gizmo_plugin:
 
 
 - void **remove_spatial_gizmo_plugin** **(** :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` plugin **)**
 - void **remove_spatial_gizmo_plugin** **(** :ref:`EditorSpatialGizmoPlugin<class_EditorSpatialGizmoPlugin>` plugin **)**
 
 
+Removes a gizmo plugin registered by :ref:`add_spatial_gizmo_plugin<class_EditorPlugin_method_add_spatial_gizmo_plugin>`.
+
 ----
 ----
 
 
 .. _class_EditorPlugin_method_remove_tool_menu_item:
 .. _class_EditorPlugin_method_remove_tool_menu_item:

+ 2 - 0
classes/class_engine.rst

@@ -128,6 +128,8 @@ The number of fixed iterations per second. This controls how often physics simul
 
 
 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 fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
 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 fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
 
 
+**Note:** For best results, when using a custom physics interpolation solution, the physics jitter fix should be disabled by setting :ref:`physics_jitter_fix<class_Engine_property_physics_jitter_fix>` to ``0``.
+
 ----
 ----
 
 
 .. _class_Engine_property_target_fps:
 .. _class_Engine_property_target_fps:

+ 2 - 0
classes/class_file.rst

@@ -636,6 +636,8 @@ Appends ``string`` to the file without a line return, encoding the text as UTF-8
 
 
 Stores any Variant value in the file. If ``full_objects`` is ``true``, encoding objects is allowed (and can potentially include code).
 Stores any Variant value in the file. If ``full_objects`` is ``true``, encoding objects is allowed (and can potentially include code).
 
 
+**Note:** Not all properties are included. Only properties that are configured with the :ref:`@GlobalScope.PROPERTY_USAGE_STORAGE<class_@GlobalScope_constant_PROPERTY_USAGE_STORAGE>` flag set will be serialized. You can add a new usage flag to a property by overriding the :ref:`Object._get_property_list<class_Object_method__get_property_list>` method in your class. You can also check how property usage is configured by calling :ref:`Object._get_property_list<class_Object_method__get_property_list>`. See :ref:`PropertyUsageFlags<enum_@GlobalScope_PropertyUsageFlags>` for the possible usage flags.
+
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
 .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
 .. |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.)`
 .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`

+ 7 - 3
classes/class_httpclient.rst

@@ -603,7 +603,9 @@ Reads one chunk from the response.
 
 
 - :ref:`Error<enum_@GlobalScope_Error>` **request** **(** :ref:`Method<enum_HTTPClient_Method>` method, :ref:`String<class_String>` url, :ref:`PoolStringArray<class_PoolStringArray>` headers, :ref:`String<class_String>` body="" **)**
 - :ref:`Error<enum_@GlobalScope_Error>` **request** **(** :ref:`Method<enum_HTTPClient_Method>` method, :ref:`String<class_String>` url, :ref:`PoolStringArray<class_PoolStringArray>` headers, :ref:`String<class_String>` body="" **)**
 
 
-Sends a request to the connected host. The URL parameter is just the part after the host, so for ``http://somehost.com/index.php``, it is ``index.php``.
+Sends a request to the connected host.
+
+The URL parameter is usually just the part after the host, so for ``http://somehost.com/index.php``, it is ``/index.php``. When sending requests to an HTTP proxy server, it should be an absolute URL. For :ref:`METHOD_OPTIONS<class_HTTPClient_constant_METHOD_OPTIONS>` requests, ``*`` is also allowed. For :ref:`METHOD_CONNECT<class_HTTPClient_constant_METHOD_CONNECT>` requests, it should be the authority component (``host:port``).
 
 
 Headers are HTTP request headers. For available HTTP methods, see :ref:`Method<enum_HTTPClient_Method>`.
 Headers are HTTP request headers. For available HTTP methods, see :ref:`Method<enum_HTTPClient_Method>`.
 
 
@@ -614,7 +616,7 @@ To create a POST request with query strings to push to the server, do:
     var fields = {"username" : "user", "password" : "pass"}
     var fields = {"username" : "user", "password" : "pass"}
     var query_string = http_client.query_string_from_dict(fields)
     var query_string = http_client.query_string_from_dict(fields)
     var headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(query_string.length())]
     var headers = ["Content-Type: application/x-www-form-urlencoded", "Content-Length: " + str(query_string.length())]
-    var result = http_client.request(http_client.METHOD_POST, "index.php", headers, query_string)
+    var result = http_client.request(http_client.METHOD_POST, "/index.php", headers, query_string)
 
 
 **Note:** The ``request_data`` parameter is ignored if ``method`` is :ref:`METHOD_GET<class_HTTPClient_constant_METHOD_GET>`. This is because GET methods can't contain request data. As a workaround, you can pass request data as a query string in the URL. See :ref:`String.http_escape<class_String_method_http_escape>` for an example.
 **Note:** The ``request_data`` parameter is ignored if ``method`` is :ref:`METHOD_GET<class_HTTPClient_constant_METHOD_GET>`. This is because GET methods can't contain request data. As a workaround, you can pass request data as a query string in the URL. See :ref:`String.http_escape<class_String_method_http_escape>` for an example.
 
 
@@ -624,7 +626,9 @@ To create a POST request with query strings to push to the server, do:
 
 
 - :ref:`Error<enum_@GlobalScope_Error>` **request_raw** **(** :ref:`Method<enum_HTTPClient_Method>` method, :ref:`String<class_String>` url, :ref:`PoolStringArray<class_PoolStringArray>` headers, :ref:`PoolByteArray<class_PoolByteArray>` body **)**
 - :ref:`Error<enum_@GlobalScope_Error>` **request_raw** **(** :ref:`Method<enum_HTTPClient_Method>` method, :ref:`String<class_String>` url, :ref:`PoolStringArray<class_PoolStringArray>` headers, :ref:`PoolByteArray<class_PoolByteArray>` body **)**
 
 
-Sends a raw request to the connected host. The URL parameter is just the part after the host, so for ``http://somehost.com/index.php``, it is ``index.php``.
+Sends a raw request to the connected host.
+
+The URL parameter is usually just the part after the host, so for ``http://somehost.com/index.php``, it is ``/index.php``. When sending requests to an HTTP proxy server, it should be an absolute URL. For :ref:`METHOD_OPTIONS<class_HTTPClient_constant_METHOD_OPTIONS>` requests, ``*`` is also allowed. For :ref:`METHOD_CONNECT<class_HTTPClient_constant_METHOD_CONNECT>` requests, it should be the authority component (``host:port``).
 
 
 Headers are HTTP request headers. For available HTTP methods, see :ref:`Method<enum_HTTPClient_Method>`.
 Headers are HTTP request headers. For available HTTP methods, see :ref:`Method<enum_HTTPClient_Method>`.
 
 

+ 10 - 0
classes/class_inputmap.rst

@@ -33,6 +33,8 @@ Methods
 +---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                      | :ref:`action_erase_events<class_InputMap_method_action_erase_events>` **(** :ref:`String<class_String>` action **)**                                            |
 | void                      | :ref:`action_erase_events<class_InputMap_method_action_erase_events>` **(** :ref:`String<class_String>` action **)**                                            |
 +---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`action_get_deadzone<class_InputMap_method_action_get_deadzone>` **(** :ref:`String<class_String>` action **)**                                            |
++---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`   | :ref:`action_has_event<class_InputMap_method_action_has_event>` **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)**       |
 | :ref:`bool<class_bool>`   | :ref:`action_has_event<class_InputMap_method_action_has_event>` **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)**       |
 +---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 +---------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                      | :ref:`action_set_deadzone<class_InputMap_method_action_set_deadzone>` **(** :ref:`String<class_String>` action, :ref:`float<class_float>` deadzone **)**        |
 | void                      | :ref:`action_set_deadzone<class_InputMap_method_action_set_deadzone>` **(** :ref:`String<class_String>` action, :ref:`float<class_float>` deadzone **)**        |
@@ -79,6 +81,14 @@ Removes all events from an action.
 
 
 ----
 ----
 
 
+.. _class_InputMap_method_action_get_deadzone:
+
+- :ref:`float<class_float>` **action_get_deadzone** **(** :ref:`String<class_String>` action **)**
+
+Returns a deadzone value for the action.
+
+----
+
 .. _class_InputMap_method_action_has_event:
 .. _class_InputMap_method_action_has_event:
 
 
 - :ref:`bool<class_bool>` **action_has_event** **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)**
 - :ref:`bool<class_bool>` **action_has_event** **(** :ref:`String<class_String>` action, :ref:`InputEvent<class_InputEvent>` event **)**

+ 14 - 0
classes/class_kinematiccollision.rst

@@ -30,6 +30,8 @@ Properties
 +-------------------------------+-------------------------------------------------------------------------------------+------------------------+
 +-------------------------------+-------------------------------------------------------------------------------------+------------------------+
 | :ref:`Variant<class_Variant>` | :ref:`collider_metadata<class_KinematicCollision_property_collider_metadata>`       |                        |
 | :ref:`Variant<class_Variant>` | :ref:`collider_metadata<class_KinematicCollision_property_collider_metadata>`       |                        |
 +-------------------------------+-------------------------------------------------------------------------------------+------------------------+
 +-------------------------------+-------------------------------------------------------------------------------------+------------------------+
+| :ref:`RID<class_RID>`         | :ref:`collider_rid<class_KinematicCollision_property_collider_rid>`                 |                        |
++-------------------------------+-------------------------------------------------------------------------------------+------------------------+
 | :ref:`Object<class_Object>`   | :ref:`collider_shape<class_KinematicCollision_property_collider_shape>`             |                        |
 | :ref:`Object<class_Object>`   | :ref:`collider_shape<class_KinematicCollision_property_collider_shape>`             |                        |
 +-------------------------------+-------------------------------------------------------------------------------------+------------------------+
 +-------------------------------+-------------------------------------------------------------------------------------+------------------------+
 | :ref:`int<class_int>`         | :ref:`collider_shape_index<class_KinematicCollision_property_collider_shape_index>` | ``0``                  |
 | :ref:`int<class_int>`         | :ref:`collider_shape_index<class_KinematicCollision_property_collider_shape_index>` | ``0``                  |
@@ -88,6 +90,18 @@ The colliding body's metadata. See :ref:`Object<class_Object>`.
 
 
 ----
 ----
 
 
+.. _class_KinematicCollision_property_collider_rid:
+
+- :ref:`RID<class_RID>` **collider_rid**
+
++----------+--------------------+
+| *Getter* | get_collider_rid() |
++----------+--------------------+
+
+The colliding body's :ref:`RID<class_RID>` used by the :ref:`PhysicsServer<class_PhysicsServer>`.
+
+----
+
 .. _class_KinematicCollision_property_collider_shape:
 .. _class_KinematicCollision_property_collider_shape:
 
 
 - :ref:`Object<class_Object>` **collider_shape**
 - :ref:`Object<class_Object>` **collider_shape**

+ 14 - 0
classes/class_kinematiccollision2d.rst

@@ -30,6 +30,8 @@ Properties
 +-------------------------------+---------------------------------------------------------------------------------------+---------------------+
 +-------------------------------+---------------------------------------------------------------------------------------+---------------------+
 | :ref:`Variant<class_Variant>` | :ref:`collider_metadata<class_KinematicCollision2D_property_collider_metadata>`       |                     |
 | :ref:`Variant<class_Variant>` | :ref:`collider_metadata<class_KinematicCollision2D_property_collider_metadata>`       |                     |
 +-------------------------------+---------------------------------------------------------------------------------------+---------------------+
 +-------------------------------+---------------------------------------------------------------------------------------+---------------------+
+| :ref:`RID<class_RID>`         | :ref:`collider_rid<class_KinematicCollision2D_property_collider_rid>`                 |                     |
++-------------------------------+---------------------------------------------------------------------------------------+---------------------+
 | :ref:`Object<class_Object>`   | :ref:`collider_shape<class_KinematicCollision2D_property_collider_shape>`             |                     |
 | :ref:`Object<class_Object>`   | :ref:`collider_shape<class_KinematicCollision2D_property_collider_shape>`             |                     |
 +-------------------------------+---------------------------------------------------------------------------------------+---------------------+
 +-------------------------------+---------------------------------------------------------------------------------------+---------------------+
 | :ref:`int<class_int>`         | :ref:`collider_shape_index<class_KinematicCollision2D_property_collider_shape_index>` | ``0``               |
 | :ref:`int<class_int>`         | :ref:`collider_shape_index<class_KinematicCollision2D_property_collider_shape_index>` | ``0``               |
@@ -88,6 +90,18 @@ The colliding body's metadata. See :ref:`Object<class_Object>`.
 
 
 ----
 ----
 
 
+.. _class_KinematicCollision2D_property_collider_rid:
+
+- :ref:`RID<class_RID>` **collider_rid**
+
++----------+--------------------+
+| *Getter* | get_collider_rid() |
++----------+--------------------+
+
+The colliding body's :ref:`RID<class_RID>` used by the :ref:`Physics2DServer<class_Physics2DServer>`.
+
+----
+
 .. _class_KinematicCollision2D_property_collider_shape:
 .. _class_KinematicCollision2D_property_collider_shape:
 
 
 - :ref:`Object<class_Object>` **collider_shape**
 - :ref:`Object<class_Object>` **collider_shape**

+ 1 - 1
classes/class_label.rst

@@ -182,7 +182,7 @@ If ``true``, wraps the text inside the node's bounding rectangle. If you resize
 | *Getter*  | is_clipping_text()   |
 | *Getter*  | is_clipping_text()   |
 +-----------+----------------------+
 +-----------+----------------------+
 
 
-If ``true``, the Label only shows the text that fits inside its bounding rectangle. It also lets you scale the node down freely.
+If ``true``, the Label only shows the text that fits inside its bounding rectangle and will clip text horizontally.
 
 
 ----
 ----
 
 

+ 4 - 0
classes/class_navigation.rst

@@ -18,6 +18,8 @@ Description
 
 
 Provides navigation and pathfinding within a collection of :ref:`NavigationMesh<class_NavigationMesh>`\ es. By default, these will be automatically collected from child :ref:`NavigationMeshInstance<class_NavigationMeshInstance>` nodes, but they can also be added on the fly with :ref:`navmesh_add<class_Navigation_method_navmesh_add>`. In addition to basic pathfinding, this class also assists with aligning navigation agents with the meshes they are navigating on.
 Provides navigation and pathfinding within a collection of :ref:`NavigationMesh<class_NavigationMesh>`\ es. By default, these will be automatically collected from child :ref:`NavigationMeshInstance<class_NavigationMeshInstance>` nodes, but they can also be added on the fly with :ref:`navmesh_add<class_Navigation_method_navmesh_add>`. In addition to basic pathfinding, this class also assists with aligning navigation agents with the meshes they are navigating on.
 
 
+**Note:** The current navigation system has many known issues and will not always return optimal paths as expected. These issues will be fixed in Godot 4.0.
+
 Tutorials
 Tutorials
 ---------
 ---------
 
 
@@ -109,6 +111,8 @@ Returns the navigation point closest to the given line segment. When enabling ``
 
 
 Returns the path between two given points. Points are in local coordinate space. If ``optimize`` is ``true`` (the default), the agent properties associated with each :ref:`NavigationMesh<class_NavigationMesh>` (radius, height, etc.) are considered in the path calculation, otherwise they are ignored.
 Returns the path between two given points. Points are in local coordinate space. If ``optimize`` is ``true`` (the default), the agent properties associated with each :ref:`NavigationMesh<class_NavigationMesh>` (radius, height, etc.) are considered in the path calculation, otherwise they are ignored.
 
 
+**Note:** This method has known issues and will often return non-optimal paths. These issues will be fixed in Godot 4.0.
+
 ----
 ----
 
 
 .. _class_Navigation_method_navmesh_add:
 .. _class_Navigation_method_navmesh_add:

+ 4 - 0
classes/class_navigation2d.rst

@@ -18,6 +18,8 @@ Description
 
 
 Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of :ref:`NavigationPolygon<class_NavigationPolygon>` resources. By default, these are automatically collected from child :ref:`NavigationPolygonInstance<class_NavigationPolygonInstance>` nodes, but they can also be added on the fly with :ref:`navpoly_add<class_Navigation2D_method_navpoly_add>`.
 Navigation2D provides navigation and pathfinding within a 2D area, specified as a collection of :ref:`NavigationPolygon<class_NavigationPolygon>` resources. By default, these are automatically collected from child :ref:`NavigationPolygonInstance<class_NavigationPolygonInstance>` nodes, but they can also be added on the fly with :ref:`navpoly_add<class_Navigation2D_method_navpoly_add>`.
 
 
+**Note:** The current navigation system has many known issues and will not always return optimal paths as expected. These issues will be fixed in Godot 4.0.
+
 Tutorials
 Tutorials
 ---------
 ---------
 
 
@@ -65,6 +67,8 @@ Returns the owner of the :ref:`NavigationPolygon<class_NavigationPolygon>` which
 
 
 Returns the path between two given points. Points are in local coordinate space. If ``optimize`` is ``true`` (the default), the path is smoothed by merging path segments where possible.
 Returns the path between two given points. Points are in local coordinate space. If ``optimize`` is ``true`` (the default), the path is smoothed by merging path segments where possible.
 
 
+**Note:** This method has known issues and will often return non-optimal paths. These issues will be fixed in Godot 4.0.
+
 ----
 ----
 
 
 .. _class_Navigation2D_method_navpoly_add:
 .. _class_Navigation2D_method_navpoly_add:

+ 2 - 0
classes/class_popupmenu.rst

@@ -470,6 +470,8 @@ Removes all items from the ``PopupMenu``.
 
 
 - :ref:`int<class_int>` **get_current_index** **(** **)** |const|
 - :ref:`int<class_int>` **get_current_index** **(** **)** |const|
 
 
+Returns the index of the currently focused item. Returns ``-1`` if no item is focused.
+
 ----
 ----
 
 
 .. _class_PopupMenu_method_get_item_accelerator:
 .. _class_PopupMenu_method_get_item_accelerator:

+ 23 - 5
classes/class_projectsettings.rst

@@ -950,7 +950,9 @@ Icon set in ``.ico`` format used on Windows to set the game's icon. This is done
 | *Default* | ``false`` |
 | *Default* | ``false`` |
 +-----------+-----------+
 +-----------+-----------+
 
 
-If ``true``, disables printing to standard error in an exported build.
+If ``true``, disables printing to standard error. If ``true``, this also hides error and warning messages printed by :ref:`@GDScript.push_error<class_@GDScript_method_push_error>` and :ref:`@GDScript.push_warning<class_@GDScript_method_push_warning>`. See also :ref:`application/run/disable_stdout<class_ProjectSettings_property_application/run/disable_stdout>`.
+
+Changes to this setting will only be applied upon restarting the application.
 
 
 ----
 ----
 
 
@@ -962,7 +964,9 @@ If ``true``, disables printing to standard error in an exported build.
 | *Default* | ``false`` |
 | *Default* | ``false`` |
 +-----------+-----------+
 +-----------+-----------+
 
 
-If ``true``, disables printing to standard output in an exported build.
+If ``true``, disables printing to standard output. This is equivalent to starting the editor or project with the ``--quiet`` command line argument. See also :ref:`application/run/disable_stderr<class_ProjectSettings_property_application/run/disable_stderr>`.
+
+Changes to this setting will only be applied upon restarting the application.
 
 
 ----
 ----
 
 
@@ -3650,7 +3654,7 @@ The default angular damp in 2D.
 | *Default* | ``98`` |
 | *Default* | ``98`` |
 +-----------+--------+
 +-----------+--------+
 
 
-The default gravity strength in 2D.
+The default gravity strength in 2D (in pixels per second squared).
 
 
 **Note:** This property is only read when the project starts. To change the default gravity at runtime, use the following code sample:
 **Note:** This property is only read when the project starts. To change the default gravity at runtime, use the following code sample:
 
 
@@ -3804,7 +3808,7 @@ The default angular damp in 3D.
 | *Default* | ``9.8`` |
 | *Default* | ``9.8`` |
 +-----------+---------+
 +-----------+---------+
 
 
-The default gravity strength in 3D.
+The default gravity strength in 3D (in meters per second squared).
 
 
 **Note:** This property is only read when the project starts. To change the default gravity at runtime, use the following code sample:
 **Note:** This property is only read when the project starts. To change the default gravity at runtime, use the following code sample:
 
 
@@ -3926,7 +3930,9 @@ The number of fixed iterations per second. This controls how often physics simul
 | *Default* | ``0.5`` |
 | *Default* | ``0.5`` |
 +-----------+---------+
 +-----------+---------+
 
 
-Fix to improve physics jitter, specially on monitors where refresh rate is different than the physics FPS.
+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 fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
+
+**Note:** For best results, when using a custom physics interpolation solution, the physics jitter fix should be disabled by setting :ref:`physics/common/physics_jitter_fix<class_ProjectSettings_property_physics/common/physics_jitter_fix>` to ``0``.
 
 
 **Note:** This property is only read when the project starts. To change the physics FPS at runtime, set :ref:`Engine.physics_jitter_fix<class_Engine_property_physics_jitter_fix>` instead.
 **Note:** This property is only read when the project starts. To change the physics FPS at runtime, set :ref:`Engine.physics_jitter_fix<class_Engine_property_physics_jitter_fix>` instead.
 
 
@@ -4556,6 +4562,8 @@ If ``true``, uses a fast post-processing filter to make banding significantly le
 
 
 **Note:** Only available on the GLES3 backend. :ref:`rendering/quality/depth/hdr<class_ProjectSettings_property_rendering/quality/depth/hdr>` must also be ``true`` for debanding to be effective.
 **Note:** Only available on the GLES3 backend. :ref:`rendering/quality/depth/hdr<class_ProjectSettings_property_rendering/quality/depth/hdr>` must also be ``true`` for debanding to be effective.
 
 
+**Note:** There are known issues with debanding breaking rendering on mobile platforms. Due to this, it is recommended to leave this option disabled when targeting mobile platforms.
+
 ----
 ----
 
 
 .. _class_ProjectSettings_property_rendering/quality/filters/use_fxaa:
 .. _class_ProjectSettings_property_rendering/quality/filters/use_fxaa:
@@ -5038,6 +5046,8 @@ Thread model for rendering. Rendering on a thread can vastly improve performance
 
 
 If ``true``, the texture importer will import VRAM-compressed textures using the BPTC algorithm. This texture compression algorithm is only supported on desktop platforms, and only when using the GLES3 renderer.
 If ``true``, the texture importer will import VRAM-compressed textures using the BPTC algorithm. This texture compression algorithm is only supported on desktop platforms, and only when using the GLES3 renderer.
 
 
+**Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.import/`` folder located inside the project folder then restart the editor.
+
 ----
 ----
 
 
 .. _class_ProjectSettings_property_rendering/vram_compression/import_etc:
 .. _class_ProjectSettings_property_rendering/vram_compression/import_etc:
@@ -5050,6 +5060,8 @@ If ``true``, the texture importer will import VRAM-compressed textures using the
 
 
 If ``true``, the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression algorithm. This algorithm doesn't support alpha channels in textures.
 If ``true``, the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression algorithm. This algorithm doesn't support alpha channels in textures.
 
 
+**Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.import/`` folder located inside the project folder then restart the editor.
+
 ----
 ----
 
 
 .. _class_ProjectSettings_property_rendering/vram_compression/import_etc2:
 .. _class_ProjectSettings_property_rendering/vram_compression/import_etc2:
@@ -5062,6 +5074,8 @@ If ``true``, the texture importer will import VRAM-compressed textures using the
 
 
 If ``true``, the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression 2 algorithm. This texture compression algorithm is only supported when using the GLES3 renderer.
 If ``true``, the texture importer will import VRAM-compressed textures using the Ericsson Texture Compression 2 algorithm. This texture compression algorithm is only supported when using the GLES3 renderer.
 
 
+**Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.import/`` folder located inside the project folder then restart the editor.
+
 ----
 ----
 
 
 .. _class_ProjectSettings_property_rendering/vram_compression/import_pvrtc:
 .. _class_ProjectSettings_property_rendering/vram_compression/import_pvrtc:
@@ -5074,6 +5088,8 @@ If ``true``, the texture importer will import VRAM-compressed textures using the
 
 
 If ``true``, the texture importer will import VRAM-compressed textures using the PowerVR Texture Compression algorithm. This texture compression algorithm is only supported on iOS.
 If ``true``, the texture importer will import VRAM-compressed textures using the PowerVR Texture Compression algorithm. This texture compression algorithm is only supported on iOS.
 
 
+**Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.import/`` folder located inside the project folder then restart the editor.
+
 ----
 ----
 
 
 .. _class_ProjectSettings_property_rendering/vram_compression/import_s3tc:
 .. _class_ProjectSettings_property_rendering/vram_compression/import_s3tc:
@@ -5086,6 +5102,8 @@ If ``true``, the texture importer will import VRAM-compressed textures using the
 
 
 If ``true``, the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm. This algorithm is only supported on desktop platforms and consoles.
 If ``true``, the texture importer will import VRAM-compressed textures using the S3 Texture Compression algorithm. This algorithm is only supported on desktop platforms and consoles.
 
 
+**Note:** Changing this setting does *not* impact textures that were already imported before. To make this setting apply to textures that were already imported, exit the editor, remove the ``.import/`` folder located inside the project folder then restart the editor.
+
 ----
 ----
 
 
 .. _class_ProjectSettings_property_world/2d/cell_size:
 .. _class_ProjectSettings_property_world/2d/cell_size:

+ 2 - 0
classes/class_scenetree.rst

@@ -652,6 +652,8 @@ Queues the given object for deletion, delaying the call to :ref:`Object.free<cla
 
 
 Quits the application at the end of the current iteration. A process ``exit_code`` can optionally be passed as an argument. If this argument is ``0`` or greater, it will override the :ref:`OS.exit_code<class_OS_property_exit_code>` defined before quitting the application.
 Quits the application at the end of the current iteration. A process ``exit_code`` can optionally be passed as an argument. If this argument is ``0`` or greater, it will override the :ref:`OS.exit_code<class_OS_property_exit_code>` defined before quitting the application.
 
 
+**Note:** On iOS this method doesn't work. Instead, as recommended by the iOS Human Interface Guidelines, the user is expected to close apps via the Home button.
+
 ----
 ----
 
 
 .. _class_SceneTree_method_reload_current_scene:
 .. _class_SceneTree_method_reload_current_scene:

+ 2 - 0
classes/class_tree.rst

@@ -678,6 +678,8 @@ To tell whether a column of an item is selected, use :ref:`TreeItem.is_selected<
 
 
 - void **scroll_to_item** **(** :ref:`Object<class_Object>` item **)**
 - void **scroll_to_item** **(** :ref:`Object<class_Object>` item **)**
 
 
+Causes the ``Tree`` to jump to the specified item.
+
 ----
 ----
 
 
 .. _class_Tree_method_set_column_expand:
 .. _class_Tree_method_set_column_expand: