Browse Source

Sync classref with current source

Rémi Verschelde 6 years ago
parent
commit
c9d19a883d
49 changed files with 1058 additions and 406 deletions
  1. 12 0
      classes/[email protected]
  2. 0 4
      classes/[email protected]
  3. 0 14
      classes/class_animationnodeanimation.rst
  4. 1 1
      classes/class_animationplayer.rst
  5. 1 1
      classes/class_animationtreeplayer.rst
  6. 2 2
      classes/class_audioeffectreverb.rst
  7. 53 5
      classes/class_canvasitemmaterial.rst
  8. 2 0
      classes/class_configfile.rst
  9. 1 13
      classes/class_cpuparticles.rst
  10. 1 13
      classes/class_cpuparticles2d.rst
  11. 21 7
      classes/class_csgshape.rst
  12. 29 21
      classes/class_dictionary.rst
  13. 4 0
      classes/class_editorinspector.rst
  14. 3 3
      classes/class_editorplugin.rst
  15. 12 0
      classes/class_environment.rst
  16. 34 1
      classes/class_expression.rst
  17. 9 1
      classes/class_file.rst
  18. 426 134
      classes/class_generic6dofjoint.rst
  19. 1 1
      classes/class_gradient.rst
  20. 4 2
      classes/class_input.rst
  21. 12 0
      classes/class_itemlist.rst
  22. 23 23
      classes/class_kinematicbody.rst
  23. 25 25
      classes/class_kinematicbody2d.rst
  24. 1 1
      classes/class_label.rst
  25. 3 3
      classes/class_meshdatatool.rst
  26. 6 0
      classes/class_object.rst
  27. 8 0
      classes/class_os.rst
  28. 2 2
      classes/class_packedscene.rst
  29. 0 28
      classes/class_particles2d.rst
  30. 1 15
      classes/class_particlesmaterial.rst
  31. 2 0
      classes/class_phashtranslation.rst
  32. 19 13
      classes/class_physics2ddirectspacestate.rst
  33. 24 0
      classes/class_physics2dserver.rst
  34. 21 13
      classes/class_physicsbody.rst
  35. 21 13
      classes/class_physicsbody2d.rst
  36. 11 11
      classes/class_physicsserver.rst
  37. 48 0
      classes/class_projectsettings.rst
  38. 78 0
      classes/class_randomnumbergenerator.rst
  39. 0 0
      classes/class_reference.rst
  40. 3 1
      classes/class_richtextlabel.rst
  41. 25 17
      classes/class_softbody.rst
  42. 26 2
      classes/class_spatialmaterial.rst
  43. 15 4
      classes/class_translation.rst
  44. 27 1
      classes/class_translationserver.rst
  45. 2 0
      classes/class_tree.rst
  46. 1 1
      classes/class_tween.rst
  47. 4 2
      classes/class_undoredo.rst
  48. 24 0
      classes/class_viewport.rst
  49. 10 8
      classes/class_visualserver.rst

+ 12 - 0
classes/[email protected]

@@ -126,6 +126,10 @@ Methods
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                       | :ref:`printt<class_@GDScript_printt>` **(** **)** vararg                                                                                                                                                                        |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                       | :ref:`push_error<class_@GDScript_push_error>` **(** :ref:`String<class_String>` message **)**                                                                                                                                   |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                       | :ref:`push_warning<class_@GDScript_push_warning>` **(** :ref:`String<class_String>` message **)**                                                                                                                               |
++------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                  | :ref:`rad2deg<class_@GDScript_rad2deg>` **(** :ref:`float<class_float>` rad **)**                                                                                                                                               |
 +------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                  | :ref:`rand_range<class_@GDScript_rand_range>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)**                                                                                                          |
@@ -806,6 +810,14 @@ Prints one or more arguments to the console with a tab between each argument.
 
     printt("A", "B", "C") # prints A       B       C
 
+.. _class_@GDScript_push_error:
+
+- void **push_error** **(** :ref:`String<class_String>` message **)**
+
+.. _class_@GDScript_push_warning:
+
+- void **push_warning** **(** :ref:`String<class_String>` message **)**
+
 .. _class_@GDScript_rad2deg:
 
 - :ref:`float<class_float>` **rad2deg** **(** :ref:`float<class_float>` rad **)**

+ 0 - 4
classes/[email protected]

@@ -172,10 +172,6 @@ enum **PropertyUsageFlags**:
 
 - **PROPERTY_USAGE_CATEGORY** = **256**
 
-- **PROPERTY_USAGE_STORE_IF_NONZERO** = **512**
-
-- **PROPERTY_USAGE_STORE_IF_NONONE** = **1024**
-
 - **PROPERTY_USAGE_NO_INSTANCE_STATE** = **2048**
 
 - **PROPERTY_USAGE_RESTART_IF_CHANGED** = **4096**

+ 0 - 14
classes/class_animationnodeanimation.rst

@@ -23,13 +23,6 @@ Properties
 | :ref:`String<class_String>` | :ref:`animation<class_AnimationNodeAnimation_animation>` |
 +-----------------------------+----------------------------------------------------------+
 
-Methods
--------
-
-+----------------------------+--------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`  | :ref:`get_playback_time<class_AnimationNodeAnimation_get_playback_time>` **(** **)** const |
-+----------------------------+--------------------------------------------------------------------------------------------+
-
 Property Descriptions
 ---------------------
 
@@ -43,10 +36,3 @@ Property Descriptions
 | *Getter* | get_animation()      |
 +----------+----------------------+
 
-Method Descriptions
--------------------
-
-.. _class_AnimationNodeAnimation_get_playback_time:
-
-- :ref:`float<class_float>` **get_playback_time** **(** **)** const
-

+ 1 - 1
classes/class_animationplayer.rst

@@ -231,7 +231,7 @@ The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 p
 | *Getter* | get_animation_process_mode()      |
 +----------+-----------------------------------+
 
-The process notification in which to update animations. Default value: :ref:`ANIMATION_PROCESS_IDLE<enum_@GlobalScope_ANIMATION_PROCESS_IDLE>`.
+The process notification in which to update animations. Default value: ``ANIMATION_PROCESS_IDLE``.
 
 .. _class_AnimationPlayer_playback_speed:
 

+ 1 - 1
classes/class_animationtreeplayer.rst

@@ -243,7 +243,7 @@ Once set, Animation nodes can be added to the AnimationTreePlayer.
 | *Getter* | get_animation_process_mode()      |
 +----------+-----------------------------------+
 
-The thread in which to update animations. Default value: :ref:`ANIMATION_PROCESS_IDLE<enum_@GlobalScope_ANIMATION_PROCESS_IDLE>`.
+The thread in which to update animations. Default value: ``ANIMATION_PROCESS_IDLE``.
 
 Method Descriptions
 -------------------

+ 2 - 2
classes/class_audioeffectreverb.rst

@@ -57,7 +57,7 @@ Property Descriptions
 | *Getter* | get_damping()      |
 +----------+--------------------+
 
-Widens or narrows the stereo image of the reverb tail. 1 means fully widens. Value can range from 0 to 1. Default value: ``1``.
+Defines how reflective the imaginary room's walls are. Value can range from 0 to 1. Default value: ``1``.
 
 .. _class_AudioEffectReverb_dry:
 
@@ -129,7 +129,7 @@ Dimensions of simulated room. Bigger means more echoes. Value can range from 0 t
 | *Getter* | get_spread()      |
 +----------+-------------------+
 
-Defines how reflective the imaginary room's walls are. Value can range from 0 to 1. Default value: ``1``.
+Widens or narrows the stereo image of the reverb tail. 1 means fully widens. Value can range from 0 to 1. Default value: ``1``.
 
 .. _class_AudioEffectReverb_wet:
 

+ 53 - 5
classes/class_canvasitemmaterial.rst

@@ -19,11 +19,19 @@ A material for :ref:`CanvasItem<class_CanvasItem>`\ s.
 Properties
 ----------
 
-+-----------------------------------------------------+--------------------------------------------------------+
-| :ref:`BlendMode<enum_CanvasItemMaterial_BlendMode>` | :ref:`blend_mode<class_CanvasItemMaterial_blend_mode>` |
-+-----------------------------------------------------+--------------------------------------------------------+
-| :ref:`LightMode<enum_CanvasItemMaterial_LightMode>` | :ref:`light_mode<class_CanvasItemMaterial_light_mode>` |
-+-----------------------------------------------------+--------------------------------------------------------+
++-----------------------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`BlendMode<enum_CanvasItemMaterial_BlendMode>` | :ref:`blend_mode<class_CanvasItemMaterial_blend_mode>`                           |
++-----------------------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`LightMode<enum_CanvasItemMaterial_LightMode>` | :ref:`light_mode<class_CanvasItemMaterial_light_mode>`                           |
++-----------------------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`particles_anim_h_frames<class_CanvasItemMaterial_particles_anim_h_frames>` |
++-----------------------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`particles_anim_loop<class_CanvasItemMaterial_particles_anim_loop>`         |
++-----------------------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                               | :ref:`particles_anim_v_frames<class_CanvasItemMaterial_particles_anim_v_frames>` |
++-----------------------------------------------------+----------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                             | :ref:`particles_animation<class_CanvasItemMaterial_particles_animation>`         |
++-----------------------------------------------------+----------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -84,3 +92,43 @@ The manner in which a material's rendering is applied to underlying textures.
 
 The manner in which material reacts to lighting.
 
+.. _class_CanvasItemMaterial_particles_anim_h_frames:
+
+- :ref:`int<class_int>` **particles_anim_h_frames**
+
++----------+------------------------------------+
+| *Setter* | set_particles_anim_h_frames(value) |
++----------+------------------------------------+
+| *Getter* | get_particles_anim_h_frames()      |
++----------+------------------------------------+
+
+.. _class_CanvasItemMaterial_particles_anim_loop:
+
+- :ref:`bool<class_bool>` **particles_anim_loop**
+
++----------+--------------------------------+
+| *Setter* | set_particles_anim_loop(value) |
++----------+--------------------------------+
+| *Getter* | get_particles_anim_loop()      |
++----------+--------------------------------+
+
+.. _class_CanvasItemMaterial_particles_anim_v_frames:
+
+- :ref:`int<class_int>` **particles_anim_v_frames**
+
++----------+------------------------------------+
+| *Setter* | set_particles_anim_v_frames(value) |
++----------+------------------------------------+
+| *Getter* | get_particles_anim_v_frames()      |
++----------+------------------------------------+
+
+.. _class_CanvasItemMaterial_particles_animation:
+
+- :ref:`bool<class_bool>` **particles_animation**
+
++----------+--------------------------------+
+| *Setter* | set_particles_animation(value) |
++----------+--------------------------------+
+| *Getter* | get_particles_animation()      |
++----------+--------------------------------+
+

+ 2 - 0
classes/class_configfile.rst

@@ -68,6 +68,8 @@ The following example shows how to parse an INI-style file from the system, read
         # Save the changes by overwriting the previous file
         config.save("user://settings.cfg")
 
+Keep in mind that section and property names can't contain spaces. Anything after a space will be ignored on save and on load.
+
 Method Descriptions
 -------------------
 

+ 1 - 13
classes/class_cpuparticles.rst

@@ -34,8 +34,6 @@ Properties
 +-------------------------------------------------------+----------------------------------------------------------------------------+
 | :ref:`float<class_float>`                             | :ref:`angular_velocity_random<class_CPUParticles_angular_velocity_random>` |
 +-------------------------------------------------------+----------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                               | :ref:`anim_loop<class_CPUParticles_anim_loop>`                             |
-+-------------------------------------------------------+----------------------------------------------------------------------------+
 | :ref:`float<class_float>`                             | :ref:`anim_offset<class_CPUParticles_anim_offset>`                         |
 +-------------------------------------------------------+----------------------------------------------------------------------------+
 | :ref:`Curve<class_Curve>`                             | :ref:`anim_offset_curve<class_CPUParticles_anim_offset_curve>`             |
@@ -161,7 +159,7 @@ enum **Flags**:
 
 - **FLAG_ROTATE_Y** = **1**
 
-- **FLAG_MAX** = **4**
+- **FLAG_MAX** = **3**
 
 .. _enum_CPUParticles_Parameter:
 
@@ -288,16 +286,6 @@ Property Descriptions
 | *Getter* | get_param_randomness()      |
 +----------+-----------------------------+
 
-.. _class_CPUParticles_anim_loop:
-
-- :ref:`bool<class_bool>` **anim_loop**
-
-+----------+--------------------------+
-| *Setter* | set_particle_flag(value) |
-+----------+--------------------------+
-| *Getter* | get_particle_flag()      |
-+----------+--------------------------+
-
 .. _class_CPUParticles_anim_offset:
 
 - :ref:`float<class_float>` **anim_offset**

+ 1 - 13
classes/class_cpuparticles2d.rst

@@ -34,8 +34,6 @@ Properties
 +---------------------------------------------------------+------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                               | :ref:`angular_velocity_random<class_CPUParticles2D_angular_velocity_random>` |
 +---------------------------------------------------------+------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                 | :ref:`anim_loop<class_CPUParticles2D_anim_loop>`                             |
-+---------------------------------------------------------+------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                               | :ref:`anim_offset<class_CPUParticles2D_anim_offset>`                         |
 +---------------------------------------------------------+------------------------------------------------------------------------------+
 | :ref:`Curve<class_Curve>`                               | :ref:`anim_offset_curve<class_CPUParticles2D_anim_offset_curve>`             |
@@ -157,7 +155,7 @@ enum **Flags**:
 
 - **FLAG_ALIGN_Y_TO_VELOCITY** = **0**
 
-- **FLAG_MAX** = **2**
+- **FLAG_MAX** = **1**
 
 .. _enum_CPUParticles2D_Parameter:
 
@@ -284,16 +282,6 @@ Property Descriptions
 | *Getter* | get_param_randomness()      |
 +----------+-----------------------------+
 
-.. _class_CPUParticles2D_anim_loop:
-
-- :ref:`bool<class_bool>` **anim_loop**
-
-+----------+--------------------------+
-| *Setter* | set_particle_flag(value) |
-+----------+--------------------------+
-| *Getter* | get_particle_flag()      |
-+----------+--------------------------+
-
 .. _class_CPUParticles2D_anim_offset:
 
 - :ref:`float<class_float>` **anim_offset**

+ 21 - 7
classes/class_csgshape.rst

@@ -21,13 +21,15 @@ The CSG base class.
 Properties
 ----------
 
-+-------------------------------------------+----------------------------------------------------+
-| :ref:`Operation<enum_CSGShape_Operation>` | :ref:`operation<class_CSGShape_operation>`         |
-+-------------------------------------------+----------------------------------------------------+
-| :ref:`float<class_float>`                 | :ref:`snap<class_CSGShape_snap>`                   |
-+-------------------------------------------+----------------------------------------------------+
-| :ref:`bool<class_bool>`                   | :ref:`use_collision<class_CSGShape_use_collision>` |
-+-------------------------------------------+----------------------------------------------------+
++-------------------------------------------+--------------------------------------------------------------+
+| :ref:`bool<class_bool>`                   | :ref:`calculate_tangents<class_CSGShape_calculate_tangents>` |
++-------------------------------------------+--------------------------------------------------------------+
+| :ref:`Operation<enum_CSGShape_Operation>` | :ref:`operation<class_CSGShape_operation>`                   |
++-------------------------------------------+--------------------------------------------------------------+
+| :ref:`float<class_float>`                 | :ref:`snap<class_CSGShape_snap>`                             |
++-------------------------------------------+--------------------------------------------------------------+
+| :ref:`bool<class_bool>`                   | :ref:`use_collision<class_CSGShape_use_collision>`           |
++-------------------------------------------+--------------------------------------------------------------+
 
 Methods
 -------
@@ -57,6 +59,18 @@ This is the CSG base class that provides CSG operation support to the various CS
 Property Descriptions
 ---------------------
 
+.. _class_CSGShape_calculate_tangents:
+
+- :ref:`bool<class_bool>` **calculate_tangents**
+
++----------+-------------------------------+
+| *Setter* | set_calculate_tangents(value) |
++----------+-------------------------------+
+| *Getter* | is_calculating_tangents()     |
++----------+-------------------------------+
+
+Calculate tangents for the CSG shape which allows the use of normal maps. This is only applied on the root shape, this setting is ignored on any child.
+
 .. _class_CSGShape_operation:
 
 - :ref:`Operation<enum_CSGShape_Operation>` **operation**

+ 29 - 21
classes/class_dictionary.rst

@@ -17,27 +17,29 @@ Dictionary type.
 Methods
 -------
 
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| void                                 | :ref:`clear<class_Dictionary_clear>` **(** **)**                                            |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`  | :ref:`duplicate<class_Dictionary_duplicate>` **(** :ref:`bool<class_bool>` deep=False **)** |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`              | :ref:`empty<class_Dictionary_empty>` **(** **)**                                            |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`              | :ref:`erase<class_Dictionary_erase>` **(** :ref:`Variant<class_Variant>` key **)**          |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`              | :ref:`has<class_Dictionary_has>` **(** :ref:`Variant<class_Variant>` key **)**              |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`              | :ref:`has_all<class_Dictionary_has_all>` **(** :ref:`Array<class_Array>` keys **)**         |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                | :ref:`hash<class_Dictionary_hash>` **(** **)**                                              |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`            | :ref:`keys<class_Dictionary_keys>` **(** **)**                                              |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                | :ref:`size<class_Dictionary_size>` **(** **)**                                              |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`            | :ref:`values<class_Dictionary_values>` **(** **)**                                          |
-+--------------------------------------+---------------------------------------------------------------------------------------------+
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| void                                 | :ref:`clear<class_Dictionary_clear>` **(** **)**                                                                           |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`  | :ref:`duplicate<class_Dictionary_duplicate>` **(** :ref:`bool<class_bool>` deep=False **)**                                |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`empty<class_Dictionary_empty>` **(** **)**                                                                           |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`erase<class_Dictionary_erase>` **(** :ref:`Variant<class_Variant>` key **)**                                         |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_Variant>`        | :ref:`get<class_Dictionary_get>` **(** :ref:`Variant<class_Variant>` key, :ref:`Variant<class_Variant>` default=Null **)** |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`has<class_Dictionary_has>` **(** :ref:`Variant<class_Variant>` key **)**                                             |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`has_all<class_Dictionary_has_all>` **(** :ref:`Array<class_Array>` keys **)**                                        |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`hash<class_Dictionary_hash>` **(** **)**                                                                             |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`            | :ref:`keys<class_Dictionary_keys>` **(** **)**                                                                             |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                | :ref:`size<class_Dictionary_size>` **(** **)**                                                                             |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`            | :ref:`values<class_Dictionary_values>` **(** **)**                                                                         |
++--------------------------------------+----------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -71,6 +73,12 @@ Return true if the dictionary is empty.
 
 Erase a dictionary key/value pair by key.
 
+.. _class_Dictionary_get:
+
+- :ref:`Variant<class_Variant>` **get** **(** :ref:`Variant<class_Variant>` key, :ref:`Variant<class_Variant>` default=Null **)**
+
+Returns the current value for the specified key in the ``Dictionary``. If the key does not exist, the method returns the value of the optional default argument, or Null if it is omitted.
+
 .. _class_Dictionary_has:
 
 - :ref:`bool<class_bool>` **has** **(** :ref:`Variant<class_Variant>` key **)**

+ 4 - 0
classes/class_editorinspector.rst

@@ -42,6 +42,10 @@ Signals
 
 - **property_selected** **(** :ref:`String<class_String>` property **)**
 
+.. _class_EditorInspector_property_toggled:
+
+- **property_toggled** **(** :ref:`String<class_String>` property, :ref:`bool<class_bool>` checked **)**
+
 .. _class_EditorInspector_resource_selected:
 
 - **resource_selected** **(** :ref:`Object<class_Object>` res, :ref:`String<class_String>` prop **)**

+ 3 - 3
classes/class_editorplugin.rst

@@ -126,7 +126,7 @@ Signals
 
 - **main_screen_changed** **(** :ref:`String<class_String>` screen_name **)**
 
-Emitted when user change the workspace (2D, 3D, Script, AssetLib). Also works with custom screens defined by plugins.
+Emitted when user changes the workspace (2D, 3D, Script, AssetLib). Also works with custom screens defined by plugins.
 
 .. _class_EditorPlugin_resource_saved:
 
@@ -136,13 +136,13 @@ Emitted when user change the workspace (2D, 3D, Script, AssetLib). Also works wi
 
 - **scene_changed** **(** :ref:`Node<class_Node>` scene_root **)**
 
-Emitted when user change scene. The argument is a root node of freshly opened scene.
+Emitted when the scene is changed in the editor. The argument will return the root node of the scene that has just become active. If this scene is new and empty, the argument will be null.
 
 .. _class_EditorPlugin_scene_closed:
 
 - **scene_closed** **(** :ref:`String<class_String>` filepath **)**
 
-Emitted when user close scene. The argument is file path to a closed scene.
+Emitted when user closes a scene. The argument is file path to a closed scene.
 
 Enumerations
 ------------

+ 12 - 0
classes/class_environment.rst

@@ -86,6 +86,8 @@ Properties
 +--------------------------------------------------------+-----------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                | :ref:`fog_depth_enabled<class_Environment_fog_depth_enabled>`                           |
 +--------------------------------------------------------+-----------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                              | :ref:`fog_depth_end<class_Environment_fog_depth_end>`                                   |
++--------------------------------------------------------+-----------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                | :ref:`fog_enabled<class_Environment_fog_enabled>`                                       |
 +--------------------------------------------------------+-----------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                              | :ref:`fog_height_curve<class_Environment_fog_height_curve>`                             |
@@ -677,6 +679,16 @@ Value defining the fog depth intensity.
 
 Enables the fog depth.
 
+.. _class_Environment_fog_depth_end:
+
+- :ref:`float<class_float>` **fog_depth_end**
+
++----------+--------------------------+
+| *Setter* | set_fog_depth_end(value) |
++----------+--------------------------+
+| *Getter* | get_fog_depth_end()      |
++----------+--------------------------+
+
 .. _class_Environment_fog_enabled:
 
 - :ref:`bool<class_bool>` **fog_enabled**

+ 34 - 1
classes/class_expression.rst

@@ -14,7 +14,7 @@ Expression
 Brief Description
 -----------------
 
-
+A class that stores an expression you can execute.
 
 Methods
 -------
@@ -29,6 +29,31 @@ Methods
 | :ref:`Error<enum_@GlobalScope_Error>`  | :ref:`parse<class_Expression_parse>` **(** :ref:`String<class_String>` expression, :ref:`PoolStringArray<class_PoolStringArray>` input_names=PoolStringArray(  ) **)**              |
 +----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+An expression can be made of any arithmetic operation, built-in math function call, method call of a passed instance, or built-in type construction call.
+
+An example expression text using the built-in math functions could be ``sqrt(pow(3,2) + pow(4,2))``.
+
+In the following example we use a :ref:`LineEdit<class_LineEdit>` node to write our expression and show the result.
+
+::
+
+    onready var expression = Expression.new()
+    
+    func _ready():
+        $LineEdit.connect("text_entered", self, "_on_text_entered")
+    
+    func _on_text_entered(command):
+        var error = expression.parse(command, [])
+        if error != OK:
+            print(get_error_text())
+            return
+        var result = expression.execute([], null, true)
+        if not expression.has_execute_failed():
+            $LineEdit.text = str(result)
+
 Method Descriptions
 -------------------
 
@@ -36,15 +61,23 @@ Method Descriptions
 
 - :ref:`Variant<class_Variant>` **execute** **(** :ref:`Array<class_Array>` inputs=[  ], :ref:`Object<class_Object>` base_instance=null, :ref:`bool<class_bool>` show_error=true **)**
 
+Executes the expression that was previously parsed by :ref:`parse<class_Expression_parse>` and returns the result. Before you use the returned object, you should check if the method failed by calling :ref:`has_execute_failed<class_Expression_has_execute_failed>`.
+
 .. _class_Expression_get_error_text:
 
 - :ref:`String<class_String>` **get_error_text** **(** **)** const
 
+Returns the error text if :ref:`parse<class_Expression_parse>` has failed.
+
 .. _class_Expression_has_execute_failed:
 
 - :ref:`bool<class_bool>` **has_execute_failed** **(** **)** const
 
+Returns ``true`` if :ref:`execute<class_Expression_execute>` has failed.
+
 .. _class_Expression_parse:
 
 - :ref:`Error<enum_@GlobalScope_Error>` **parse** **(** :ref:`String<class_String>` expression, :ref:`PoolStringArray<class_PoolStringArray>` input_names=PoolStringArray(  ) **)**
 
+Parses the expression and returns a :ref:`Error<enum_@GlobalScope_Error>`.
+

+ 9 - 1
classes/class_file.rst

@@ -99,6 +99,8 @@ Methods
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`store_buffer<class_File_store_buffer>` **(** :ref:`PoolByteArray<class_PoolByteArray>` buffer **)**                                                                             |
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`store_csv_line<class_File_store_csv_line>` **(** :ref:`PoolStringArray<class_PoolStringArray>` values, :ref:`String<class_String>` delim="," **)**                              |
++------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`store_double<class_File_store_double>` **(** :ref:`float<class_float>` value **)**                                                                                              |
 +------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`store_float<class_File_store_float>` **(** :ref:`float<class_float>` value **)**                                                                                                |
@@ -246,7 +248,7 @@ Returns next ``len`` bytes of the file as a :ref:`PoolByteArray<class_PoolByteAr
 
 - :ref:`PoolStringArray<class_PoolStringArray>` **get_csv_line** **(** :ref:`String<class_String>` delim="," **)** const
 
-Returns the next value of the file in CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma).
+Returns the next value of the file in CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma), it should be one character long.
 
 .. _class_File_get_double:
 
@@ -404,6 +406,12 @@ Stores an integer as 8 bits in the file.
 
 Stores the given array of bytes in the file.
 
+.. _class_File_store_csv_line:
+
+- void **store_csv_line** **(** :ref:`PoolStringArray<class_PoolStringArray>` values, :ref:`String<class_String>` delim="," **)**
+
+Store the given :ref:`PoolStringArray<class_PoolStringArray>` in the file as a line formatted in the CSV (Comma Separated Values) format. You can pass a different delimiter to use other than the default "," (comma), it should be one character long.
+
 .. _class_File_store_double:
 
 - void **store_double** **(** :ref:`float<class_float>` value **)**

+ 426 - 134
classes/class_generic6dofjoint.rst

@@ -19,127 +19,175 @@ The generic 6 degrees of freedom joint can implement a variety of joint-types by
 Properties
 ----------
 
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_x/damping<class_Generic6DOFJoint_angular_limit_x/damping>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`angular_limit_x/enabled<class_Generic6DOFJoint_angular_limit_x/enabled>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_x/erp<class_Generic6DOFJoint_angular_limit_x/erp>`                         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_x/force_limit<class_Generic6DOFJoint_angular_limit_x/force_limit>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_x/lower_angle<class_Generic6DOFJoint_angular_limit_x/lower_angle>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_x/restitution<class_Generic6DOFJoint_angular_limit_x/restitution>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_x/softness<class_Generic6DOFJoint_angular_limit_x/softness>`               |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_x/upper_angle<class_Generic6DOFJoint_angular_limit_x/upper_angle>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_y/damping<class_Generic6DOFJoint_angular_limit_y/damping>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`angular_limit_y/enabled<class_Generic6DOFJoint_angular_limit_y/enabled>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_y/erp<class_Generic6DOFJoint_angular_limit_y/erp>`                         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_y/force_limit<class_Generic6DOFJoint_angular_limit_y/force_limit>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_y/lower_angle<class_Generic6DOFJoint_angular_limit_y/lower_angle>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_y/restitution<class_Generic6DOFJoint_angular_limit_y/restitution>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_y/softness<class_Generic6DOFJoint_angular_limit_y/softness>`               |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_y/upper_angle<class_Generic6DOFJoint_angular_limit_y/upper_angle>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_z/damping<class_Generic6DOFJoint_angular_limit_z/damping>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`angular_limit_z/enabled<class_Generic6DOFJoint_angular_limit_z/enabled>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_z/erp<class_Generic6DOFJoint_angular_limit_z/erp>`                         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_z/force_limit<class_Generic6DOFJoint_angular_limit_z/force_limit>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_z/lower_angle<class_Generic6DOFJoint_angular_limit_z/lower_angle>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_z/restitution<class_Generic6DOFJoint_angular_limit_z/restitution>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_z/softness<class_Generic6DOFJoint_angular_limit_z/softness>`               |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_limit_z/upper_angle<class_Generic6DOFJoint_angular_limit_z/upper_angle>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`angular_motor_x/enabled<class_Generic6DOFJoint_angular_motor_x/enabled>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_motor_x/force_limit<class_Generic6DOFJoint_angular_motor_x/force_limit>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_motor_x/target_velocity<class_Generic6DOFJoint_angular_motor_x/target_velocity>` |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`angular_motor_y/enabled<class_Generic6DOFJoint_angular_motor_y/enabled>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_motor_y/force_limit<class_Generic6DOFJoint_angular_motor_y/force_limit>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_motor_y/target_velocity<class_Generic6DOFJoint_angular_motor_y/target_velocity>` |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`angular_motor_z/enabled<class_Generic6DOFJoint_angular_motor_z/enabled>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_motor_z/force_limit<class_Generic6DOFJoint_angular_motor_z/force_limit>`         |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`angular_motor_z/target_velocity<class_Generic6DOFJoint_angular_motor_z/target_velocity>` |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_x/damping<class_Generic6DOFJoint_linear_limit_x/damping>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`linear_limit_x/enabled<class_Generic6DOFJoint_linear_limit_x/enabled>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_x/lower_distance<class_Generic6DOFJoint_linear_limit_x/lower_distance>`     |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_x/restitution<class_Generic6DOFJoint_linear_limit_x/restitution>`           |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_x/softness<class_Generic6DOFJoint_linear_limit_x/softness>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_x/upper_distance<class_Generic6DOFJoint_linear_limit_x/upper_distance>`     |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_y/damping<class_Generic6DOFJoint_linear_limit_y/damping>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`linear_limit_y/enabled<class_Generic6DOFJoint_linear_limit_y/enabled>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_y/lower_distance<class_Generic6DOFJoint_linear_limit_y/lower_distance>`     |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_y/restitution<class_Generic6DOFJoint_linear_limit_y/restitution>`           |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_y/softness<class_Generic6DOFJoint_linear_limit_y/softness>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_y/upper_distance<class_Generic6DOFJoint_linear_limit_y/upper_distance>`     |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_z/damping<class_Generic6DOFJoint_linear_limit_z/damping>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`linear_limit_z/enabled<class_Generic6DOFJoint_linear_limit_z/enabled>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_z/lower_distance<class_Generic6DOFJoint_linear_limit_z/lower_distance>`     |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_z/restitution<class_Generic6DOFJoint_linear_limit_z/restitution>`           |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_z/softness<class_Generic6DOFJoint_linear_limit_z/softness>`                 |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_limit_z/upper_distance<class_Generic6DOFJoint_linear_limit_z/upper_distance>`     |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`linear_motor_x/enabled<class_Generic6DOFJoint_linear_motor_x/enabled>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_motor_x/force_limit<class_Generic6DOFJoint_linear_motor_x/force_limit>`           |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_motor_x/target_velocity<class_Generic6DOFJoint_linear_motor_x/target_velocity>`   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`linear_motor_y/enabled<class_Generic6DOFJoint_linear_motor_y/enabled>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_motor_y/force_limit<class_Generic6DOFJoint_linear_motor_y/force_limit>`           |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_motor_y/target_velocity<class_Generic6DOFJoint_linear_motor_y/target_velocity>`   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`   | :ref:`linear_motor_z/enabled<class_Generic6DOFJoint_linear_motor_z/enabled>`                   |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_motor_z/force_limit<class_Generic6DOFJoint_linear_motor_z/force_limit>`           |
-+---------------------------+------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>` | :ref:`linear_motor_z/target_velocity<class_Generic6DOFJoint_linear_motor_z/target_velocity>`   |
-+---------------------------+------------------------------------------------------------------------------------------------+
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_x/damping<class_Generic6DOFJoint_angular_limit_x/damping>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_limit_x/enabled<class_Generic6DOFJoint_angular_limit_x/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_x/erp<class_Generic6DOFJoint_angular_limit_x/erp>`                               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_x/force_limit<class_Generic6DOFJoint_angular_limit_x/force_limit>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_x/lower_angle<class_Generic6DOFJoint_angular_limit_x/lower_angle>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_x/restitution<class_Generic6DOFJoint_angular_limit_x/restitution>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_x/softness<class_Generic6DOFJoint_angular_limit_x/softness>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_x/upper_angle<class_Generic6DOFJoint_angular_limit_x/upper_angle>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_y/damping<class_Generic6DOFJoint_angular_limit_y/damping>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_limit_y/enabled<class_Generic6DOFJoint_angular_limit_y/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_y/erp<class_Generic6DOFJoint_angular_limit_y/erp>`                               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_y/force_limit<class_Generic6DOFJoint_angular_limit_y/force_limit>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_y/lower_angle<class_Generic6DOFJoint_angular_limit_y/lower_angle>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_y/restitution<class_Generic6DOFJoint_angular_limit_y/restitution>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_y/softness<class_Generic6DOFJoint_angular_limit_y/softness>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_y/upper_angle<class_Generic6DOFJoint_angular_limit_y/upper_angle>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_z/damping<class_Generic6DOFJoint_angular_limit_z/damping>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_limit_z/enabled<class_Generic6DOFJoint_angular_limit_z/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_z/erp<class_Generic6DOFJoint_angular_limit_z/erp>`                               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_z/force_limit<class_Generic6DOFJoint_angular_limit_z/force_limit>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_z/lower_angle<class_Generic6DOFJoint_angular_limit_z/lower_angle>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_z/restitution<class_Generic6DOFJoint_angular_limit_z/restitution>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_z/softness<class_Generic6DOFJoint_angular_limit_z/softness>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_limit_z/upper_angle<class_Generic6DOFJoint_angular_limit_z/upper_angle>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_motor_x/enabled<class_Generic6DOFJoint_angular_motor_x/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_motor_x/force_limit<class_Generic6DOFJoint_angular_motor_x/force_limit>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_motor_x/target_velocity<class_Generic6DOFJoint_angular_motor_x/target_velocity>`       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_motor_y/enabled<class_Generic6DOFJoint_angular_motor_y/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_motor_y/force_limit<class_Generic6DOFJoint_angular_motor_y/force_limit>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_motor_y/target_velocity<class_Generic6DOFJoint_angular_motor_y/target_velocity>`       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_motor_z/enabled<class_Generic6DOFJoint_angular_motor_z/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_motor_z/force_limit<class_Generic6DOFJoint_angular_motor_z/force_limit>`               |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_motor_z/target_velocity<class_Generic6DOFJoint_angular_motor_z/target_velocity>`       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_x/damping<class_Generic6DOFJoint_angular_spring_x/damping>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_spring_x/enabled<class_Generic6DOFJoint_angular_spring_x/enabled>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_x/equilibrium_point<class_Generic6DOFJoint_angular_spring_x/equilibrium_point>` |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_x/stiffness<class_Generic6DOFJoint_angular_spring_x/stiffness>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_y/damping<class_Generic6DOFJoint_angular_spring_y/damping>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_spring_y/enabled<class_Generic6DOFJoint_angular_spring_y/enabled>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_y/equilibrium_point<class_Generic6DOFJoint_angular_spring_y/equilibrium_point>` |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_y/stiffness<class_Generic6DOFJoint_angular_spring_y/stiffness>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_z/damping<class_Generic6DOFJoint_angular_spring_z/damping>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`angular_spring_z/enabled<class_Generic6DOFJoint_angular_spring_z/enabled>`                     |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_z/equilibrium_point<class_Generic6DOFJoint_angular_spring_z/equilibrium_point>` |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`angular_spring_z/stiffness<class_Generic6DOFJoint_angular_spring_z/stiffness>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_x/damping<class_Generic6DOFJoint_linear_limit_x/damping>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_limit_x/enabled<class_Generic6DOFJoint_linear_limit_x/enabled>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_x/lower_distance<class_Generic6DOFJoint_linear_limit_x/lower_distance>`           |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_x/restitution<class_Generic6DOFJoint_linear_limit_x/restitution>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_x/softness<class_Generic6DOFJoint_linear_limit_x/softness>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_x/upper_distance<class_Generic6DOFJoint_linear_limit_x/upper_distance>`           |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_y/damping<class_Generic6DOFJoint_linear_limit_y/damping>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_limit_y/enabled<class_Generic6DOFJoint_linear_limit_y/enabled>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_y/lower_distance<class_Generic6DOFJoint_linear_limit_y/lower_distance>`           |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_y/restitution<class_Generic6DOFJoint_linear_limit_y/restitution>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_y/softness<class_Generic6DOFJoint_linear_limit_y/softness>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_y/upper_distance<class_Generic6DOFJoint_linear_limit_y/upper_distance>`           |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_z/damping<class_Generic6DOFJoint_linear_limit_z/damping>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_limit_z/enabled<class_Generic6DOFJoint_linear_limit_z/enabled>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_z/lower_distance<class_Generic6DOFJoint_linear_limit_z/lower_distance>`           |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_z/restitution<class_Generic6DOFJoint_linear_limit_z/restitution>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_z/softness<class_Generic6DOFJoint_linear_limit_z/softness>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_limit_z/upper_distance<class_Generic6DOFJoint_linear_limit_z/upper_distance>`           |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_motor_x/enabled<class_Generic6DOFJoint_linear_motor_x/enabled>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_motor_x/force_limit<class_Generic6DOFJoint_linear_motor_x/force_limit>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_motor_x/target_velocity<class_Generic6DOFJoint_linear_motor_x/target_velocity>`         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_motor_y/enabled<class_Generic6DOFJoint_linear_motor_y/enabled>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_motor_y/force_limit<class_Generic6DOFJoint_linear_motor_y/force_limit>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_motor_y/target_velocity<class_Generic6DOFJoint_linear_motor_y/target_velocity>`         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_motor_z/enabled<class_Generic6DOFJoint_linear_motor_z/enabled>`                         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_motor_z/force_limit<class_Generic6DOFJoint_linear_motor_z/force_limit>`                 |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_motor_z/target_velocity<class_Generic6DOFJoint_linear_motor_z/target_velocity>`         |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_x/damping<class_Generic6DOFJoint_linear_spring_x/damping>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_spring_x/enabled<class_Generic6DOFJoint_linear_spring_x/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_x/equilibrium_point<class_Generic6DOFJoint_linear_spring_x/equilibrium_point>`   |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_x/stiffness<class_Generic6DOFJoint_linear_spring_x/stiffness>`                   |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_y/damping<class_Generic6DOFJoint_linear_spring_y/damping>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_spring_y/enabled<class_Generic6DOFJoint_linear_spring_y/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_y/equilibrium_point<class_Generic6DOFJoint_linear_spring_y/equilibrium_point>`   |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_y/stiffness<class_Generic6DOFJoint_linear_spring_y/stiffness>`                   |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_z/damping<class_Generic6DOFJoint_linear_spring_z/damping>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`   | :ref:`linear_spring_z/enabled<class_Generic6DOFJoint_linear_spring_z/enabled>`                       |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_z/equilibrium_point<class_Generic6DOFJoint_linear_spring_z/equilibrium_point>`   |
++---------------------------+------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>` | :ref:`linear_spring_z/stiffness<class_Generic6DOFJoint_linear_spring_z/stiffness>`                   |
++---------------------------+------------------------------------------------------------------------------------------------------+
 
 Enumerations
 ------------
@@ -152,11 +200,15 @@ enum **Flag**:
 
 - **FLAG_ENABLE_ANGULAR_LIMIT** = **1** --- If ``set`` there is rotational motion possible.
 
-- **FLAG_ENABLE_MOTOR** = **2** --- If ``set`` there is a rotational motor across these axes.
+- **FLAG_ENABLE_LINEAR_SPRING** = **3**
 
-- **FLAG_ENABLE_LINEAR_MOTOR** = **3**
+- **FLAG_ENABLE_ANGULAR_SPRING** = **2**
 
-- **FLAG_MAX** = **4** --- End flag of FLAG\_\* constants, used internally.
+- **FLAG_ENABLE_MOTOR** = **4** --- If ``set`` there is a rotational motor across these axes.
+
+- **FLAG_ENABLE_LINEAR_MOTOR** = **5**
+
+- **FLAG_MAX** = **6** --- End flag of FLAG\_\* constants, used internally.
 
 .. _enum_Generic6DOFJoint_Param:
 
@@ -176,25 +228,25 @@ enum **Param**:
 
 - **PARAM_LINEAR_MOTOR_FORCE_LIMIT** = **6** --- The maximum force the linear motor will apply while trying to reach the velocity target.
 
-- **PARAM_ANGULAR_LOWER_LIMIT** = **7** --- The minimum rotation in negative direction to break loose and rotate around the axes.
+- **PARAM_ANGULAR_LOWER_LIMIT** = **10** --- The minimum rotation in negative direction to break loose and rotate around the axes.
 
-- **PARAM_ANGULAR_UPPER_LIMIT** = **8** --- The minimum rotation in positive direction to break loose and rotate around the axes.
+- **PARAM_ANGULAR_UPPER_LIMIT** = **11** --- The minimum rotation in positive direction to break loose and rotate around the axes.
 
-- **PARAM_ANGULAR_LIMIT_SOFTNESS** = **9** --- The speed of all rotations across the axes.
+- **PARAM_ANGULAR_LIMIT_SOFTNESS** = **12** --- The speed of all rotations across the axes.
 
-- **PARAM_ANGULAR_DAMPING** = **10** --- The amount of rotational damping across the axes. The lower, the more dampening occurs.
+- **PARAM_ANGULAR_DAMPING** = **13** --- The amount of rotational damping across the axes. The lower, the more dampening occurs.
 
-- **PARAM_ANGULAR_RESTITUTION** = **11** --- The amount of rotational restitution across the axes. The lower, the more restitution occurs.
+- **PARAM_ANGULAR_RESTITUTION** = **14** --- The amount of rotational restitution across the axes. The lower, the more restitution occurs.
 
-- **PARAM_ANGULAR_FORCE_LIMIT** = **12** --- The maximum amount of force that can occur, when rotating around the axes.
+- **PARAM_ANGULAR_FORCE_LIMIT** = **15** --- The maximum amount of force that can occur, when rotating around the axes.
 
-- **PARAM_ANGULAR_ERP** = **13** --- When rotating across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
+- **PARAM_ANGULAR_ERP** = **16** --- When rotating across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
 
-- **PARAM_ANGULAR_MOTOR_TARGET_VELOCITY** = **14** --- Target speed for the motor at the axes.
+- **PARAM_ANGULAR_MOTOR_TARGET_VELOCITY** = **17** --- Target speed for the motor at the axes.
 
-- **PARAM_ANGULAR_MOTOR_FORCE_LIMIT** = **15** --- Maximum acceleration for the motor at the axes.
+- **PARAM_ANGULAR_MOTOR_FORCE_LIMIT** = **18** --- Maximum acceleration for the motor at the axes.
 
-- **PARAM_MAX** = **16** --- End flag of PARAM\_\* constants, used internally.
+- **PARAM_MAX** = **22** --- End flag of PARAM\_\* constants, used internally.
 
 Description
 -----------
@@ -566,6 +618,126 @@ Maximum acceleration for the motor at the z-axis.
 
 Target speed for the motor at the z-axis.
 
+.. _class_Generic6DOFJoint_angular_spring_x/damping:
+
+- :ref:`float<class_float>` **angular_spring_x/damping**
+
++----------+--------------------+
+| *Setter* | set_param_x(value) |
++----------+--------------------+
+| *Getter* | get_param_x()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_x/enabled:
+
+- :ref:`bool<class_bool>` **angular_spring_x/enabled**
+
++----------+-------------------+
+| *Setter* | set_flag_x(value) |
++----------+-------------------+
+| *Getter* | get_flag_x()      |
++----------+-------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_x/equilibrium_point:
+
+- :ref:`float<class_float>` **angular_spring_x/equilibrium_point**
+
++----------+--------------------+
+| *Setter* | set_param_x(value) |
++----------+--------------------+
+| *Getter* | get_param_x()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_x/stiffness:
+
+- :ref:`float<class_float>` **angular_spring_x/stiffness**
+
++----------+--------------------+
+| *Setter* | set_param_x(value) |
++----------+--------------------+
+| *Getter* | get_param_x()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_y/damping:
+
+- :ref:`float<class_float>` **angular_spring_y/damping**
+
++----------+--------------------+
+| *Setter* | set_param_y(value) |
++----------+--------------------+
+| *Getter* | get_param_y()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_y/enabled:
+
+- :ref:`bool<class_bool>` **angular_spring_y/enabled**
+
++----------+-------------------+
+| *Setter* | set_flag_y(value) |
++----------+-------------------+
+| *Getter* | get_flag_y()      |
++----------+-------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_y/equilibrium_point:
+
+- :ref:`float<class_float>` **angular_spring_y/equilibrium_point**
+
++----------+--------------------+
+| *Setter* | set_param_y(value) |
++----------+--------------------+
+| *Getter* | get_param_y()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_y/stiffness:
+
+- :ref:`float<class_float>` **angular_spring_y/stiffness**
+
++----------+--------------------+
+| *Setter* | set_param_y(value) |
++----------+--------------------+
+| *Getter* | get_param_y()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_z/damping:
+
+- :ref:`float<class_float>` **angular_spring_z/damping**
+
++----------+--------------------+
+| *Setter* | set_param_z(value) |
++----------+--------------------+
+| *Getter* | get_param_z()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_z/enabled:
+
+- :ref:`bool<class_bool>` **angular_spring_z/enabled**
+
++----------+-------------------+
+| *Setter* | set_flag_z(value) |
++----------+-------------------+
+| *Getter* | get_flag_z()      |
++----------+-------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_z/equilibrium_point:
+
+- :ref:`float<class_float>` **angular_spring_z/equilibrium_point**
+
++----------+--------------------+
+| *Setter* | set_param_z(value) |
++----------+--------------------+
+| *Getter* | get_param_z()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_angular_spring_z/stiffness:
+
+- :ref:`float<class_float>` **angular_spring_z/stiffness**
+
++----------+--------------------+
+| *Setter* | set_param_z(value) |
++----------+--------------------+
+| *Getter* | get_param_z()      |
++----------+--------------------+
+
 .. _class_Generic6DOFJoint_linear_limit_x/damping:
 
 - :ref:`float<class_float>` **linear_limit_x/damping**
@@ -890,3 +1062,123 @@ The maximum force the linear motor can apply on the z-axis while trying to reach
 
 The speed that the linear motor will attempt to reach on the z-axis.
 
+.. _class_Generic6DOFJoint_linear_spring_x/damping:
+
+- :ref:`float<class_float>` **linear_spring_x/damping**
+
++----------+--------------------+
+| *Setter* | set_param_x(value) |
++----------+--------------------+
+| *Getter* | get_param_x()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_x/enabled:
+
+- :ref:`bool<class_bool>` **linear_spring_x/enabled**
+
++----------+-------------------+
+| *Setter* | set_flag_x(value) |
++----------+-------------------+
+| *Getter* | get_flag_x()      |
++----------+-------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_x/equilibrium_point:
+
+- :ref:`float<class_float>` **linear_spring_x/equilibrium_point**
+
++----------+--------------------+
+| *Setter* | set_param_x(value) |
++----------+--------------------+
+| *Getter* | get_param_x()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_x/stiffness:
+
+- :ref:`float<class_float>` **linear_spring_x/stiffness**
+
++----------+--------------------+
+| *Setter* | set_param_x(value) |
++----------+--------------------+
+| *Getter* | get_param_x()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_y/damping:
+
+- :ref:`float<class_float>` **linear_spring_y/damping**
+
++----------+--------------------+
+| *Setter* | set_param_y(value) |
++----------+--------------------+
+| *Getter* | get_param_y()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_y/enabled:
+
+- :ref:`bool<class_bool>` **linear_spring_y/enabled**
+
++----------+-------------------+
+| *Setter* | set_flag_y(value) |
++----------+-------------------+
+| *Getter* | get_flag_y()      |
++----------+-------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_y/equilibrium_point:
+
+- :ref:`float<class_float>` **linear_spring_y/equilibrium_point**
+
++----------+--------------------+
+| *Setter* | set_param_y(value) |
++----------+--------------------+
+| *Getter* | get_param_y()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_y/stiffness:
+
+- :ref:`float<class_float>` **linear_spring_y/stiffness**
+
++----------+--------------------+
+| *Setter* | set_param_y(value) |
++----------+--------------------+
+| *Getter* | get_param_y()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_z/damping:
+
+- :ref:`float<class_float>` **linear_spring_z/damping**
+
++----------+--------------------+
+| *Setter* | set_param_z(value) |
++----------+--------------------+
+| *Getter* | get_param_z()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_z/enabled:
+
+- :ref:`bool<class_bool>` **linear_spring_z/enabled**
+
++----------+-------------------+
+| *Setter* | set_flag_z(value) |
++----------+-------------------+
+| *Getter* | get_flag_z()      |
++----------+-------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_z/equilibrium_point:
+
+- :ref:`float<class_float>` **linear_spring_z/equilibrium_point**
+
++----------+--------------------+
+| *Setter* | set_param_z(value) |
++----------+--------------------+
+| *Getter* | get_param_z()      |
++----------+--------------------+
+
+.. _class_Generic6DOFJoint_linear_spring_z/stiffness:
+
+- :ref:`float<class_float>` **linear_spring_z/stiffness**
+
++----------+--------------------+
+| *Setter* | set_param_z(value) |
++----------+--------------------+
+| *Getter* | get_param_z()      |
++----------+--------------------+
+

+ 1 - 1
classes/class_gradient.rst

@@ -49,7 +49,7 @@ Methods
 Description
 -----------
 
-Given a set of colors, this node will interpolate them in order, meaning, that if you have color 1, color 2 and color3, the ramp will interpolate (generate the colors between two colors) from color 1 to color 2 and from color 2 to color 3. Initially the ramp will have 2 colors (black and white), one (black) at ramp lower offset offset 0 and the other (white) at the ramp higher offset 1.
+Given a set of colors, this node will interpolate them in order, meaning, that if you have color 1, color 2 and color 3, the ramp will interpolate (generate the colors between two colors) from color 1 to color 2 and from color 2 to color 3. Initially the ramp will have 2 colors (black and white), one (black) at ramp lower offset 0 and the other (white) at the ramp higher offset 1.
 
 Property Descriptions
 ---------------------

+ 4 - 2
classes/class_input.rst

@@ -22,7 +22,7 @@ Methods
 -------
 
 +-----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                    | :ref:`action_press<class_Input_action_press>` **(** :ref:`String<class_String>` action **)**                                                                                                                                     |
+| void                                    | :ref:`action_press<class_Input_action_press>` **(** :ref:`String<class_String>` action, :ref:`float<class_float>` strength=1.0 **)**                                                                                             |
 +-----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                    | :ref:`action_release<class_Input_action_release>` **(** :ref:`String<class_String>` action **)**                                                                                                                                 |
 +-----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -174,10 +174,12 @@ Method Descriptions
 
 .. _class_Input_action_press:
 
-- void **action_press** **(** :ref:`String<class_String>` action **)**
+- void **action_press** **(** :ref:`String<class_String>` action, :ref:`float<class_float>` strength=1.0 **)**
 
 This will simulate pressing the specified action.
 
+The strength can be used for non-boolean actions, it's ranged between 0 and 1 representing the intensity of the given action.
+
 .. _class_Input_action_release:
 
 - void **action_release** **(** :ref:`String<class_String>` action **)**

+ 12 - 0
classes/class_itemlist.rst

@@ -83,6 +83,8 @@ Methods
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_item_disabled<class_ItemList_is_item_disabled>` **(** :ref:`int<class_int>` idx **)** const                                                                    |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                  | :ref:`is_item_icon_transposed<class_ItemList_is_item_icon_transposed>` **(** :ref:`int<class_int>` idx **)** const                                                      |
++------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_item_selectable<class_ItemList_is_item_selectable>` **(** :ref:`int<class_int>` idx **)** const                                                                |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_item_tooltip_enabled<class_ItemList_is_item_tooltip_enabled>` **(** :ref:`int<class_int>` idx **)** const                                                      |
@@ -107,6 +109,8 @@ Methods
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_item_icon_region<class_ItemList_set_item_icon_region>` **(** :ref:`int<class_int>` idx, :ref:`Rect2<class_Rect2>` rect **)**                                  |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`set_item_icon_transposed<class_ItemList_set_item_icon_transposed>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` rect **)**                            |
++------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_item_metadata<class_ItemList_set_item_metadata>` **(** :ref:`int<class_int>` idx, :ref:`Variant<class_Variant>` metadata **)**                                |
 +------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_item_selectable<class_ItemList_set_item_selectable>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` selectable **)**                                |
@@ -448,6 +452,10 @@ Returns ``true`` if one or more items are selected.
 
 Returns whether or not the item at the specified index is disabled
 
+.. _class_ItemList_is_item_icon_transposed:
+
+- :ref:`bool<class_bool>` **is_item_icon_transposed** **(** :ref:`int<class_int>` idx **)** const
+
 .. _class_ItemList_is_item_selectable:
 
 - :ref:`bool<class_bool>` **is_item_selectable** **(** :ref:`int<class_int>` idx **)** const
@@ -518,6 +526,10 @@ Sets a modulating :ref:`Color<class_Color>` for item's icon at the specified ind
 
 - void **set_item_icon_region** **(** :ref:`int<class_int>` idx, :ref:`Rect2<class_Rect2>` rect **)**
 
+.. _class_ItemList_set_item_icon_transposed:
+
+- void **set_item_icon_transposed** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` rect **)**
+
 .. _class_ItemList_set_item_metadata:
 
 - void **set_item_metadata** **(** :ref:`int<class_int>` idx, :ref:`Variant<class_Variant>` metadata **)**

+ 23 - 23
classes/class_kinematicbody.rst

@@ -32,27 +32,27 @@ Properties
 Methods
 -------
 
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`                        | :ref:`get_floor_velocity<class_KinematicBody_get_floor_velocity>` **(** **)** const                                                                                                                                                                                                                                                                                                                                             |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`KinematicCollision<class_KinematicCollision>`  | :ref:`get_slide_collision<class_KinematicBody_get_slide_collision>` **(** :ref:`int<class_int>` slide_idx **)**                                                                                                                                                                                                                                                                                                                 |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                | :ref:`get_slide_count<class_KinematicBody_get_slide_count>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                   |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`is_on_ceiling<class_KinematicBody_is_on_ceiling>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                       |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`is_on_floor<class_KinematicBody_is_on_floor>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                           |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`is_on_wall<class_KinematicBody_is_on_wall>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                             |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`KinematicCollision<class_KinematicCollision>`  | :ref:`move_and_collide<class_KinematicBody_move_and_collide>` **(** :ref:`Vector3<class_Vector3>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` test_only=false **)**                                                                                                                                                                                                                         |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`                        | :ref:`move_and_slide<class_KinematicBody_move_and_slide>` **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                          |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_Vector3>`                        | :ref:`move_and_slide_with_snap<class_KinematicBody_move_and_slide_with_snap>` **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` snap, :ref:`Vector3<class_Vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)** |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                              | :ref:`test_move<class_KinematicBody_test_move>` **(** :ref:`Transform<class_Transform>` from, :ref:`Vector3<class_Vector3>` rel_vec, :ref:`bool<class_bool>` infinite_inertia **)**                                                                                                                                                                                                                                             |
-+------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                        | :ref:`get_floor_velocity<class_KinematicBody_get_floor_velocity>` **(** **)** const                                                                                                                                                                                                                                                                                                                                            |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`KinematicCollision<class_KinematicCollision>`  | :ref:`get_slide_collision<class_KinematicBody_get_slide_collision>` **(** :ref:`int<class_int>` slide_idx **)**                                                                                                                                                                                                                                                                                                                |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                | :ref:`get_slide_count<class_KinematicBody_get_slide_count>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                  |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`is_on_ceiling<class_KinematicBody_is_on_ceiling>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                      |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`is_on_floor<class_KinematicBody_is_on_floor>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                          |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`is_on_wall<class_KinematicBody_is_on_wall>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                            |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`KinematicCollision<class_KinematicCollision>`  | :ref:`move_and_collide<class_KinematicBody_move_and_collide>` **(** :ref:`Vector3<class_Vector3>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` test_only=false **)**                                                                                                                                                                                                                        |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                        | :ref:`move_and_slide<class_KinematicBody_move_and_slide>` **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                         |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_Vector3>`                        | :ref:`move_and_slide_with_snap<class_KinematicBody_move_and_slide_with_snap>` **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` snap, :ref:`Vector3<class_Vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)** |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                              | :ref:`test_move<class_KinematicBody_test_move>` **(** :ref:`Transform<class_Transform>` from, :ref:`Vector3<class_Vector3>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                                                                                                                                                                                                       |
++------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -180,7 +180,7 @@ Returns the movement that remained when the body stopped. To get more detailed i
 
 .. _class_KinematicBody_move_and_slide_with_snap:
 
-- :ref:`Vector3<class_Vector3>` **move_and_slide_with_snap** **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` snap, :ref:`Vector3<class_Vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)**
+- :ref:`Vector3<class_Vector3>` **move_and_slide_with_snap** **(** :ref:`Vector3<class_Vector3>` linear_velocity, :ref:`Vector3<class_Vector3>` snap, :ref:`Vector3<class_Vector3>` floor_normal=Vector3( 0, 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
 
 Moves the body while keeping it attached to slopes. Similar to :ref:`move_and_slide<class_KinematicBody_move_and_slide>`.
 
@@ -188,7 +188,7 @@ As long as the ``snap`` vector is in contact with the ground, the body will rema
 
 .. _class_KinematicBody_test_move:
 
-- :ref:`bool<class_bool>` **test_move** **(** :ref:`Transform<class_Transform>` from, :ref:`Vector3<class_Vector3>` rel_vec, :ref:`bool<class_bool>` infinite_inertia **)**
+- :ref:`bool<class_bool>` **test_move** **(** :ref:`Transform<class_Transform>` from, :ref:`Vector3<class_Vector3>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true **)**
 
 Checks for collisions without moving the body. Virtually sets the node's position, scale and rotation to that of the given :ref:`Transform<class_Transform>`, then tries to move the body along the vector ``rel_vec``. Returns ``true`` if a collision would occur.
 

+ 25 - 25
classes/class_kinematicbody2d.rst

@@ -28,27 +28,27 @@ Properties
 Methods
 -------
 
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                            | :ref:`get_floor_velocity<class_KinematicBody2D_get_floor_velocity>` **(** **)** const                                                                                                                                                                                                                                                                                                                                          |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`KinematicCollision2D<class_KinematicCollision2D>`  | :ref:`get_slide_collision<class_KinematicBody2D_get_slide_collision>` **(** :ref:`int<class_int>` slide_idx **)**                                                                                                                                                                                                                                                                                                              |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                    | :ref:`get_slide_count<class_KinematicBody2D_get_slide_count>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                  | :ref:`is_on_ceiling<class_KinematicBody2D_is_on_ceiling>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                    |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                  | :ref:`is_on_floor<class_KinematicBody2D_is_on_floor>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                        |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                  | :ref:`is_on_wall<class_KinematicBody2D_is_on_wall>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                          |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`KinematicCollision2D<class_KinematicCollision2D>`  | :ref:`move_and_collide<class_KinematicBody2D_move_and_collide>` **(** :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` exclude_raycast_shapes=true, :ref:`bool<class_bool>` test_only=false **)**                                                                                                                                                                 |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                            | :ref:`move_and_slide<class_KinematicBody2D_move_and_slide>` **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)**                                                         |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_Vector2>`                            | :ref:`move_and_slide_with_snap<class_KinematicBody2D_move_and_slide_with_snap>` **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` snap, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)** |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                  | :ref:`test_move<class_KinematicBody2D_test_move>` **(** :ref:`Transform2D<class_Transform2D>` from, :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia **)**                                                                                                                                                                                                                                      |
-+----------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                            | :ref:`get_floor_velocity<class_KinematicBody2D_get_floor_velocity>` **(** **)** const                                                                                                                                                                                                                                                                                                                                         |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`KinematicCollision2D<class_KinematicCollision2D>`  | :ref:`get_slide_collision<class_KinematicBody2D_get_slide_collision>` **(** :ref:`int<class_int>` slide_idx **)**                                                                                                                                                                                                                                                                                                             |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                    | :ref:`get_slide_count<class_KinematicBody2D_get_slide_count>` **(** **)** const                                                                                                                                                                                                                                                                                                                                               |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                  | :ref:`is_on_ceiling<class_KinematicBody2D_is_on_ceiling>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                   |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                  | :ref:`is_on_floor<class_KinematicBody2D_is_on_floor>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                       |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                  | :ref:`is_on_wall<class_KinematicBody2D_is_on_wall>` **(** **)** const                                                                                                                                                                                                                                                                                                                                                         |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`KinematicCollision2D<class_KinematicCollision2D>`  | :ref:`move_and_collide<class_KinematicBody2D_move_and_collide>` **(** :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` exclude_raycast_shapes=true, :ref:`bool<class_bool>` test_only=false **)**                                                                                                                                                                |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                            | :ref:`move_and_slide<class_KinematicBody2D_move_and_slide>` **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                         |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_Vector2>`                            | :ref:`move_and_slide_with_snap<class_KinematicBody2D_move_and_slide_with_snap>` **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` snap, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)** |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                  | :ref:`test_move<class_KinematicBody2D_test_move>` **(** :ref:`Transform2D<class_Transform2D>` from, :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true **)**                                                                                                                                                                                                                                |
++----------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -133,7 +133,7 @@ Moves the body along the vector ``rel_vec``. The body will stop if it collides.
 
 .. _class_KinematicBody2D_move_and_slide:
 
-- :ref:`Vector2<class_Vector2>` **move_and_slide** **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)**
+- :ref:`Vector2<class_Vector2>` **move_and_slide** **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
 
 Moves the body along a vector. If the body collides with another, it will slide along the other body rather than stop immediately. If the other body is a ``KinematicBody2D`` or :ref:`RigidBody2D<class_RigidBody2D>`, it will also be affected by the motion of the other body. You can use this to make moving or rotating platforms, or to make nodes push other nodes.
 
@@ -143,7 +143,7 @@ Moves the body along a vector. If the body collides with another, it will slide
 
 *TODO: Update for stop_on_slope argument.* If the body is standing on a slope and the horizontal speed (relative to the floor's speed) goes below ``slope_stop_min_velocity``, the body will stop completely. This prevents the body from sliding down slopes when you include gravity in ``linear_velocity``. When set to lower values, the body will not be able to stand still on steep slopes.
 
-If the body collides, it will change direction a maximum of ``max_bounces`` times before it stops.
+If the body collides, it will change direction a maximum of ``max_slides`` times before it stops.
 
 ``floor_max_angle`` is the maximum angle (in radians) where a slope is still considered a floor (or a ceiling), rather than a wall. The default value equals 45 degrees.
 
@@ -151,7 +151,7 @@ Returns the movement that remained when the body stopped. To get more detailed i
 
 .. _class_KinematicBody2D_move_and_slide_with_snap:
 
-- :ref:`Vector2<class_Vector2>` **move_and_slide_with_snap** **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` snap, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` infinite_inertia=true, :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_bounces=4, :ref:`float<class_float>` floor_max_angle=0.785398 **)**
+- :ref:`Vector2<class_Vector2>` **move_and_slide_with_snap** **(** :ref:`Vector2<class_Vector2>` linear_velocity, :ref:`Vector2<class_Vector2>` snap, :ref:`Vector2<class_Vector2>` floor_normal=Vector2( 0, 0 ), :ref:`bool<class_bool>` stop_on_slope=false, :ref:`int<class_int>` max_slides=4, :ref:`float<class_float>` floor_max_angle=0.785398, :ref:`bool<class_bool>` infinite_inertia=true **)**
 
 Moves the body while keeping it attached to slopes. Similar to :ref:`move_and_slide<class_KinematicBody2D_move_and_slide>`.
 
@@ -159,7 +159,7 @@ As long as the ``snap`` vector is in contact with the ground, the body will rema
 
 .. _class_KinematicBody2D_test_move:
 
-- :ref:`bool<class_bool>` **test_move** **(** :ref:`Transform2D<class_Transform2D>` from, :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia **)**
+- :ref:`bool<class_bool>` **test_move** **(** :ref:`Transform2D<class_Transform2D>` from, :ref:`Vector2<class_Vector2>` rel_vec, :ref:`bool<class_bool>` infinite_inertia=true **)**
 
 Checks for collisions without moving the body. Virtually sets the node's position, scale and rotation to that of the given :ref:`Transform2D<class_Transform2D>`, then tries to move the body along the vector ``rel_vec``. Returns ``true`` if a collision would occur.
 

+ 1 - 1
classes/class_label.rst

@@ -253,7 +253,7 @@ Returns the font size in pixels.
 
 - :ref:`int<class_int>` **get_total_character_count** **(** **)** const
 
-Returns the total length of the text.
+Returns the total number of printable characters in the text (excluding spaces and newlines).
 
 .. _class_Label_get_visible_line_count:
 

+ 3 - 3
classes/class_meshdatatool.rst

@@ -178,7 +178,7 @@ Returns the number of faces in this :ref:`Mesh<class_Mesh>`.
 
 Returns specified edge associated with given face.
 
-Edge argument must 2 or less becuase a face only has three edges.
+Edge argument must 2 or less because a face only has three edges.
 
 .. _class_MeshDataTool_get_face_meta:
 
@@ -198,13 +198,13 @@ Calculates and returns face normal of given face.
 
 Returns specified vertex of given face.
 
-Vertex argument must be 2 or less becuase faces contain three vertices.
+Vertex argument must be 2 or less because faces contain three vertices.
 
 .. _class_MeshDataTool_get_format:
 
 - :ref:`int<class_int>` **get_format** **(** **)** const
 
-Returns format of :ref:`Mesh<class_Mesh>`. Format is an integer made up of :ref:`Mesh<class_Mesh>` format flags combined together. For example, a mesh containing both vertices and normals would return a format of ``3`` becuase ``ARRAY_FORMAT_VERTEX`` is ``1`` and ``ARRAY_FORMAT_NORMAL`` is ``2``.
+Returns format of :ref:`Mesh<class_Mesh>`. Format is an integer made up of :ref:`Mesh<class_Mesh>` format flags combined together. For example, a mesh containing both vertices and normals would return a format of ``3`` because ``ARRAY_FORMAT_VERTEX`` is ``1`` and ``ARRAY_FORMAT_NORMAL`` is ``2``.
 
 For list of format flags see :ref:`ArrayMesh<class_ArrayMesh>`.
 

+ 6 - 0
classes/class_object.rst

@@ -94,6 +94,8 @@ Methods
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_block_signals<class_Object_set_block_signals>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                              |
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_deferred<class_Object_set_deferred>` **(** :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value **)**                                                                                             |
++------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_indexed<class_Object_set_indexed>` **(** :ref:`NodePath<class_NodePath>` property, :ref:`Variant<class_Variant>` value **)**                                                                                           |
 +------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_message_translation<class_Object_set_message_translation>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                  |
@@ -382,6 +384,10 @@ Set property into the object.
 
 If set to true, signal emission is blocked.
 
+.. _class_Object_set_deferred:
+
+- void **set_deferred** **(** :ref:`String<class_String>` property, :ref:`Variant<class_Variant>` value **)**
+
 .. _class_Object_set_indexed:
 
 - void **set_indexed** **(** :ref:`NodePath<class_NodePath>` property, :ref:`Variant<class_Variant>` value **)**

+ 8 - 0
classes/class_os.rst

@@ -185,6 +185,8 @@ Methods
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Error<enum_@GlobalScope_Error>`          | :ref:`kill<class_OS_kill>` **(** :ref:`int<class_int>` pid **)**                                                                                                                                                         |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`move_window_to_foreground<class_OS_move_window_to_foreground>` **(** **)**                                                                                                                                         |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                        | :ref:`native_video_is_playing<class_OS_native_video_is_playing>` **(** **)**                                                                                                                                             |
 +------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`native_video_pause<class_OS_native_video_pause>` **(** **)**                                                                                                                                                       |
@@ -965,6 +967,12 @@ Kill (terminate) the process identified by the given process ID (``pid``), e.g.
 
 Note that this method can also be used to kill processes that were not spawned by the game.
 
+.. _class_OS_move_window_to_foreground:
+
+- void **move_window_to_foreground** **(** **)**
+
+Moves the window to the front.
+
 .. _class_OS_native_video_is_playing:
 
 - :ref:`bool<class_bool>` **native_video_is_playing** **(** **)**

+ 2 - 2
classes/class_packedscene.rst

@@ -65,7 +65,7 @@ Example of saving a node with different owners: The following example creates 3
     var rigid = RigidBody2D.new()
     var collision = CollisionShape2D.new()
     
-    # create the object hierachy
+    # create the object hierarchy
     rigid.add_child(collision)
     node.add_child(rigid)
     
@@ -108,7 +108,7 @@ Returns the ``SceneState`` representing the scene file contents.
 
 - :ref:`Node<class_Node>` **instance** **(** :ref:`GenEditState<enum_PackedScene_GenEditState>` edit_state=0 **)** const
 
-Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers the :ref:`NOTIFICATION_INSTANCED<enum_Node_NOTIFICATION_INSTANCED>` notification on the root node.
+Instantiates the scene's node hierarchy. Triggers child scene instantiation(s). Triggers :ref:`Node<class_Node>`'s ``NOTIFICATION_INSTANCED`` notification on the root node.
 
 .. _class_PackedScene_pack:
 

+ 0 - 28
classes/class_particles2d.rst

@@ -32,8 +32,6 @@ Properties
 +----------------------------------------------+-------------------------------------------------------------+
 | :ref:`bool<class_bool>`                      | :ref:`fract_delta<class_Particles2D_fract_delta>`           |
 +----------------------------------------------+-------------------------------------------------------------+
-| :ref:`int<class_int>`                        | :ref:`h_frames<class_Particles2D_h_frames>`                 |
-+----------------------------------------------+-------------------------------------------------------------+
 | :ref:`float<class_float>`                    | :ref:`lifetime<class_Particles2D_lifetime>`                 |
 +----------------------------------------------+-------------------------------------------------------------+
 | :ref:`bool<class_bool>`                      | :ref:`local_coords<class_Particles2D_local_coords>`         |
@@ -52,8 +50,6 @@ Properties
 +----------------------------------------------+-------------------------------------------------------------+
 | :ref:`Texture<class_Texture>`                | :ref:`texture<class_Particles2D_texture>`                   |
 +----------------------------------------------+-------------------------------------------------------------+
-| :ref:`int<class_int>`                        | :ref:`v_frames<class_Particles2D_v_frames>`                 |
-+----------------------------------------------+-------------------------------------------------------------+
 | :ref:`Rect2<class_Rect2>`                    | :ref:`visibility_rect<class_Particles2D_visibility_rect>`   |
 +----------------------------------------------+-------------------------------------------------------------+
 
@@ -155,18 +151,6 @@ How rapidly particles in an emission cycle are emitted. If greater than ``0``, t
 | *Getter* | get_fractional_delta()      |
 +----------+-----------------------------+
 
-.. _class_Particles2D_h_frames:
-
-- :ref:`int<class_int>` **h_frames**
-
-+----------+---------------------+
-| *Setter* | set_h_frames(value) |
-+----------+---------------------+
-| *Getter* | get_h_frames()      |
-+----------+---------------------+
-
-Number of horizontal frames in ``texture``.
-
 .. _class_Particles2D_lifetime:
 
 - :ref:`float<class_float>` **lifetime**
@@ -273,18 +257,6 @@ Particle system's running speed scaling ratio. Default value: ``1``. A value of
 
 Particle texture. If ``null`` particles will be squares.
 
-.. _class_Particles2D_v_frames:
-
-- :ref:`int<class_int>` **v_frames**
-
-+----------+---------------------+
-| *Setter* | set_v_frames(value) |
-+----------+---------------------+
-| *Getter* | get_v_frames()      |
-+----------+---------------------+
-
-Number of vertical frames in ``texture``.
-
 .. _class_Particles2D_visibility_rect:
 
 - :ref:`Rect2<class_Rect2>` **visibility_rect**

+ 1 - 15
classes/class_particlesmaterial.rst

@@ -32,8 +32,6 @@ Properties
 +------------------------------------------------------------+---------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                  | :ref:`angular_velocity_random<class_ParticlesMaterial_angular_velocity_random>` |
 +------------------------------------------------------------+---------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                    | :ref:`anim_loop<class_ParticlesMaterial_anim_loop>`                             |
-+------------------------------------------------------------+---------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                                  | :ref:`anim_offset<class_ParticlesMaterial_anim_offset>`                         |
 +------------------------------------------------------------+---------------------------------------------------------------------------------+
 | :ref:`Texture<class_Texture>`                              | :ref:`anim_offset_curve<class_ParticlesMaterial_anim_offset_curve>`             |
@@ -140,7 +138,7 @@ enum **Flags**:
 
 - **FLAG_ROTATE_Y** = **1** --- Use with :ref:`set_flag<class_ParticlesMaterial_set_flag>` to set :ref:`flag_rotate_y<class_ParticlesMaterial_flag_rotate_y>`
 
-- **FLAG_MAX** = **4**
+- **FLAG_MAX** = **3**
 
 .. _enum_ParticlesMaterial_Parameter:
 
@@ -268,18 +266,6 @@ Each particle's angular velocity will vary along this :ref:`CurveTexture<class_C
 
 Angular velocity randomness ratio. Default value: ``0``.
 
-.. _class_ParticlesMaterial_anim_loop:
-
-- :ref:`bool<class_bool>` **anim_loop**
-
-+----------+-----------------+
-| *Setter* | set_flag(value) |
-+----------+-----------------+
-| *Getter* | get_flag()      |
-+----------+-----------------+
-
-If ``true`` animation will loop. Default value: ``false``.
-
 .. _class_ParticlesMaterial_anim_offset:
 
 - :ref:`float<class_float>` **anim_offset**

+ 2 - 0
classes/class_phashtranslation.rst

@@ -35,3 +35,5 @@ Method Descriptions
 
 - void **generate** **(** :ref:`Translation<class_Translation>` from **)**
 
+Generates and sets an optimized translation from the given :ref:`Translation<class_Translation>` resource.
+

+ 19 - 13
classes/class_physics2ddirectspacestate.rst

@@ -19,19 +19,21 @@ Direct access object to a space in the :ref:`Physics2DServer<class_Physics2DServ
 Methods
 -------
 
-+--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`            | :ref:`cast_motion<class_Physics2DDirectSpaceState_cast_motion>` **(** :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>` shape **)**                                                                                                                                                                                                 |
-+--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`            | :ref:`collide_shape<class_Physics2DDirectSpaceState_collide_shape>` **(** :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>` shape, :ref:`int<class_int>` max_results=32 **)**                                                                                                                                                       |
-+--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`  | :ref:`get_rest_info<class_Physics2DDirectSpaceState_get_rest_info>` **(** :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>` shape **)**                                                                                                                                                                                             |
-+--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`            | :ref:`intersect_point<class_Physics2DDirectSpaceState_intersect_point>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`int<class_int>` max_results=32, :ref:`Array<class_Array>` exclude=[  ], :ref:`int<class_int>` collision_layer=2147483647, :ref:`bool<class_bool>` collide_with_bodies=true, :ref:`bool<class_bool>` collide_with_areas=false **)** |
-+--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Dictionary<class_Dictionary>`  | :ref:`intersect_ray<class_Physics2DDirectSpaceState_intersect_ray>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Array<class_Array>` exclude=[  ], :ref:`int<class_int>` collision_layer=2147483647, :ref:`bool<class_bool>` collide_with_bodies=true, :ref:`bool<class_bool>` collide_with_areas=false **)**          |
-+--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_Array>`            | :ref:`intersect_shape<class_Physics2DDirectSpaceState_intersect_shape>` **(** :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>` shape, :ref:`int<class_int>` max_results=32 **)**                                                                                                                                                   |
-+--------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`            | :ref:`cast_motion<class_Physics2DDirectSpaceState_cast_motion>` **(** :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>` shape **)**                                                                                                                                                                                                                                                               |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`            | :ref:`collide_shape<class_Physics2DDirectSpaceState_collide_shape>` **(** :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>` shape, :ref:`int<class_int>` max_results=32 **)**                                                                                                                                                                                                                     |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`  | :ref:`get_rest_info<class_Physics2DDirectSpaceState_get_rest_info>` **(** :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>` shape **)**                                                                                                                                                                                                                                                           |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`            | :ref:`intersect_point<class_Physics2DDirectSpaceState_intersect_point>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`int<class_int>` max_results=32, :ref:`Array<class_Array>` exclude=[  ], :ref:`int<class_int>` collision_layer=2147483647, :ref:`bool<class_bool>` collide_with_bodies=true, :ref:`bool<class_bool>` collide_with_areas=false **)**                                                               |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`            | :ref:`intersect_point_on_canvas<class_Physics2DDirectSpaceState_intersect_point_on_canvas>` **(** :ref:`Vector2<class_Vector2>` point, :ref:`int<class_int>` canvas_instance_id, :ref:`int<class_int>` max_results=32, :ref:`Array<class_Array>` exclude=[  ], :ref:`int<class_int>` collision_layer=2147483647, :ref:`bool<class_bool>` collide_with_bodies=true, :ref:`bool<class_bool>` collide_with_areas=false **)** |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Dictionary<class_Dictionary>`  | :ref:`intersect_ray<class_Physics2DDirectSpaceState_intersect_ray>` **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Array<class_Array>` exclude=[  ], :ref:`int<class_int>` collision_layer=2147483647, :ref:`bool<class_bool>` collide_with_bodies=true, :ref:`bool<class_bool>` collide_with_areas=false **)**                                                                        |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`            | :ref:`intersect_shape<class_Physics2DDirectSpaceState_intersect_shape>` **(** :ref:`Physics2DShapeQueryParameters<class_Physics2DShapeQueryParameters>` shape, :ref:`int<class_int>` max_results=32 **)**                                                                                                                                                                                                                 |
++--------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -100,6 +102,10 @@ Checks whether a point is inside any shape. The shapes the point is inside of ar
 
 Additionally, the method can take an ``exclude`` array of objects or :ref:`RID<class_RID>`\ s that are to be excluded from collisions, a ``collision_mask`` bitmask representing the physics layers to check in, or booleans to determine if the ray should collide with :ref:`PhysicsBody<class_PhysicsBody>`\ s or :ref:`Area<class_Area>`\ s, respectively.
 
+.. _class_Physics2DDirectSpaceState_intersect_point_on_canvas:
+
+- :ref:`Array<class_Array>` **intersect_point_on_canvas** **(** :ref:`Vector2<class_Vector2>` point, :ref:`int<class_int>` canvas_instance_id, :ref:`int<class_int>` max_results=32, :ref:`Array<class_Array>` exclude=[  ], :ref:`int<class_int>` collision_layer=2147483647, :ref:`bool<class_bool>` collide_with_bodies=true, :ref:`bool<class_bool>` collide_with_areas=false **)**
+
 .. _class_Physics2DDirectSpaceState_intersect_ray:
 
 - :ref:`Dictionary<class_Dictionary>` **intersect_ray** **(** :ref:`Vector2<class_Vector2>` from, :ref:`Vector2<class_Vector2>` to, :ref:`Array<class_Array>` exclude=[  ], :ref:`int<class_int>` collision_layer=2147483647, :ref:`bool<class_bool>` collide_with_bodies=true, :ref:`bool<class_bool>` collide_with_areas=false **)**

+ 24 - 0
classes/class_physics2dserver.rst

@@ -24,12 +24,16 @@ Methods
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                      | :ref:`area_add_shape<class_Physics2DServer_area_add_shape>` **(** :ref:`RID<class_RID>` area, :ref:`RID<class_RID>` shape, :ref:`Transform2D<class_Transform2D>` transform=Transform2D( 1, 0, 0, 1, 0, 0 ) **)**                                                                                                                                         |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                                      | :ref:`area_attach_canvas_instance_id<class_Physics2DServer_area_attach_canvas_instance_id>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)**                                                                                                                                                                                             |
++---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                      | :ref:`area_attach_object_instance_id<class_Physics2DServer_area_attach_object_instance_id>` **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)**                                                                                                                                                                                             |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                      | :ref:`area_clear_shapes<class_Physics2DServer_area_clear_shapes>` **(** :ref:`RID<class_RID>` area **)**                                                                                                                                                                                                                                                 |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_RID>`                                                     | :ref:`area_create<class_Physics2DServer_area_create>` **(** **)**                                                                                                                                                                                                                                                                                        |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                                     | :ref:`area_get_canvas_instance_id<class_Physics2DServer_area_get_canvas_instance_id>` **(** :ref:`RID<class_RID>` area **)** const                                                                                                                                                                                                                       |
++---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                                     | :ref:`area_get_object_instance_id<class_Physics2DServer_area_get_object_instance_id>` **(** :ref:`RID<class_RID>` area **)** const                                                                                                                                                                                                                       |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_Variant>`                                             | :ref:`area_get_param<class_Physics2DServer_area_get_param>` **(** :ref:`RID<class_RID>` area, :ref:`AreaParameter<enum_Physics2DServer_AreaParameter>` param **)** const                                                                                                                                                                                 |
@@ -88,12 +92,16 @@ Methods
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                      | :ref:`body_apply_torque_impulse<class_Physics2DServer_body_apply_torque_impulse>` **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` impulse **)**                                                                                                                                                                                              |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                                                      | :ref:`body_attach_canvas_instance_id<class_Physics2DServer_body_attach_canvas_instance_id>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)**                                                                                                                                                                                             |
++---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                      | :ref:`body_attach_object_instance_id<class_Physics2DServer_body_attach_object_instance_id>` **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)**                                                                                                                                                                                             |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                                      | :ref:`body_clear_shapes<class_Physics2DServer_body_clear_shapes>` **(** :ref:`RID<class_RID>` body **)**                                                                                                                                                                                                                                                 |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_RID>`                                                     | :ref:`body_create<class_Physics2DServer_body_create>` **(** **)**                                                                                                                                                                                                                                                                                        |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                                                     | :ref:`body_get_canvas_instance_id<class_Physics2DServer_body_get_canvas_instance_id>` **(** :ref:`RID<class_RID>` body **)** const                                                                                                                                                                                                                       |
++---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                                     | :ref:`body_get_collision_layer<class_Physics2DServer_body_get_collision_layer>` **(** :ref:`RID<class_RID>` body **)** const                                                                                                                                                                                                                             |
 +---------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                                     | :ref:`body_get_collision_mask<class_Physics2DServer_body_get_collision_mask>` **(** :ref:`RID<class_RID>` body **)** const                                                                                                                                                                                                                               |
@@ -414,6 +422,10 @@ Method Descriptions
 
 Adds a shape to the area, along with a transform matrix. Shapes are usually referenced by their index, so you should track which shape has a given index.
 
+.. _class_Physics2DServer_area_attach_canvas_instance_id:
+
+- void **area_attach_canvas_instance_id** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)**
+
 .. _class_Physics2DServer_area_attach_object_instance_id:
 
 - void **area_attach_object_instance_id** **(** :ref:`RID<class_RID>` area, :ref:`int<class_int>` id **)**
@@ -432,6 +444,10 @@ Removes all shapes from an area. It does not delete the shapes, so they can be r
 
 Creates an :ref:`Area2D<class_Area2D>`.
 
+.. _class_Physics2DServer_area_get_canvas_instance_id:
+
+- :ref:`int<class_int>` **area_get_canvas_instance_id** **(** :ref:`RID<class_RID>` area **)** const
+
 .. _class_Physics2DServer_area_get_object_instance_id:
 
 - :ref:`int<class_int>` **area_get_object_instance_id** **(** :ref:`RID<class_RID>` area **)** const
@@ -604,6 +620,10 @@ Adds a positioned impulse to the applied force and torque. Both the force and th
 
 - void **body_apply_torque_impulse** **(** :ref:`RID<class_RID>` body, :ref:`float<class_float>` impulse **)**
 
+.. _class_Physics2DServer_body_attach_canvas_instance_id:
+
+- void **body_attach_canvas_instance_id** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)**
+
 .. _class_Physics2DServer_body_attach_object_instance_id:
 
 - void **body_attach_object_instance_id** **(** :ref:`RID<class_RID>` body, :ref:`int<class_int>` id **)**
@@ -622,6 +642,10 @@ Removes all shapes from a body.
 
 Creates a physics body. The first parameter can be any value from constants BODY_MODE\*, for the type of body created. Additionally, the body can be created in sleeping state to save processing time.
 
+.. _class_Physics2DServer_body_get_canvas_instance_id:
+
+- :ref:`int<class_int>` **body_get_canvas_instance_id** **(** :ref:`RID<class_RID>` body **)** const
+
 .. _class_Physics2DServer_body_get_collision_layer:
 
 - :ref:`int<class_int>` **body_get_collision_layer** **(** :ref:`RID<class_RID>` body **)** const

+ 21 - 13
classes/class_physicsbody.rst

@@ -30,19 +30,21 @@ Properties
 Methods
 -------
 
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`add_collision_exception_with<class_PhysicsBody_add_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**                   |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`get_collision_layer_bit<class_PhysicsBody_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`get_collision_mask_bit<class_PhysicsBody_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                            |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`remove_collision_exception_with<class_PhysicsBody_remove_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**             |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_collision_layer_bit<class_PhysicsBody_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_collision_mask_bit<class_PhysicsBody_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**   |
-+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`add_collision_exception_with<class_PhysicsBody_add_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**                   |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`  | :ref:`get_collision_exceptions<class_PhysicsBody_get_collision_exceptions>` **(** **)**                                                        |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`    | :ref:`get_collision_layer_bit<class_PhysicsBody_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`    | :ref:`get_collision_mask_bit<class_PhysicsBody_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                            |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`remove_collision_exception_with<class_PhysicsBody_remove_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**             |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_collision_layer_bit<class_PhysicsBody_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_collision_mask_bit<class_PhysicsBody_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**   |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -94,6 +96,12 @@ Method Descriptions
 
 Adds a body to the list of bodies that this body can't collide with.
 
+.. _class_PhysicsBody_get_collision_exceptions:
+
+- :ref:`Array<class_Array>` **get_collision_exceptions** **(** **)**
+
+Returns an array of nodes that were added as collision exceptions for this body.
+
 .. _class_PhysicsBody_get_collision_layer_bit:
 
 - :ref:`bool<class_bool>` **get_collision_layer_bit** **(** :ref:`int<class_int>` bit **)** const

+ 21 - 13
classes/class_physicsbody2d.rst

@@ -32,19 +32,21 @@ Properties
 Methods
 -------
 
-+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`add_collision_exception_with<class_PhysicsBody2D_add_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**                   |
-+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`get_collision_layer_bit<class_PhysicsBody2D_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
-+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`get_collision_mask_bit<class_PhysicsBody2D_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                            |
-+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`remove_collision_exception_with<class_PhysicsBody2D_remove_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**             |
-+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_collision_layer_bit<class_PhysicsBody2D_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
-+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_collision_mask_bit<class_PhysicsBody2D_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**   |
-+--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`add_collision_exception_with<class_PhysicsBody2D_add_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**                   |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`  | :ref:`get_collision_exceptions<class_PhysicsBody2D_get_collision_exceptions>` **(** **)**                                                        |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`    | :ref:`get_collision_layer_bit<class_PhysicsBody2D_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`    | :ref:`get_collision_mask_bit<class_PhysicsBody2D_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                            |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`remove_collision_exception_with<class_PhysicsBody2D_remove_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**             |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_collision_layer_bit<class_PhysicsBody2D_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_collision_mask_bit<class_PhysicsBody2D_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**   |
++----------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -102,6 +104,12 @@ Method Descriptions
 
 Adds a body to the list of bodies that this body can't collide with.
 
+.. _class_PhysicsBody2D_get_collision_exceptions:
+
+- :ref:`Array<class_Array>` **get_collision_exceptions** **(** **)**
+
+Returns an array of nodes that were added as collision exceptions for this body.
+
 .. _class_PhysicsBody2D_get_collision_layer_bit:
 
 - :ref:`bool<class_bool>` **get_collision_layer_bit** **(** :ref:`int<class_int>` bit **)** const

+ 11 - 11
classes/class_physicsserver.rst

@@ -280,23 +280,23 @@ enum **G6DOFJointAxisParam**:
 
 - **G6DOF_JOINT_LINEAR_MOTOR_FORCE_LIMIT** = **6** --- The maximum force that the linear motor can apply while trying to reach the target velocity.
 
-- **G6DOF_JOINT_ANGULAR_LOWER_LIMIT** = **7** --- The minimum rotation in negative direction to break loose and rotate around the axes.
+- **G6DOF_JOINT_ANGULAR_LOWER_LIMIT** = **10** --- The minimum rotation in negative direction to break loose and rotate around the axes.
 
-- **G6DOF_JOINT_ANGULAR_UPPER_LIMIT** = **8** --- The minimum rotation in positive direction to break loose and rotate around the axes.
+- **G6DOF_JOINT_ANGULAR_UPPER_LIMIT** = **11** --- The minimum rotation in positive direction to break loose and rotate around the axes.
 
-- **G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS** = **9** --- A factor that gets multiplied onto all rotations across the axes.
+- **G6DOF_JOINT_ANGULAR_LIMIT_SOFTNESS** = **12** --- A factor that gets multiplied onto all rotations across the axes.
 
-- **G6DOF_JOINT_ANGULAR_DAMPING** = **10** --- The amount of rotational damping across the axes. The lower, the more dampening occurs.
+- **G6DOF_JOINT_ANGULAR_DAMPING** = **13** --- The amount of rotational damping across the axes. The lower, the more dampening occurs.
 
-- **G6DOF_JOINT_ANGULAR_RESTITUTION** = **11** --- The amount of rotational restitution across the axes. The lower, the more restitution occurs.
+- **G6DOF_JOINT_ANGULAR_RESTITUTION** = **14** --- The amount of rotational restitution across the axes. The lower, the more restitution occurs.
 
-- **G6DOF_JOINT_ANGULAR_FORCE_LIMIT** = **12** --- The maximum amount of force that can occur, when rotating around the axes.
+- **G6DOF_JOINT_ANGULAR_FORCE_LIMIT** = **15** --- The maximum amount of force that can occur, when rotating around the axes.
 
-- **G6DOF_JOINT_ANGULAR_ERP** = **13** --- When correcting the crossing of limits in rotation across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
+- **G6DOF_JOINT_ANGULAR_ERP** = **16** --- When correcting the crossing of limits in rotation across the axes, this error tolerance factor defines how much the correction gets slowed down. The lower, the slower.
 
-- **G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY** = **14** --- Target speed for the motor at the axes.
+- **G6DOF_JOINT_ANGULAR_MOTOR_TARGET_VELOCITY** = **17** --- Target speed for the motor at the axes.
 
-- **G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT** = **15** --- Maximum acceleration for the motor at the axes.
+- **G6DOF_JOINT_ANGULAR_MOTOR_FORCE_LIMIT** = **18** --- Maximum acceleration for the motor at the axes.
 
 .. _enum_PhysicsServer_ProcessInfo:
 
@@ -484,9 +484,9 @@ enum **G6DOFJointAxisFlag**:
 
 - **G6DOF_JOINT_FLAG_ENABLE_ANGULAR_LIMIT** = **1** --- If ``set`` there is rotational motion possible.
 
-- **G6DOF_JOINT_FLAG_ENABLE_MOTOR** = **2** --- If ``set`` there is a rotational motor across these axes.
+- **G6DOF_JOINT_FLAG_ENABLE_MOTOR** = **4** --- If ``set`` there is a rotational motor across these axes.
 
-- **G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR** = **3** --- If ``set`` there is a linear motor on this axis that targets a specific velocity.
+- **G6DOF_JOINT_FLAG_ENABLE_LINEAR_MOTOR** = **5** --- If ``set`` there is a linear motor on this axis that targets a specific velocity.
 
 .. _enum_PhysicsServer_SliderJointParam:
 

+ 48 - 0
classes/class_projectsettings.rst

@@ -408,6 +408,22 @@ Properties
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`               | :ref:`network/limits/packet_peer_stream/max_buffer_po2<class_ProjectSettings_network/limits/packet_peer_stream/max_buffer_po2>`                             |
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`network/limits/websocket_client/max_in_buffer_kb<class_ProjectSettings_network/limits/websocket_client/max_in_buffer_kb>`                             |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`network/limits/websocket_client/max_in_packets<class_ProjectSettings_network/limits/websocket_client/max_in_packets>`                                 |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`network/limits/websocket_client/max_out_buffer_kb<class_ProjectSettings_network/limits/websocket_client/max_out_buffer_kb>`                           |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`network/limits/websocket_client/max_out_packets<class_ProjectSettings_network/limits/websocket_client/max_out_packets>`                               |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`network/limits/websocket_server/max_in_buffer_kb<class_ProjectSettings_network/limits/websocket_server/max_in_buffer_kb>`                             |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`network/limits/websocket_server/max_in_packets<class_ProjectSettings_network/limits/websocket_server/max_in_packets>`                                 |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`network/limits/websocket_server/max_out_buffer_kb<class_ProjectSettings_network/limits/websocket_server/max_out_buffer_kb>`                           |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`               | :ref:`network/limits/websocket_server/max_out_packets<class_ProjectSettings_network/limits/websocket_server/max_out_packets>`                               |
++-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`               | :ref:`network/remote_fs/page_read_ahead<class_ProjectSettings_network/remote_fs/page_read_ahead>`                                                           |
 +-------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`               | :ref:`network/remote_fs/page_size<class_ProjectSettings_network/remote_fs/page_size>`                                                                       |
@@ -1458,6 +1474,38 @@ Maximum amount of messages allowed to send as output from the debugger. Over thi
 
 Default size of packet peer stream for deserializing godot data. Over this size, data is dropped.
 
+.. _class_ProjectSettings_network/limits/websocket_client/max_in_buffer_kb:
+
+- :ref:`int<class_int>` **network/limits/websocket_client/max_in_buffer_kb**
+
+.. _class_ProjectSettings_network/limits/websocket_client/max_in_packets:
+
+- :ref:`int<class_int>` **network/limits/websocket_client/max_in_packets**
+
+.. _class_ProjectSettings_network/limits/websocket_client/max_out_buffer_kb:
+
+- :ref:`int<class_int>` **network/limits/websocket_client/max_out_buffer_kb**
+
+.. _class_ProjectSettings_network/limits/websocket_client/max_out_packets:
+
+- :ref:`int<class_int>` **network/limits/websocket_client/max_out_packets**
+
+.. _class_ProjectSettings_network/limits/websocket_server/max_in_buffer_kb:
+
+- :ref:`int<class_int>` **network/limits/websocket_server/max_in_buffer_kb**
+
+.. _class_ProjectSettings_network/limits/websocket_server/max_in_packets:
+
+- :ref:`int<class_int>` **network/limits/websocket_server/max_in_packets**
+
+.. _class_ProjectSettings_network/limits/websocket_server/max_out_buffer_kb:
+
+- :ref:`int<class_int>` **network/limits/websocket_server/max_out_buffer_kb**
+
+.. _class_ProjectSettings_network/limits/websocket_server/max_out_packets:
+
+- :ref:`int<class_int>` **network/limits/websocket_server/max_out_packets**
+
 .. _class_ProjectSettings_network/remote_fs/page_read_ahead:
 
 - :ref:`int<class_int>` **network/remote_fs/page_read_ahead**

+ 78 - 0
classes/class_randomnumbergenerator.rst

@@ -0,0 +1,78 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the RandomNumberGenerator.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_RandomNumberGenerator:
+
+RandomNumberGenerator
+=====================
+
+**Inherits:** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+A class for generation pseudo-random numbers.
+
+Properties
+----------
+
++-----------------------+-----------------------------------------------+
+| :ref:`int<class_int>` | :ref:`seed<class_RandomNumberGenerator_seed>` |
++-----------------------+-----------------------------------------------+
+
+Methods
+-------
+
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`  | :ref:`rand_range<class_RandomNumberGenerator_rand_range>` **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)** |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`  | :ref:`randf<class_RandomNumberGenerator_randf>` **(** **)**                                                                        |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`      | :ref:`randi<class_RandomNumberGenerator_randi>` **(** **)**                                                                        |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`randomize<class_RandomNumberGenerator_randomize>` **(** **)**                                                                |
++----------------------------+------------------------------------------------------------------------------------------------------------------------------------+
+
+Property Descriptions
+---------------------
+
+.. _class_RandomNumberGenerator_seed:
+
+- :ref:`int<class_int>` **seed**
+
++----------+-----------------+
+| *Setter* | set_seed(value) |
++----------+-----------------+
+| *Getter* | get_seed()      |
++----------+-----------------+
+
+Method Descriptions
+-------------------
+
+.. _class_RandomNumberGenerator_rand_range:
+
+- :ref:`float<class_float>` **rand_range** **(** :ref:`float<class_float>` from, :ref:`float<class_float>` to **)**
+
+Generates pseudo-random float between ``from`` and ``to``.
+
+.. _class_RandomNumberGenerator_randf:
+
+- :ref:`float<class_float>` **randf** **(** **)**
+
+Generates pseudo-random float between '0.0' and '1.0'.
+
+.. _class_RandomNumberGenerator_randi:
+
+- :ref:`int<class_int>` **randi** **(** **)**
+
+Generates pseudo-random 32-bit integer between '0' and '4294967295'.
+
+.. _class_RandomNumberGenerator_randomize:
+
+- void **randomize** **(** **)**
+
+Setups a time-based seed to generator.
+

File diff suppressed because it is too large
+ 0 - 0
classes/class_reference.rst


+ 3 - 1
classes/class_richtextlabel.rst

@@ -441,7 +441,7 @@ Terminates the current tag. Use after ``push_*`` methods to close bbcodes manual
 
 - void **push_align** **(** :ref:`Align<enum_RichTextLabel_Align>` align **)**
 
-Adds a ``[right]`` tag to the tag stack.
+Adds an alignment tag based on the given ``align`` value. See :ref:`Align<enum_@GlobalScope_Align>` for possible values.
 
 .. _class_RichTextLabel_push_cell:
 
@@ -483,6 +483,8 @@ Adds a meta tag to the tag stack. Similar to the bbcode ``[url=something]{text}[
 
 - void **push_strikethrough** **(** **)**
 
+Adds a ``[s]`` tag to the tag stack.
+
 .. _class_RichTextLabel_push_table:
 
 - void **push_table** **(** :ref:`int<class_int>` columns **)**

+ 25 - 17
classes/class_softbody.rst

@@ -48,23 +48,25 @@ Properties
 Methods
 -------
 
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`add_collision_exception_with<class_SoftBody_add_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**                   |
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`get_collision_layer_bit<class_SoftBody_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`get_collision_mask_bit<class_SoftBody_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                            |
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`  | :ref:`is_ray_pickable<class_SoftBody_is_ray_pickable>` **(** **)** const                                                                    |
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`remove_collision_exception_with<class_SoftBody_remove_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**             |
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_collision_layer_bit<class_SoftBody_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_collision_mask_bit<class_SoftBody_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**   |
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
-| void                     | :ref:`set_ray_pickable<class_SoftBody_set_ray_pickable>` **(** :ref:`bool<class_bool>` ray_pickable **)**                                   |
-+--------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`add_collision_exception_with<class_SoftBody_add_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**                   |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_Array>`  | :ref:`get_collision_exceptions<class_SoftBody_get_collision_exceptions>` **(** **)**                                                        |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`    | :ref:`get_collision_layer_bit<class_SoftBody_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                          |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`    | :ref:`get_collision_mask_bit<class_SoftBody_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                            |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`    | :ref:`is_ray_pickable<class_SoftBody_is_ray_pickable>` **(** **)** const                                                                    |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`remove_collision_exception_with<class_SoftBody_remove_collision_exception_with>` **(** :ref:`Node<class_Node>` body **)**             |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_collision_layer_bit<class_SoftBody_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)** |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_collision_mask_bit<class_SoftBody_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**   |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                       | :ref:`set_ray_pickable<class_SoftBody_set_ray_pickable>` **(** :ref:`bool<class_bool>` ray_pickable **)**                                   |
++----------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -213,6 +215,12 @@ Method Descriptions
 
 Adds a body to the list of bodies that this body can't collide with.
 
+.. _class_SoftBody_get_collision_exceptions:
+
+- :ref:`Array<class_Array>` **get_collision_exceptions** **(** **)**
+
+Returns an array of nodes that were added as collision exceptions for this body.
+
 .. _class_SoftBody_get_collision_layer_bit:
 
 - :ref:`bool<class_bool>` **get_collision_layer_bit** **(** :ref:`int<class_int>` bit **)** const

+ 26 - 2
classes/class_spatialmaterial.rst

@@ -52,6 +52,10 @@ Properties
 +----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                        | :ref:`depth_enabled<class_SpatialMaterial_depth_enabled>`                                   |
 +----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`depth_flip_binormal<class_SpatialMaterial_depth_flip_binormal>`                       |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`depth_flip_tangent<class_SpatialMaterial_depth_flip_tangent>`                         |
++----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`depth_max_layers<class_SpatialMaterial_depth_max_layers>`                             |
 +----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`depth_min_layers<class_SpatialMaterial_depth_min_layers>`                             |
@@ -154,7 +158,7 @@ Properties
 +----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`particles_anim_h_frames<class_SpatialMaterial_particles_anim_h_frames>`               |
 +----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                                          | :ref:`particles_anim_loop<class_SpatialMaterial_particles_anim_loop>`                       |
+| :ref:`bool<class_bool>`                                        | :ref:`particles_anim_loop<class_SpatialMaterial_particles_anim_loop>`                       |
 +----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`particles_anim_v_frames<class_SpatialMaterial_particles_anim_v_frames>`               |
 +----------------------------------------------------------------+---------------------------------------------------------------------------------------------+
@@ -631,6 +635,26 @@ If ``true`` clearcoat rendering is enabled. Adds a secondary transparent pass to
 
 If ``true`` Depth mapping is enabled. See also :ref:`normal_enabled<class_SpatialMaterial_normal_enabled>`.
 
+.. _class_SpatialMaterial_depth_flip_binormal:
+
+- :ref:`bool<class_bool>` **depth_flip_binormal**
+
++----------+----------------------------------------------+
+| *Setter* | set_depth_deep_parallax_flip_binormal(value) |
++----------+----------------------------------------------+
+| *Getter* | get_depth_deep_parallax_flip_binormal()      |
++----------+----------------------------------------------+
+
+.. _class_SpatialMaterial_depth_flip_tangent:
+
+- :ref:`bool<class_bool>` **depth_flip_tangent**
+
++----------+---------------------------------------------+
+| *Setter* | set_depth_deep_parallax_flip_tangent(value) |
++----------+---------------------------------------------+
+| *Getter* | get_depth_deep_parallax_flip_tangent()      |
++----------+---------------------------------------------+
+
 .. _class_SpatialMaterial_depth_max_layers:
 
 - :ref:`int<class_int>` **depth_max_layers**
@@ -1195,7 +1219,7 @@ The number of horizontal frames in the particle spritesheet. Only enabled when u
 
 .. _class_SpatialMaterial_particles_anim_loop:
 
-- :ref:`int<class_int>` **particles_anim_loop**
+- :ref:`bool<class_bool>` **particles_anim_loop**
 
 +----------+--------------------------------+
 | *Setter* | set_particles_anim_loop(value) |

+ 15 - 4
classes/class_translation.rst

@@ -45,6 +45,13 @@ Description
 
 Translations are resources that can be loaded/unloaded on demand. They map a string to another string.
 
+Tutorials
+---------
+
+- :doc:`../tutorials/i18n/internationalizing_games`
+
+- :doc:`../tutorials/i18n/locales`
+
 Property Descriptions
 ---------------------
 
@@ -58,6 +65,8 @@ Property Descriptions
 | *Getter* | get_locale()      |
 +----------+-------------------+
 
+The locale of the translation.
+
 Method Descriptions
 -------------------
 
@@ -65,27 +74,29 @@ Method Descriptions
 
 - void **add_message** **(** :ref:`String<class_String>` src_message, :ref:`String<class_String>` xlated_message **)**
 
-Add a message for translation.
+Adds a message if nonexistent, followed by its translation.
 
 .. _class_Translation_erase_message:
 
 - void **erase_message** **(** :ref:`String<class_String>` src_message **)**
 
-Erase a message.
+Erases a message.
 
 .. _class_Translation_get_message:
 
 - :ref:`String<class_String>` **get_message** **(** :ref:`String<class_String>` src_message **)** const
 
-Return a message for translation.
+Returns a message's translation.
 
 .. _class_Translation_get_message_count:
 
 - :ref:`int<class_int>` **get_message_count** **(** **)** const
 
+Returns the number of existing messages.
+
 .. _class_Translation_get_message_list:
 
 - :ref:`PoolStringArray<class_PoolStringArray>` **get_message_list** **(** **)** const
 
-Return all the messages (keys).
+Returns all the messages (keys).
 

+ 27 - 1
classes/class_translationserver.rst

@@ -14,7 +14,7 @@ TranslationServer
 Brief Description
 -----------------
 
-Server that manages all translations. Translations can be set to it and removed from it.
+Server that manages all translations.
 
 Methods
 -------
@@ -35,6 +35,18 @@ Methods
 | :ref:`String<class_String>`  | :ref:`translate<class_TranslationServer_translate>` **(** :ref:`String<class_String>` message **)** const                           |
 +------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+Server that manages all translations. Translations can be set to it and removed from it.
+
+Tutorials
+---------
+
+- :doc:`../tutorials/i18n/internationalizing_games`
+
+- :doc:`../tutorials/i18n/locales`
+
 Method Descriptions
 -------------------
 
@@ -42,27 +54,41 @@ Method Descriptions
 
 - void **add_translation** **(** :ref:`Translation<class_Translation>` translation **)**
 
+Adds a :ref:`Translation<class_Translation>` resource.
+
 .. _class_TranslationServer_clear:
 
 - void **clear** **(** **)**
 
+Clears the server from all translations.
+
 .. _class_TranslationServer_get_locale:
 
 - :ref:`String<class_String>` **get_locale** **(** **)** const
 
+Returns the current locale of the game.
+
 .. _class_TranslationServer_get_locale_name:
 
 - :ref:`String<class_String>` **get_locale_name** **(** :ref:`String<class_String>` locale **)** const
 
+Returns a locale's language and its variant (e.g. "en_US" would return "English (United States)").
+
 .. _class_TranslationServer_remove_translation:
 
 - void **remove_translation** **(** :ref:`Translation<class_Translation>` translation **)**
 
+Removes the given translation from the server.
+
 .. _class_TranslationServer_set_locale:
 
 - void **set_locale** **(** :ref:`String<class_String>` locale **)**
 
+Sets the locale of the game.
+
 .. _class_TranslationServer_translate:
 
 - :ref:`String<class_String>` **translate** **(** :ref:`String<class_String>` message **)** const
 
+Returns the current locale's translation for the given message (key).
+

+ 2 - 0
classes/class_tree.rst

@@ -118,6 +118,8 @@ Theme Properties
 +---------------------------------+------------------------------------------------------------------------------+
 | :ref:`StyleBox<class_StyleBox>` | :ref:`custom_button_pressed<class_Tree_custom_button_pressed>`               |
 +---------------------------------+------------------------------------------------------------------------------+
+| :ref:`int<class_int>`           | :ref:`draw_guides<class_Tree_draw_guides>`                                   |
++---------------------------------+------------------------------------------------------------------------------+
 | :ref:`int<class_int>`           | :ref:`draw_relationship_lines<class_Tree_draw_relationship_lines>`           |
 +---------------------------------+------------------------------------------------------------------------------+
 | :ref:`Color<class_Color>`       | :ref:`drop_position_color<class_Tree_drop_position_color>`                   |

+ 1 - 1
classes/class_tween.rst

@@ -163,7 +163,7 @@ Here is a brief usage example that causes a 2D node to move smoothly between two
 
 Many methods require a property name, such as "position" above. You can find the correct property name by hovering over the property in the Inspector.
 
-Many of the methods accept ``trans_type`` and ``ease_type``. The first accepts an :ref:`TransitionType<enum_@GlobalScope_TransitionType>` constant, and refers to the way the timing of the animation is handled (see ``http://easings.net/`` for some examples). The second accepts an :ref:`EaseType<enum_@GlobalScope_EaseType>` constant, and controls the where ``trans_type`` is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different :ref:`TransitionType<enum_@GlobalScope_TransitionType>` constants with :ref:`EASE_IN_OUT<enum_@GlobalScope_EASE_IN_OUT>`, and use the one that looks best.
+Many of the methods accept ``trans_type`` and ``ease_type``. The first accepts an :ref:`TransitionType<enum_@GlobalScope_TransitionType>` constant, and refers to the way the timing of the animation is handled (see ``http://easings.net/`` for some examples). The second accepts an :ref:`EaseType<enum_@GlobalScope_EaseType>` constant, and controls the where ``trans_type`` is applied to the interpolation (in the beginning, the end, or both). If you don't know which transition and easing to pick, you can try different :ref:`TransitionType<enum_@GlobalScope_TransitionType>` constants with ``EASE_IN_OUT``, and use the one that looks best.
 
 Property Descriptions
 ---------------------

+ 4 - 2
classes/class_undoredo.rst

@@ -32,7 +32,7 @@ Methods
 +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`add_undo_reference<class_UndoRedo_add_undo_reference>` **(** :ref:`Object<class_Object>` object **)**                                                                          |
 +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`clear_history<class_UndoRedo_clear_history>` **(** **)**                                                                                                                       |
+| void                           | :ref:`clear_history<class_UndoRedo_clear_history>` **(** :ref:`bool<class_bool>` increase_version=true **)**                                                                         |
 +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`commit_action<class_UndoRedo_commit_action>` **(** **)**                                                                                                                       |
 +--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -133,10 +133,12 @@ Register a reference for 'undo' that will be erased if the 'undo' history is los
 
 .. _class_UndoRedo_clear_history:
 
-- void **clear_history** **(** **)**
+- void **clear_history** **(** :ref:`bool<class_bool>` increase_version=true **)**
 
 Clear the undo/redo history and associated references.
 
+Passing ``false`` to ``increase_version`` will prevent the version number to be increased from this.
+
 .. _class_UndoRedo_commit_action:
 
 - void **commit_action** **(** **)**

+ 24 - 0
classes/class_viewport.rst

@@ -38,6 +38,8 @@ Properties
 +---------------------------------------------------------------------------+--------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                                   | :ref:`gui_snap_controls_to_pixels<class_Viewport_gui_snap_controls_to_pixels>` |
 +---------------------------------------------------------------------------+--------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                                   | :ref:`handle_input_locally<class_Viewport_handle_input_locally>`               |
++---------------------------------------------------------------------------+--------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                                   | :ref:`hdr<class_Viewport_hdr>`                                                 |
 +---------------------------------------------------------------------------+--------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                                   | :ref:`keep_3d_linear<class_Viewport_keep_3d_linear>`                           |
@@ -109,12 +111,16 @@ Methods
 +------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`input<class_Viewport_input>` **(** :ref:`InputEvent<class_InputEvent>` local_event **)**                                                                                                                    |
 +------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_input_handled<class_Viewport_is_input_handled>` **(** **)** const                                                                                                                                        |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                        | :ref:`is_size_override_enabled<class_Viewport_is_size_override_enabled>` **(** **)** const                                                                                                                        |
 +------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                        | :ref:`is_size_override_stretch_enabled<class_Viewport_is_size_override_stretch_enabled>` **(** **)** const                                                                                                        |
 +------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_attach_to_screen_rect<class_Viewport_set_attach_to_screen_rect>` **(** :ref:`Rect2<class_Rect2>` rect **)**                                                                                             |
 +------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_input_as_handled<class_Viewport_set_input_as_handled>` **(** **)**                                                                                                                                      |
++------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_size_override<class_Viewport_set_size_override>` **(** :ref:`bool<class_bool>` enable, :ref:`Vector2<class_Vector2>` size=Vector2( -1, -1 ), :ref:`Vector2<class_Vector2>` margin=Vector2( 0, 0 ) **)** |
 +------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_size_override_stretch<class_Viewport_set_size_override_stretch>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                            |
@@ -369,6 +375,16 @@ If ``true`` the viewport will not receive input event. Default value: ``false``.
 
 If ``true`` the GUI controls on the viewport will lay pixel perfectly. Default value: ``true``.
 
+.. _class_Viewport_handle_input_locally:
+
+- :ref:`bool<class_bool>` **handle_input_locally**
+
++----------+---------------------------------+
+| *Setter* | set_handle_input_locally(value) |
++----------+---------------------------------+
+| *Getter* | is_handling_input_locally()     |
++----------+---------------------------------+
+
 .. _class_Viewport_hdr:
 
 - :ref:`bool<class_bool>` **hdr**
@@ -674,6 +690,10 @@ Returns ``true`` if there are visible modals on-screen.
 
 - void **input** **(** :ref:`InputEvent<class_InputEvent>` local_event **)**
 
+.. _class_Viewport_is_input_handled:
+
+- :ref:`bool<class_bool>` **is_input_handled** **(** **)** const
+
 .. _class_Viewport_is_size_override_enabled:
 
 - :ref:`bool<class_bool>` **is_size_override_enabled** **(** **)** const
@@ -690,6 +710,10 @@ Returns ``true`` if the size stretch override is enabled. See :ref:`set_size_ove
 
 - void **set_attach_to_screen_rect** **(** :ref:`Rect2<class_Rect2>` rect **)**
 
+.. _class_Viewport_set_input_as_handled:
+
+- void **set_input_as_handled** **(** **)**
+
 .. _class_Viewport_set_size_override:
 
 - void **set_size_override** **(** :ref:`bool<class_bool>` enable, :ref:`Vector2<class_Vector2>` size=Vector2( -1, -1 ), :ref:`Vector2<class_Vector2>` margin=Vector2( 0, 0 ) **)**

+ 10 - 8
classes/class_visualserver.rst

@@ -52,7 +52,7 @@ Methods
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                     | :ref:`canvas_item_add_nine_patch<class_VisualServer_canvas_item_add_nine_patch>` **(** :ref:`RID<class_RID>` item, :ref:`Rect2<class_Rect2>` rect, :ref:`Rect2<class_Rect2>` source, :ref:`RID<class_RID>` texture, :ref:`Vector2<class_Vector2>` topleft, :ref:`Vector2<class_Vector2>` bottomright, :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` x_axis_mode=0, :ref:`NinePatchAxisMode<enum_VisualServer_NinePatchAxisMode>` y_axis_mode=0, :ref:`bool<class_bool>` draw_center=true, :ref:`Color<class_Color>` modulate=Color( 1, 1, 1, 1 ), :ref:`RID<class_RID>` normal_map **)**                                                 |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                     | :ref:`canvas_item_add_particles<class_VisualServer_canvas_item_add_particles>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map, :ref:`int<class_int>` h_frames, :ref:`int<class_int>` v_frames **)**                                                                                                                                                                                                                                                                                                                                                                  |
+| void                                                     | :ref:`canvas_item_add_particles<class_VisualServer_canvas_item_add_particles>` **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map **)**                                                                                                                                                                                                                                                                                                                                                                                                                                  |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                     | :ref:`canvas_item_add_polygon<class_VisualServer_canvas_item_add_polygon>` **(** :ref:`RID<class_RID>` item, :ref:`PoolVector2Array<class_PoolVector2Array>` points, :ref:`PoolColorArray<class_PoolColorArray>` colors, :ref:`PoolVector2Array<class_PoolVector2Array>` uvs=PoolVector2Array(  ), :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map, :ref:`bool<class_bool>` antialiased=false **)**                                                                                                                                                                                                                                      |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -198,7 +198,7 @@ Methods
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                     | :ref:`environment_set_fog<class_VisualServer_environment_set_fog>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`Color<class_Color>` color, :ref:`Color<class_Color>` sun_color, :ref:`float<class_float>` sun_amount **)**                                                                                                                                                                                                                                                                                                                                                                                                     |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                     | :ref:`environment_set_fog_depth<class_VisualServer_environment_set_fog_depth>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` depth_begin, :ref:`float<class_float>` depth_curve, :ref:`bool<class_bool>` transmit, :ref:`float<class_float>` transmit_curve **)**                                                                                                                                                                                                                                                                                                                                           |
+| void                                                     | :ref:`environment_set_fog_depth<class_VisualServer_environment_set_fog_depth>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` depth_begin, :ref:`float<class_float>` depth_end, :ref:`float<class_float>` depth_curve, :ref:`bool<class_bool>` transmit, :ref:`float<class_float>` transmit_curve **)**                                                                                                                                                                                                                                                                                                      |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                     | :ref:`environment_set_fog_height<class_VisualServer_environment_set_fog_height>` **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` min_height, :ref:`float<class_float>` max_height, :ref:`float<class_float>` height_curve **)**                                                                                                                                                                                                                                                                                                                                                                               |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -688,7 +688,7 @@ Methods
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                     | :ref:`viewport_set_active<class_VisualServer_viewport_set_active>` **(** :ref:`RID<class_RID>` viewport, :ref:`bool<class_bool>` active **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                     | :ref:`viewport_set_canvas_layer<class_VisualServer_viewport_set_canvas_layer>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` layer **)**                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
+| void                                                     | :ref:`viewport_set_canvas_stacking<class_VisualServer_viewport_set_canvas_stacking>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` layer, :ref:`int<class_int>` sublayer **)**                                                                                                                                                                                                                                                                                                                                                                                                                               |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                                     | :ref:`viewport_set_canvas_transform<class_VisualServer_viewport_set_canvas_transform>` **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`Transform2D<class_Transform2D>` offset **)**                                                                                                                                                                                                                                                                                                                                                                                                                                            |
 +----------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -1426,7 +1426,7 @@ See :ref:`NinePatchRect<class_NinePatchRect>` for more explanation.
 
 .. _class_VisualServer_canvas_item_add_particles:
 
-- void **canvas_item_add_particles** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map, :ref:`int<class_int>` h_frames, :ref:`int<class_int>` v_frames **)**
+- void **canvas_item_add_particles** **(** :ref:`RID<class_RID>` item, :ref:`RID<class_RID>` particles, :ref:`RID<class_RID>` texture, :ref:`RID<class_RID>` normal_map **)**
 
 Adds a particles system to the :ref:`CanvasItem<class_CanvasItem>`'s draw commands.
 
@@ -1830,7 +1830,7 @@ Modulates all colors in the given canvas.
 
 .. _class_VisualServer_environment_set_fog_depth:
 
-- void **environment_set_fog_depth** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` depth_begin, :ref:`float<class_float>` depth_curve, :ref:`bool<class_bool>` transmit, :ref:`float<class_float>` transmit_curve **)**
+- void **environment_set_fog_depth** **(** :ref:`RID<class_RID>` env, :ref:`bool<class_bool>` enable, :ref:`float<class_float>` depth_begin, :ref:`float<class_float>` depth_end, :ref:`float<class_float>` depth_curve, :ref:`bool<class_bool>` transmit, :ref:`float<class_float>` transmit_curve **)**
 
 .. _class_VisualServer_environment_set_fog_height:
 
@@ -2962,11 +2962,13 @@ Detaches a viewport from a canvas and vice versa.
 
 If ``true`` sets the viewport active, else sets it inactive.
 
-.. _class_VisualServer_viewport_set_canvas_layer:
+.. _class_VisualServer_viewport_set_canvas_stacking:
 
-- void **viewport_set_canvas_layer** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` layer **)**
+- void **viewport_set_canvas_stacking** **(** :ref:`RID<class_RID>` viewport, :ref:`RID<class_RID>` canvas, :ref:`int<class_int>` layer, :ref:`int<class_int>` sublayer **)**
 
-Sets the renderlayer for a viewport's canvas.
+Sets the stacking order for a viewport's canvas.
+
+``layer`` is the actual canvas layer, while ``sublayer`` specifies the stacking order of the canvas among those in the same layer.
 
 .. _class_VisualServer_viewport_set_canvas_transform:
 

Some files were not shown because too many files changed in this diff