2
0
Эх сурвалжийг харах

classref: Sync with current source

Rémi Verschelde 7 жил өмнө
parent
commit
691a725c3a
64 өөрчлөгдсөн 1526 нэмэгдсэн , 894 устгасан
  1. 3 2
      classes/[email protected]
  2. 30 0
      classes/[email protected]
  3. 6 0
      classes/class_animation.rst
  4. 73 31
      classes/class_animationplayer.rst
  5. 7 1
      classes/class_arvrcontroller.rst
  6. 5 2
      classes/class_arvrserver.rst
  7. 6 6
      classes/class_astar.rst
  8. 97 0
      classes/class_bakedlightmap.rst
  9. 113 0
      classes/class_bakedlightmapdata.rst
  10. 1 1
      classes/class_basis.rst
  11. 72 158
      classes/class_camera.rst
  12. 18 14
      classes/class_canvasitem.rst
  13. 7 7
      classes/class_colorpickerbutton.rst
  14. 1 1
      classes/class_concavepolygonshape2d.rst
  15. 24 20
      classes/class_cubemap.rst
  16. 50 7
      classes/class_curve.rst
  17. 3 1
      classes/class_curve3d.rst
  18. 25 19
      classes/class_dictionary.rst
  19. 2 2
      classes/class_editorresourceconversionplugin.rst
  20. 60 0
      classes/class_gridmap.rst
  21. 106 87
      classes/class_httpclient.rst
  22. 13 13
      classes/class_httprequest.rst
  23. 12 0
      classes/class_image.rst
  24. 21 2
      classes/class_input.rst
  25. 0 14
      classes/class_inputevent.rst
  26. 12 12
      classes/class_ip.rst
  27. 5 0
      classes/class_ip_unix.rst
  28. 1 1
      classes/class_json.rst
  29. 5 5
      classes/class_jsonparseresult.rst
  30. 18 6
      classes/class_kinematicbody.rst
  31. 7 0
      classes/class_light.rst
  32. 8 0
      classes/class_lineedit.rst
  33. 10 4
      classes/class_menubutton.rst
  34. 3 3
      classes/class_mutex.rst
  35. 26 5
      classes/class_navigation.rst
  36. 15 15
      classes/class_navigation2d.rst
  37. 59 51
      classes/class_node.rst
  38. 4 4
      classes/class_node2d.rst
  39. 47 39
      classes/class_optionbutton.rst
  40. 4 4
      classes/class_packetpeer.rst
  41. 33 35
      classes/class_physics2ddirectspacestate.rst
  42. 6 3
      classes/class_physics2dserver.rst
  43. 58 1
      classes/class_physicsdirectspacestate.rst
  44. 12 8
      classes/class_physicsserver.rst
  45. 24 0
      classes/class_popupmenu.rst
  46. 1 1
      classes/class_resource.rst
  47. 18 6
      classes/class_rigidbody.rst
  48. 6 0
      classes/class_scenestate.rst
  49. 18 0
      classes/class_scenetree.rst
  50. 12 0
      classes/class_script.rst
  51. 20 14
      classes/class_scripteditor.rst
  52. 3 3
      classes/class_semaphore.rst
  53. 57 21
      classes/class_spatial.rst
  54. 8 3
      classes/class_spatialmaterial.rst
  55. 1 1
      classes/class_streampeer.rst
  56. 180 178
      classes/class_string.rst
  57. 30 14
      classes/class_textedit.rst
  58. 16 30
      classes/class_tilemap.rst
  59. 8 8
      classes/class_tileset.rst
  60. 8 4
      classes/class_timer.rst
  61. 15 15
      classes/class_transform2d.rst
  62. 2 2
      classes/class_tree.rst
  63. 1 1
      classes/class_visualinstance.rst
  64. 10 9
      classes/class_visualserver.rst

+ 3 - 2
classes/[email protected]

@@ -610,7 +610,7 @@ Converts from linear energy to decibels (audio).
 
 - :ref:`Object<class_object>` **load** **(** :ref:`String<class_string>` path **)**
 
-Loads a resource from the filesystem located at 'path'. Note: resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path".
+Loads a resource from the filesystem located at ``path``. Note: resource paths can be obtained by right clicking on a resource in the Assets Panel and choosing "Copy Path".
 
 ::
 
@@ -895,11 +895,12 @@ Sets seed for the random number generator.
 
 - :ref:`float<class_float>` **sign** **(** :ref:`float<class_float>` s **)**
 
-Returns sign of ``s`` -1 or 1.
+Returns the sign of ``s``: -1 or 1. Returns 0 if ``s`` is 0.
 
 ::
 
     sign(-6) # returns -1
+    sign(0)  # returns 0
     sign(6)  # returns 1
 
 .. _class_@GDScript_sin:

+ 30 - 0
classes/[email protected]

@@ -113,6 +113,10 @@ Numeric Constants
 - **MARGIN_TOP** = **1** --- Top margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
 - **MARGIN_RIGHT** = **2** --- Right margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
 - **MARGIN_BOTTOM** = **3** --- Bottom margin, used usually for :ref:`Control<class_control>` or :ref:`StyleBox<class_stylebox>` derived classes.
+- **CORNER_TOP_LEFT** = **0**
+- **CORNER_TOP_RIGHT** = **1**
+- **CORNER_BOTTOM_RIGHT** = **2**
+- **CORNER_BOTTOM_LEFT** = **3**
 - **VERTICAL** = **1** --- General vertical alignment, used usually for :ref:`Separator<class_separator>`, :ref:`ScrollBar<class_scrollbar>`, :ref:`Slider<class_slider>`, etc.
 - **HORIZONTAL** = **0** --- General horizontal alignment, used usually for :ref:`Separator<class_separator>`, :ref:`ScrollBar<class_scrollbar>`, :ref:`Slider<class_slider>`, etc.
 - **HALIGN_LEFT** = **0** --- Horizontal left alignment, usually for text-derived classes.
@@ -556,6 +560,32 @@ Numeric Constants
 - **TYPE_VECTOR3_ARRAY** = **25** --- Variable is of type :ref:`PoolVector3Array<class_poolvector3array>`.
 - **TYPE_COLOR_ARRAY** = **26** --- Variable is of type :ref:`PoolColorArray<class_poolcolorarray>`.
 - **TYPE_MAX** = **27** --- Marker for end of type constants.
+- **OP_EQUAL** = **0**
+- **OP_NOT_EQUAL** = **1**
+- **OP_LESS** = **2**
+- **OP_LESS_EQUAL** = **3**
+- **OP_GREATER** = **4**
+- **OP_GREATER_EQUAL** = **5**
+- **OP_ADD** = **6**
+- **OP_SUBTRACT** = **7**
+- **OP_MULTIPLY** = **8**
+- **OP_DIVIDE** = **9**
+- **OP_NEGATE** = **10**
+- **OP_POSITIVE** = **11**
+- **OP_MODULE** = **12**
+- **OP_STRING_CONCAT** = **13**
+- **OP_SHIFT_LEFT** = **14**
+- **OP_SHIFT_RIGHT** = **15**
+- **OP_BIT_AND** = **16**
+- **OP_BIT_OR** = **17**
+- **OP_BIT_XOR** = **18**
+- **OP_BIT_NEGATE** = **19**
+- **OP_AND** = **20**
+- **OP_OR** = **21**
+- **OP_XOR** = **22**
+- **OP_NOT** = **23**
+- **OP_IN** = **24**
+- **OP_MAX** = **25**
 
 Description
 -----------

+ 6 - 0
classes/class_animation.rst

@@ -146,6 +146,8 @@ Clear the animation (clear all tracks and reset all).
 
 - void **copy_track** **(** :ref:`int<class_int>` track, :ref:`Animation<class_animation>` to_animation **)**
 
+Adds a new track that is a copy of the given track from ``to_animation``.
+
 .. _class_Animation_find_track:
 
 - :ref:`int<class_int>` **find_track** **(** :ref:`NodePath<class_nodepath>` path **)** const
@@ -282,6 +284,8 @@ Insert a generic key in a given track.
 
 - :ref:`bool<class_bool>` **track_is_enabled** **(** :ref:`int<class_int>` idx **)** const
 
+Returns ``true`` if the track at index ``idx`` is enabled.
+
 .. _class_Animation_track_is_imported:
 
 - :ref:`bool<class_bool>` **track_is_imported** **(** :ref:`int<class_int>` idx **)** const
@@ -316,6 +320,8 @@ Remove a key by position (seconds) in a given track.
 
 - void **track_set_enabled** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enabled **)**
 
+Enables/disables the given track. Tracks are enabled by default.
+
 .. _class_Animation_track_set_imported:
 
 - void **track_set_imported** **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` imported **)**

+ 73 - 31
classes/class_animationplayer.rst

@@ -38,14 +38,22 @@ Member Functions
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`get_animation_list<class_AnimationPlayer_get_animation_list>` **(** **)** const                                                                                                                                  |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`get_autoplay<class_AnimationPlayer_get_autoplay>` **(** **)** const                                                                                                                                              |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                      | :ref:`get_blend_time<class_AnimationPlayer_get_blend_time>` **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to **)** const                                                               |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`get_current_animation<class_AnimationPlayer_get_current_animation>` **(** **)** const                                                                                                                            |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                      | :ref:`get_current_animation_length<class_AnimationPlayer_get_current_animation_length>` **(** **)** const                                                                                                              |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`float<class_float>`                      | :ref:`get_current_animation_position<class_AnimationPlayer_get_current_animation_position>` **(** **)** const                                                                                                          |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`get_speed_scale<class_AnimationPlayer_get_speed_scale>` **(** **)** const                                                                                                                                        |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                        | :ref:`has_animation<class_AnimationPlayer_has_animation>` **(** :ref:`String<class_string>` name **)** const                                                                                                           |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_active<class_AnimationPlayer_is_active>` **(** **)** const                                                                                                                                                    |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                        | :ref:`is_playing<class_AnimationPlayer_is_playing>` **(** **)** const                                                                                                                                                  |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`play<class_AnimationPlayer_play>` **(** :ref:`String<class_string>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)** |
@@ -60,11 +68,17 @@ Member Functions
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`seek<class_AnimationPlayer_seek>` **(** :ref:`float<class_float>` seconds, :ref:`bool<class_bool>` update=false **)**                                                                                            |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_active<class_AnimationPlayer_set_active>` **(** :ref:`bool<class_bool>` active **)**                                                                                                                         |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_autoplay<class_AnimationPlayer_set_autoplay>` **(** :ref:`String<class_string>` name **)**                                                                                                                   |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`set_blend_time<class_AnimationPlayer_set_blend_time>` **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to, :ref:`float<class_float>` sec **)**                                      |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`stop<class_AnimationPlayer_stop>` **(** :ref:`bool<class_bool>` reset=true **)**                                                                                                                                 |
+| void                                           | :ref:`set_current_animation<class_AnimationPlayer_set_current_animation>` **(** :ref:`String<class_string>` anim **)**                                                                                                 |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`set_speed_scale<class_AnimationPlayer_set_speed_scale>` **(** :ref:`float<class_float>` speed **)**                                                                                                              |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`stop_all<class_AnimationPlayer_stop_all>` **(** **)**                                                                                                                                                            |
+| void                                           | :ref:`stop<class_AnimationPlayer_stop>` **(** :ref:`bool<class_bool>` reset=true **)**                                                                                                                                 |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
@@ -74,39 +88,27 @@ Signals
 
 - **animation_changed** **(** :ref:`String<class_string>` old_name, :ref:`String<class_string>` new_name **)**
 
-Emitted when the :ref:`Animation<class_animation>` with key :ref:`current_anim<class_AnimationPlayer_current_anim>` is modified.
+If the currently being played animation changes, this signal will notify of such change.
 
 .. _class_AnimationPlayer_animation_finished:
 
 - **animation_finished** **(** :ref:`String<class_string>` name **)**
 
-Emitted when an animation finishes.
+Notifies when an animation finished playing.
 
 .. _class_AnimationPlayer_animation_started:
 
 - **animation_started** **(** :ref:`String<class_string>` name **)**
 
-Emitted when an animation starts.
+Notifies when an animation starts playing.
 
 
 Member Variables
 ----------------
 
-  .. _class_AnimationPlayer_active:
-
-- :ref:`bool<class_bool>` **active** - If ``true`` updates animations in response to process-related notifications. Default value: ``true``.
-
-  .. _class_AnimationPlayer_autoplay:
-
-- :ref:`String<class_string>` **autoplay** - The name of the animation to play when the scene loads. Default value: ``""``.
-
-  .. _class_AnimationPlayer_current_animation:
-
-- :ref:`String<class_string>` **current_animation** - The name of the current animation. Default value: ``""``.
-
   .. _class_AnimationPlayer_playback_default_blend_time:
 
-- :ref:`float<class_float>` **playback_default_blend_time**
+- :ref:`float<class_float>` **playback_default_blend_time** - The default time in which to blend animations. Ranges from 0 to 4096 with 0.01 precision. Default value: ``0``.
 
   .. _class_AnimationPlayer_playback_process_mode:
 
@@ -116,10 +118,6 @@ Member Variables
 
 - :ref:`NodePath<class_nodepath>` **root_node** - The node from which node path references will travel. Default value: ``".."``.
 
-  .. _class_AnimationPlayer_speed_scale:
-
-- :ref:`float<class_float>` **speed_scale** - The speed scaling ratio in a given animation channel (or channel 0 if none is provided). Default value: ``1``.
-
 
 Numeric Constants
 -----------------
@@ -189,17 +187,29 @@ Returns the :ref:`Animation<class_animation>` with key ``name`` or ``null`` if n
 
 Returns the list of stored animation names.
 
+.. _class_AnimationPlayer_get_autoplay:
+
+- :ref:`String<class_string>` **get_autoplay** **(** **)** const
+
+Returns the name of the animation that will be automatically played when the scene is loaded.
+
 .. _class_AnimationPlayer_get_blend_time:
 
 - :ref:`float<class_float>` **get_blend_time** **(** :ref:`String<class_string>` anim_from, :ref:`String<class_string>` anim_to **)** const
 
 Get the blend time (in seconds) between two animations, referenced by their names.
 
+.. _class_AnimationPlayer_get_current_animation:
+
+- :ref:`String<class_string>` **get_current_animation** **(** **)** const
+
+Returns the name of the animation being played.
+
 .. _class_AnimationPlayer_get_current_animation_length:
 
 - :ref:`float<class_float>` **get_current_animation_length** **(** **)** const
 
-Get the length (in seconds) of the currently playing animation.
+Get the length (in seconds) of the currently being played animation.
 
 .. _class_AnimationPlayer_get_current_animation_position:
 
@@ -207,12 +217,24 @@ Get the length (in seconds) of the currently playing animation.
 
 Get the position (in seconds) of the currently playing animation.
 
+.. _class_AnimationPlayer_get_speed_scale:
+
+- :ref:`float<class_float>` **get_speed_scale** **(** **)** const
+
+Returns the speed scaling ratio of the current animation channel. For instance, if this value is 1 then the animation plays at normal speed. If it's 0.5 then it plays at half speed. If it's 2 then it plays at double speed.
+
 .. _class_AnimationPlayer_has_animation:
 
 - :ref:`bool<class_bool>` **has_animation** **(** :ref:`String<class_string>` name **)** const
 
 Returns ``true`` if the ``AnimationPlayer`` stores an :ref:`Animation<class_animation>` with key ``name``.
 
+.. _class_AnimationPlayer_is_active:
+
+- :ref:`bool<class_bool>` **is_active** **(** **)** const
+
+Returns ``true`` if the player is active.
+
 .. _class_AnimationPlayer_is_playing:
 
 - :ref:`bool<class_bool>` **is_playing** **(** **)** const
@@ -223,7 +245,9 @@ Returns ``true`` if playing an animation.
 
 - void **play** **(** :ref:`String<class_string>` name="", :ref:`float<class_float>` custom_blend=-1, :ref:`float<class_float>` custom_speed=1.0, :ref:`bool<class_bool>` from_end=false **)**
 
-Play the animation with key ``name``. Custom speed and blend times can be set. If custom speed is negative (-1), 'from_end' being true can play the animation backwards.
+Play the animation with key ``name``. Custom speed and blend times can be set. If custom speed is negative (-1), 'from_end' being true can play the
+
+animation backwards.
 
 .. _class_AnimationPlayer_play_backwards:
 
@@ -253,7 +277,19 @@ Rename an existing animation with key ``name`` to ``newname``.
 
 - void **seek** **(** :ref:`float<class_float>` seconds, :ref:`bool<class_bool>` update=false **)**
 
-Seek the animation to the ``seconds`` point in time (in seconds). If 'update' is true, the animation updates too, otherwise it updates at process time.
+Seek the animation to the ``seconds`` point in time (in seconds). If ``update`` is ``true``, the animation updates too, otherwise it updates at process time.
+
+.. _class_AnimationPlayer_set_active:
+
+- void **set_active** **(** :ref:`bool<class_bool>` active **)**
+
+Sets the player as active (playing). If ``true``, updates animations in response to process-related notifications. Default value: ``true``.
+
+.. _class_AnimationPlayer_set_autoplay:
+
+- void **set_autoplay** **(** :ref:`String<class_string>` name **)**
+
+Defines the name of the animation to play when the scene loads. Default value: ``""``.
 
 .. _class_AnimationPlayer_set_blend_time:
 
@@ -261,16 +297,22 @@ Seek the animation to the ``seconds`` point in time (in seconds). If 'update' is
 
 Specify a blend time (in seconds) between two animations, referenced by their names.
 
-.. _class_AnimationPlayer_stop:
+.. _class_AnimationPlayer_set_current_animation:
 
-- void **stop** **(** :ref:`bool<class_bool>` reset=true **)**
+- void **set_current_animation** **(** :ref:`String<class_string>` anim **)**
 
-Stop the currently playing animation. If ``reset`` is ``true``, the anim position is reset to ``0``.
+Sets the name of the current animation. If already playing, restarts the animation. Ensure :ref:`active<class_AnimationPlayer_active>` is ``true`` to simulate :ref:`play<class_AnimationPlayer_play>`. Default value: ``""``.
+
+.. _class_AnimationPlayer_set_speed_scale:
 
-.. _class_AnimationPlayer_stop_all:
+- void **set_speed_scale** **(** :ref:`float<class_float>` speed **)**
 
-- void **stop_all** **(** **)**
+Sets the speed scaling ratio in a given animation channel (or channel 0 if none is provided). Default value: ``1``.
 
-Stop playback of animations (deprecated).
+.. _class_AnimationPlayer_stop:
+
+- void **stop** **(** :ref:`bool<class_bool>` reset=true **)**
+
+Stop the currently playing animation. If ``reset`` is ``true``, the anim position is reset to ``0``.
 
 

+ 7 - 1
classes/class_arvrcontroller.rst

@@ -54,7 +54,13 @@ Member Variables
 
   .. _class_ARVRController_controller_id:
 
-- :ref:`int<class_int>` **controller_id** - The controller's id. The first controller that the :ref:`ARVRServer<class_arvrserver>` detects will have id 1, the second id 2, the third id 3, etc. When a controller is turned off, it's slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off.
+- :ref:`int<class_int>` **controller_id** - The controller's id.
+
+A controller id of 0 is unbound and will always result in an inactive node. Controller id 1 is reserved for the first controller that identifies itself as the left hand controller and id 2 is reserved for the first controller that identifies itself as the right hand controller.
+
+For any other controller that the :ref:`ARVRServer<class_arvrserver>` detects we continue with controller id 3.
+
+When a controller is turned off, its slot is freed. This ensures controllers will keep the same id even when controllers with lower ids are turned off.
 
   .. _class_ARVRController_rumble:
 

+ 5 - 2
classes/class_arvrserver.rst

@@ -20,7 +20,7 @@ Member Functions
 ----------------
 
 +------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                                       | :ref:`center_on_hmd<class_ARVRServer_center_on_hmd>` **(** :ref:`bool<class_bool>` ignore_tilt, :ref:`bool<class_bool>` keep_height **)** |
+| void                                                       | :ref:`center_on_hmd<class_ARVRServer_center_on_hmd>` **(** :ref:`int<class_int>` rotation_mode, :ref:`bool<class_bool>` keep_height **)** |
 +------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`ARVRInterface<class_arvrinterface>`                  | :ref:`find_interface<class_ARVRServer_find_interface>` **(** :ref:`String<class_string>` name **)** const                                 |
 +------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------+
@@ -84,6 +84,9 @@ Numeric Constants
 - **TRACKER_ANY_KNOWN** = **127** --- Used internally to filter trackers of any known type.
 - **TRACKER_UNKNOWN** = **128** --- Used internally if we haven't set the tracker type yet.
 - **TRACKER_ANY** = **255** --- Used internally to select all trackers.
+- **RESET_FULL_ROTATION** = **0** --- Fully reset the orientation of the HMD. Regardless of what direction the user is looking to in the real world. The user will look dead ahead in the virtual world.
+- **RESET_BUT_KEEP_TILT** = **1** --- Resets the orientation but keeps the tilt of the device. So if we're looking down, we keep looking down but heading will be reset.
+- **DONT_RESET_ROTATION** = **2** --- Does not reset the orientation of the HMD, only the position of the player gets centered.
 
 Description
 -----------
@@ -95,7 +98,7 @@ Member Function Description
 
 .. _class_ARVRServer_center_on_hmd:
 
-- void **center_on_hmd** **(** :ref:`bool<class_bool>` ignore_tilt, :ref:`bool<class_bool>` keep_height **)**
+- void **center_on_hmd** **(** :ref:`int<class_int>` rotation_mode, :ref:`bool<class_bool>` keep_height **)**
 
 This is a really important function to understand correctly. AR and VR platforms all handle positioning slightly differently.
 

+ 6 - 6
classes/class_astar.rst

@@ -20,9 +20,9 @@ Member Functions
 ----------------
 
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`_compute_cost<class_AStar__compute_cost>` **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)** virtual                                   |
+| :ref:`float<class_float>`                        | :ref:`_compute_cost<class_AStar__compute_cost>` **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)** virtual                                   |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`_estimate_cost<class_AStar__estimate_cost>` **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)** virtual                                 |
+| :ref:`float<class_float>`                        | :ref:`_estimate_cost<class_AStar__estimate_cost>` **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)** virtual                                 |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                             | :ref:`add_point<class_AStar_add_point>` **(** :ref:`int<class_int>` id, :ref:`Vector3<class_vector3>` position, :ref:`float<class_float>` weight_scale=1.0 **)** |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -42,7 +42,7 @@ Member Functions
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolIntArray<class_poolintarray>`          | :ref:`get_id_path<class_AStar_get_id_path>` **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)**                                               |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolIntArray<class_poolintarray>`          | :ref:`get_point_connections<class_AStar_get_point_connections>` **(** :ref:`int<class_int>` arg0 **)**                                                           |
+| :ref:`PoolIntArray<class_poolintarray>`          | :ref:`get_point_connections<class_AStar_get_point_connections>` **(** :ref:`int<class_int>` id **)**                                                             |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolVector3Array<class_poolvector3array>`  | :ref:`get_point_path<class_AStar_get_point_path>` **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)**                                         |
 +--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -73,13 +73,13 @@ Member Function Description
 
 .. _class_AStar__compute_cost:
 
-- void **_compute_cost** **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)** virtual
+- :ref:`float<class_float>` **_compute_cost** **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)** virtual
 
 Called when computing the cost between two connected points.
 
 .. _class_AStar__estimate_cost:
 
-- void **_estimate_cost** **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)** virtual
+- :ref:`float<class_float>` **_estimate_cost** **(** :ref:`int<class_int>` from_id, :ref:`int<class_int>` to_id **)** virtual
 
 Called when estimating the cost between a point and the path's ending point.
 
@@ -189,7 +189,7 @@ If you change the 2nd point's weight to 3, then the result will be ``[1, 4, 3]``
 
 .. _class_AStar_get_point_connections:
 
-- :ref:`PoolIntArray<class_poolintarray>` **get_point_connections** **(** :ref:`int<class_int>` arg0 **)**
+- :ref:`PoolIntArray<class_poolintarray>` **get_point_connections** **(** :ref:`int<class_int>` id **)**
 
 Returns an array with the ids of the points that form the connect with the given point.
 

+ 97 - 0
classes/class_bakedlightmap.rst

@@ -0,0 +1,97 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the BakedLightmap.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_BakedLightmap:
+
+BakedLightmap
+=============
+
+**Inherits:** :ref:`VisualInstance<class_visualinstance>` **<** :ref:`Spatial<class_spatial>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`  | :ref:`bake<class_BakedLightmap_bake>` **(** :ref:`Node<class_node>` from_node=null, :ref:`bool<class_bool>` create_visual_debug=false **)** |
++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+| void                   | :ref:`debug_bake<class_BakedLightmap_debug_bake>` **(** **)**                                                                               |
++------------------------+---------------------------------------------------------------------------------------------------------------------------------------------+
+
+Member Variables
+----------------
+
+  .. _class_BakedLightmap_bake_cell_size:
+
+- :ref:`float<class_float>` **bake_cell_size**
+
+  .. _class_BakedLightmap_bake_energy:
+
+- :ref:`float<class_float>` **bake_energy**
+
+  .. _class_BakedLightmap_bake_extents:
+
+- :ref:`Vector3<class_vector3>` **bake_extents**
+
+  .. _class_BakedLightmap_bake_hdr:
+
+- :ref:`bool<class_bool>` **bake_hdr**
+
+  .. _class_BakedLightmap_bake_mode:
+
+- :ref:`int<class_int>` **bake_mode**
+
+  .. _class_BakedLightmap_bake_propagation:
+
+- :ref:`float<class_float>` **bake_propagation**
+
+  .. _class_BakedLightmap_bake_quality:
+
+- :ref:`int<class_int>` **bake_quality**
+
+  .. _class_BakedLightmap_capture_cell_size:
+
+- :ref:`float<class_float>` **capture_cell_size**
+
+  .. _class_BakedLightmap_image_path:
+
+- :ref:`String<class_string>` **image_path**
+
+  .. _class_BakedLightmap_light_data:
+
+- :ref:`BakedLightmapData<class_bakedlightmapdata>` **light_data**
+
+
+Numeric Constants
+-----------------
+
+- **BAKE_QUALITY_LOW** = **0**
+- **BAKE_QUALITY_MEDIUM** = **1**
+- **BAKE_QUALITY_HIGH** = **2**
+- **BAKE_MODE_CONE_TRACE** = **0**
+- **BAKE_MODE_RAY_TRACE** = **1**
+- **BAKE_ERROR_OK** = **0**
+- **BAKE_ERROR_NO_SAVE_PATH** = **1**
+- **BAKE_ERROR_NO_MESHES** = **2**
+- **BAKE_ERROR_CANT_CREATE_IMAGE** = **3**
+- **BAKE_ERROR_USER_ABORTED** = **4**
+
+Member Function Description
+---------------------------
+
+.. _class_BakedLightmap_bake:
+
+- :ref:`int<class_int>` **bake** **(** :ref:`Node<class_node>` from_node=null, :ref:`bool<class_bool>` create_visual_debug=false **)**
+
+.. _class_BakedLightmap_debug_bake:
+
+- void **debug_bake** **(** **)**
+
+

+ 113 - 0
classes/class_bakedlightmapdata.rst

@@ -0,0 +1,113 @@
+.. Generated automatically by doc/tools/makerst.py in Godot's source tree.
+.. DO NOT EDIT THIS FILE, but the BakedLightmapData.xml source instead.
+.. The source is found in doc/classes or modules/<name>/doc_classes.
+
+.. _class_BakedLightmapData:
+
+BakedLightmapData
+=================
+
+**Inherits:** :ref:`Resource<class_resource>` **<** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
+
+**Category:** Core
+
+Brief Description
+-----------------
+
+
+
+Member Functions
+----------------
+
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`add_user<class_BakedLightmapData_add_user>` **(** :ref:`NodePath<class_nodepath>` path, :ref:`Texture<class_texture>` lightmap, :ref:`int<class_int>` instance **)** |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`clear_users<class_BakedLightmapData_clear_users>` **(** **)**                                                                                                        |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`AABB<class_aabb>`                    | :ref:`get_bounds<class_BakedLightmapData_get_bounds>` **(** **)** const                                                                                                    |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`          | :ref:`get_cell_space_transform<class_BakedLightmapData_get_cell_space_transform>` **(** **)** const                                                                        |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`get_cell_subdiv<class_BakedLightmapData_get_cell_subdiv>` **(** **)** const                                                                                          |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`get_octree<class_BakedLightmapData_get_octree>` **(** **)** const                                                                                                    |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`get_user_count<class_BakedLightmapData_get_user_count>` **(** **)** const                                                                                            |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`              | :ref:`get_user_lightmap<class_BakedLightmapData_get_user_lightmap>` **(** :ref:`int<class_int>` user_idx **)** const                                                       |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`NodePath<class_nodepath>`            | :ref:`get_user_path<class_BakedLightmapData_get_user_path>` **(** :ref:`int<class_int>` user_idx **)** const                                                               |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_bounds<class_BakedLightmapData_set_bounds>` **(** :ref:`AABB<class_aabb>` bounds **)**                                                                           |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_cell_space_transform<class_BakedLightmapData_set_cell_space_transform>` **(** :ref:`Transform<class_transform>` xform **)**                                      |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_cell_subdiv<class_BakedLightmapData_set_cell_subdiv>` **(** :ref:`int<class_int>` cell_subdiv **)**                                                              |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`set_octree<class_BakedLightmapData_set_octree>` **(** :ref:`PoolByteArray<class_poolbytearray>` octree **)**                                                         |
++--------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Member Variables
+----------------
+
+  .. _class_BakedLightmapData_energy:
+
+- :ref:`float<class_float>` **energy**
+
+
+Member Function Description
+---------------------------
+
+.. _class_BakedLightmapData_add_user:
+
+- void **add_user** **(** :ref:`NodePath<class_nodepath>` path, :ref:`Texture<class_texture>` lightmap, :ref:`int<class_int>` instance **)**
+
+.. _class_BakedLightmapData_clear_users:
+
+- void **clear_users** **(** **)**
+
+.. _class_BakedLightmapData_get_bounds:
+
+- :ref:`AABB<class_aabb>` **get_bounds** **(** **)** const
+
+.. _class_BakedLightmapData_get_cell_space_transform:
+
+- :ref:`Transform<class_transform>` **get_cell_space_transform** **(** **)** const
+
+.. _class_BakedLightmapData_get_cell_subdiv:
+
+- :ref:`int<class_int>` **get_cell_subdiv** **(** **)** const
+
+.. _class_BakedLightmapData_get_octree:
+
+- :ref:`PoolByteArray<class_poolbytearray>` **get_octree** **(** **)** const
+
+.. _class_BakedLightmapData_get_user_count:
+
+- :ref:`int<class_int>` **get_user_count** **(** **)** const
+
+.. _class_BakedLightmapData_get_user_lightmap:
+
+- :ref:`Texture<class_texture>` **get_user_lightmap** **(** :ref:`int<class_int>` user_idx **)** const
+
+.. _class_BakedLightmapData_get_user_path:
+
+- :ref:`NodePath<class_nodepath>` **get_user_path** **(** :ref:`int<class_int>` user_idx **)** const
+
+.. _class_BakedLightmapData_set_bounds:
+
+- void **set_bounds** **(** :ref:`AABB<class_aabb>` bounds **)**
+
+.. _class_BakedLightmapData_set_cell_space_transform:
+
+- void **set_cell_space_transform** **(** :ref:`Transform<class_transform>` xform **)**
+
+.. _class_BakedLightmapData_set_cell_subdiv:
+
+- void **set_cell_subdiv** **(** :ref:`int<class_int>` cell_subdiv **)**
+
+.. _class_BakedLightmapData_set_octree:
+
+- void **set_octree** **(** :ref:`PoolByteArray<class_poolbytearray>` octree **)**
+
+

+ 1 - 1
classes/class_basis.rst

@@ -97,7 +97,7 @@ Create a rotation matrix (in the YXZ convention: first Z, then X, and Y last) fr
 
 - :ref:`Basis<class_basis>` **Basis** **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` phi **)**
 
-Create a rotation matrix which rotates around the given axis by the specified angle. The axis must be a normalized vector.
+Create a rotation matrix which rotates around the given axis by the specified angle, in radians. The axis must be a normalized vector.
 
 .. _class_Basis_Basis:
 

+ 72 - 158
classes/class_camera.rst

@@ -21,164 +21,112 @@ Camera node, displays from a point of view.
 Member Functions
 ----------------
 
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`clear_current<class_Camera_clear_current>` **(** **)**                                                                                                      |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Transform<class_transform>`      | :ref:`get_camera_transform<class_Camera_get_camera_transform>` **(** **)** const                                                                                  |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_cull_mask<class_Camera_get_cull_mask>` **(** **)** const                                                                                                |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_doppler_tracking<class_Camera_get_doppler_tracking>` **(** **)** const                                                                                  |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Environment<class_environment>`  | :ref:`get_environment<class_Camera_get_environment>` **(** **)** const                                                                                            |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_fov<class_Camera_get_fov>` **(** **)** const                                                                                                            |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_h_offset<class_Camera_get_h_offset>` **(** **)** const                                                                                                  |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_keep_aspect_mode<class_Camera_get_keep_aspect_mode>` **(** **)** const                                                                                  |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                  | :ref:`get_projection<class_Camera_get_projection>` **(** **)** const                                                                                              |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_size<class_Camera_get_size>` **(** **)** const                                                                                                          |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_v_offset<class_Camera_get_v_offset>` **(** **)** const                                                                                                  |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_zfar<class_Camera_get_zfar>` **(** **)** const                                                                                                          |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`              | :ref:`get_znear<class_Camera_get_znear>` **(** **)** const                                                                                                        |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_current<class_Camera_is_current>` **(** **)** const                                                                                                      |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                | :ref:`is_position_behind<class_Camera_is_position_behind>` **(** :ref:`Vector3<class_vector3>` world_point **)** const                                            |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`make_current<class_Camera_make_current>` **(** **)**                                                                                                        |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`          | :ref:`project_local_ray_normal<class_Camera_project_local_ray_normal>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const                               |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`          | :ref:`project_position<class_Camera_project_position>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const                                               |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`          | :ref:`project_ray_normal<class_Camera_project_ray_normal>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const                                           |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector3<class_vector3>`          | :ref:`project_ray_origin<class_Camera_project_ray_origin>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const                                           |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_cull_mask<class_Camera_set_cull_mask>` **(** :ref:`int<class_int>` mask **)**                                                                           |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_doppler_tracking<class_Camera_set_doppler_tracking>` **(** :ref:`int<class_int>` mode **)**                                                             |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_environment<class_Camera_set_environment>` **(** :ref:`Environment<class_environment>` env **)**                                                        |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_h_offset<class_Camera_set_h_offset>` **(** :ref:`float<class_float>` ofs **)**                                                                          |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_keep_aspect_mode<class_Camera_set_keep_aspect_mode>` **(** :ref:`int<class_int>` mode **)**                                                             |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_orthogonal<class_Camera_set_orthogonal>` **(** :ref:`float<class_float>` size, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**  |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_perspective<class_Camera_set_perspective>` **(** :ref:`float<class_float>` fov, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                   | :ref:`set_v_offset<class_Camera_set_v_offset>` **(** :ref:`float<class_float>` ofs **)**                                                                          |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`          | :ref:`unproject_position<class_Camera_unproject_position>` **(** :ref:`Vector3<class_vector3>` world_point **)** const                                            |
-+----------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-
-Numeric Constants
------------------
-
-- **PROJECTION_PERSPECTIVE** = **0** --- Perspective Projection (object's size on the screen becomes smaller when far away).
-- **PROJECTION_ORTHOGONAL** = **1** --- Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
-- **KEEP_WIDTH** = **0** --- Try to keep the aspect ratio when scaling the Camera's viewport to the screen. If not possible, preserve the viewport's width by changing the height. Height is ``sizey`` for orthographic projection, ``fovy`` for perspective projection.
-- **KEEP_HEIGHT** = **1** --- Try to keep the aspect ratio when scaling the Camera's viewport to the screen. If not possible, preserve the viewport's height by changing the width. Width is ``sizex`` for orthographic projection, ``fovx`` for perspective projection.
-- **DOPPLER_TRACKING_DISABLED** = **0** --- Disable Doppler effect simulation (default).
-- **DOPPLER_TRACKING_IDLE_STEP** = **1** --- Simulate Doppler effect by tracking positions of objects that are changed in ``_process``. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
-- **DOPPLER_TRACKING_PHYSICS_STEP** = **2** --- Simulate Doppler effect by tracking positions of objects that are changed in ``_physics_process``. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
-
-Description
------------
-
-Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest :ref:`Viewport<class_viewport>` node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the Camera will register in the global viewport. In other words, a Camera just provides *3D* display capabilities to a :ref:`Viewport<class_viewport>`, and, without one, a scene registered in that :ref:`Viewport<class_viewport>` (or higher viewports) can't be displayed.
-
-Member Function Description
----------------------------
-
-.. _class_Camera_clear_current:
-
-- void **clear_current** **(** **)**
-
-If this is the current Camera, remove it from being current. If it is inside the node tree, request to make the next Camera current, if any.
-
-.. _class_Camera_get_camera_transform:
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`clear_current<class_Camera_clear_current>` **(** **)**                                                                                                      |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Transform<class_transform>`  | :ref:`get_camera_transform<class_Camera_get_camera_transform>` **(** **)** const                                                                                  |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`is_position_behind<class_Camera_is_position_behind>` **(** :ref:`Vector3<class_vector3>` world_point **)** const                                            |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`make_current<class_Camera_make_current>` **(** **)**                                                                                                        |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`      | :ref:`project_local_ray_normal<class_Camera_project_local_ray_normal>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const                               |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`      | :ref:`project_position<class_Camera_project_position>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const                                               |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`      | :ref:`project_ray_normal<class_Camera_project_ray_normal>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const                                           |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector3<class_vector3>`      | :ref:`project_ray_origin<class_Camera_project_ray_origin>` **(** :ref:`Vector2<class_vector2>` screen_point **)** const                                           |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_orthogonal<class_Camera_set_orthogonal>` **(** :ref:`float<class_float>` size, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**  |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_perspective<class_Camera_set_perspective>` **(** :ref:`float<class_float>` fov, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)** |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`      | :ref:`unproject_position<class_Camera_unproject_position>` **(** :ref:`Vector3<class_vector3>` world_point **)** const                                            |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+
+Member Variables
+----------------
 
-- :ref:`Transform<class_transform>` **get_camera_transform** **(** **)** const
+  .. _class_Camera_cull_mask:
 
-Get the camera transform. Subclassed cameras (such as CharacterCamera) may provide different transforms than the :ref:`Node<class_node>` transform.
+- :ref:`int<class_int>` **cull_mask** - The culling mask that describes which 3D render layers are rendered by this camera.
 
-.. _class_Camera_get_cull_mask:
+  .. _class_Camera_current:
 
-- :ref:`int<class_int>` **get_cull_mask** **(** **)** const
+- :ref:`bool<class_bool>` **current** - If ``true`` the ancestor :ref:`Viewport<class_viewport>` is currently using this Camera. Default value: ``false``.
 
-Returns the culling mask, describing which 3D render layers are rendered by this Camera.
+  .. _class_Camera_doppler_tracking:
 
-.. _class_Camera_get_doppler_tracking:
+- :ref:`int<class_int>` **doppler_tracking** - If not ``DOPPLER_TRACKING_DISABLED`` this Camera will simulate the Doppler effect for objects changed in particular ``_process`` methods. Default value: ``DOPPLER_TRACKING_DISABLED``.
 
-- :ref:`int<class_int>` **get_doppler_tracking** **(** **)** const
+  .. _class_Camera_environment:
 
-.. _class_Camera_get_environment:
+- :ref:`Environment<class_environment>` **environment** - Set the :ref:`Environment<class_environment>` to use for this Camera.
 
-- :ref:`Environment<class_environment>` **get_environment** **(** **)** const
+  .. _class_Camera_far:
 
-Returns the :ref:`Environment<class_environment>` used by this Camera.
+- :ref:`float<class_float>` **far** - The distance to the far culling boundary for this Camera relative to its local z-axis.
 
-.. _class_Camera_get_fov:
+  .. _class_Camera_fov:
 
-- :ref:`float<class_float>` **get_fov** **(** **)** const
+- :ref:`float<class_float>` **fov** - The camera's field of view angle (in degrees). Only applicable in perspective mode. Since :ref:`keep_aspect<class_Camera_keep_aspect>` locks one axis, ``fov`` sets the other axis' field of view angle.
 
-Returns the *FOV* Y angle in degrees (FOV means Field of View).
+  .. _class_Camera_h_offset:
 
-.. _class_Camera_get_h_offset:
+- :ref:`float<class_float>` **h_offset** - The horizontal (X) offset of the Camear viewport.
 
-- :ref:`float<class_float>` **get_h_offset** **(** **)** const
+  .. _class_Camera_keep_aspect:
 
-Returns the horizontal (X) offset of the Camera viewport.
+- :ref:`int<class_int>` **keep_aspect** - The axis to lock during :ref:`fov<class_Camera_fov>`/:ref:`size<class_Camera_size>` adjustments.
 
-.. _class_Camera_get_keep_aspect_mode:
+  .. _class_Camera_near:
 
-- :ref:`int<class_int>` **get_keep_aspect_mode** **(** **)** const
+- :ref:`float<class_float>` **near** - The distance to the near culling boundary for this Camera relative to its local z-axis.
 
-Returns the current mode for keeping the aspect ratio. See ``KEEP\_\*`` constants.
+  .. _class_Camera_projection:
 
-.. _class_Camera_get_projection:
+- :ref:`int<class_int>` **projection** - The camera's projection mode. In ``PROJECTION_PERSPECTIVE`` mode, objects' z-distance from the camera's local space scales their perceived size.
 
-- :ref:`int<class_int>` **get_projection** **(** **)** const
+  .. _class_Camera_size:
 
-Returns the Camera's projection. See PROJECTION\_\* constants.
+- :ref:`float<class_float>` **size** - The camera's size measured as 1/2 the width or height. Only applicable in orthogonal mode. Since :ref:`keep_aspect<class_Camera_keep_aspect>` locks on axis, ``size`` sets the other axis' size length.
 
-.. _class_Camera_get_size:
+  .. _class_Camera_v_offset:
 
-- :ref:`float<class_float>` **get_size** **(** **)** const
+- :ref:`float<class_float>` **v_offset** - The horizontal (Y) offset of the Camear viewport.
 
-.. _class_Camera_get_v_offset:
 
-- :ref:`float<class_float>` **get_v_offset** **(** **)** const
+Numeric Constants
+-----------------
 
-Returns the vertical (Y) offset of the Camera viewport.
+- **PROJECTION_PERSPECTIVE** = **0** --- Perspective Projection (object's size on the screen becomes smaller when far away).
+- **PROJECTION_ORTHOGONAL** = **1** --- Orthogonal Projection (objects remain the same size on the screen no matter how far away they are).
+- **KEEP_WIDTH** = **0** --- Preserves the horizontal aspect ratio.
+- **KEEP_HEIGHT** = **1** --- Preserves the vertical aspect ratio.
+- **DOPPLER_TRACKING_DISABLED** = **0** --- Disable Doppler effect simulation (default).
+- **DOPPLER_TRACKING_IDLE_STEP** = **1** --- Simulate Doppler effect by tracking positions of objects that are changed in ``_process``. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
+- **DOPPLER_TRACKING_PHYSICS_STEP** = **2** --- Simulate Doppler effect by tracking positions of objects that are changed in ``_physics_process``. Changes in the relative velocity of this Camera compared to those objects affect how Audio is perceived (changing the Audio's ``pitch shift``).
 
-.. _class_Camera_get_zfar:
+Description
+-----------
 
-- :ref:`float<class_float>` **get_zfar** **(** **)** const
+Camera is a special node that displays what is visible from its current location. Cameras register themselves in the nearest :ref:`Viewport<class_viewport>` node (when ascending the tree). Only one camera can be active per viewport. If no viewport is available ascending the tree, the Camera will register in the global viewport. In other words, a Camera just provides *3D* display capabilities to a :ref:`Viewport<class_viewport>`, and, without one, a scene registered in that :ref:`Viewport<class_viewport>` (or higher viewports) can't be displayed.
 
-Returns the far clip plane in world space units.
+Member Function Description
+---------------------------
 
-.. _class_Camera_get_znear:
+.. _class_Camera_clear_current:
 
-- :ref:`float<class_float>` **get_znear** **(** **)** const
+- void **clear_current** **(** **)**
 
-Returns the near clip plane in world space units.
+If this is the current Camera, remove it from being current. If it is inside the node tree, request to make the next Camera current, if any.
 
-.. _class_Camera_is_current:
+.. _class_Camera_get_camera_transform:
 
-- :ref:`bool<class_bool>` **is_current** **(** **)** const
+- :ref:`Transform<class_transform>` **get_camera_transform** **(** **)** const
 
-Returns ``true`` if the Camera is the current one in the :ref:`Viewport<class_viewport>`, or plans to become current (if outside the scene tree).
+Get the camera transform. Subclassed cameras (such as CharacterCamera) may provide different transforms than the :ref:`Node<class_node>` transform.
 
 .. _class_Camera_is_position_behind:
 
@@ -196,6 +144,8 @@ Make this camera the current Camera for the :ref:`Viewport<class_viewport>` (see
 
 - :ref:`Vector3<class_vector3>` **project_local_ray_normal** **(** :ref:`Vector2<class_vector2>` screen_point **)** const
 
+Returns a normal vector from the screen point location directed along the camera. Orthogonal cameras are normalized. Perspective cameras account for perspective, screen width/height, etc.
+
 .. _class_Camera_project_position:
 
 - :ref:`Vector3<class_vector3>` **project_position** **(** :ref:`Vector2<class_vector2>` screen_point **)** const
@@ -214,36 +164,6 @@ Returns a normal vector in worldspace, that is the result of projecting a point
 
 Returns a 3D position in worldspace, that is the result of projecting a point on the :ref:`Viewport<class_viewport>` rectangle by the camera projection. This is useful for casting rays in the form of (origin, normal) for object intersection or picking.
 
-.. _class_Camera_set_cull_mask:
-
-- void **set_cull_mask** **(** :ref:`int<class_int>` mask **)**
-
-Sets the cull mask, describing which 3D render layers are rendered by this Camera.
-
-.. _class_Camera_set_doppler_tracking:
-
-- void **set_doppler_tracking** **(** :ref:`int<class_int>` mode **)**
-
-Changes Doppler effect tracking. See ``DOPPLER\_\*`` constants.
-
-.. _class_Camera_set_environment:
-
-- void **set_environment** **(** :ref:`Environment<class_environment>` env **)**
-
-Sets the :ref:`Environment<class_environment>` to use for this Camera.
-
-.. _class_Camera_set_h_offset:
-
-- void **set_h_offset** **(** :ref:`float<class_float>` ofs **)**
-
-Sets the horizontal (X) offset of the Camera viewport.
-
-.. _class_Camera_set_keep_aspect_mode:
-
-- void **set_keep_aspect_mode** **(** :ref:`int<class_int>` mode **)**
-
-Sets the mode for keeping the aspect ratio. See ``KEEP\_\*`` constants.
-
 .. _class_Camera_set_orthogonal:
 
 - void **set_orthogonal** **(** :ref:`float<class_float>` size, :ref:`float<class_float>` z_near, :ref:`float<class_float>` z_far **)**
@@ -256,12 +176,6 @@ Set the camera projection to orthogonal mode, by specifying a width and the *nea
 
 Set the camera projection to perspective mode, by specifying a *FOV* Y angle in degrees (FOV means Field of View), and the *near* and *far* clip planes in worldspace units.
 
-.. _class_Camera_set_v_offset:
-
-- void **set_v_offset** **(** :ref:`float<class_float>` ofs **)**
-
-Sets the vertical (Y) offset of the Camera viewport.
-
 .. _class_Camera_unproject_position:
 
 - :ref:`Vector2<class_vector2>` **unproject_position** **(** :ref:`Vector3<class_vector3>` world_point **)** const

+ 18 - 14
classes/class_canvasitem.rst

@@ -211,63 +211,67 @@ Called (if exists) to draw the canvas item.
 
 - :ref:`float<class_float>` **draw_char** **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` position, :ref:`String<class_string>` char, :ref:`String<class_string>` next, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ) **)**
 
-Draw a string character using a custom font. Returns the advance, depending on the char width and kerning with an optional next char.
+Draws a string character using a custom font. Returns the advance, depending on the char width and kerning with an optional next char.
 
 .. _class_CanvasItem_draw_circle:
 
 - void **draw_circle** **(** :ref:`Vector2<class_vector2>` position, :ref:`float<class_float>` radius, :ref:`Color<class_color>` color **)**
 
-Draw a colored circle.
+Draws a colored circle.
 
 .. _class_CanvasItem_draw_colored_polygon:
 
 - void **draw_colored_polygon** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array(  ), :ref:`Texture<class_texture>` texture=null, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` antialiased=false **)**
 
-Draw a colored polygon of any amount of points, convex or concave.
+Draws a colored polygon of any amount of points, convex or concave.
 
 .. _class_CanvasItem_draw_line:
 
 - void **draw_line** **(** :ref:`Vector2<class_vector2>` from, :ref:`Vector2<class_vector2>` to, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
-Draw a line from a 2D point to another, with a given color and width. It can be optionally antialiased.
+Draws a line from a 2D point to another, with a given color and width. It can be optionally antialiased.
 
 .. _class_CanvasItem_draw_multiline:
 
 - void **draw_multiline** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
+Draws multiple, parallel lines with a uniform ``color`` and ``width`` and optional antialiasing.
+
 .. _class_CanvasItem_draw_multiline_colors:
 
 - void **draw_multiline_colors** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
+Draws multiple, parallel lines with a uniform ``width``, segment-by-segment coloring, and optional antialiasing. Colors assigned to line segments match by index between ``points`` and ``colors``.
+
 .. _class_CanvasItem_draw_polygon:
 
 - void **draw_polygon** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs=PoolVector2Array(  ), :ref:`Texture<class_texture>` texture=null, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` antialiased=false **)**
 
-Draw a polygon of any amount of points, convex or concave.
+Draws a polygon of any amount of points, convex or concave.
 
 .. _class_CanvasItem_draw_polyline:
 
 - void **draw_polyline** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`Color<class_color>` color, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
-Draw a polyline with a uniform ``color`` and ``width`` and optional antialiasing.
+Draws interconnected line segments with a uniform ``color`` and ``width`` and optional antialiasing.
 
 .. _class_CanvasItem_draw_polyline_colors:
 
 - void **draw_polyline_colors** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`float<class_float>` width=1.0, :ref:`bool<class_bool>` antialiased=false **)**
 
-Draw a polyline with a uniform ``width``, segment-by-segment coloring, and optional antialiasing. Colors assigned to line segments match by index between ``points`` and ``colors``.
+Draws interconnected line segments with a uniform ``width``, segment-by-segment coloring, and optional antialiasing. Colors assigned to line segments match by index between ``points`` and ``colors``.
 
 .. _class_CanvasItem_draw_primitive:
 
 - void **draw_primitive** **(** :ref:`PoolVector2Array<class_poolvector2array>` points, :ref:`PoolColorArray<class_poolcolorarray>` colors, :ref:`PoolVector2Array<class_poolvector2array>` uvs, :ref:`Texture<class_texture>` texture=null, :ref:`float<class_float>` width=1.0, :ref:`Texture<class_texture>` normal_map=null **)**
 
-Draw a custom primitive, 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad.
+Draws a custom primitive, 1 point for a point, 2 points for a line, 3 points for a triangle and 4 points for a quad.
 
 .. _class_CanvasItem_draw_rect:
 
 - void **draw_rect** **(** :ref:`Rect2<class_rect2>` rect, :ref:`Color<class_color>` color, :ref:`bool<class_bool>` filled=true **)**
 
-Draw a colored rectangle.
+Draws a colored rectangle.
 
 .. _class_CanvasItem_draw_set_transform:
 
@@ -285,31 +289,31 @@ Sets a custom transform for drawing via matrix. Anything drawn afterwards will b
 
 - void **draw_string** **(** :ref:`Font<class_font>` font, :ref:`Vector2<class_vector2>` position, :ref:`String<class_string>` text, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`int<class_int>` clip_w=-1 **)**
 
-Draw a string using a custom font.
+Draws a string using a custom font.
 
 .. _class_CanvasItem_draw_style_box:
 
 - void **draw_style_box** **(** :ref:`StyleBox<class_stylebox>` style_box, :ref:`Rect2<class_rect2>` rect **)**
 
-Draw a styled rectangle.
+Draws a styled rectangle.
 
 .. _class_CanvasItem_draw_texture:
 
 - void **draw_texture** **(** :ref:`Texture<class_texture>` texture, :ref:`Vector2<class_vector2>` position, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`Texture<class_texture>` normal_map=null **)**
 
-Draw a texture at a given position.
+Draws a texture at a given position.
 
 .. _class_CanvasItem_draw_texture_rect:
 
 - void **draw_texture_rect** **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`bool<class_bool>` tile, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=null **)**
 
-Draw a textured rectangle at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
+Draws a textured rectangle at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
 
 .. _class_CanvasItem_draw_texture_rect_region:
 
 - void **draw_texture_rect_region** **(** :ref:`Texture<class_texture>` texture, :ref:`Rect2<class_rect2>` rect, :ref:`Rect2<class_rect2>` src_rect, :ref:`Color<class_color>` modulate=Color( 1, 1, 1, 1 ), :ref:`bool<class_bool>` transpose=false, :ref:`Texture<class_texture>` normal_map=null, :ref:`bool<class_bool>` clip_uv=true **)**
 
-Draw a textured rectangle region at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
+Draws a textured rectangle region at a given position, optionally modulated by a color. Transpose swaps the x and y coordinates when reading the texture.
 
 .. _class_CanvasItem_get_canvas:
 

+ 7 - 7
classes/class_colorpickerbutton.rst

@@ -19,11 +19,11 @@ Button that pops out a :ref:`ColorPicker<class_colorpicker>`
 Member Functions
 ----------------
 
-+----------------------------------------+-------------------------------------------------------------------+
-| :ref:`ColorPicker<class_colorpicker>`  | :ref:`get_picker<class_ColorPickerButton_get_picker>` **(** **)** |
-+----------------------------------------+-------------------------------------------------------------------+
-| :ref:`PopupPanel<class_popuppanel>`    | :ref:`get_popup<class_ColorPickerButton_get_popup>` **(** **)**   |
-+----------------------------------------+-------------------------------------------------------------------+
++----------------------------------------+-------------------------------------------------------------------------+
+| :ref:`ColorPicker<class_colorpicker>`  | :ref:`get_picker<class_ColorPickerButton_get_picker>` **(** **)** const |
++----------------------------------------+-------------------------------------------------------------------------+
+| :ref:`PopupPanel<class_popuppanel>`    | :ref:`get_popup<class_ColorPickerButton_get_popup>` **(** **)** const   |
++----------------------------------------+-------------------------------------------------------------------------+
 
 Signals
 -------
@@ -57,13 +57,13 @@ Member Function Description
 
 .. _class_ColorPickerButton_get_picker:
 
-- :ref:`ColorPicker<class_colorpicker>` **get_picker** **(** **)**
+- :ref:`ColorPicker<class_colorpicker>` **get_picker** **(** **)** const
 
 Returns the ``ColorPicker`` that this ``ColorPickerButton`` toggles.
 
 .. _class_ColorPickerButton_get_popup:
 
-- :ref:`PopupPanel<class_popuppanel>` **get_popup** **(** **)**
+- :ref:`PopupPanel<class_popuppanel>` **get_popup** **(** **)** const
 
 Returns the control's :ref:`PopupPanel<class_popuppanel>` which allows you to connect to Popup Signals. This allows you to handle events when the ColorPicker is shown or hidden.
 

+ 1 - 1
classes/class_concavepolygonshape2d.rst

@@ -21,7 +21,7 @@ Member Variables
 
   .. _class_ConcavePolygonShape2D_segments:
 
-- :ref:`PoolVector2Array<class_poolvector2array>` **segments**
+- :ref:`PoolVector2Array<class_poolvector2array>` **segments** - The array of points that make up the ``ConcavePolygonShape2D``'s line segments.
 
 
 Description

+ 24 - 20
classes/class_cubemap.rst

@@ -38,34 +38,34 @@ Member Variables
 
   .. _class_CubeMap_lossy_storage_quality:
 
-- :ref:`float<class_float>` **lossy_storage_quality** - The lossy storage quality of the CubeMap if the storage mode is set to STORAGE_COMPRESS_LOSSY.
+- :ref:`float<class_float>` **lossy_storage_quality** - The lossy storage quality of the ``CubeMap`` if the storage mode is set to STORAGE_COMPRESS_LOSSY.
 
   .. _class_CubeMap_storage_mode:
 
-- :ref:`int<class_int>` **storage_mode** - The CubeMap's storage mode. See ``STORAGE\_\*`` constants.
+- :ref:`int<class_int>` **storage_mode** - The ``CubeMap``'s storage mode. See ``STORAGE\_\*`` constants.
 
 
 Numeric Constants
 -----------------
 
-- **STORAGE_RAW** = **0**
-- **STORAGE_COMPRESS_LOSSY** = **1**
-- **STORAGE_COMPRESS_LOSSLESS** = **2**
-- **SIDE_LEFT** = **0**
-- **SIDE_RIGHT** = **1**
-- **SIDE_BOTTOM** = **2**
-- **SIDE_TOP** = **3**
-- **SIDE_FRONT** = **4**
-- **SIDE_BACK** = **5**
-- **FLAG_MIPMAPS** = **1**
-- **FLAG_REPEAT** = **2**
-- **FLAG_FILTER** = **4**
-- **FLAGS_DEFAULT** = **7**
+- **STORAGE_RAW** = **0** --- Store the ``CubeMap`` without any compression.
+- **STORAGE_COMPRESS_LOSSY** = **1** --- Store the ``CubeMap`` with strong compression that reduces image quality.
+- **STORAGE_COMPRESS_LOSSLESS** = **2** --- Store the ``CubeMap`` with moderate compression that doesn't reduce image quality.
+- **SIDE_LEFT** = **0** --- Identifier for the left face of the ``CubeMap``.
+- **SIDE_RIGHT** = **1** --- Identifier for the right face of the ``CubeMap``.
+- **SIDE_BOTTOM** = **2** --- Identifier for the bottom face of the ``CubeMap``.
+- **SIDE_TOP** = **3** --- Identifier for the top face of the ``CubeMap``.
+- **SIDE_FRONT** = **4** --- Identifier for the front face of the ``CubeMap``.
+- **SIDE_BACK** = **5** --- Identifier for the back face of the ``CubeMap``.
+- **FLAG_MIPMAPS** = **1** --- Generate mipmaps, to enable smooth zooming out of the texture.
+- **FLAG_REPEAT** = **2** --- Repeat (instead of clamp to edge).
+- **FLAG_FILTER** = **4** --- Turn on magnifying filter, to enable smooth zooming in of the texture.
+- **FLAGS_DEFAULT** = **7** --- Default flags. Generate mipmaps, repeat, and filter are enabled.
 
 Description
 -----------
 
-A CubeMap is a 6 sided 3D texture typically used for faking reflections. It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods.
+A 6-sided 3D texture typically used for faking reflections. It can be used to make an object look as if it's reflecting its surroundings. This usually delivers much better performance than other reflection methods.
 
 Member Function Description
 ---------------------------
@@ -74,32 +74,36 @@ Member Function Description
 
 - :ref:`int<class_int>` **get_flags** **(** **)** const
 
+Returns the render flags for the ``CubeMap``. See the ``FLAG\_\*`` constants for details.
+
 .. _class_CubeMap_get_height:
 
 - :ref:`int<class_int>` **get_height** **(** **)** const
 
-Returns the CubeMap's height.
+Returns the ``CubeMap``'s height.
 
 .. _class_CubeMap_get_side:
 
 - :ref:`Image<class_image>` **get_side** **(** :ref:`int<class_int>` side **)** const
 
-Returns an :ref:`Image<class_image>` for a side of the CubeMap using one of the ``SIDE\_\*`` constants or an integer 0-5.
+Returns an :ref:`Image<class_image>` for a side of the ``CubeMap`` using one of the ``SIDE\_\*`` constants or an integer 0-5.
 
 .. _class_CubeMap_get_width:
 
 - :ref:`int<class_int>` **get_width** **(** **)** const
 
-Returns the CubeMap's width.
+Returns the ``CubeMap``'s width.
 
 .. _class_CubeMap_set_flags:
 
 - void **set_flags** **(** :ref:`int<class_int>` flags **)**
 
+Returns the render flags for the ``CubeMap``. See the ``FLAG\_\*`` constants for details.
+
 .. _class_CubeMap_set_side:
 
 - void **set_side** **(** :ref:`int<class_int>` side, :ref:`Image<class_image>` image **)**
 
-Sets an :ref:`Image<class_image>` for a side of the CubeMap using one of the ``SIDE\_\*`` constants or an integer 0-5.
+Sets an :ref:`Image<class_image>` for a side of the ``CubeMap`` using one of the ``SIDE\_\*`` constants or an integer 0-5.
 
 

+ 50 - 7
classes/class_curve.rst

@@ -14,7 +14,7 @@ Curve
 Brief Description
 -----------------
 
-
+A mathematic curve.
 
 Member Functions
 ----------------
@@ -64,29 +64,36 @@ Signals
 
 - **range_changed** **(** **)**
 
+Emitted when :ref:`max_value<class_Curve_max_value>` or :ref:`min_value<class_Curve_min_value>` is changed.
+
 
 Member Variables
 ----------------
 
   .. _class_Curve_bake_resolution:
 
-- :ref:`int<class_int>` **bake_resolution**
+- :ref:`int<class_int>` **bake_resolution** - The number of points to include in the baked (i.e. cached) curve data.
 
   .. _class_Curve_max_value:
 
-- :ref:`float<class_float>` **max_value**
+- :ref:`float<class_float>` **max_value** - The maximum value the curve can reach. Default value: ``1``.
 
   .. _class_Curve_min_value:
 
-- :ref:`float<class_float>` **min_value**
+- :ref:`float<class_float>` **min_value** - The minimum value the curve can reach. Default value: ``0``.
 
 
 Numeric Constants
 -----------------
 
-- **TANGENT_FREE** = **0**
-- **TANGENT_LINEAR** = **1**
-- **TANGENT_MODE_COUNT** = **2**
+- **TANGENT_FREE** = **0** --- The tangent on this side of the point is user-defined.
+- **TANGENT_LINEAR** = **1** --- The curve calculates the tangent on this side of the point as the slope halfway towards the adjacent point.
+- **TANGENT_MODE_COUNT** = **2** --- The total number of available tangent modes.
+
+Description
+-----------
+
+A curve that can be saved and re-used for other objects. By default it ranges between ``0`` and ``1`` on the y-axis and positions points relative to the ``0.5`` y-position.
 
 Member Function Description
 ---------------------------
@@ -95,72 +102,108 @@ Member Function Description
 
 - :ref:`int<class_int>` **add_point** **(** :ref:`Vector2<class_vector2>` position, :ref:`float<class_float>` left_tangent=0, :ref:`float<class_float>` right_tangent=0, :ref:`int<class_int>` left_mode=0, :ref:`int<class_int>` right_mode=0 **)**
 
+Adds a point to the curve. For each side, if the ``\*_mode`` is ``TANGENT_LINEAR``, the ``\*_tangent`` angle (in degrees) uses the slope of the curve halfway to the adjacent point. Allows custom assignments to the ``\*_tangent`` angle if ``\*_mode`` is set to ``TANGENT_FREE``.
+
 .. _class_Curve_bake:
 
 - void **bake** **(** **)**
 
+Recomputes the baked cache of points for the curve.
+
 .. _class_Curve_clean_dupes:
 
 - void **clean_dupes** **(** **)**
 
+Removes points that are closer than ``CMP_EPSILON`` (0.00001) units to their neighbor on the curve.
+
 .. _class_Curve_clear_points:
 
 - void **clear_points** **(** **)**
 
+Removes all points from the curve.
+
 .. _class_Curve_get_point_left_mode:
 
 - :ref:`int<class_int>` **get_point_left_mode** **(** :ref:`int<class_int>` index **)** const
 
+Returns the left ``TangentMode`` for the point at ``index``.
+
 .. _class_Curve_get_point_left_tangent:
 
 - :ref:`float<class_float>` **get_point_left_tangent** **(** :ref:`int<class_int>` index **)** const
 
+Returns the left tangent angle (in degrees) for the point at ``index``.
+
 .. _class_Curve_get_point_position:
 
 - :ref:`Vector2<class_vector2>` **get_point_position** **(** :ref:`int<class_int>` index **)** const
 
+Returns the curve coordinates for the point at ``index``.
+
 .. _class_Curve_get_point_right_mode:
 
 - :ref:`int<class_int>` **get_point_right_mode** **(** :ref:`int<class_int>` index **)** const
 
+Returns the right ``TangentMode`` for the point at ``index``.
+
 .. _class_Curve_get_point_right_tangent:
 
 - :ref:`float<class_float>` **get_point_right_tangent** **(** :ref:`int<class_int>` index **)** const
 
+Returns the right tangent angle (in degrees) for the point at ``index``.
+
 .. _class_Curve_interpolate:
 
 - :ref:`float<class_float>` **interpolate** **(** :ref:`float<class_float>` offset **)** const
 
+Returns the y value for the point that would exist at x-position ``offset`` along the curve.
+
 .. _class_Curve_interpolate_baked:
 
 - :ref:`float<class_float>` **interpolate_baked** **(** :ref:`float<class_float>` offset **)**
 
+Returns the y value for the point that would exist at x-position ``offset`` along the curve using the baked cache. Bakes the curve's points if not already baked.
+
 .. _class_Curve_remove_point:
 
 - void **remove_point** **(** :ref:`int<class_int>` index **)**
 
+Removes the point at ``index`` from the curve.
+
 .. _class_Curve_set_point_left_mode:
 
 - void **set_point_left_mode** **(** :ref:`int<class_int>` index, :ref:`int<class_int>` mode **)**
 
+Sets the left ``TangentMode`` for the point at ``index`` to ``mode``.
+
 .. _class_Curve_set_point_left_tangent:
 
 - void **set_point_left_tangent** **(** :ref:`int<class_int>` index, :ref:`float<class_float>` tangent **)**
 
+Sets the left tangent angle for the point at ``index`` to ``tangent``.
+
 .. _class_Curve_set_point_offset:
 
 - :ref:`int<class_int>` **set_point_offset** **(** :ref:`int<class_int>` index, :ref:`float<class_float>` offset **)**
 
+Sets the offset from ``0.5``
+
 .. _class_Curve_set_point_right_mode:
 
 - void **set_point_right_mode** **(** :ref:`int<class_int>` index, :ref:`int<class_int>` mode **)**
 
+Sets the right ``TangentMode`` for the point at ``index`` to ``mode``.
+
 .. _class_Curve_set_point_right_tangent:
 
 - void **set_point_right_tangent** **(** :ref:`int<class_int>` index, :ref:`float<class_float>` tangent **)**
 
+Sets the right tangent angle for the point at ``index`` to ``tangent``.
+
 .. _class_Curve_set_point_value:
 
 - void **set_point_value** **(** :ref:`int<class_int>` index, :ref:`float<class_float>` y **)**
 
+Assigns the vertical position ``y`` to the point at ``index``.
+
 

+ 3 - 1
classes/class_curve3d.rst

@@ -64,7 +64,7 @@ Member Variables
 
   .. _class_Curve3D_bake_interval:
 
-- :ref:`float<class_float>` **bake_interval**
+- :ref:`float<class_float>` **bake_interval** - The distance in meters between two adjacent cached points. Changing it forces the cache to be recomputed the next time the :ref:`get_baked_points<class_Curve3D_get_baked_points>` or :ref:`get_baked_length<class_Curve3D_get_baked_length>` function is called. The smaller the distance, the more points in the cache and the more memory it will consume, so use with care.
 
 
 Description
@@ -89,6 +89,8 @@ If "at_position" is given, the point is inserted before the point number "at_pos
 
 - void **clear_points** **(** **)**
 
+Removes all points from the curve.
+
 .. _class_Curve3D_get_baked_length:
 
 - :ref:`float<class_float>` **get_baked_length** **(** **)** const

+ 25 - 19
classes/class_dictionary.rst

@@ -17,25 +17,27 @@ Dictionary type.
 Member Functions
 ----------------
 
-+----------------------------+-------------------------------------------------------------------------------------+
-| void                       | :ref:`clear<class_Dictionary_clear>` **(** **)**                                    |
-+----------------------------+-------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`    | :ref:`empty<class_Dictionary_empty>` **(** **)**                                    |
-+----------------------------+-------------------------------------------------------------------------------------+
-| void                       | :ref:`erase<class_Dictionary_erase>` **(** var key **)**                            |
-+----------------------------+-------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`    | :ref:`has<class_Dictionary_has>` **(** var 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>`              | :ref:`empty<class_Dictionary_empty>` **(** **)**                                    |
++--------------------------------------+-------------------------------------------------------------------------------------+
+| void                                 | :ref:`erase<class_Dictionary_erase>` **(** var key **)**                            |
++--------------------------------------+-------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`              | :ref:`has<class_Dictionary_has>` **(** var 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
 -----------
@@ -51,6 +53,10 @@ Member Function Description
 
 Clear the dictionary, removing all key/value pairs.
 
+.. _class_Dictionary_duplicate:
+
+- :ref:`Dictionary<class_dictionary>` **duplicate** **(** **)**
+
 .. _class_Dictionary_empty:
 
 - :ref:`bool<class_bool>` **empty** **(** **)**

+ 2 - 2
classes/class_editorresourceconversionplugin.rst

@@ -22,7 +22,7 @@ Member Functions
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Resource<class_resource>`  | :ref:`_convert<class_EditorResourceConversionPlugin__convert>` **(** :ref:`Resource<class_resource>` resource **)** virtual |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`          | :ref:`_converts_to<class_EditorResourceConversionPlugin__converts_to>` **(** **)** virtual                                  |
+| :ref:`String<class_string>`      | :ref:`_converts_to<class_EditorResourceConversionPlugin__converts_to>` **(** **)** virtual                                  |
 +----------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
 
 Member Function Description
@@ -34,6 +34,6 @@ Member Function Description
 
 .. _class_EditorResourceConversionPlugin__converts_to:
 
-- :ref:`bool<class_bool>` **_converts_to** **(** **)** virtual
+- :ref:`String<class_string>` **_converts_to** **(** **)** virtual
 
 

+ 60 - 0
classes/class_gridmap.rst

@@ -22,6 +22,12 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`clear<class_GridMap_clear>` **(** **)**                                                                                                                                                            |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`clear_baked_meshes<class_GridMap_clear_baked_meshes>` **(** **)**                                                                                                                                  |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`RID<class_rid>`                  | :ref:`get_bake_mesh_instance<class_GridMap_get_bake_mesh_instance>` **(** :ref:`int<class_int>` idx **)**                                                                                                |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`              | :ref:`get_bake_meshes<class_GridMap_get_bake_meshes>` **(** **)**                                                                                                                                        |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_cell_item<class_GridMap_get_cell_item>` **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`int<class_int>` z **)** const                                                            |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_cell_item_orientation<class_GridMap_get_cell_item_orientation>` **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`int<class_int>` z **)** const                                    |
@@ -34,6 +40,10 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                | :ref:`get_center_z<class_GridMap_get_center_z>` **(** **)** const                                                                                                                                        |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`get_collision_layer_bit<class_GridMap_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                                                                                        |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                | :ref:`get_collision_mask_bit<class_GridMap_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                                                                                          |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_array>`              | :ref:`get_meshes<class_GridMap_get_meshes>` **(** **)**                                                                                                                                                  |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                  | :ref:`get_octant_size<class_GridMap_get_octant_size>` **(** **)** const                                                                                                                                  |
@@ -42,6 +52,8 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Array<class_array>`              | :ref:`get_used_cells<class_GridMap_get_used_cells>` **(** **)** const                                                                                                                                    |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`make_baked_meshes<class_GridMap_make_baked_meshes>` **(** :ref:`bool<class_bool>` gen_lightmap_uv=false, :ref:`float<class_float>` lightmap_uv_texel_size=0.1 **)**                                |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector3<class_vector3>`          | :ref:`map_to_world<class_GridMap_map_to_world>` **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`int<class_int>` z **)** const                                                              |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`resource_changed<class_GridMap_resource_changed>` **(** :ref:`Resource<class_resource>` resource **)**                                                                                             |
@@ -58,6 +70,10 @@ Member Functions
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_clip<class_GridMap_set_clip>` **(** :ref:`bool<class_bool>` enabled, :ref:`bool<class_bool>` clipabove=true, :ref:`int<class_int>` floor=0, :ref:`int<class_int>` axis=0 **)**                 |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_collision_layer_bit<class_GridMap_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**                                                               |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                   | :ref:`set_collision_mask_bit<class_GridMap_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**                                                                 |
++----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_octant_size<class_GridMap_set_octant_size>` **(** :ref:`int<class_int>` size **)**                                                                                                             |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                   | :ref:`set_theme<class_GridMap_set_theme>` **(** :ref:`MeshLibrary<class_meshlibrary>` theme **)**                                                                                                        |
@@ -65,6 +81,18 @@ Member Functions
 | :ref:`Vector3<class_vector3>`          | :ref:`world_to_map<class_GridMap_world_to_map>` **(** :ref:`Vector3<class_vector3>` pos **)** const                                                                                                      |
 +----------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
+Member Variables
+----------------
+
+  .. _class_GridMap_collision_layer:
+
+- :ref:`int<class_int>` **collision_layer**
+
+  .. _class_GridMap_collision_mask:
+
+- :ref:`int<class_int>` **collision_mask**
+
+
 Numeric Constants
 -----------------
 
@@ -90,6 +118,18 @@ Member Function Description
 
 Clear all cells.
 
+.. _class_GridMap_clear_baked_meshes:
+
+- void **clear_baked_meshes** **(** **)**
+
+.. _class_GridMap_get_bake_mesh_instance:
+
+- :ref:`RID<class_rid>` **get_bake_mesh_instance** **(** :ref:`int<class_int>` idx **)**
+
+.. _class_GridMap_get_bake_meshes:
+
+- :ref:`Array<class_array>` **get_bake_meshes** **(** **)**
+
 .. _class_GridMap_get_cell_item:
 
 - :ref:`int<class_int>` **get_cell_item** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`int<class_int>` z **)** const
@@ -126,6 +166,14 @@ Returns whether or not grid items are centered on the Y axis.
 
 Returns whether or not grid items are centered on the Z axis.
 
+.. _class_GridMap_get_collision_layer_bit:
+
+- :ref:`bool<class_bool>` **get_collision_layer_bit** **(** :ref:`int<class_int>` bit **)** const
+
+.. _class_GridMap_get_collision_mask_bit:
+
+- :ref:`bool<class_bool>` **get_collision_mask_bit** **(** :ref:`int<class_int>` bit **)** const
+
 .. _class_GridMap_get_meshes:
 
 - :ref:`Array<class_array>` **get_meshes** **(** **)**
@@ -150,6 +198,10 @@ The assigned :ref:`MeshLibrary<class_meshlibrary>`.
 
 Array of :ref:`Vector3<class_vector3>` with the non empty cell coordinates in the grid map.
 
+.. _class_GridMap_make_baked_meshes:
+
+- void **make_baked_meshes** **(** :ref:`bool<class_bool>` gen_lightmap_uv=false, :ref:`float<class_float>` lightmap_uv_texel_size=0.1 **)**
+
 .. _class_GridMap_map_to_world:
 
 - :ref:`Vector3<class_vector3>` **map_to_world** **(** :ref:`int<class_int>` x, :ref:`int<class_int>` y, :ref:`int<class_int>` z **)** const
@@ -196,6 +248,14 @@ Set grid items to be centered on the Z axis. By default it is enabled.
 
 - void **set_clip** **(** :ref:`bool<class_bool>` enabled, :ref:`bool<class_bool>` clipabove=true, :ref:`int<class_int>` floor=0, :ref:`int<class_int>` axis=0 **)**
 
+.. _class_GridMap_set_collision_layer_bit:
+
+- void **set_collision_layer_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
+
+.. _class_GridMap_set_collision_mask_bit:
+
+- void **set_collision_mask_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
+
 .. _class_GridMap_set_octant_size:
 
 - void **set_octant_size** **(** :ref:`int<class_int>` size **)**

+ 106 - 87
classes/class_httpclient.rst

@@ -22,7 +22,7 @@ Member Functions
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                           | :ref:`close<class_HTTPClient_close>` **(** **)**                                                                                                                                                                                  |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`connect_to_host<class_HTTPClient_connect_to_host>` **(** :ref:`String<class_string>` host, :ref:`int<class_int>` port, :ref:`bool<class_bool>` use_ssl=false, :ref:`bool<class_bool>` verify_host=true **)**                |
+| :ref:`int<class_int>`                          | :ref:`connect_to_host<class_HTTPClient_connect_to_host>` **(** :ref:`String<class_string>` host, :ref:`int<class_int>` port=-1, :ref:`bool<class_bool>` use_ssl=false, :ref:`bool<class_bool>` verify_host=true **)**             |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`StreamPeer<class_streampeer>`            | :ref:`get_connection<class_HTTPClient_get_connection>` **(** **)** const                                                                                                                                                          |
 +------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -62,81 +62,98 @@ Member Functions
 Numeric Constants
 -----------------
 
-- **METHOD_GET** = **0**
-- **METHOD_HEAD** = **1**
-- **METHOD_POST** = **2**
-- **METHOD_PUT** = **3**
-- **METHOD_DELETE** = **4**
-- **METHOD_OPTIONS** = **5**
-- **METHOD_TRACE** = **6**
-- **METHOD_CONNECT** = **7**
-- **METHOD_MAX** = **8**
-- **STATUS_DISCONNECTED** = **0**
-- **STATUS_RESOLVING** = **1**
-- **STATUS_CANT_RESOLVE** = **2**
-- **STATUS_CONNECTING** = **3**
-- **STATUS_CANT_CONNECT** = **4**
-- **STATUS_CONNECTED** = **5**
-- **STATUS_REQUESTING** = **6**
-- **STATUS_BODY** = **7**
-- **STATUS_CONNECTION_ERROR** = **8**
-- **STATUS_SSL_HANDSHAKE_ERROR** = **9**
-- **RESPONSE_CONTINUE** = **100**
-- **RESPONSE_SWITCHING_PROTOCOLS** = **101**
-- **RESPONSE_PROCESSING** = **102**
-- **RESPONSE_OK** = **200**
-- **RESPONSE_CREATED** = **201**
-- **RESPONSE_ACCEPTED** = **202**
-- **RESPONSE_NON_AUTHORITATIVE_INFORMATION** = **203**
-- **RESPONSE_NO_CONTENT** = **204**
-- **RESPONSE_RESET_CONTENT** = **205**
-- **RESPONSE_PARTIAL_CONTENT** = **206**
-- **RESPONSE_MULTI_STATUS** = **207**
-- **RESPONSE_IM_USED** = **226**
-- **RESPONSE_MULTIPLE_CHOICES** = **300**
-- **RESPONSE_MOVED_PERMANENTLY** = **301**
-- **RESPONSE_FOUND** = **302**
-- **RESPONSE_SEE_OTHER** = **303**
-- **RESPONSE_NOT_MODIFIED** = **304**
-- **RESPONSE_USE_PROXY** = **305**
-- **RESPONSE_TEMPORARY_REDIRECT** = **307**
-- **RESPONSE_BAD_REQUEST** = **400**
-- **RESPONSE_UNAUTHORIZED** = **401**
-- **RESPONSE_PAYMENT_REQUIRED** = **402**
-- **RESPONSE_FORBIDDEN** = **403**
-- **RESPONSE_NOT_FOUND** = **404**
-- **RESPONSE_METHOD_NOT_ALLOWED** = **405**
-- **RESPONSE_NOT_ACCEPTABLE** = **406**
-- **RESPONSE_PROXY_AUTHENTICATION_REQUIRED** = **407**
-- **RESPONSE_REQUEST_TIMEOUT** = **408**
-- **RESPONSE_CONFLICT** = **409**
-- **RESPONSE_GONE** = **410**
-- **RESPONSE_LENGTH_REQUIRED** = **411**
-- **RESPONSE_PRECONDITION_FAILED** = **412**
-- **RESPONSE_REQUEST_ENTITY_TOO_LARGE** = **413**
-- **RESPONSE_REQUEST_URI_TOO_LONG** = **414**
-- **RESPONSE_UNSUPPORTED_MEDIA_TYPE** = **415**
-- **RESPONSE_REQUESTED_RANGE_NOT_SATISFIABLE** = **416**
-- **RESPONSE_EXPECTATION_FAILED** = **417**
-- **RESPONSE_UNPROCESSABLE_ENTITY** = **422**
-- **RESPONSE_LOCKED** = **423**
-- **RESPONSE_FAILED_DEPENDENCY** = **424**
-- **RESPONSE_UPGRADE_REQUIRED** = **426**
-- **RESPONSE_INTERNAL_SERVER_ERROR** = **500**
-- **RESPONSE_NOT_IMPLEMENTED** = **501**
-- **RESPONSE_BAD_GATEWAY** = **502**
-- **RESPONSE_SERVICE_UNAVAILABLE** = **503**
-- **RESPONSE_GATEWAY_TIMEOUT** = **504**
-- **RESPONSE_HTTP_VERSION_NOT_SUPPORTED** = **505**
-- **RESPONSE_INSUFFICIENT_STORAGE** = **507**
-- **RESPONSE_NOT_EXTENDED** = **510**
+- **METHOD_GET** = **0** --- HTTP GET method. The GET method requests a representation of the specified resource. Requests using GET should only retrieve data.
+- **METHOD_HEAD** = **1** --- HTTP HEAD method. The HEAD method asks for a response identical to that of a GET request, but without the response body. This is useful to request metadata like HTTP headers or to check if a resource exists.
+- **METHOD_POST** = **2** --- HTTP POST method. The POST method is used to submit an entity to the specified resource, often causing a change in state or side effects on the server. This is often used for forms and submitting data or uploading files.
+- **METHOD_PUT** = **3** --- HTTP PUT method. The PUT method asks to replace all current representations of the target resource with the request payload. (You can think of ``POST`` as "create or update" and ``PUT`` as "update", although many services tend to not make a clear distinction or change their meaning).
+- **METHOD_DELETE** = **4** --- HTTP DELETE method. The DELETE method requests to delete the specified resource.
+- **METHOD_OPTIONS** = **5** --- HTTP OPTIONS method. The OPTIONS method asks for a description of the communication options for the target resource. Rarely used.
+- **METHOD_TRACE** = **6** --- HTTP TRACE method. The TRACE method performs a message loop-back test along the path to the target resource. Returns the entire HTTP request received in the response body. Rarely used.
+- **METHOD_CONNECT** = **7** --- HTTP CONNECT method. The CONNECT method establishes a tunnel to the server identified by the target resource. Rarely used.
+- **METHOD_PATCH** = **8** --- HTTP PATCH method. The PATCH method is used to apply partial modifications to a resource.
+- **METHOD_MAX** = **9** --- Marker for end of ``METHOD\_\*`` enum. Not used.
+- **STATUS_DISCONNECTED** = **0** --- Status: Disconnected from the server.
+- **STATUS_RESOLVING** = **1** --- Status: Currently resolving the hostname for the given URL into an IP.
+- **STATUS_CANT_RESOLVE** = **2** --- Status: DNS failure: Can't resolve the hostname for the given URL.
+- **STATUS_CONNECTING** = **3** --- Status: Currently connecting to server.
+- **STATUS_CANT_CONNECT** = **4** --- Status: Can't connect to the server.
+- **STATUS_CONNECTED** = **5** --- Status: Connection established.
+- **STATUS_REQUESTING** = **6** --- Status: Currently sending request.
+- **STATUS_BODY** = **7** --- Status: HTTP body received.
+- **STATUS_CONNECTION_ERROR** = **8** --- Status: Error in HTTP connection.
+- **STATUS_SSL_HANDSHAKE_ERROR** = **9** --- Status: Error in SSL handshake.
+- **RESPONSE_CONTINUE** = **100** --- HTTP status code ``100 Continue``. Interim response that indicates everything so far is OK and that the client should continue with the request (or ignore this status if already finished).
+- **RESPONSE_SWITCHING_PROTOCOLS** = **101** --- HTTP status code ``101 Switching Protocol``. Sent in response to an ``Upgrade`` request header by the client. Indicates the protocol the server is switching to.
+- **RESPONSE_PROCESSING** = **102** --- HTTP status code ``102 Processing`` (WebDAV). Indicates that the server has received and is processing the request, but no response is available yet.
+- **RESPONSE_OK** = **200** --- HTTP status code ``200 OK``. The request has succeeded. Default response for successful requests. Meaning varies depending on the request. GET: The resource has been fetched and is transmitted in the message body. HEAD: The entity headers are in the message body. POST: The resource describing the result of the action is transmitted in the message body. TRACE: The message body contains the request message as received by the server.
+- **RESPONSE_CREATED** = **201** --- HTTP status code ``201 Created``. The request has succeeded and a new resource has been created as a result of it. This is typically the response sent after a PUT request.
+- **RESPONSE_ACCEPTED** = **202** --- HTTP status code ``202 Accepted``. The request has been received but not yet acted upon. It is non-committal, meaning that there is no way in HTTP to later send an asynchronous response indicating the outcome of processing the request. It is intended for cases where another process or server handles the request, or for batch processing.
+- **RESPONSE_NON_AUTHORITATIVE_INFORMATION** = **203** --- HTTP status code ``203 Non-Authoritative Information``. This response code means returned meta-information set is not exact set as available from the origin server, but collected from a local or a third party copy. Except this condition, 200 OK response should be preferred instead of this response.
+- **RESPONSE_NO_CONTENT** = **204** --- HTTP status code ``204 No Content``. There is no content to send for this request, but the headers may be useful. The user-agent may update its cached headers for this resource with the new ones.
+- **RESPONSE_RESET_CONTENT** = **205** --- HTTP status code ``205 Reset Content``. The server has fulfilled the request and desires that the client resets the "document view" that caused the request to be sent to its original state as received from the origin server.
+- **RESPONSE_PARTIAL_CONTENT** = **206** --- HTTP status code ``206 Partial Content``. This response code is used because of a range header sent by the client to separate download into multiple streams.
+- **RESPONSE_MULTI_STATUS** = **207** --- HTTP status code ``207 Multi-Status`` (WebDAV). A Multi-Status response conveys information about multiple resources in situations where multiple status codes might be appropriate.
+- **RESPONSE_ALREADY_REPORTED** = **208** --- HTTP status code ``208 Already Reported`` (WebDAV). Used inside a DAV: propstat response element to avoid enumerating the internal members of multiple bindings to the same collection repeatedly.
+- **RESPONSE_IM_USED** = **226** --- HTTP status code ``226 IM Used`` (WebDAV). The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance.
+- **RESPONSE_MULTIPLE_CHOICES** = **300** --- HTTP status code ``300 Multiple Choice``. The request has more than one possible responses and there is no standardized way to choose one of the responses. User-agent or user should choose one of them.
+- **RESPONSE_MOVED_PERMANENTLY** = **301** --- HTTP status code ``301 Moved Permanently``. Redirection. This response code means the URI of requested resource has been changed. The new URI is usually included in the response.
+- **RESPONSE_FOUND** = **302** --- HTTP status code ``302 Found``. Temporary redirection. This response code means the URI of requested resource has been changed temporarily. New changes in the URI might be made in the future. Therefore, this same URI should be used by the client in future requests.
+- **RESPONSE_SEE_OTHER** = **303** --- HTTP status code ``303 See Other``. The server is redirecting the user agent to a different resource, as indicated by a URI in the Location header field, which is intended to provide an indirect response to the original request.
+- **RESPONSE_NOT_MODIFIED** = **304** --- HTTP status code ``304 Not Modified``. A conditional GET or HEAD request has been received and would have resulted in a 200 OK response if it were not for the fact that the condition evaluated to false.
+- **RESPONSE_USE_PROXY** = **305** --- HTTP status code ``305 Use Proxy``. Deprecated. Do not use.
+- **RESPONSE_SWITCH_PROXY** = **306** --- HTTP status code ``306 Switch Proxy``. Deprecated. Do not use.
+- **RESPONSE_TEMPORARY_REDIRECT** = **307** --- HTTP status code ``307 Temporary Redirect``. The target resource resides temporarily under a different URI and the user agent MUST NOT change the request method if it performs an automatic redirection to that URI.
+- **RESPONSE_PERMANENT_REDIRECT** = **308** --- HTTP status code ``308 Permanent Redirect``. The target resource has been assigned a new permanent URI and any future references to this resource ought to use one of the enclosed URIs.
+- **RESPONSE_BAD_REQUEST** = **400** --- HTTP status code ``400 Bad Request``. The request was invalid. The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, invalid request contents, or deceptive request routing).
+- **RESPONSE_UNAUTHORIZED** = **401** --- HTTP status code ``401 Unauthorized``. Credentials required. The request has not been applied because it lacks valid authentication credentials for the target resource.
+- **RESPONSE_PAYMENT_REQUIRED** = **402** --- HTTP status code ``402 Payment Required``. This response code is reserved for future use. Initial aim for creating this code was using it for digital payment systems, however this is not currently used.
+- **RESPONSE_FORBIDDEN** = **403** --- HTTP status code ``403 Forbidden``. The client does not have access rights to the content, i.e. they are unauthorized, so server is rejecting to give proper response. Unlike ``401``, the client's identity is known to the server.
+- **RESPONSE_NOT_FOUND** = **404** --- HTTP status code ``404 Not Found``. The server can not find requested resource. Either the URL is not recognized or the endpoint is valid but the resource itself does not exist. May also be sent instead of 403 to hide existence of a resource if the client is not authorized.
+- **RESPONSE_METHOD_NOT_ALLOWED** = **405** --- HTTP status code ``405 Method Not Allowed``. The request's HTTP method is known by the server but has been disabled and cannot be used. For example, an API may forbid DELETE-ing a resource. The two mandatory methods, GET and HEAD, must never be disabled and should not return this error code.
+- **RESPONSE_NOT_ACCEPTABLE** = **406** --- HTTP status code ``406 Not Acceptable``. The target resource does not have a current representation that would be acceptable to the user agent, according to the proactive negotiation header fields received in the request. Used when negotiation content.
+- **RESPONSE_PROXY_AUTHENTICATION_REQUIRED** = **407** --- HTTP status code ``407 Proxy Authentication Required``. Similar to 401 Unauthorized, but it indicates that the client needs to authenticate itself in order to use a proxy.
+- **RESPONSE_REQUEST_TIMEOUT** = **408** --- HTTP status code ``408 Request Timeout``. The server did not receive a complete request message within the time that it was prepared to wait.
+- **RESPONSE_CONFLICT** = **409** --- HTTP status code ``409 Conflict``. The request could not be completed due to a conflict with the current state of the target resource. This code is used in situations where the user might be able to resolve the conflict and resubmit the request.
+- **RESPONSE_GONE** = **410** --- HTTP status code ``410 Gone``. The target resource is no longer available at the origin server and this condition is likely permanent.
+- **RESPONSE_LENGTH_REQUIRED** = **411** --- HTTP status code ``411 Length Required``. The server refuses to accept the request without a defined Content-Length header.
+- **RESPONSE_PRECONDITION_FAILED** = **412** --- HTTP status code ``412 Precondition Failed``. One or more conditions given in the request header fields evaluated to false when tested on the server.
+- **RESPONSE_REQUEST_ENTITY_TOO_LARGE** = **413** --- HTTP status code ``413 Entity Too Large``. The server is refusing to process a request because the request payload is larger than the server is willing or able to process.
+- **RESPONSE_REQUEST_URI_TOO_LONG** = **414** --- HTTP status code ``414 Request-URI Too Long``. The server is refusing to service the request because the request-target is longer than the server is willing to interpret.
+- **RESPONSE_UNSUPPORTED_MEDIA_TYPE** = **415** --- HTTP status code ``415 Unsupported Media Type``. The origin server is refusing to service the request because the payload is in a format not supported by this method on the target resource.
+- **RESPONSE_REQUESTED_RANGE_NOT_SATISFIABLE** = **416** --- HTTP status code ``416 Requested Range Not Satisfiable``. None of the ranges in the request's Range header field overlap the current extent of the selected resource or the set of ranges requested has been rejected due to invalid ranges or an excessive request of small or overlapping ranges.
+- **RESPONSE_EXPECTATION_FAILED** = **417** --- HTTP status code ``417 Expectation Failed``. The expectation given in the request's Expect header field could not be met by at least one of the inbound servers.
+- **RESPONSE_IM_A_TEAPOT** = **418** --- HTTP status code ``418 I'm A Teapot``. Any attempt to brew coffee with a teapot should result in the error code "418 I'm a teapot". The resulting entity body MAY be short and stout.
+- **RESPONSE_MISDIRECTED_REQUEST** = **421** --- HTTP status code ``421 Misdirected Request``. The request was directed at a server that is not able to produce a response. This can be sent by a server that is not configured to produce responses for the combination of scheme and authority that are included in the request URI.
+- **RESPONSE_UNPROCESSABLE_ENTITY** = **422** --- HTTP status code ``422 Unprocessable Entity`` (WebDAV). The server understands the content type of the request entity (hence a 415 Unsupported Media Type status code is inappropriate), and the syntax of the request entity is correct (thus a 400 Bad Request status code is inappropriate) but was unable to process the contained instructions.
+- **RESPONSE_LOCKED** = **423** --- HTTP status code ``423 Locked`` (WebDAV). The source or destination resource of a method is locked.
+- **RESPONSE_FAILED_DEPENDENCY** = **424** --- HTTP status code ``424 Failed Dependency`` (WebDAV). The method could not be performed on the resource because the requested action depended on another action and that action failed.
+- **RESPONSE_UPGRADE_REQUIRED** = **426** --- HTTP status code ``426 Upgrade Required``. The server refuses to perform the request using the current protocol but might be willing to do so after the client upgrades to a different protocol.
+- **RESPONSE_PRECONDITION_REQUIRED** = **428** --- HTTP status code ``428 Precondition Required``. The origin server requires the request to be conditional.
+- **RESPONSE_TOO_MANY_REQUESTS** = **429** --- HTTP status code ``429 Too Many Requests``. The user has sent too many requests in a given amount of time (see "rate limiting"). Back off and increase time between requests or try again later.
+- **RESPONSE_REQUEST_HEADER_FIELDS_TOO_LARGE** = **431** --- HTTP status code ``431 Rquest Header Fields Too Large``. The server is unwilling to process the request because its header fields are too large. The request MAY be resubmitted after reducing the size of the request header fields.
+- **RESPONSE_UNAVAILABLE_FOR_LEGAL_REASONS** = **451** --- HTTP status code ``451 Response Unavailable For Legal Reasons``. The server is denying access to the resource as a consequence of a legal demand.
+- **RESPONSE_INTERNAL_SERVER_ERROR** = **500** --- HTTP status code ``500 Internal Server Error``. The server encountered an unexpected condition that prevented it from fulfilling the request.
+- **RESPONSE_NOT_IMPLEMENTED** = **501** --- HTTP status code ``501 Not Implemented``. The server does not support the functionality required to fulfill the request.
+- **RESPONSE_BAD_GATEWAY** = **502** --- HTTP status code ``502 Bad Gateway``. The server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request. Usually returned by load balancers or proxies.
+- **RESPONSE_SERVICE_UNAVAILABLE** = **503** --- HTTP status code ``503 Service Unavailable``. The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay. Try again later.
+- **RESPONSE_GATEWAY_TIMEOUT** = **504** --- HTTP status code ``504 Gateway Timeout``. The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server it needed to access in order to complete the request. Usually returned by load balancers or proxies.
+- **RESPONSE_HTTP_VERSION_NOT_SUPPORTED** = **505** --- HTTP status code ``505 HTTP Version Not Supported``. The server does not support, or refuses to support, the major version of HTTP that was used in the request message.
+- **RESPONSE_VARIANT_ALSO_NEGOTIATES** = **506** --- HTTP status code ``506 Variant Also Negotiates``. The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process.
+- **RESPONSE_INSUFFICIENT_STORAGE** = **507** --- HTTP status code ``507 Insufficient Storage``. The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request.
+- **RESPONSE_LOOP_DETECTED** = **508** --- HTTP status code ``508 Loop Detected``. The server terminated an operation because it encountered an infinite loop while processing a request with "Depth: infinity". This status indicates that the entire operation failed.
+- **RESPONSE_NOT_EXTENDED** = **510** --- HTTP status code ``510 Not Extended``. The policy for accessing the resource has not been met in the request. The server should send back all the information necessary for the client to issue an extended request.
+- **RESPONSE_NETWORK_AUTH_REQUIRED** = **511** --- HTTP status code ``511 Network Authentication Required``. The client needs to authenticate to gain network access.
 
 Description
 -----------
 
-Hyper-text transfer protocol client. Supports SSL and SSL server certificate verification.
+Hyper-text transfer protocol client (sometimes called "User Agent"). Used to make HTTP requests to download web content, upload files and other data or to communicate with various services, among other use cases.
 
-Can be reused to connect to different hosts and make many requests.
+Note that this client only needs to connect to a host once (see :ref:`connect_to_host<class_HTTPClient_connect_to_host>`) to send multiple requests. Because of this, methods that take URLs usually take just the part after the host instead of the full URL, as the client is already connected to a host. See :ref:`request<class_HTTPClient_request>` for a full example and to get started.
+
+A ``HTTPClient`` should be reused between multiple requests or to connect to different hosts instead of creating one client per request. Supports SSL and SSL server certificate verification. HTTP status codes in the 2xx range indicate success, 3xx redirection (i.e. "try again, but over here"), 4xx something was wrong with the request, and 5xx something went wrong on the server's side.
+
+For more information on HTTP, see https://developer.mozilla.org/en-US/docs/Web/HTTP (or read RFC 2616 to get it straight from the source: https://tools.ietf.org/html/rfc2616).
 
 Member Function Description
 ---------------------------
@@ -145,41 +162,43 @@ Member Function Description
 
 - void **close** **(** **)**
 
-Cloces the current connection, allows for reusal of ``HTTPClient``.
+Closes the current connection, allowing reuse of this ``HTTPClient``.
 
 .. _class_HTTPClient_connect_to_host:
 
-- :ref:`int<class_int>` **connect_to_host** **(** :ref:`String<class_string>` host, :ref:`int<class_int>` port, :ref:`bool<class_bool>` use_ssl=false, :ref:`bool<class_bool>` verify_host=true **)**
+- :ref:`int<class_int>` **connect_to_host** **(** :ref:`String<class_string>` host, :ref:`int<class_int>` port=-1, :ref:`bool<class_bool>` use_ssl=false, :ref:`bool<class_bool>` verify_host=true **)**
 
 Connect to a host. This needs to be done before any requests are sent.
 
 The host should not have http:// prepended but will strip the protocol identifier if provided.
 
-verify_host will check the SSL identity of the host if set to true.
+If no ``port`` is specified (or ``-1`` is used), it is automatically set to 80 for HTTP and 443 for HTTPS (if ``use_ssl`` is enabled).
+
+``verify_host`` will check the SSL identity of the host if set to ``true``.
 
 .. _class_HTTPClient_get_connection:
 
 - :ref:`StreamPeer<class_streampeer>` **get_connection** **(** **)** const
 
-Return current connection.
+Returns the current connection.
 
 .. _class_HTTPClient_get_response_body_length:
 
 - :ref:`int<class_int>` **get_response_body_length** **(** **)** const
 
-Return the response's body length.
+Returns the response's body length.
 
 .. _class_HTTPClient_get_response_code:
 
 - :ref:`int<class_int>` **get_response_code** **(** **)** const
 
-Return the HTTP status code of the response.
+Returns the response's HTTP status code.
 
 .. _class_HTTPClient_get_response_headers:
 
 - :ref:`PoolStringArray<class_poolstringarray>` **get_response_headers** **(** **)**
 
-Return the response headers.
+Returns the response headers.
 
 .. _class_HTTPClient_get_response_headers_as_dictionary:
 
@@ -201,19 +220,19 @@ Returns a STATUS\_\* enum constant. Need to call :ref:`poll<class_HTTPClient_pol
 
 - :ref:`bool<class_bool>` **has_response** **(** **)** const
 
-Return whether this ``HTTPClient`` has a response available.
+If ``true`` this ``HTTPClient`` has a response available.
 
 .. _class_HTTPClient_is_blocking_mode_enabled:
 
 - :ref:`bool<class_bool>` **is_blocking_mode_enabled** **(** **)** const
 
-Return whether blocking mode is enabled.
+If ``true`` blocking mode is enabled.
 
 .. _class_HTTPClient_is_response_chunked:
 
 - :ref:`bool<class_bool>` **is_response_chunked** **(** **)** const
 
-Return whether this ``HTTPClient`` has a response that is chunked.
+If ``true`` this ``HTTPClient`` has a response that is chunked.
 
 .. _class_HTTPClient_poll:
 
@@ -243,9 +262,9 @@ Reads one chunk from the response.
 
 - :ref:`int<class_int>` **request** **(** :ref:`int<class_int>` method, :ref:`String<class_string>` url, :ref:`PoolStringArray<class_poolstringarray>` headers, :ref:`String<class_string>` body="" **)**
 
-Sends a request to the connected host. The url is what is normally behind the hostname, i.e. in ``http://somehost.com/index.php``, url would be "index.php".
+Sends a request to the connected host. The URL parameter is just the part after the host, so for ``http://somehost.com/index.php``, it is ``index.php``.
 
-Headers are HTTP request headers.
+Headers are HTTP request headers. For available HTTP methods, see ``METHOD\_\*``.
 
 To create a POST request with query strings to push to the server, do:
 
@@ -260,11 +279,11 @@ To create a POST request with query strings to push to the server, do:
 
 - :ref:`int<class_int>` **request_raw** **(** :ref:`int<class_int>` method, :ref:`String<class_string>` url, :ref:`PoolStringArray<class_poolstringarray>` headers, :ref:`PoolByteArray<class_poolbytearray>` body **)**
 
-Sends a raw request to the connected host. The url is what is normally behind the hostname, i.e. in ``http://somehost.com/index.php``, url would be "index.php".
+Sends a raw request to the connected host. The URL parameter is just the part after the host, so for ``http://somehost.com/index.php``, it is ``index.php``.
 
-Headers are HTTP request headers.
+Headers are HTTP request headers. For available HTTP methods, see ``METHOD\_\*``.
 
-Sends body raw, as a byte array, does not encode it in any way.
+Sends the body data raw, as a byte array and does not encode it in any way.
 
 .. _class_HTTPClient_set_blocking_mode:
 
@@ -276,7 +295,7 @@ If set to true, execution will block until all data is read from the response.
 
 - void **set_connection** **(** :ref:`StreamPeer<class_streampeer>` connection **)**
 
-Set connection to use, for this client.
+Sets connection to use for this client.
 
 .. _class_HTTPClient_set_read_chunk_size:
 

+ 13 - 13
classes/class_httprequest.rst

@@ -14,7 +14,7 @@ HTTPRequest
 Brief Description
 -----------------
 
-A Node with the ability to send HTTP requests.
+A node with the ability to send HTTP requests.
 
 Member Functions
 ----------------
@@ -50,15 +50,15 @@ Member Variables
 
   .. _class_HTTPRequest_body_size_limit:
 
-- :ref:`int<class_int>` **body_size_limit**
+- :ref:`int<class_int>` **body_size_limit** - Maximum allowed size for response bodies.
 
   .. _class_HTTPRequest_max_redirects:
 
-- :ref:`int<class_int>` **max_redirects**
+- :ref:`int<class_int>` **max_redirects** - Maximum number of allowed redirects.
 
   .. _class_HTTPRequest_use_threads:
 
-- :ref:`bool<class_bool>` **use_threads**
+- :ref:`bool<class_bool>` **use_threads** - If ``true`` multithreading is used to improve performance.
 
 
 Numeric Constants
@@ -72,7 +72,7 @@ Numeric Constants
 - **RESULT_SSL_HANDSHAKE_ERROR** = **5** --- Request failed on SSL handshake.
 - **RESULT_NO_RESPONSE** = **6** --- Request does not have a response(yet).
 - **RESULT_BODY_SIZE_LIMIT_EXCEEDED** = **7** --- Request exceeded its maximum size limit, see :ref:`set_body_size_limit<class_HTTPRequest_set_body_size_limit>`.
-- **RESULT_REQUEST_FAILED** = **8** --- Request failed. (unused)
+- **RESULT_REQUEST_FAILED** = **8** --- Request failed. (Unused)
 - **RESULT_DOWNLOAD_FILE_CANT_OPEN** = **9** --- HTTPRequest couldn't open the download file.
 - **RESULT_DOWNLOAD_FILE_WRITE_ERROR** = **10** --- HTTPRequest couldn't write to the download file.
 - **RESULT_REDIRECT_LIMIT_REACHED** = **11** --- Request reached its maximum redirect limit, see :ref:`set_max_redirects<class_HTTPRequest_set_max_redirects>`.
@@ -80,9 +80,9 @@ Numeric Constants
 Description
 -----------
 
-A Node with the ability to send HTTP requests. Uses a :ref:`HTTPClient<class_httpclient>` internally, supports HTTPS.
+A node with the ability to send HTTP requests. Uses :ref:`HTTPClient<class_httpclient>` internally.
 
-Can be used to make HTTP requests or download files via HTTP.
+Can be used to make HTTP requests, i.e. download or upload files or web content via HTTP.
 
 Member Function Description
 ---------------------------
@@ -91,31 +91,31 @@ Member Function Description
 
 - void **cancel_request** **(** **)**
 
-Cancel the current request.
+Cancels the current request.
 
 .. _class_HTTPRequest_get_body_size:
 
 - :ref:`int<class_int>` **get_body_size** **(** **)** const
 
-Return the response body length.
+Returns the response body length.
 
 .. _class_HTTPRequest_get_download_file:
 
 - :ref:`String<class_string>` **get_download_file** **(** **)** const
 
-Return the file this request will download into.
+Returns the file this request will download into.
 
 .. _class_HTTPRequest_get_downloaded_bytes:
 
 - :ref:`int<class_int>` **get_downloaded_bytes** **(** **)** const
 
-Return the amount of bytes this HTTPRequest downloaded.
+Returns the amount of bytes this HTTPRequest downloaded.
 
 .. _class_HTTPRequest_get_http_client_status:
 
 - :ref:`int<class_int>` **get_http_client_status** **(** **)** const
 
-Return the current status of the underlying :ref:`HTTPClient<class_httpclient>`.
+Returns the current status of the underlying :ref:`HTTPClient<class_httpclient>`. See ``STATUS\_\*`` enum on :ref:`HTTPClient<class_httpclient>`.
 
 .. _class_HTTPRequest_request:
 
@@ -125,6 +125,6 @@ Return the current status of the underlying :ref:`HTTPClient<class_httpclient>`.
 
 - void **set_download_file** **(** :ref:`String<class_string>` path **)**
 
-Set the file to download into. Outputs the response body into the file.
+Sets the file to download into. Outputs the response body into the file if set.
 
 

+ 12 - 0
classes/class_image.rst

@@ -86,6 +86,10 @@ Member Functions
 +--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                      | :ref:`load<class_Image_load>` **(** :ref:`String<class_string>` path **)**                                                                                                                                                                     |
 +--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`load_jpg_from_buffer<class_Image_load_jpg_from_buffer>` **(** :ref:`PoolByteArray<class_poolbytearray>` buffer **)**                                                                                                                     |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                      | :ref:`load_png_from_buffer<class_Image_load_png_from_buffer>` **(** :ref:`PoolByteArray<class_poolbytearray>` buffer **)**                                                                                                                     |
++--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`lock<class_Image_lock>` **(** **)**                                                                                                                                                                                                      |
 +--------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`normalmap_to_xy<class_Image_normalmap_to_xy>` **(** **)**                                                                                                                                                                                |
@@ -377,6 +381,14 @@ Returns ``true`` if all the image's pixels have an alpha value of 0. Returns ``f
 
 Loads an image from file ``path``.
 
+.. _class_Image_load_jpg_from_buffer:
+
+- :ref:`int<class_int>` **load_jpg_from_buffer** **(** :ref:`PoolByteArray<class_poolbytearray>` buffer **)**
+
+.. _class_Image_load_png_from_buffer:
+
+- :ref:`int<class_int>` **load_png_from_buffer** **(** :ref:`PoolByteArray<class_poolbytearray>` buffer **)**
+
 .. _class_Image_lock:
 
 - void **lock** **(** **)**

+ 21 - 2
classes/class_input.rst

@@ -82,7 +82,7 @@ Member Functions
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`remove_joy_mapping<class_Input_remove_joy_mapping>` **(** :ref:`String<class_string>` guid **)**                                                                                                                           |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_custom_mouse_cursor<class_Input_set_custom_mouse_cursor>` **(** :ref:`Resource<class_resource>` image, :ref:`Vector2<class_vector2>` hotspot=Vector2( 0, 0 ) **)**                                                     |
+| void                           | :ref:`set_custom_mouse_cursor<class_Input_set_custom_mouse_cursor>` **(** :ref:`Resource<class_resource>` image, :ref:`int<class_int>` shape=0, :ref:`Vector2<class_vector2>` hotspot=Vector2( 0, 0 ) **)**                      |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_mouse_mode<class_Input_set_mouse_mode>` **(** :ref:`int<class_int>` mode **)**                                                                                                                                         |
 +--------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -110,6 +110,23 @@ Numeric Constants
 - **MOUSE_MODE_HIDDEN** = **1** --- Makes the mouse cursor hidden if it is visible.
 - **MOUSE_MODE_CAPTURED** = **2** --- Captures the mouse. The mouse will be hidden and unable to leave the game window. But it will still register movement and mouse button presses.
 - **MOUSE_MODE_CONFINED** = **3**
+- **CURSOR_ARROW** = **0**
+- **CURSOR_IBEAM** = **1**
+- **CURSOR_POINTING_HAND** = **2**
+- **CURSOR_CROSS** = **3**
+- **CURSOR_WAIT** = **4**
+- **CURSOR_BUSY** = **5**
+- **CURSOR_DRAG** = **6**
+- **CURSOR_CAN_DROP** = **7**
+- **CURSOR_FORBIDDEN** = **8**
+- **CURSOR_VSIZE** = **9**
+- **CURSOR_HSIZE** = **10**
+- **CURSOR_BDIAGSIZE** = **11**
+- **CURSOR_FDIAGSIZE** = **12**
+- **CURSOR_MOVE** = **13**
+- **CURSOR_VSPLIT** = **14**
+- **CURSOR_HSPLIT** = **15**
+- **CURSOR_HELP** = **16**
 
 Description
 -----------
@@ -287,7 +304,9 @@ Removes all mappings from the internal db that match the given uid.
 
 .. _class_Input_set_custom_mouse_cursor:
 
-- void **set_custom_mouse_cursor** **(** :ref:`Resource<class_resource>` image, :ref:`Vector2<class_vector2>` hotspot=Vector2( 0, 0 ) **)**
+- void **set_custom_mouse_cursor** **(** :ref:`Resource<class_resource>` image, :ref:`int<class_int>` shape=0, :ref:`Vector2<class_vector2>` hotspot=Vector2( 0, 0 ) **)**
+
+Set a custom mouse cursor image, which is only visible inside the game window. The hotspot can also be specified. See enum ``CURSOR\_\*`` for the list of shapes.
 
 .. _class_Input_set_mouse_mode:
 

+ 0 - 14
classes/class_inputevent.rst

@@ -26,8 +26,6 @@ Member Functions
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`          | :ref:`as_text<class_InputEvent_as_text>` **(** **)** const                                                                                                            |
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                | :ref:`get_id<class_InputEvent_get_id>` **(** **)** const                                                                                                              |
-+--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`              | :ref:`is_action<class_InputEvent_is_action>` **(** :ref:`String<class_string>` action **)** const                                                                     |
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`              | :ref:`is_action_pressed<class_InputEvent_is_action_pressed>` **(** :ref:`String<class_string>` action **)** const                                                     |
@@ -40,8 +38,6 @@ Member Functions
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`              | :ref:`is_pressed<class_InputEvent_is_pressed>` **(** **)** const                                                                                                      |
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                 | :ref:`set_id<class_InputEvent_set_id>` **(** :ref:`int<class_int>` id **)**                                                                                           |
-+--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`              | :ref:`shortcut_match<class_InputEvent_shortcut_match>` **(** :ref:`InputEvent<class_inputevent>` event **)** const                                                    |
 +--------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`InputEvent<class_inputevent>`  | :ref:`xformed_by<class_InputEvent_xformed_by>` **(** :ref:`Transform2D<class_transform2d>` xform, :ref:`Vector2<class_vector2>` local_ofs=Vector2( 0, 0 ) **)** const |
@@ -75,12 +71,6 @@ Returns ``true`` if this event matches ``event``.
 
 Returns a :ref:`String<class_string>` representation of the event.
 
-.. _class_InputEvent_get_id:
-
-- :ref:`int<class_int>` **get_id** **(** **)** const
-
-Returns the event's ID.
-
 .. _class_InputEvent_is_action:
 
 - :ref:`bool<class_bool>` **is_action** **(** :ref:`String<class_string>` action **)** const
@@ -117,10 +107,6 @@ Returns ``true`` if this input event is an echo event (only for events of type K
 
 Returns ``true`` if this input event is pressed. Not relevant for the event types ``MOUSE_MOTION``, ``SCREEN_DRAG`` or ``NONE``.
 
-.. _class_InputEvent_set_id:
-
-- void **set_id** **(** :ref:`int<class_int>` id **)**
-
 .. _class_InputEvent_shortcut_match:
 
 - :ref:`bool<class_bool>` **shortcut_match** **(** :ref:`InputEvent<class_inputevent>` event **)** const

+ 12 - 12
classes/class_ip.rst

@@ -16,7 +16,7 @@ IP
 Brief Description
 -----------------
 
-IP Protocol support functions.
+Internet protocol (IP) support functions like DNS resolution.
 
 Member Functions
 ----------------
@@ -40,21 +40,21 @@ Member Functions
 Numeric Constants
 -----------------
 
-- **RESOLVER_STATUS_NONE** = **0**
-- **RESOLVER_STATUS_WAITING** = **1**
-- **RESOLVER_STATUS_DONE** = **2**
-- **RESOLVER_STATUS_ERROR** = **3**
-- **RESOLVER_MAX_QUERIES** = **32**
-- **RESOLVER_INVALID_ID** = **-1**
-- **TYPE_NONE** = **0**
-- **TYPE_IPV4** = **1**
-- **TYPE_IPV6** = **2**
-- **TYPE_ANY** = **3**
+- **RESOLVER_STATUS_NONE** = **0** --- DNS hostname resolver status: No status.
+- **RESOLVER_STATUS_WAITING** = **1** --- DNS hostname resolver status: Waiting.
+- **RESOLVER_STATUS_DONE** = **2** --- DNS hostname resolver status: Done.
+- **RESOLVER_STATUS_ERROR** = **3** --- DNS hostname resolver status: Error.
+- **RESOLVER_MAX_QUERIES** = **32** --- Maximum number of concurrent DNS resolver queries allowed, ``RESOLVER_INVALID_ID`` is returned if exceeded.
+- **RESOLVER_INVALID_ID** = **-1** --- Invalid ID constant. Returned if ``RESOLVER_MAX_QUERIES`` is exceeded.
+- **TYPE_NONE** = **0** --- Address type: None.
+- **TYPE_IPV4** = **1** --- Address type: Internet protocol version 4 (IPv4).
+- **TYPE_IPV6** = **2** --- Address type: Internet protocol version 6 (IPv6).
+- **TYPE_ANY** = **3** --- Address type: Any.
 
 Description
 -----------
 
-IP contains support functions for the IPv4 protocol. TCP/IP support is in different classes (see :ref:`StreamPeerTCP<class_streampeertcp>` and :ref:`TCP_Server<class_tcp_server>`). IP provides hostname resolution support, both blocking and threaded.
+IP contains support functions for the Internet Protocol (IP). TCP/IP support is in different classes (see :ref:`StreamPeerTCP<class_streampeertcp>` and :ref:`TCP_Server<class_tcp_server>`). IP provides DNS hostname resolution support, both blocking and threaded.
 
 Member Function Description
 ---------------------------

+ 5 - 0
classes/class_ip_unix.rst

@@ -14,5 +14,10 @@ IP_Unix
 Brief Description
 -----------------
 
+Unix IP support. See :ref:`IP<class_ip>`.
 
+Description
+-----------
+
+Unix-specific implementation of IP support functions. See :ref:`IP<class_ip>`.
 

+ 1 - 1
classes/class_json.rst

@@ -28,7 +28,7 @@ Member Functions
 Description
 -----------
 
-Helper class for parsing JSON data.
+Helper class for parsing JSON data. For usage example, see :ref:`JSONParseResult<class_jsonparseresult>`.
 
 Member Function Description
 ---------------------------

+ 5 - 5
classes/class_jsonparseresult.rst

@@ -21,7 +21,7 @@ Member Variables
 
   .. _class_JSONParseResult_error:
 
-- :ref:`int<class_int>` **error** - The error type if JSON source was not successfully parsed. See :ref:`@GlobalScope<class_@globalscope>`\ ERR\_\* constants.
+- :ref:`int<class_int>` **error** - The error type if JSON source was not successfully parsed. See :ref:`@GlobalScope<class_@globalscope>` ERR\_\* constants.
 
   .. _class_JSONParseResult_error_line:
 
@@ -29,11 +29,11 @@ Member Variables
 
   .. _class_JSONParseResult_error_string:
 
-- :ref:`String<class_string>` **error_string** - The error message if JSON source was not successfully parsed. See :ref:`@GlobalScope<class_@globalscope>`\ ERR\_\* constants.
+- :ref:`String<class_string>` **error_string** - The error message if JSON source was not successfully parsed. See :ref:`@GlobalScope<class_@globalscope>` ERR\_\* constants.
 
   .. _class_JSONParseResult_result:
 
-- :ref:`Variant<class_variant>` **result** - A :ref:`Variant<class_variant>` containing the parsed JSON. Use typeof() to check if it is what you expect. For example, if JSON source starts with braces ``{}`` a :ref:`Dictionary<class_dictionary>` will be returned, if JSON source starts with array braces ``[]`` an :ref:`Array<class_array>` will be returned.
+- :ref:`Variant<class_variant>` **result** - A :ref:`Variant<class_variant>` containing the parsed JSON. Use typeof() to check if it is what you expect. For example, if JSON source starts with curly braces (``{}``) a :ref:`Dictionary<class_dictionary>` will be returned, if JSON source starts with braces (``[]``) an :ref:`Array<class_array>` will be returned.
 
 *Be aware that the JSON specification does not define integer or float types, but only a number type. Therefore, parsing a JSON text will convert all numerical values to float types.*
 
@@ -41,9 +41,9 @@ Member Variables
 
     p = JSON.parse('["hello", "world", "!"]')
     if typeof(p) == TYPE_ARRAY:
-    print(p[0]) # prints 'hello'
+        print(p[0]) # prints 'hello'
     else:
-    print("unexpected results")
+        print("unexpected results")
 
 
 Description

+ 18 - 6
classes/class_kinematicbody.rst

@@ -42,17 +42,29 @@ Member Functions
 Member Variables
 ----------------
 
-  .. _class_KinematicBody_axis_lock_x:
+  .. _class_KinematicBody_axis_lock_angular_x:
 
-- :ref:`bool<class_bool>` **axis_lock_x**
+- :ref:`bool<class_bool>` **axis_lock_angular_x**
 
-  .. _class_KinematicBody_axis_lock_y:
+  .. _class_KinematicBody_axis_lock_angular_y:
 
-- :ref:`bool<class_bool>` **axis_lock_y**
+- :ref:`bool<class_bool>` **axis_lock_angular_y**
 
-  .. _class_KinematicBody_axis_lock_z:
+  .. _class_KinematicBody_axis_lock_angular_z:
 
-- :ref:`bool<class_bool>` **axis_lock_z**
+- :ref:`bool<class_bool>` **axis_lock_angular_z**
+
+  .. _class_KinematicBody_axis_lock_linear_x:
+
+- :ref:`bool<class_bool>` **axis_lock_linear_x**
+
+  .. _class_KinematicBody_axis_lock_linear_y:
+
+- :ref:`bool<class_bool>` **axis_lock_linear_y**
+
+  .. _class_KinematicBody_axis_lock_linear_z:
+
+- :ref:`bool<class_bool>` **axis_lock_linear_z**
 
   .. _class_KinematicBody_collision/safe_margin:
 

+ 7 - 0
classes/class_light.rst

@@ -25,6 +25,10 @@ Member Variables
 
 - :ref:`bool<class_bool>` **editor_only**
 
+  .. _class_Light_light_bake_mode:
+
+- :ref:`int<class_int>` **light_bake_mode**
+
   .. _class_Light_light_color:
 
 - :ref:`Color<class_color>` **light_color**
@@ -89,6 +93,9 @@ Numeric Constants
 - **PARAM_SHADOW_BIAS** = **13**
 - **PARAM_SHADOW_BIAS_SPLIT_SCALE** = **14**
 - **PARAM_MAX** = **15**
+- **BAKE_DISABLED** = **0**
+- **BAKE_INDIRECT** = **1**
+- **BAKE_ALL** = **2**
 
 Description
 -----------

+ 8 - 0
classes/class_lineedit.rst

@@ -24,6 +24,8 @@ Member Functions
 +------------------------------------+------------------------------------------------------------------------------------------------------------+
 | void                               | :ref:`clear<class_LineEdit_clear>` **(** **)**                                                             |
 +------------------------------------+------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`deselect<class_LineEdit_deselect>` **(** **)**                                                       |
++------------------------------------+------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`              | :ref:`get_cursor_position<class_LineEdit_get_cursor_position>` **(** **)** const                           |
 +------------------------------------+------------------------------------------------------------------------------------------------------------+
 | :ref:`PopupMenu<class_popupmenu>`  | :ref:`get_menu<class_LineEdit_get_menu>` **(** **)** const                                                 |
@@ -141,6 +143,12 @@ Adds ``text`` after the cursor. If the resulting value is longer than :ref:`max_
 
 Erases the :ref:`LineEdit<class_lineedit>` text.
 
+.. _class_LineEdit_deselect:
+
+- void **deselect** **(** **)**
+
+Clears the current selection.
+
 .. _class_LineEdit_get_cursor_position:
 
 - :ref:`int<class_int>` **get_cursor_position** **(** **)** const

+ 10 - 4
classes/class_menubutton.rst

@@ -19,9 +19,11 @@ Special button that brings up a :ref:`PopupMenu<class_popupmenu>` when clicked.
 Member Functions
 ----------------
 
-+------------------------------------+----------------------------------------------------------+
-| :ref:`PopupMenu<class_popupmenu>`  | :ref:`get_popup<class_MenuButton_get_popup>` **(** **)** |
-+------------------------------------+----------------------------------------------------------+
++------------------------------------+-------------------------------------------------------------------------------------------------------------------+
+| :ref:`PopupMenu<class_popupmenu>`  | :ref:`get_popup<class_MenuButton_get_popup>` **(** **)** const                                                    |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_disable_shortcuts<class_MenuButton_set_disable_shortcuts>` **(** :ref:`bool<class_bool>` disabled **)** |
++------------------------------------+-------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -43,8 +45,12 @@ Member Function Description
 
 .. _class_MenuButton_get_popup:
 
-- :ref:`PopupMenu<class_popupmenu>` **get_popup** **(** **)**
+- :ref:`PopupMenu<class_popupmenu>` **get_popup** **(** **)** const
 
 Return the :ref:`PopupMenu<class_popupmenu>` contained in this button.
 
+.. _class_MenuButton_set_disable_shortcuts:
+
+- void **set_disable_shortcuts** **(** :ref:`bool<class_bool>` disabled **)**
+
 

+ 3 - 3
classes/class_mutex.rst

@@ -30,7 +30,7 @@ Member Functions
 Description
 -----------
 
-A synchronization Mutex. Element used in multi-threadding. Basically a binary :ref:`Semaphore<class_semaphore>`. Guarantees that only one thread has this lock, can be used to protect a critical section.
+A synchronization Mutex. Element used to synchronize multiple :ref:`Thread<class_thread>`\ s. Basically a binary :ref:`Semaphore<class_semaphore>`. Guarantees that only one thread can ever acquire this lock at a time. Can be used to protect a critical section. Be careful to avoid deadlocks.
 
 Member Function Description
 ---------------------------
@@ -45,12 +45,12 @@ Lock this ``Mutex``, blocks until it is unlocked by the current owner.
 
 - :ref:`int<class_int>` **try_lock** **(** **)**
 
-Try locking this ``Mutex``, does not block. Returns OK on success else ERR_BUSY.
+Try locking this ``Mutex``, does not block. Returns OK on success, ERR_BUSY otherwise.
 
 .. _class_Mutex_unlock:
 
 - void **unlock** **(** **)**
 
-Unlock this ``Mutex``, leaving it to others threads.
+Unlock this ``Mutex``, leaving it to other threads.
 
 

+ 26 - 5
classes/class_navigation.rst

@@ -14,7 +14,7 @@ Navigation
 Brief Description
 -----------------
 
-
+A collection of ``NavigationMesh`` resources and methods used for pathfinding.
 
 Member Functions
 ----------------
@@ -30,7 +30,7 @@ Member Functions
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolVector3Array<class_poolvector3array>`  | :ref:`get_simple_path<class_Navigation_get_simple_path>` **(** :ref:`Vector3<class_vector3>` start, :ref:`Vector3<class_vector3>` end, :ref:`bool<class_bool>` optimize=true **)**                                 |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`navmesh_create<class_Navigation_navmesh_create>` **(** :ref:`NavigationMesh<class_navigationmesh>` mesh, :ref:`Transform<class_transform>` xform, :ref:`Object<class_object>` owner=null **)**               |
+| :ref:`int<class_int>`                            | :ref:`navmesh_add<class_Navigation_navmesh_add>` **(** :ref:`NavigationMesh<class_navigationmesh>` mesh, :ref:`Transform<class_transform>` xform, :ref:`Object<class_object>` owner=null **)**                     |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                             | :ref:`navmesh_remove<class_Navigation_navmesh_remove>` **(** :ref:`int<class_int>` id **)**                                                                                                                        |
 +--------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -42,8 +42,13 @@ Member Variables
 
   .. _class_Navigation_up_vector:
 
-- :ref:`Vector3<class_vector3>` **up_vector**
+- :ref:`Vector3<class_vector3>` **up_vector** - Defines which direction is up. The default defines 0,1,0 as up which is the world up direction. To make this a ceiling use 0,-1,0 to define down as up.
+
+
+Description
+-----------
 
+The Navigation node is used for basic or advanced navigation. By default it will automatically collect all child ``NavigationMesh`` resources, but they can also be added on the fly through scripting. It can be used for generating a simple path between two points or it can be used to ensure that a navigation agent is angled perfectly to the terrain it is navigating.
 
 Member Function Description
 ---------------------------
@@ -52,32 +57,48 @@ Member Function Description
 
 - :ref:`Vector3<class_vector3>` **get_closest_point** **(** :ref:`Vector3<class_vector3>` to_point **)**
 
+Returns the closest navigation point to the point passed.
+
 .. _class_Navigation_get_closest_point_normal:
 
 - :ref:`Vector3<class_vector3>` **get_closest_point_normal** **(** :ref:`Vector3<class_vector3>` to_point **)**
 
+Returns the surface normal of the navigation mesh at the point passed. For instance, if the point passed was at a 45 degree slope it would return something like (0.5,0.5,0). This is useful for rotating a navigation agent in accordance with the ``NavigationMesh``.
+
 .. _class_Navigation_get_closest_point_owner:
 
 - :ref:`Object<class_object>` **get_closest_point_owner** **(** :ref:`Vector3<class_vector3>` to_point **)**
 
+Returns the nearest ``NavigationMeshInstance`` to the point passed.
+
 .. _class_Navigation_get_closest_point_to_segment:
 
 - :ref:`Vector3<class_vector3>` **get_closest_point_to_segment** **(** :ref:`Vector3<class_vector3>` start, :ref:`Vector3<class_vector3>` end, :ref:`bool<class_bool>` use_collision=false **)**
 
+Returns the nearest point to the line segment passed. The third optional parameter takes collisions into account.
+
 .. _class_Navigation_get_simple_path:
 
 - :ref:`PoolVector3Array<class_poolvector3array>` **get_simple_path** **(** :ref:`Vector3<class_vector3>` start, :ref:`Vector3<class_vector3>` end, :ref:`bool<class_bool>` optimize=true **)**
 
-.. _class_Navigation_navmesh_create:
+Returns a path of points as a ``PoolVector3Array``. If ``optimize`` is false the ``NavigationMesh`` agent properties will be taken into account, otherwise it will return the nearest path and ignore agent radius, height, etc.
+
+.. _class_Navigation_navmesh_add:
+
+- :ref:`int<class_int>` **navmesh_add** **(** :ref:`NavigationMesh<class_navigationmesh>` mesh, :ref:`Transform<class_transform>` xform, :ref:`Object<class_object>` owner=null **)**
 
-- :ref:`int<class_int>` **navmesh_create** **(** :ref:`NavigationMesh<class_navigationmesh>` mesh, :ref:`Transform<class_transform>` xform, :ref:`Object<class_object>` owner=null **)**
+Adds a ``NavigationMesh`` to the list of NavigationMesh's in this node. Returns an id. Its position, rotation and scale are associated with the ``Transform`` passed. The ``Node`` (or ``Object``) that owns this node is an optional parameter.
 
 .. _class_Navigation_navmesh_remove:
 
 - void **navmesh_remove** **(** :ref:`int<class_int>` id **)**
 
+Removes a ``NavigationMesh`` from the list of NavigationMesh's in this node.
+
 .. _class_Navigation_navmesh_set_transform:
 
 - void **navmesh_set_transform** **(** :ref:`int<class_int>` id, :ref:`Transform<class_transform>` xform **)**
 
+Associates a ``NavigationMesh``'s id with a ``Transform``. Its position, rotation and scale are based on the ``Transform`` passed.
+
 

+ 15 - 15
classes/class_navigation2d.rst

@@ -19,19 +19,19 @@ Brief Description
 Member Functions
 ----------------
 
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Vector2<class_vector2>`                    | :ref:`get_closest_point<class_Navigation2D_get_closest_point>` **(** :ref:`Vector2<class_vector2>` to_point **)**                                                                                                |
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`                      | :ref:`get_closest_point_owner<class_Navigation2D_get_closest_point_owner>` **(** :ref:`Vector2<class_vector2>` to_point **)**                                                                                    |
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`get_simple_path<class_Navigation2D_get_simple_path>` **(** :ref:`Vector2<class_vector2>` start, :ref:`Vector2<class_vector2>` end, :ref:`bool<class_bool>` optimize=true **)**                             |
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                            | :ref:`navpoly_create<class_Navigation2D_navpoly_create>` **(** :ref:`NavigationPolygon<class_navigationpolygon>` mesh, :ref:`Transform2D<class_transform2d>` xform, :ref:`Object<class_object>` owner=null **)** |
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`navpoly_remove<class_Navigation2D_navpoly_remove>` **(** :ref:`int<class_int>` id **)**                                                                                                                    |
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                             | :ref:`navpoly_set_transform<class_Navigation2D_navpoly_set_transform>` **(** :ref:`int<class_int>` id, :ref:`Transform2D<class_transform2d>` xform **)**                                                         |
-+--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Vector2<class_vector2>`                    | :ref:`get_closest_point<class_Navigation2D_get_closest_point>` **(** :ref:`Vector2<class_vector2>` to_point **)**                                                                                          |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Object<class_object>`                      | :ref:`get_closest_point_owner<class_Navigation2D_get_closest_point_owner>` **(** :ref:`Vector2<class_vector2>` to_point **)**                                                                              |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolVector2Array<class_poolvector2array>`  | :ref:`get_simple_path<class_Navigation2D_get_simple_path>` **(** :ref:`Vector2<class_vector2>` start, :ref:`Vector2<class_vector2>` end, :ref:`bool<class_bool>` optimize=true **)**                       |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                            | :ref:`navpoly_add<class_Navigation2D_navpoly_add>` **(** :ref:`NavigationPolygon<class_navigationpolygon>` mesh, :ref:`Transform2D<class_transform2d>` xform, :ref:`Object<class_object>` owner=null **)** |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                             | :ref:`navpoly_remove<class_Navigation2D_navpoly_remove>` **(** :ref:`int<class_int>` id **)**                                                                                                              |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                             | :ref:`navpoly_set_transform<class_Navigation2D_navpoly_set_transform>` **(** :ref:`int<class_int>` id, :ref:`Transform2D<class_transform2d>` xform **)**                                                   |
++--------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Member Function Description
 ---------------------------
@@ -48,9 +48,9 @@ Member Function Description
 
 - :ref:`PoolVector2Array<class_poolvector2array>` **get_simple_path** **(** :ref:`Vector2<class_vector2>` start, :ref:`Vector2<class_vector2>` end, :ref:`bool<class_bool>` optimize=true **)**
 
-.. _class_Navigation2D_navpoly_create:
+.. _class_Navigation2D_navpoly_add:
 
-- :ref:`int<class_int>` **navpoly_create** **(** :ref:`NavigationPolygon<class_navigationpolygon>` mesh, :ref:`Transform2D<class_transform2d>` xform, :ref:`Object<class_object>` owner=null **)**
+- :ref:`int<class_int>` **navpoly_add** **(** :ref:`NavigationPolygon<class_navigationpolygon>` mesh, :ref:`Transform2D<class_transform2d>` xform, :ref:`Object<class_object>` owner=null **)**
 
 .. _class_Navigation2D_navpoly_remove:
 

+ 59 - 51
classes/class_node.rst

@@ -16,7 +16,7 @@ Node
 Brief Description
 -----------------
 
-Base class for all the *scene* elements.
+Base class for all *scene* objects.
 
 Member Functions
 ----------------
@@ -204,13 +204,13 @@ Emitted when the node is renamed.
 
 - **tree_entered** **(** **)**
 
-Emitted when Node enters the tree.
+Emitted when the node enters the tree.
 
 .. _class_Node_tree_exited:
 
 - **tree_exited** **(** **)**
 
-Emitted when Node exits the tree.
+Emitted when the node exits the tree.
 
 
 Member Variables
@@ -257,25 +257,25 @@ Numeric Constants
 Description
 -----------
 
-Nodes are the base bricks with which Godot games are developed. They can be set as children of other nodes, resulting in a tree arrangement. A given node can contain any number of nodes as children (but there is only one scene tree root node) with the requirement that all siblings (direct children of a node) should have unique names.
+Nodes are Godot's building blocks. They can be assigned as the child of another node, resulting in a tree arrangement. A given node can contain any number of nodes as children with the requirement that all siblings (direct children of a node) should have unique names.
 
-Any tree of nodes is called a *scene*. Scenes can be saved to the disk and then instanced into other scenes. This allows for very high flexibility in the architecture and data model of the projects. Nodes can optionally be added to groups. This makes it easy to reach a number of nodes from the code (for example an "enemies" group) to perform grouped actions.
+A tree of nodes is called a *scene*. Scenes can be saved to the disk and then instanced into other scenes. This allows for very high flexibility in the architecture and data model of Godot projects. Nodes can also optionally be added to groups. This makes it possible to access a number of nodes from code (an "enemies" group, for example) to perform grouped actions.
 
-**Scene tree:** The :ref:`SceneTree<class_scenetree>` contains the active tree of nodes. When a node is added to the scene tree, it receives the NOTIFICATION_ENTER_TREE notification and its :ref:`_enter_tree<class_Node__enter_tree>` callback is triggered. Children nodes are always added *after* their parent node, i.e. the :ref:`_enter_tree<class_Node__enter_tree>` callback of a parent node will be triggered before its child's.
+**Scene tree:** The :ref:`SceneTree<class_scenetree>` contains the active tree of nodes. When a node is added to the scene tree, it receives the NOTIFICATION_ENTER_TREE notification and its :ref:`_enter_tree<class_Node__enter_tree>` callback is triggered. Child nodes are always added *after* their parent node, i.e. the :ref:`_enter_tree<class_Node__enter_tree>` callback of a parent node will be triggered before its child's.
 
-Once all nodes have been added in the scene tree, they receive the NOTIFICATION_READY notification and their respective :ref:`_ready<class_Node__ready>` callbacks are triggered. For groups of nodes, the :ref:`_ready<class_Node__ready>` callback is called in reverse order, from the children up to the parent nodes.
+Once all nodes have been added in the scene tree, they receive the NOTIFICATION_READY notification and their respective :ref:`_ready<class_Node__ready>` callbacks are triggered. For groups of nodes, the :ref:`_ready<class_Node__ready>` callback is called in reverse order, starting with the children and moving up to the parent nodes.
 
-It means that when adding a scene to the scene tree, the following order will be used for the callbacks: :ref:`_enter_tree<class_Node__enter_tree>` of the parent, :ref:`_enter_tree<class_Node__enter_tree>` of the children, :ref:`_ready<class_Node__ready>` of the children and finally :ref:`_ready<class_Node__ready>` of the parent (and that recursively for the whole scene).
+This means that when adding a node to the scene tree, the following order will be used for the callbacks: :ref:`_enter_tree<class_Node__enter_tree>` of the parent, :ref:`_enter_tree<class_Node__enter_tree>` of the children, :ref:`_ready<class_Node__ready>` of the children and finally :ref:`_ready<class_Node__ready>` of the parent (recursively for the entire scene tree).
 
-**Processing:** Nodes can be set to the "process" state, so that they receive a callback on each frame requesting them to process (do something). Normal processing (callback :ref:`_process<class_Node__process>`, toggled with :ref:`set_process<class_Node_set_process>`) happens as fast as possible and is dependent on the frame rate, so the processing time *delta* is variable. Physics processing (callback :ref:`_physics_process<class_Node__physics_process>`, toggled with :ref:`set_physics_process<class_Node_set_physics_process>`) happens a fixed amount of times per second (by default 60) and is useful to link itself to the physics.
+**Processing:** Nodes can override the "process" state, so that they receive a callback on each frame requesting them to process (do something). Normal processing (callback :ref:`_process<class_Node__process>`, toggled with :ref:`set_process<class_Node_set_process>`) happens as fast as possible and is dependent on the frame rate, so the processing time *delta* is passed as an argument. Physics processing (callback :ref:`_physics_process<class_Node__physics_process>`, toggled with :ref:`set_physics_process<class_Node_set_physics_process>`) happens a fixed number of times per second (60 by default) and is useful for code related to the physics engine.
 
-Nodes can also process input events. When set, the :ref:`_input<class_Node__input>` function will be called for each input that the program receives. In many cases, this can be overkill (unless used for simple projects), and the :ref:`_unhandled_input<class_Node__unhandled_input>` function might be preferred; it is called when the input event was not handled by anyone else (typically, GUI :ref:`Control<class_control>` nodes), ensuring that the node only receives the events that were meant for it.
+Nodes can also process input events. When present, the :ref:`_input<class_Node__input>` function will be called for each input that the program receives. In many cases, this can be overkill (unless used for simple projects), and the :ref:`_unhandled_input<class_Node__unhandled_input>` function might be preferred; it is called when the input event was not handled by anyone else (typically, GUI :ref:`Control<class_control>` nodes), ensuring that the node only receives the events that were meant for it.
 
 To keep track of the scene hierarchy (especially when instancing scenes into other scenes), an "owner" can be set for the node with :ref:`set_owner<class_Node_set_owner>`. This keeps track of who instanced what. This is mostly useful when writing editors and tools, though.
 
 Finally, when a node is freed with :ref:`free<class_Node_free>` or :ref:`queue_free<class_Node_queue_free>`, it will also free all its children.
 
-**Networking with nodes:** After connecting to a server (or making one, see :ref:`NetworkedMultiplayerENet<class_networkedmultiplayerenet>`) it is possible to use the built-in RPC (remote procedure call) system to easily communicate over the network. By calling :ref:`rpc<class_Node_rpc>` with a method name, it will be called locally, and in all connected peers (peers = clients and the server that accepts connections), with behaviour varying depending on the network mode (:ref:`set_network_mode<class_Node_set_network_mode>`) on the receiving peer. To identify which ``Node`` receives the RPC call Godot will use its :ref:`NodePath<class_nodepath>` (make sure node names are the same on all peers).
+**Networking with nodes:** After connecting to a server (or making one, see :ref:`NetworkedMultiplayerENet<class_networkedmultiplayerenet>`) it is possible to use the built-in RPC (remote procedure call) system to communicate over the network. By calling :ref:`rpc<class_Node_rpc>` with a method name, it will be called locally and in all connected peers (peers = clients and the server that accepts connections), with behaviour varying depending on the network mode (:ref:`set_network_mode<class_Node_set_network_mode>`) of the receiving peer. To identify which node receives the RPC call Godot will use its :ref:`NodePath<class_nodepath>` (make sure node names are the same on all peers).
 
 Member Function Description
 ---------------------------
@@ -284,7 +284,7 @@ Member Function Description
 
 - void **_enter_tree** **(** **)** virtual
 
-Called when the node enters the :ref:`SceneTree<class_scenetree>` (e.g. upon instancing, scene changing or after calling :ref:`add_child<class_Node_add_child>` in a script). If the node has children, its :ref:`_enter_tree<class_Node__enter_tree>` callback will be called first, and then that of the children.
+Called when the node enters the :ref:`SceneTree<class_scenetree>` (e.g. upon instancing, scene changing, or after calling :ref:`add_child<class_Node_add_child>` in a script). If the node has children, its :ref:`_enter_tree<class_Node__enter_tree>` callback will be called first, and then that of the children.
 
 Corresponds to the NOTIFICATION_ENTER_TREE notification in :ref:`Object._notification<class_Object__notification>`.
 
@@ -292,7 +292,7 @@ Corresponds to the NOTIFICATION_ENTER_TREE notification in :ref:`Object._notific
 
 - void **_exit_tree** **(** **)** virtual
 
-Called when the node leaves the :ref:`SceneTree<class_scenetree>` (e.g. upon freeing, scene changing or after calling :ref:`remove_child<class_Node_remove_child>` in a script). If the node has children, its :ref:`_exit_tree<class_Node__exit_tree>` callback will be called last, after all its children have left the tree.
+Called when the node leaves the :ref:`SceneTree<class_scenetree>` (e.g. upon freeing, scene changing, or after calling :ref:`remove_child<class_Node_remove_child>` in a script). If the node has children, its :ref:`_exit_tree<class_Node__exit_tree>` callback will be called last, after all its children have left the tree.
 
 Corresponds to the NOTIFICATION_EXIT_TREE notification in :ref:`Object._notification<class_Object__notification>`.
 
@@ -300,7 +300,7 @@ Corresponds to the NOTIFICATION_EXIT_TREE notification in :ref:`Object._notifica
 
 - void **_input** **(** :ref:`InputEvent<class_inputevent>` event **)** virtual
 
-Called when there is a change to input devices. Propagated through the node tree until a Node consumes it.
+Called when there is an input event. The input event propagates through the node tree until a node consumes it.
 
 It is only called if input processing is enabled, which is done automatically if this method is overriden, and can be toggled with :ref:`set_process_input<class_Node_set_process_input>`.
 
@@ -328,7 +328,7 @@ Corresponds to the NOTIFICATION_PROCESS notification in :ref:`Object._notificati
 
 - void **_ready** **(** **)** virtual
 
-Called when the node is "ready", i.e. when both the node and its children have entered the scene tree. If the node has children, their :ref:`_ready<class_Node__ready>` callback gets triggered first, and the node will receive the ready notification only afterwards.
+Called when the node is "ready", i.e. when both the node and its children have entered the scene tree. If the node has children, their :ref:`_ready<class_Node__ready>` callbacks get triggered first, and the parent node will receive the ready notification afterwards.
 
 Corresponds to the NOTIFICATION_READY notification in :ref:`Object._notification<class_Object__notification>`.
 
@@ -348,33 +348,37 @@ It is only called if unhandled input processing is enabled, which is done automa
 
 - void **add_child** **(** :ref:`Node<class_node>` node, :ref:`bool<class_bool>` legible_unique_name=false **)**
 
-Add a child ``Node``. Nodes can have as many children as they want, but every child must have a unique name. Children nodes are automatically deleted when the parent node is deleted, so deleting a whole scene is performed by deleting its topmost node.
+Adds a child node. Nodes can have any number of children, but every child must have a unique name. Child nodes are automatically deleted when the parent node is deleted, so an entire scene can be removed by deleting its topmost node.
 
-The optional boolean argument enforces creating child nodes with human-readable names, based on the name of the node being instanced instead of its type only.
+Setting "legible_unique_name" ``true`` creates child nodes with human-readable names, based on the name of the node being instanced instead of its type.
 
 .. _class_Node_add_child_below_node:
 
 - void **add_child_below_node** **(** :ref:`Node<class_node>` node, :ref:`Node<class_node>` child_node, :ref:`bool<class_bool>` legible_unique_name=false **)**
 
+Adds a child node. The child is placed below the given node in the list of children.
+
+Setting "legible_unique_name" ``true`` creates child nodes with human-readable names, based on the name of the node being instanced instead of its type.
+
 .. _class_Node_add_to_group:
 
 - void **add_to_group** **(** :ref:`String<class_string>` group, :ref:`bool<class_bool>` persistent=false **)**
 
-Add a node to a group. Groups are helpers to name and organize a subset of nodes, like for example "enemies" or "collectables". A ``Node`` can be in any number of groups. Nodes can be assigned a group at any time, but will not be added to it until they are inside the scene tree (see :ref:`is_inside_tree<class_Node_is_inside_tree>`).
+Adds the node to a group. Groups are helpers to name and organize a subset of nodes, for example "enemies" or "collectables". A node can be in any number of groups. Nodes can be assigned a group at any time, but will not be added until they are inside the scene tree (see :ref:`is_inside_tree<class_Node_is_inside_tree>`).
 
 .. _class_Node_can_process:
 
 - :ref:`bool<class_bool>` **can_process** **(** **)** const
 
-Return true if the node can process, i.e. whether its pause mode allows processing while the scene tree is paused (see :ref:`set_pause_mode<class_Node_set_pause_mode>`). Always returns true if the scene tree is not paused, and false if the node is not in the tree. FIXME: Why FAIL_COND?
+Returns ``true`` if the node can process while the scene tree is paused (see :ref:`set_pause_mode<class_Node_set_pause_mode>`). Always returns ``true`` if the scene tree is not paused, and ``false`` if the node is not in the tree. FIXME: Why FAIL_COND?
 
 .. _class_Node_duplicate:
 
 - :ref:`Node<class_node>` **duplicate** **(** :ref:`int<class_int>` flags=15 **)** const
 
-Duplicate the node, returning a new ``Node``.
+Duplicates the node, returning a new node.
 
-You can fine-tune the behavior using the ``flags``, which are based on the DUPLICATE\_\* constants.
+You can fine-tune the behavior using the ``flags``. See DUPLICATE\_\* constants.
 
 .. _class_Node_find_node:
 
@@ -392,31 +396,31 @@ Returns a child node by its index (see :ref:`get_child_count<class_Node_get_chil
 
 - :ref:`int<class_int>` **get_child_count** **(** **)** const
 
-Returns the amount of child nodes.
+Returns the number of child nodes.
 
 .. _class_Node_get_children:
 
 - :ref:`Array<class_array>` **get_children** **(** **)** const
 
-Returns an array of references (``Node``) to the child nodes.
+Returns an array of references to node's children.
 
 .. _class_Node_get_filename:
 
 - :ref:`String<class_string>` **get_filename** **(** **)** const
 
-Returns a filename that may be contained by the node. When a scene is instanced from a file, it topmost node contains the filename from where it was loaded (see :ref:`set_filename<class_Node_set_filename>`).
+Returns a filename that may be contained by the node. When a scene is instanced from a file, its topmost node contains the filename from which it was loaded (see :ref:`set_filename<class_Node_set_filename>`).
 
 .. _class_Node_get_groups:
 
 - :ref:`Array<class_array>` **get_groups** **(** **)** const
 
-Returns an array listing the groups that the node is part of.
+Returns an array listing the groups that the node is a member of.
 
 .. _class_Node_get_index:
 
 - :ref:`int<class_int>` **get_index** **(** **)** const
 
-Returns the node index, i.e. its position among the siblings of its parent.
+Returns the node's index, i.e. its position among the siblings of its parent.
 
 .. _class_Node_get_name:
 
@@ -434,7 +438,7 @@ Returns the peer ID of the network master for this node.
 
 - :ref:`Node<class_node>` **get_node** **(** :ref:`NodePath<class_nodepath>` path **)** const
 
-Fetches a node. The :ref:`NodePath<class_nodepath>` must be valid (or else an error will be raised) and can be either the path to child node, a relative path (from the current node to another node), or an absolute path to a node.
+Fetches a node. The :ref:`NodePath<class_nodepath>` can be either a relative path (from the current node) or an absolute path (in the scene tree) to a node. If the path does not exist, a ``null instance`` is returned and attempts to access it will result in an "Attempt to call <method> on a null instance." error.
 
 Note: fetching absolute paths only works when the node is inside the scene tree (see :ref:`is_inside_tree<class_Node_is_inside_tree>`).
 
@@ -486,7 +490,7 @@ Returns the absolute path of the current node. This only works if the current no
 
 - :ref:`NodePath<class_nodepath>` **get_path_to** **(** :ref:`Node<class_node>` node **)** const
 
-Returns the relative path from the current node to the specified node in "node" argument. Both nodes must be in the same scene, or else the function will fail.
+Returns the relative path from the current node to the specified node in "node" argument. Both nodes must be in the same scene, or the function will fail.
 
 .. _class_Node_get_physics_process_delta_time:
 
@@ -498,13 +502,13 @@ Returns the time elapsed since the last physics-bound frame (see :ref:`_physics_
 
 - :ref:`int<class_int>` **get_position_in_parent** **(** **)** const
 
-Returns the order in the node tree branch, i.e. if called by the first child Node, return 0.
+Returns the node's order in the scene tree branch. For example, if called on the first child node the position is ``0``.
 
 .. _class_Node_get_process_delta_time:
 
 - :ref:`float<class_float>` **get_process_delta_time** **(** **)** const
 
-Returns the time elapsed (in seconds) since the last process callback. This is almost always different each time.
+Returns the time elapsed (in seconds) since the last process callback. This value may vary from frame to frame.
 
 .. _class_Node_get_scene_instance_load_placeholder:
 
@@ -514,13 +518,13 @@ Returns the time elapsed (in seconds) since the last process callback. This is a
 
 - :ref:`SceneTree<class_scenetree>` **get_tree** **(** **)** const
 
-Returns the :ref:`SceneTree<class_scenetree>` that this node is inside.
+Returns the :ref:`SceneTree<class_scenetree>` that contains this node.
 
 .. _class_Node_get_viewport:
 
 - :ref:`Viewport<class_viewport>` **get_viewport** **(** **)** const
 
-Returns the :ref:`Viewport<class_viewport>` for this node.
+Returns the node's :ref:`Viewport<class_viewport>`.
 
 .. _class_Node_has_node:
 
@@ -536,29 +540,31 @@ Returns ``true`` if the node that the :ref:`NodePath<class_nodepath>` points to
 
 - :ref:`bool<class_bool>` **is_a_parent_of** **(** :ref:`Node<class_node>` node **)** const
 
-Returns ``true`` if the "node" argument is a direct or indirect child of the current node, otherwise return ``false[code].
+Returns ``true`` if the given node is a direct or indirect child of the current node.
 
 .. _class_Node_is_displayed_folded:
 
 - :ref:`bool<class_bool>` **is_displayed_folded** **(** **)** const
 
+Returns ``true`` if the node is folded (collapsed) in the Scene dock.
+
 .. _class_Node_is_greater_than:
 
 - :ref:`bool<class_bool>` **is_greater_than** **(** :ref:`Node<class_node>` node **)** const
 
-Returns ``true`` if ``node`` occurs later in the scene hierarchy than the current node, otherwise return ``false``.
+Returns ``true`` if the given node occurs later in the scene hierarchy than the current node.
 
 .. _class_Node_is_in_group:
 
 - :ref:`bool<class_bool>` **is_in_group** **(** :ref:`String<class_string>` group **)** const
 
-Returns ``true`` if this Node is in the specified group.
+Returns ``true`` if this node is in the specified group.
 
 .. _class_Node_is_inside_tree:
 
 - :ref:`bool<class_bool>` **is_inside_tree** **(** **)** const
 
-Returns ``true`` if this Node is currently inside a :ref:`SceneTree<class_scenetree>`.
+Returns ``true`` if this node is currently inside a :ref:`SceneTree<class_scenetree>`.
 
 .. _class_Node_is_network_master:
 
@@ -622,37 +628,37 @@ Prints the scene to stdout. Used mainly for debugging purposes.
 
 - void **propagate_call** **(** :ref:`String<class_string>` method, :ref:`Array<class_array>` args=[  ], :ref:`bool<class_bool>` parent_first=false **)**
 
-Calls the method (if present) with the arguments given in "args" on this Node and recursively on all children. If the parent_first argument is true then the method will be called on the current ``Node`` first, then on all children. If it is false then the children will get called first.
+Calls the given method (if present) with the arguments given in ``args`` on this node and recursively on all its children. If the parent_first argument is ``true`` then the method will be called on the current node first, then on all children. If it is ``false`` then the children will be called first.
 
 .. _class_Node_propagate_notification:
 
 - void **propagate_notification** **(** :ref:`int<class_int>` what **)**
 
-Notify the current node and all its children recursively by calling notification() in all of them.
+Notifies the current node and all its children recursively by calling notification() on all of them.
 
 .. _class_Node_queue_free:
 
 - void **queue_free** **(** **)**
 
-Queues a node for deletion at the end of the current frame. When deleted, all of its children nodes will be deleted as well. This method ensures it's safe to delete the node, contrary to :ref:`Object.free<class_Object_free>`. Use :ref:`Object.is_queued_for_deletion<class_Object_is_queued_for_deletion>` to know whether a node will be deleted at the end of the frame.
+Queues a node for deletion at the end of the current frame. When deleted, all of its child nodes will be deleted as well. This method ensures it's safe to delete the node, contrary to :ref:`Object.free<class_Object_free>`. Use :ref:`Object.is_queued_for_deletion<class_Object_is_queued_for_deletion>` to check whether a node will be deleted at the end of the frame.
 
 .. _class_Node_raise:
 
 - void **raise** **(** **)**
 
-Moves this node to the top of the array of nodes of the parent node. This is often useful on GUIs (:ref:`Control<class_control>`), because their order of drawing fully depends on their order in the tree.
+Moves this node to the top of the array of nodes of the parent node. This is often useful in GUIs (:ref:`Control<class_control>` nodes), because their order of drawing depends on their order in the tree.
 
 .. _class_Node_remove_and_skip:
 
 - void **remove_and_skip** **(** **)**
 
-Removes a node and set all its children as children of the parent node (if exists). All even subscriptions that pass by the removed node will be unsubscribed.
+Removes a node and sets all its children as children of the parent node (if it exists). All event subscriptions that pass by the removed node will be unsubscribed.
 
 .. _class_Node_remove_child:
 
 - void **remove_child** **(** :ref:`Node<class_node>` node **)**
 
-Removes a child ``Node``. Node is NOT deleted and will have to be deleted manually.
+Removes a child node. The node is NOT deleted and must be deleted manually.
 
 .. _class_Node_remove_from_group:
 
@@ -664,7 +670,7 @@ Removes a node from a group.
 
 - void **replace_by** **(** :ref:`Node<class_node>` node, :ref:`bool<class_bool>` keep_data=false **)**
 
-Replaces a node in a scene by a given one. Subscriptions that pass through this node will be lost.
+Replaces a node in a scene by the given one. Subscriptions that pass through this node will be lost.
 
 .. _class_Node_request_ready:
 
@@ -736,17 +742,19 @@ Remotely changes property's value on a specific peer identified by *peer_id* usi
 
 - void **set_display_folded** **(** :ref:`bool<class_bool>` fold **)**
 
+Sets the folded state of the node in the Scene dock.
+
 .. _class_Node_set_filename:
 
 - void **set_filename** **(** :ref:`String<class_string>` filename **)**
 
-A node can contain a filename. This filename should not be changed by the user, unless writing editors and tools. When a scene is instanced from a file, it topmost node contains the filename from where it was loaded.
+A node can contain a filename. This filename should not be changed by the user, unless writing editors and tools. When a scene is instanced from a file, its topmost node contains the filename from which it was loaded.
 
 .. _class_Node_set_name:
 
 - void **set_name** **(** :ref:`String<class_string>` name **)**
 
-Sets the name of the ``Node``. Name must be unique within parent, and setting an already existing name will cause for the node to be automatically renamed.
+Sets the name of the node. The name must be unique within the parent. Using an existing name will cause the node to be automatically renamed.
 
 .. _class_Node_set_network_master:
 
@@ -758,13 +766,13 @@ Sets the node network master to the peer with the given peer ID. The network mas
 
 - void **set_owner** **(** :ref:`Node<class_node>` owner **)**
 
-Sets the node owner. A node can have any other node as owner (as long as a valid parent, grandparent, etc ascending in the tree). When saving a node (using SceneSaver) all the nodes it owns will be saved with it. This allows to create complex SceneTrees, with instancing and subinstancing.
+Sets the node owner. A node can have any other node as owner (as long as it is a valid parent, grandparent, etc ascending in the tree). When saving a node (using SceneSaver) all the nodes it owns will be saved with it. This allows for the creation of complex :ref:`SceneTree<class_scenetree>`\ s, with instancing and subinstancing.
 
 .. _class_Node_set_physics_process:
 
 - void **set_physics_process** **(** :ref:`bool<class_bool>` enable **)**
 
-Enables or disables the node's physics (alias fixed framerate) processing. When a node is being processed, it will receive a NOTIFICATION_PHYSICS_PROCESS at a fixed (usually 60 fps, check :ref:`OS<class_os>` to change that) interval (and the :ref:`_physics_process<class_Node__physics_process>` callback will be called if exists). Enabled automatically if :ref:`_physics_process<class_Node__physics_process>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
+Enables or disables physics (i.e. fixed framerate) processing. When a node is being processed, it will receive a NOTIFICATION_PHYSICS_PROCESS at a fixed (usually 60 fps, see :ref:`OS<class_os>` to change) interval (and the :ref:`_physics_process<class_Node__physics_process>` callback will be called if exists). Enabled automatically if :ref:`_physics_process<class_Node__physics_process>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
 
 .. _class_Node_set_physics_process_internal:
 
@@ -774,13 +782,13 @@ Enables or disables the node's physics (alias fixed framerate) processing. When
 
 - void **set_process** **(** :ref:`bool<class_bool>` enable **)**
 
-Enables or disables node processing. When a node is being processed, it will receive a NOTIFICATION_PROCESS on every drawn frame (and the :ref:`_process<class_Node__process>` callback will be called if exists). Enabled automatically if :ref:`_process<class_Node__process>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
+Enables or disables processing. When a node is being processed, it will receive a NOTIFICATION_PROCESS on every drawn frame (and the :ref:`_process<class_Node__process>` callback will be called if exists). Enabled automatically if :ref:`_process<class_Node__process>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
 
 .. _class_Node_set_process_input:
 
 - void **set_process_input** **(** :ref:`bool<class_bool>` enable **)**
 
-Enables input processing for node. This is not required for GUI controls! It hooks up the node to receive all input (see :ref:`_input<class_Node__input>`). Enabled automatically if :ref:`_input<class_Node__input>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
+Enables or disables input processing. This is not required for GUI controls! Enabled automatically if :ref:`_input<class_Node__input>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
 
 .. _class_Node_set_process_internal:
 
@@ -790,13 +798,13 @@ Enables input processing for node. This is not required for GUI controls! It hoo
 
 - void **set_process_unhandled_input** **(** :ref:`bool<class_bool>` enable **)**
 
-Enables unhandled input processing for node. This is not required for GUI controls! It hooks up the node to receive all input that was not previously handled before (usually by a :ref:`Control<class_control>`). Enabled automatically if :ref:`_unhandled_input<class_Node__unhandled_input>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
+Enables unhandled input processing. This is not required for GUI controls! It enables the node to receive all input that was not previously handled (usually by a :ref:`Control<class_control>`). Enabled automatically if :ref:`_unhandled_input<class_Node__unhandled_input>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
 
 .. _class_Node_set_process_unhandled_key_input:
 
 - void **set_process_unhandled_key_input** **(** :ref:`bool<class_bool>` enable **)**
 
-Enables unhandled key input processing for node. Enabled automatically if :ref:`_unhandled_key_input<class_Node__unhandled_key_input>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
+Enables unhandled key input processing. Enabled automatically if :ref:`_unhandled_key_input<class_Node__unhandled_key_input>` is overriden. Any calls to this before :ref:`_ready<class_Node__ready>` will be ignored.
 
 .. _class_Node_set_scene_instance_load_placeholder:
 

+ 4 - 4
classes/class_node2d.rst

@@ -88,14 +88,14 @@ Member Variables
 
 - :ref:`Transform2D<class_transform2d>` **transform** - Local :ref:`Transform2D<class_transform2d>`.
 
-  .. _class_Node2D_z:
-
-- :ref:`int<class_int>` **z** - Z-index. Controls the order in which the nodes render. A node with a higher Z-index will display in front of others.
-
   .. _class_Node2D_z_as_relative:
 
 - :ref:`bool<class_bool>` **z_as_relative** - If ``true`` the node's Z-index is relative to its parent's Z-index. If this node's Z-index is 2 and its parent's effective Z-index is 3, then this node's effective Z-index will be 2 + 3 = 5.
 
+  .. _class_Node2D_z_index:
+
+- :ref:`int<class_int>` **z_index** - Z-index. Controls the order in which the nodes render. A node with a higher Z-index will display in front of others.
+
 
 Description
 -----------

+ 47 - 39
classes/class_optionbutton.rst

@@ -19,45 +19,47 @@ Button control that provides selectable options when pressed.
 Member Functions
 ----------------
 
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_icon_item<class_OptionButton_add_icon_item>` **(** :ref:`Texture<class_texture>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id **)** |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_item<class_OptionButton_add_item>` **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1 **)**                                               |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`add_separator<class_OptionButton_add_separator>` **(** **)**                                                                                                    |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`clear<class_OptionButton_clear>` **(** **)**                                                                                                                    |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_item_count<class_OptionButton_get_item_count>` **(** **)** const                                                                                            |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Texture<class_texture>`  | :ref:`get_item_icon<class_OptionButton_get_item_icon>` **(** :ref:`int<class_int>` idx **)** const                                                                    |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_item_id<class_OptionButton_get_item_id>` **(** :ref:`int<class_int>` idx **)** const                                                                        |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_variant>`  | :ref:`get_item_metadata<class_OptionButton_get_item_metadata>` **(** :ref:`int<class_int>` idx **)** const                                                            |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`    | :ref:`get_item_text<class_OptionButton_get_item_text>` **(** :ref:`int<class_int>` idx **)** const                                                                    |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`          | :ref:`get_selected_id<class_OptionButton_get_selected_id>` **(** **)** const                                                                                          |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_variant>`  | :ref:`get_selected_metadata<class_OptionButton_get_selected_metadata>` **(** **)** const                                                                              |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`is_item_disabled<class_OptionButton_is_item_disabled>` **(** :ref:`int<class_int>` idx **)** const                                                              |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`remove_item<class_OptionButton_remove_item>` **(** :ref:`int<class_int>` idx **)**                                                                              |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`select<class_OptionButton_select>` **(** :ref:`int<class_int>` idx **)**                                                                                        |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_disabled<class_OptionButton_set_item_disabled>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)**                                |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_icon<class_OptionButton_set_item_icon>` **(** :ref:`int<class_int>` idx, :ref:`Texture<class_texture>` texture **)**                                   |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_id<class_OptionButton_set_item_id>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id **)**                                                    |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_metadata<class_OptionButton_set_item_metadata>` **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` metadata **)**                          |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_item_text<class_OptionButton_set_item_text>` **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` text **)**                                        |
-+--------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`add_icon_item<class_OptionButton_add_icon_item>` **(** :ref:`Texture<class_texture>` texture, :ref:`String<class_string>` label, :ref:`int<class_int>` id **)** |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`add_item<class_OptionButton_add_item>` **(** :ref:`String<class_string>` label, :ref:`int<class_int>` id=-1 **)**                                               |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`add_separator<class_OptionButton_add_separator>` **(** **)**                                                                                                    |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`clear<class_OptionButton_clear>` **(** **)**                                                                                                                    |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`get_item_count<class_OptionButton_get_item_count>` **(** **)** const                                                                                            |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Texture<class_texture>`      | :ref:`get_item_icon<class_OptionButton_get_item_icon>` **(** :ref:`int<class_int>` idx **)** const                                                                    |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`get_item_id<class_OptionButton_get_item_id>` **(** :ref:`int<class_int>` idx **)** const                                                                        |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`      | :ref:`get_item_metadata<class_OptionButton_get_item_metadata>` **(** :ref:`int<class_int>` idx **)** const                                                            |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`        | :ref:`get_item_text<class_OptionButton_get_item_text>` **(** :ref:`int<class_int>` idx **)** const                                                                    |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PopupMenu<class_popupmenu>`  | :ref:`get_popup<class_OptionButton_get_popup>` **(** **)** const                                                                                                      |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`              | :ref:`get_selected_id<class_OptionButton_get_selected_id>` **(** **)** const                                                                                          |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`      | :ref:`get_selected_metadata<class_OptionButton_get_selected_metadata>` **(** **)** const                                                                              |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`            | :ref:`is_item_disabled<class_OptionButton_is_item_disabled>` **(** :ref:`int<class_int>` idx **)** const                                                              |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`remove_item<class_OptionButton_remove_item>` **(** :ref:`int<class_int>` idx **)**                                                                              |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`select<class_OptionButton_select>` **(** :ref:`int<class_int>` idx **)**                                                                                        |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_item_disabled<class_OptionButton_set_item_disabled>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` disabled **)**                                |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_item_icon<class_OptionButton_set_item_icon>` **(** :ref:`int<class_int>` idx, :ref:`Texture<class_texture>` texture **)**                                   |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_item_id<class_OptionButton_set_item_id>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` id **)**                                                    |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_item_metadata<class_OptionButton_set_item_metadata>` **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` metadata **)**                          |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                               | :ref:`set_item_text<class_OptionButton_set_item_text>` **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` text **)**                                        |
++------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -137,6 +139,12 @@ Return the ID of the item at index "idx".
 
 Return the text of the item at index "idx".
 
+.. _class_OptionButton_get_popup:
+
+- :ref:`PopupMenu<class_popupmenu>` **get_popup** **(** **)** const
+
+Return the :ref:`PopupMenu<class_popupmenu>` contained in this button.
+
 .. _class_OptionButton_get_selected_id:
 
 - :ref:`int<class_int>` **get_selected_id** **(** **)** const

+ 4 - 4
classes/class_packetpeer.rst

@@ -24,11 +24,11 @@ Member Functions
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                      | :ref:`get_available_packet_count<class_PacketPeer_get_available_packet_count>` **(** **)** const                        |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`get_packet<class_PacketPeer_get_packet>` **(** **)** const                                                        |
+| :ref:`PoolByteArray<class_poolbytearray>`  | :ref:`get_packet<class_PacketPeer_get_packet>` **(** **)**                                                              |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                      | :ref:`get_packet_error<class_PacketPeer_get_packet_error>` **(** **)** const                                            |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_variant>`              | :ref:`get_var<class_PacketPeer_get_var>` **(** **)** const                                                              |
+| :ref:`Variant<class_variant>`              | :ref:`get_var<class_PacketPeer_get_var>` **(** **)**                                                                    |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                    | :ref:`is_object_decoding_allowed<class_PacketPeer_is_object_decoding_allowed>` **(** **)** const                        |
 +--------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+
@@ -55,7 +55,7 @@ Return the number of packets currently available in the ring-buffer.
 
 .. _class_PacketPeer_get_packet:
 
-- :ref:`PoolByteArray<class_poolbytearray>` **get_packet** **(** **)** const
+- :ref:`PoolByteArray<class_poolbytearray>` **get_packet** **(** **)**
 
 Get a raw packet.
 
@@ -67,7 +67,7 @@ Return the error state of the last packet received (via :ref:`get_packet<class_P
 
 .. _class_PacketPeer_get_var:
 
-- :ref:`Variant<class_variant>` **get_var** **(** **)** const
+- :ref:`Variant<class_variant>` **get_var** **(** **)**
 
 Get a Variant.
 

+ 33 - 35
classes/class_physics2ddirectspacestate.rst

@@ -45,55 +45,53 @@ Member Function Description
 
 - :ref:`Array<class_array>` **cast_motion** **(** :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` shape **)**
 
-Check whether the shape can travel to a point. If it can, the method will return an array with two floats: The first is the distance the shape can move in that direction without colliding, and the second is the distance at which it will collide.
+Checks how far the shape can travel toward a point. Note that both the shape and the motion are supplied through a :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` object. The method will return an array with two floats between 0 and 1, both representing a fraction of ``motion``. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be 1, 1.
 
-If the shape can not move, the array will be empty.
+If the shape can not move, the array will be empty (``dir.empty()==true``).
 
 .. _class_Physics2DDirectSpaceState_collide_shape:
 
 - :ref:`Array<class_array>` **collide_shape** **(** :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` shape, :ref:`int<class_int>` max_results=32 **)**
 
-Check the intersections of a shape, given through a :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` object, against the space. The resulting array contains a list of points where the shape intersects another. Like with :ref:`intersect_shape<class_Physics2DDirectSpaceState_intersect_shape>`, the number of returned results can be limited to save processing time.
+Checks the intersections of a shape, given through a :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` object, against the space. The resulting array contains a list of points where the shape intersects another. Like with :ref:`intersect_shape<class_Physics2DDirectSpaceState_intersect_shape>`, the number of returned results can be limited to save processing time.
 
 .. _class_Physics2DDirectSpaceState_get_rest_info:
 
 - :ref:`Dictionary<class_dictionary>` **get_rest_info** **(** :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` shape **)**
 
-Check the intersections of a shape, given through a :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields:
+Checks the intersections of a shape, given through a :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` object, against the space. If it collides with more than one shape, the nearest one is selected. Note that this method does not take into account the ``motion`` property of the object. The returned object is a dictionary containing the following fields:
 
-pointo: Place where the shapes intersect.
+``collider_id``: The colliding object's ID.
 
-normal: Normal of the object at the point where the shapes intersect.
+``linear_velocity``: The colliding object's velocity :ref:`Vector2<class_vector2>`. If the object is an :ref:`Area2D<class_area2d>`, the result is ``(0, 0)``.
 
-shape: Shape index within the object against which the shape intersected.
+``metadata``: The intersecting shape's metadata. This metadata is different from :ref:`Object.get_meta<class_Object_get_meta>`, and is set with :ref:`Physics2DServer.shape_set_data<class_Physics2DServer_shape_set_data>`.
 
-metadata: Metadata of the shape against which the shape intersected. This metadata is different from :ref:`Object.get_meta<class_Object_get_meta>`, and is set with :ref:`Physics2DServer.shape_set_data<class_Physics2DServer_shape_set_data>`.
+``normal``: The object's surface normal at the intersection point.
 
-collider_id: Id of the object against which the shape intersected.
+``point``: The intersection point.
 
-collider: Object against which the shape intersected.
+``rid``: The intersecting object's :ref:`RID<class_rid>`.
 
-rid: :ref:`RID<class_rid>` of the object against which the shape intersected.
+``shape``: The shape index of the colliding shape.
 
-linear_velocity: The movement vector of the object the shape intersected, if it was a body. If it was an area, it is (0,0).
-
-If the shape did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead.
+If the shape did not intersect anything, then an empty dictionary (``dir.empty()==true``) is returned instead.
 
 .. _class_Physics2DDirectSpaceState_intersect_point:
 
 - :ref:`Array<class_array>` **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 **)**
 
-Check whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields:
+Checks whether a point is inside any shape. The shapes the point is inside of are returned in an array containing dictionaries with the following fields:
 
-shape: Shape index within the object the point is in.
+``collider``: The colliding object.
 
-metadata: Metadata of the shape the point is in. This metadata is different from :ref:`Object.get_meta<class_Object_get_meta>`, and is set with :ref:`Physics2DServer.shape_set_data<class_Physics2DServer_shape_set_data>`.
+``collider_id``: The colliding object's ID.
 
-collider_id: Id of the object the point is in.
+``metadata``: The intersecting shape's metadata. This metadata is different from :ref:`Object.get_meta<class_Object_get_meta>`, and is set with :ref:`Physics2DServer.shape_set_data<class_Physics2DServer_shape_set_data>`.
 
-collider: Object the point is inside of.
+``rid``: The intersecting object's :ref:`RID<class_rid>`.
 
-rid: :ref:`RID<class_rid>` of the object the point is in.
+``shape``: The shape index of the colliding shape.
 
 Additionally, the method can take an array of objects or :ref:`RID<class_rid>`\ s that are to be excluded from collisions, or a bitmask representing the physics layers to check in.
 
@@ -101,23 +99,23 @@ Additionally, the method can take an array of objects or :ref:`RID<class_rid>`\
 
 - :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 **)**
 
-Intersect a ray in a given space. The returned object is a dictionary with the following fields:
+Intersects a ray in a given space. The returned object is a dictionary with the following fields:
 
-position: Place where ray is stopped.
+``collider``: The colliding object.
 
-normal: Normal of the object at the point where the ray was stopped.
+``collider_id``: The colliding object's ID.
 
-shape: Shape index within the object against which the ray was stopped.
+``metadata``: The intersecting shape's metadata. This metadata is different from :ref:`Object.get_meta<class_Object_get_meta>`, and is set with :ref:`Physics2DServer.shape_set_data<class_Physics2DServer_shape_set_data>`.
 
-metadata: Metadata of the shape against which the ray was stopped. This metadata is different from :ref:`Object.get_meta<class_Object_get_meta>`, and is set with :ref:`Physics2DServer.shape_set_data<class_Physics2DServer_shape_set_data>`.
+``normal``: The object's surface normal at the intersection point.
 
-collider_id: Id of the object against which the ray was stopped.
+``position``: The intersection point.
 
-collider: Object against which the ray was stopped.
+``rid``: The intersecting object's :ref:`RID<class_rid>`.
 
-rid: :ref:`RID<class_rid>` of the object against which the ray was stopped.
+``shape``: The shape index of the colliding shape.
 
-If the ray did not intersect anything, then an empty dictionary (dir.empty()==true) is returned instead.
+If the ray did not intersect anything, then an empty dictionary (``dir.empty()==true``) is returned instead.
 
 Additionally, the method can take an array of objects or :ref:`RID<class_rid>`\ s that are to be excluded from collisions, or a bitmask representing the physics layers to check in.
 
@@ -125,17 +123,17 @@ Additionally, the method can take an array of objects or :ref:`RID<class_rid>`\
 
 - :ref:`Array<class_array>` **intersect_shape** **(** :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` shape, :ref:`int<class_int>` max_results=32 **)**
 
-Check the intersections of a shape, given through a :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields:
+Checks the intersections of a shape, given through a :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>` object, against the space. Note that this method does not take into account the ``motion`` property of the object. The intersected shapes are returned in an array containing dictionaries with the following fields:
 
-shape: Shape index within the object the shape intersected.
+``collider``: The colliding object.
 
-metadata: Metadata of the shape intersected by the shape given through the :ref:`Physics2DShapeQueryParameters<class_physics2dshapequeryparameters>`. This metadata is different from :ref:`Object.get_meta<class_Object_get_meta>`, and is set with :ref:`Physics2DServer.shape_set_data<class_Physics2DServer_shape_set_data>`.
+``collider_id``: The colliding object's ID.
 
-collider_id: Id of the object the shape intersected.
+``metadata``: The intersecting shape's metadata. This metadata is different from :ref:`Object.get_meta<class_Object_get_meta>`, and is set with :ref:`Physics2DServer.shape_set_data<class_Physics2DServer_shape_set_data>`.
 
-collider: Object the shape intersected.
+``rid``: The intersecting object's :ref:`RID<class_rid>`.
 
-rid: :ref:`RID<class_rid>` of the object the shape intersected.
+``shape``: The shape index of the colliding shape.
 
 The number of intersections can be limited with the second parameter, to reduce the processing time.
 

+ 6 - 3
classes/class_physics2dserver.rst

@@ -259,6 +259,9 @@ Numeric Constants
 - **JOINT_PIN** = **0** --- Constant to create pin joints.
 - **JOINT_GROOVE** = **1** --- Constant to create groove joints.
 - **JOINT_DAMPED_SPRING** = **2** --- Constant to create damped spring joints.
+- **JOINT_PARAM_BIAS** = **0**
+- **JOINT_PARAM_MAX_BIAS** = **1**
+- **JOINT_PARAM_MAX_FORCE** = **2**
 - **DAMPED_STRING_REST_LENGTH** = **0** --- Set the resting length of the spring joint. The joint will always try to go to back this length when pulled apart.
 - **DAMPED_STRING_STIFFNESS** = **1** --- Set the stiffness of the spring joint. The joint applies a force equal to the stiffness times the distance from its resting length.
 - **DAMPED_STRING_DAMPING** = **2** --- Set the damping ratio of the spring joint. A value of 0 indicates an undamped spring, while 1 causes the system to reach equilibrium as fast as possible (critical damping).
@@ -401,7 +404,7 @@ Substitutes a given area shape by another. The old shape is selected by its inde
 
 - void **area_set_shape_disabled** **(** :ref:`RID<class_rid>` area, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disable **)**
 
-Disables a given shape in this area if ``disable is true``
+Disables a given shape in an area.
 
 .. _class_Physics2DServer_area_set_shape_transform:
 
@@ -637,13 +640,13 @@ Substitutes a given body shape by another. The old shape is selected by its inde
 
 - void **body_set_shape_as_one_way_collision** **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` enable **)**
 
-Enables one way collision on body if ``enable is true``.
+Enables one way collision on body if ``enable`` is ``true``.
 
 .. _class_Physics2DServer_body_set_shape_disabled:
 
 - void **body_set_shape_disabled** **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` shape_idx, :ref:`bool<class_bool>` disable **)**
 
-Disables shape in body if ``disable is true``.
+Disables shape in body if ``disable`` is ``true``.
 
 .. _class_Physics2DServer_body_set_shape_metadata:
 

+ 58 - 1
classes/class_physicsdirectspacestate.rst

@@ -14,7 +14,7 @@ PhysicsDirectSpaceState
 Brief Description
 -----------------
 
-
+Direct access object to a space in the :ref:`PhysicsServer<class_physicsserver>`.
 
 Member Functions
 ----------------
@@ -31,6 +31,11 @@ Member Functions
 | :ref:`Array<class_array>`            | :ref:`intersect_shape<class_PhysicsDirectSpaceState_intersect_shape>` **(** :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>` shape, :ref:`int<class_int>` max_results=32 **)**                                          |
 +--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
+Description
+-----------
+
+Direct access object to a space in the :ref:`PhysicsServer<class_physicsserver>`. It's used mainly to do queries against objects and areas residing in a given space.
+
 Member Function Description
 ---------------------------
 
@@ -38,20 +43,72 @@ Member Function Description
 
 - :ref:`Array<class_array>` **cast_motion** **(** :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>` shape, :ref:`Vector3<class_vector3>` motion **)**
 
+Checks whether the shape can travel to a point. The method will return an array with two floats between 0 and 1, both representing a fraction of ``motion``. The first is how far the shape can move without triggering a collision, and the second is the point at which a collision will occur. If no collision is detected, the returned array will be 1, 1.
+
+If the shape can not move, the array will be empty (``dir.empty()==true``).
+
 .. _class_PhysicsDirectSpaceState_collide_shape:
 
 - :ref:`Array<class_array>` **collide_shape** **(** :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>` shape, :ref:`int<class_int>` max_results=32 **)**
 
+Checks the intersections of a shape, given through a :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>` object, against the space. The resulting array contains a list of points where the shape intersects another. Like with :ref:`intersect_shape<class_PhysicsDirectSpaceState_intersect_shape>`, the number of returned results can be limited to save processing time.
+
 .. _class_PhysicsDirectSpaceState_get_rest_info:
 
 - :ref:`Dictionary<class_dictionary>` **get_rest_info** **(** :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>` shape **)**
 
+Checks the intersections of a shape, given through a :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>` object, against the space. If it collides with more than a shape, the nearest one is selected. The returned object is a dictionary containing the following fields:
+
+``collider_id``: The colliding object's ID.
+
+``linear_velocity``: The colliding object's velocity :ref:`Vector3<class_vector3>`. If the object is an :ref:`Area<class_area>`, the result is ``(0, 0, 0)``.
+
+``normal``: The object's surface normal at the intersection point.
+
+``point``: The intersection point.
+
+``rid``: The intersecting object's :ref:`RID<class_rid>`.
+
+``shape``: The shape index of the colliding shape.
+
+If the shape did not intersect anything, then an empty dictionary (``dir.empty()==true``) is returned instead.
+
 .. _class_PhysicsDirectSpaceState_intersect_ray:
 
 - :ref:`Dictionary<class_dictionary>` **intersect_ray** **(** :ref:`Vector3<class_vector3>` from, :ref:`Vector3<class_vector3>` to, :ref:`Array<class_array>` exclude=[  ], :ref:`int<class_int>` collision_layer=2147483647 **)**
 
+Intersects a ray in a given space. The returned object is a dictionary with the following fields:
+
+``collider``: The colliding object.
+
+``collider_id``: The colliding object's ID.
+
+``normal``: The object's surface normal at the intersection point.
+
+``position``: The intersection point.
+
+``rid``: The intersecting object's :ref:`RID<class_rid>`.
+
+``shape``: The shape index of the colliding shape.
+
+If the ray did not intersect anything, then an empty dictionary (``dir.empty()==true``) is returned instead.
+
+Additionally, the method can take an array of objects or :ref:`RID<class_rid>`\ s that are to be excluded from collisions, or a bitmask representing the physics layers to check in.
+
 .. _class_PhysicsDirectSpaceState_intersect_shape:
 
 - :ref:`Array<class_array>` **intersect_shape** **(** :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>` shape, :ref:`int<class_int>` max_results=32 **)**
 
+Checks the intersections of a shape, given through a :ref:`PhysicsShapeQueryParameters<class_physicsshapequeryparameters>` object, against the space. The intersected shapes are returned in an array containing dictionaries with the following fields:
+
+``collider``: The colliding object.
+
+``collider_id``: The colliding object's ID.
+
+``rid``: The intersecting object's :ref:`RID<class_rid>`.
+
+``shape``: The shape index of the colliding shape.
+
+The number of intersections can be limited with the second parameter, to reduce the processing time.
+
 

+ 12 - 8
classes/class_physicsserver.rst

@@ -84,8 +84,6 @@ Member Functions
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_rid>`                                          | :ref:`body_create<class_PhysicsServer_body_create>` **(** :ref:`int<class_int>` mode=2, :ref:`bool<class_bool>` init_sleeping=false **)**                                                                                                                         |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                                        | :ref:`body_get_axis_lock<class_PhysicsServer_body_get_axis_lock>` **(** :ref:`RID<class_rid>` body **)** const                                                                                                                                                    |
-+----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`body_get_collision_layer<class_PhysicsServer_body_get_collision_layer>` **(** :ref:`RID<class_rid>` body **)** const                                                                                                                                        |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`                                          | :ref:`body_get_collision_mask<class_PhysicsServer_body_get_collision_mask>` **(** :ref:`RID<class_rid>` body **)** const                                                                                                                                          |
@@ -112,6 +110,8 @@ Member Functions
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Variant<class_variant>`                                  | :ref:`body_get_state<class_PhysicsServer_body_get_state>` **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` state **)** const                                                                                                                               |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                                        | :ref:`body_is_axis_locked<class_PhysicsServer_body_is_axis_locked>` **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` axis **)** const                                                                                                                      |
++----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                        | :ref:`body_is_continuous_collision_detection_enabled<class_PhysicsServer_body_is_continuous_collision_detection_enabled>` **(** :ref:`RID<class_rid>` body **)** const                                                                                            |
 +----------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                                        | :ref:`body_is_omitting_force_integration<class_PhysicsServer_body_is_omitting_force_integration>` **(** :ref:`RID<class_rid>` body **)** const                                                                                                                    |
@@ -365,6 +365,12 @@ The higher, the faster.
 - **SPACE_PARAM_BODY_TIME_TO_SLEEP** = **5** --- Constant to set/get the maximum time of activity. A body marked as potentially inactive for both linear and angular velocity will be put to sleep after this time.
 - **SPACE_PARAM_BODY_ANGULAR_VELOCITY_DAMP_RATIO** = **6**
 - **SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS** = **7** --- Constant to set/get the default solver bias for all physics constraints. A solver bias is a factor controlling how much two objects "rebound", after violating a constraint, to avoid leaving them in that state because of numerical imprecision.
+- **BODY_AXIS_LINEAR_X** = **1**
+- **BODY_AXIS_LINEAR_Y** = **2**
+- **BODY_AXIS_LINEAR_Z** = **4**
+- **BODY_AXIS_ANGULAR_X** = **8**
+- **BODY_AXIS_ANGULAR_Y** = **16**
+- **BODY_AXIS_ANGULAR_Z** = **32**
 
 Description
 -----------
@@ -570,12 +576,6 @@ 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_PhysicsServer_body_get_axis_lock:
-
-- :ref:`bool<class_bool>` **body_get_axis_lock** **(** :ref:`RID<class_rid>` body **)** const
-
-Gets the information, which Axis is locked if any. The can be any calue from the constants BODY_AXIS_LOCK\*
-
 .. _class_PhysicsServer_body_get_collision_layer:
 
 - :ref:`int<class_int>` **body_get_collision_layer** **(** :ref:`RID<class_rid>` body **)** const
@@ -654,6 +654,10 @@ Returns the :ref:`RID<class_rid>` of the space assigned to a body.
 
 Returns a body state.
 
+.. _class_PhysicsServer_body_is_axis_locked:
+
+- :ref:`bool<class_bool>` **body_is_axis_locked** **(** :ref:`RID<class_rid>` body, :ref:`int<class_int>` axis **)** const
+
 .. _class_PhysicsServer_body_is_continuous_collision_detection_enabled:
 
 - :ref:`bool<class_bool>` **body_is_continuous_collision_detection_enabled** **(** :ref:`RID<class_rid>` body **)** const

+ 24 - 0
classes/class_popupmenu.rst

@@ -62,6 +62,8 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`      | :ref:`get_item_tooltip<class_PopupMenu_get_item_tooltip>` **(** :ref:`int<class_int>` idx **)** const                                                                                                                                  |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`          | :ref:`is_hide_on_state_item_selection<class_PopupMenu_is_hide_on_state_item_selection>` **(** **)** const                                                                                                                              |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_item_checkable<class_PopupMenu_is_item_checkable>` **(** :ref:`int<class_int>` idx **)** const                                                                                                                                |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`          | :ref:`is_item_checked<class_PopupMenu_is_item_checked>` **(** :ref:`int<class_int>` idx **)** const                                                                                                                                    |
@@ -72,6 +74,8 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`remove_item<class_PopupMenu_remove_item>` **(** :ref:`int<class_int>` idx **)**                                                                                                                                                  |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_hide_on_state_item_selection<class_PopupMenu_set_hide_on_state_item_selection>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                   |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_item_accelerator<class_PopupMenu_set_item_accelerator>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` accel **)**                                                                                                   |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_item_as_checkable<class_PopupMenu_set_item_as_checkable>` **(** :ref:`int<class_int>` idx, :ref:`bool<class_bool>` enable **)**                                                                                              |
@@ -88,6 +92,8 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_item_metadata<class_PopupMenu_set_item_metadata>` **(** :ref:`int<class_int>` idx, :ref:`Variant<class_variant>` metadata **)**                                                                                              |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`set_item_multistate<class_PopupMenu_set_item_multistate>` **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` state **)**                                                                                                     |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_item_shortcut<class_PopupMenu_set_item_shortcut>` **(** :ref:`int<class_int>` idx, :ref:`ShortCut<class_shortcut>` shortcut, :ref:`bool<class_bool>` global=false **)**                                                      |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`set_item_submenu<class_PopupMenu_set_item_submenu>` **(** :ref:`int<class_int>` idx, :ref:`String<class_string>` submenu **)**                                                                                                   |
@@ -98,6 +104,8 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`toggle_item_checked<class_PopupMenu_toggle_item_checked>` **(** :ref:`int<class_int>` idx **)**                                                                                                                                  |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                             | :ref:`toggle_item_multistate<class_PopupMenu_toggle_item_multistate>` **(** :ref:`int<class_int>` idx **)**                                                                                                                            |
++----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -251,6 +259,10 @@ Return the text of the item at index "idx".
 
 - :ref:`String<class_string>` **get_item_tooltip** **(** :ref:`int<class_int>` idx **)** const
 
+.. _class_PopupMenu_is_hide_on_state_item_selection:
+
+- :ref:`bool<class_bool>` **is_hide_on_state_item_selection** **(** **)** const
+
 .. _class_PopupMenu_is_item_checkable:
 
 - :ref:`bool<class_bool>` **is_item_checkable** **(** :ref:`int<class_int>` idx **)** const
@@ -281,6 +293,10 @@ Return whether the item is a seperator. If it is, it would be displayed as a lin
 
 Removes the item at index "idx" from the menu. Note that the indexes of items after the removed item are going to be shifted by one.
 
+.. _class_PopupMenu_set_hide_on_state_item_selection:
+
+- void **set_hide_on_state_item_selection** **(** :ref:`bool<class_bool>` enable **)**
+
 .. _class_PopupMenu_set_item_accelerator:
 
 - void **set_item_accelerator** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` accel **)**
@@ -327,6 +343,10 @@ Set the id of the item at index "idx".
 
 Sets the metadata of an item, which might be of any type. You can later get it with :ref:`get_item_metadata<class_PopupMenu_get_item_metadata>`, which provides a simple way of assigning context data to items.
 
+.. _class_PopupMenu_set_item_multistate:
+
+- void **set_item_multistate** **(** :ref:`int<class_int>` idx, :ref:`int<class_int>` state **)**
+
 .. _class_PopupMenu_set_item_shortcut:
 
 - void **set_item_shortcut** **(** :ref:`int<class_int>` idx, :ref:`ShortCut<class_shortcut>` shortcut, :ref:`bool<class_bool>` global=false **)**
@@ -351,4 +371,8 @@ Set the text of the item at index "idx".
 
 - void **toggle_item_checked** **(** :ref:`int<class_int>` idx **)**
 
+.. _class_PopupMenu_toggle_item_multistate:
+
+- void **toggle_item_multistate** **(** :ref:`int<class_int>` idx **)**
+
 

+ 1 - 1
classes/class_resource.rst

@@ -9,7 +9,7 @@ Resource
 
 **Inherits:** :ref:`Reference<class_reference>` **<** :ref:`Object<class_object>`
 
-**Inherited By:** :ref:`Theme<class_theme>`, :ref:`AudioStream<class_audiostream>`, :ref:`Sky<class_sky>`, :ref:`CubeMap<class_cubemap>`, :ref:`DynamicFontData<class_dynamicfontdata>`, :ref:`InputEvent<class_inputevent>`, :ref:`Translation<class_translation>`, :ref:`Curve2D<class_curve2d>`, :ref:`Shape<class_shape>`, :ref:`Shape2D<class_shape2d>`, :ref:`Curve<class_curve>`, :ref:`StyleBox<class_stylebox>`, :ref:`Environment<class_environment>`, :ref:`GDNativeLibrary<class_gdnativelibrary>`, :ref:`Material<class_material>`, :ref:`VideoStream<class_videostream>`, :ref:`PackedScene<class_packedscene>`, :ref:`Texture<class_texture>`, :ref:`Mesh<class_mesh>`, :ref:`ButtonGroup<class_buttongroup>`, :ref:`TileSet<class_tileset>`, :ref:`ShortCut<class_shortcut>`, :ref:`BitMap<class_bitmap>`, :ref:`Animation<class_animation>`, :ref:`PolygonPathFinder<class_polygonpathfinder>`, :ref:`Shader<class_shader>`, :ref:`Script<class_script>`, :ref:`AudioBusLayout<class_audiobuslayout>`, :ref:`World<class_world>`, :ref:`AudioEffect<class_audioeffect>`, :ref:`VisualScriptNode<class_visualscriptnode>`, :ref:`World2D<class_world2d>`, :ref:`GIProbeData<class_giprobedata>`, :ref:`Font<class_font>`, :ref:`SpriteFrames<class_spriteframes>`, :ref:`MeshLibrary<class_meshlibrary>`, :ref:`Curve3D<class_curve3d>`, :ref:`NavigationPolygon<class_navigationpolygon>`, :ref:`EditorSettings<class_editorsettings>`, :ref:`Image<class_image>`, :ref:`Gradient<class_gradient>`, :ref:`OccluderPolygon2D<class_occluderpolygon2d>`, :ref:`MultiMesh<class_multimesh>`, :ref:`PackedDataContainer<class_packeddatacontainer>`, :ref:`NavigationMesh<class_navigationmesh>`
+**Inherited By:** :ref:`Theme<class_theme>`, :ref:`AudioStream<class_audiostream>`, :ref:`Sky<class_sky>`, :ref:`CubeMap<class_cubemap>`, :ref:`DynamicFontData<class_dynamicfontdata>`, :ref:`InputEvent<class_inputevent>`, :ref:`Translation<class_translation>`, :ref:`Curve2D<class_curve2d>`, :ref:`Shape<class_shape>`, :ref:`Shape2D<class_shape2d>`, :ref:`Curve<class_curve>`, :ref:`StyleBox<class_stylebox>`, :ref:`Environment<class_environment>`, :ref:`GDNativeLibrary<class_gdnativelibrary>`, :ref:`Material<class_material>`, :ref:`VideoStream<class_videostream>`, :ref:`PackedScene<class_packedscene>`, :ref:`Texture<class_texture>`, :ref:`Mesh<class_mesh>`, :ref:`ButtonGroup<class_buttongroup>`, :ref:`TileSet<class_tileset>`, :ref:`ShortCut<class_shortcut>`, :ref:`BitMap<class_bitmap>`, :ref:`Animation<class_animation>`, :ref:`BakedLightmapData<class_bakedlightmapdata>`, :ref:`PolygonPathFinder<class_polygonpathfinder>`, :ref:`Shader<class_shader>`, :ref:`Script<class_script>`, :ref:`AudioBusLayout<class_audiobuslayout>`, :ref:`World<class_world>`, :ref:`AudioEffect<class_audioeffect>`, :ref:`VisualScriptNode<class_visualscriptnode>`, :ref:`World2D<class_world2d>`, :ref:`GIProbeData<class_giprobedata>`, :ref:`Font<class_font>`, :ref:`SpriteFrames<class_spriteframes>`, :ref:`MeshLibrary<class_meshlibrary>`, :ref:`Curve3D<class_curve3d>`, :ref:`NavigationPolygon<class_navigationpolygon>`, :ref:`EditorSettings<class_editorsettings>`, :ref:`Image<class_image>`, :ref:`Gradient<class_gradient>`, :ref:`OccluderPolygon2D<class_occluderpolygon2d>`, :ref:`MultiMesh<class_multimesh>`, :ref:`PackedDataContainer<class_packeddatacontainer>`, :ref:`NavigationMesh<class_navigationmesh>`
 
 **Category:** Core
 

+ 18 - 6
classes/class_rigidbody.rst

@@ -78,17 +78,29 @@ Member Variables
 
 - :ref:`Vector3<class_vector3>` **angular_velocity** - RigidBody's rotational velocity.
 
-  .. _class_RigidBody_axis_lock_x:
+  .. _class_RigidBody_axis_lock_angular_x:
 
-- :ref:`bool<class_bool>` **axis_lock_x**
+- :ref:`bool<class_bool>` **axis_lock_angular_x**
 
-  .. _class_RigidBody_axis_lock_y:
+  .. _class_RigidBody_axis_lock_angular_y:
 
-- :ref:`bool<class_bool>` **axis_lock_y**
+- :ref:`bool<class_bool>` **axis_lock_angular_y**
 
-  .. _class_RigidBody_axis_lock_z:
+  .. _class_RigidBody_axis_lock_angular_z:
 
-- :ref:`bool<class_bool>` **axis_lock_z**
+- :ref:`bool<class_bool>` **axis_lock_angular_z**
+
+  .. _class_RigidBody_axis_lock_linear_x:
+
+- :ref:`bool<class_bool>` **axis_lock_linear_x**
+
+  .. _class_RigidBody_axis_lock_linear_y:
+
+- :ref:`bool<class_bool>` **axis_lock_linear_y**
+
+  .. _class_RigidBody_axis_lock_linear_z:
+
+- :ref:`bool<class_bool>` **axis_lock_linear_z**
 
   .. _class_RigidBody_bounce:
 

+ 6 - 0
classes/class_scenestate.rst

@@ -38,6 +38,8 @@ Member Functions
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`get_node_groups<class_SceneState_get_node_groups>` **(** :ref:`int<class_int>` idx **)** const                                                 |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`get_node_index<class_SceneState_get_node_index>` **(** :ref:`int<class_int>` idx **)** const                                                   |
++------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`PackedScene<class_packedscene>`          | :ref:`get_node_instance<class_SceneState_get_node_instance>` **(** :ref:`int<class_int>` idx **)** const                                             |
 +------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`                    | :ref:`get_node_instance_placeholder<class_SceneState_get_node_instance_placeholder>` **(** :ref:`int<class_int>` idx **)** const                     |
@@ -128,6 +130,10 @@ Returns the number of nodes in the scene.
 
 Returns the list of group names associated with the node at ``idx``.
 
+.. _class_SceneState_get_node_index:
+
+- :ref:`int<class_int>` **get_node_index** **(** :ref:`int<class_int>` idx **)** const
+
 .. _class_SceneState_get_node_instance:
 
 - :ref:`PackedScene<class_packedscene>` **get_node_instance** **(** :ref:`int<class_int>` idx **)** const

+ 18 - 0
classes/class_scenetree.rst

@@ -64,6 +64,8 @@ Member Functions
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                      | :ref:`is_refusing_new_network_connections<class_SceneTree_is_refusing_new_network_connections>` **(** **)** const                                                                                                  |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                      | :ref:`is_using_font_oversampling<class_SceneTree_is_using_font_oversampling>` **(** **)** const                                                                                                                    |
++----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`notify_group<class_SceneTree_notify_group>` **(** :ref:`String<class_string>` group, :ref:`int<class_int>` notification **)**                                                                                |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`notify_group_flags<class_SceneTree_notify_group_flags>` **(** :ref:`int<class_int>` call_flags, :ref:`String<class_string>` group, :ref:`int<class_int>` notification **)**                                  |
@@ -94,10 +96,14 @@ Member Functions
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`set_pause<class_SceneTree_set_pause>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                             |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`set_quit_on_go_back<class_SceneTree_set_quit_on_go_back>` **(** :ref:`bool<class_bool>` enabled **)**                                                                                                        |
++----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`set_refuse_new_network_connections<class_SceneTree_set_refuse_new_network_connections>` **(** :ref:`bool<class_bool>` refuse **)**                                                                           |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                         | :ref:`set_screen_stretch<class_SceneTree_set_screen_stretch>` **(** :ref:`int<class_int>` mode, :ref:`int<class_int>` aspect, :ref:`Vector2<class_vector2>` minsize, :ref:`float<class_float>` shrink=1 **)**      |
 +----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                         | :ref:`set_use_font_oversampling<class_SceneTree_set_use_font_oversampling>` **(** :ref:`bool<class_bool>` enable **)**                                                                                             |
++----------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -266,6 +272,10 @@ Returns true if this SceneTree's :ref:`NetworkedMultiplayerPeer<class_networkedm
 
 - :ref:`bool<class_bool>` **is_refusing_new_network_connections** **(** **)** const
 
+.. _class_SceneTree_is_using_font_oversampling:
+
+- :ref:`bool<class_bool>` **is_using_font_oversampling** **(** **)** const
+
 .. _class_SceneTree_notify_group:
 
 - void **notify_group** **(** :ref:`String<class_string>` group, :ref:`int<class_int>` notification **)**
@@ -328,6 +338,10 @@ Set the peer object to handle the RPC system (effectively enabling networking).
 
 - void **set_pause** **(** :ref:`bool<class_bool>` enable **)**
 
+.. _class_SceneTree_set_quit_on_go_back:
+
+- void **set_quit_on_go_back** **(** :ref:`bool<class_bool>` enabled **)**
+
 .. _class_SceneTree_set_refuse_new_network_connections:
 
 - void **set_refuse_new_network_connections** **(** :ref:`bool<class_bool>` refuse **)**
@@ -336,4 +350,8 @@ Set the peer object to handle the RPC system (effectively enabling networking).
 
 - void **set_screen_stretch** **(** :ref:`int<class_int>` mode, :ref:`int<class_int>` aspect, :ref:`Vector2<class_vector2>` minsize, :ref:`float<class_float>` shrink=1 **)**
 
+.. _class_SceneTree_set_use_font_oversampling:
+
+- void **set_use_font_oversampling** **(** :ref:`bool<class_bool>` enable **)**
+
 

+ 12 - 0
classes/class_script.rst

@@ -24,6 +24,10 @@ Member Functions
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`can_instance<class_Script_can_instance>` **(** **)** const                                                   |
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`Script<class_script>`  | :ref:`get_base_script<class_Script_get_base_script>` **(** **)** const                                             |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`  | :ref:`get_instance_base_type<class_Script_get_instance_base_type>` **(** **)** const                               |
++------------------------------+--------------------------------------------------------------------------------------------------------------------+
 | :ref:`String<class_string>`  | :ref:`get_source_code<class_Script_get_source_code>` **(** **)** const                                             |
 +------------------------------+--------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`      | :ref:`has_script_signal<class_Script_has_script_signal>` **(** :ref:`String<class_string>` signal_name **)** const |
@@ -55,6 +59,14 @@ Member Function Description
 
 Returns true if the script can be instanced.
 
+.. _class_Script_get_base_script:
+
+- :ref:`Script<class_script>` **get_base_script** **(** **)** const
+
+.. _class_Script_get_instance_base_type:
+
+- :ref:`String<class_string>` **get_instance_base_type** **(** **)** const
+
 .. _class_Script_get_source_code:
 
 - :ref:`String<class_string>` **get_source_code** **(** **)** const

+ 20 - 14
classes/class_scripteditor.rst

@@ -19,17 +19,19 @@ Brief Description
 Member Functions
 ----------------
 
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`can_drop_data_fw<class_ScriptEditor_can_drop_data_fw>` **(** :ref:`Vector2<class_vector2>` arg0, :ref:`Variant<class_variant>` arg1, :ref:`Control<class_control>` arg2 **)** const |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`drop_data_fw<class_ScriptEditor_drop_data_fw>` **(** :ref:`Vector2<class_vector2>` arg0, :ref:`Variant<class_variant>` arg1, :ref:`Control<class_control>` arg2 **)**               |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Script<class_script>`    | :ref:`get_current_script<class_ScriptEditor_get_current_script>` **(** **)**                                                                                                              |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Variant<class_variant>`  | :ref:`get_drag_data_fw<class_ScriptEditor_get_drag_data_fw>` **(** :ref:`Vector2<class_vector2>` arg0, :ref:`Control<class_control>` arg1 **)**                                           |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Array<class_array>`      | :ref:`get_open_scripts<class_ScriptEditor_get_open_scripts>` **(** **)** const                                                                                                            |
-+--------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`        | :ref:`can_drop_data_fw<class_ScriptEditor_can_drop_data_fw>` **(** :ref:`Vector2<class_vector2>` point, :ref:`Variant<class_variant>` data, :ref:`Control<class_control>` from **)** const |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`drop_data_fw<class_ScriptEditor_drop_data_fw>` **(** :ref:`Vector2<class_vector2>` point, :ref:`Variant<class_variant>` data, :ref:`Control<class_control>` from **)**               |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Script<class_script>`    | :ref:`get_current_script<class_ScriptEditor_get_current_script>` **(** **)**                                                                                                               |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Variant<class_variant>`  | :ref:`get_drag_data_fw<class_ScriptEditor_get_drag_data_fw>` **(** :ref:`Vector2<class_vector2>` point, :ref:`Control<class_control>` from **)**                                           |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`Array<class_array>`      | :ref:`get_open_scripts<class_ScriptEditor_get_open_scripts>` **(** **)** const                                                                                                             |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`open_script_create_dialog<class_ScriptEditor_open_script_create_dialog>` **(** :ref:`String<class_string>` base_name, :ref:`String<class_string>` base_path **)**                    |
++--------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Signals
 -------
@@ -52,11 +54,11 @@ Member Function Description
 
 .. _class_ScriptEditor_can_drop_data_fw:
 
-- :ref:`bool<class_bool>` **can_drop_data_fw** **(** :ref:`Vector2<class_vector2>` arg0, :ref:`Variant<class_variant>` arg1, :ref:`Control<class_control>` arg2 **)** const
+- :ref:`bool<class_bool>` **can_drop_data_fw** **(** :ref:`Vector2<class_vector2>` point, :ref:`Variant<class_variant>` data, :ref:`Control<class_control>` from **)** const
 
 .. _class_ScriptEditor_drop_data_fw:
 
-- void **drop_data_fw** **(** :ref:`Vector2<class_vector2>` arg0, :ref:`Variant<class_variant>` arg1, :ref:`Control<class_control>` arg2 **)**
+- void **drop_data_fw** **(** :ref:`Vector2<class_vector2>` point, :ref:`Variant<class_variant>` data, :ref:`Control<class_control>` from **)**
 
 .. _class_ScriptEditor_get_current_script:
 
@@ -66,7 +68,7 @@ Returns a :ref:`Script<class_script>` that is currently active in editor.
 
 .. _class_ScriptEditor_get_drag_data_fw:
 
-- :ref:`Variant<class_variant>` **get_drag_data_fw** **(** :ref:`Vector2<class_vector2>` arg0, :ref:`Control<class_control>` arg1 **)**
+- :ref:`Variant<class_variant>` **get_drag_data_fw** **(** :ref:`Vector2<class_vector2>` point, :ref:`Control<class_control>` from **)**
 
 .. _class_ScriptEditor_get_open_scripts:
 
@@ -74,4 +76,8 @@ Returns a :ref:`Script<class_script>` that is currently active in editor.
 
 Returns an array with all :ref:`Script<class_script>` objects which are currently open in editor.
 
+.. _class_ScriptEditor_open_script_create_dialog:
+
+- void **open_script_create_dialog** **(** :ref:`String<class_string>` base_name, :ref:`String<class_string>` base_path **)**
+
 

+ 3 - 3
classes/class_semaphore.rst

@@ -28,7 +28,7 @@ Member Functions
 Description
 -----------
 
-A synchronization Semaphore. Element used in multi-threadding. Initialized to zero on creation.
+A synchronization Semaphore. Element used to synchronize multiple :ref:`Thread<class_thread>`\ s. Initialized to zero on creation. Be careful to avoid deadlocks. For a binary version, see :ref:`Mutex<class_mutex>`.
 
 Member Function Description
 ---------------------------
@@ -37,12 +37,12 @@ Member Function Description
 
 - :ref:`int<class_int>` **post** **(** **)**
 
-Lowers the ``Semaphore``, allowing one more thread in.
+Lowers the ``Semaphore``, allowing one more thread in. Returns OK on success, ERR_BUSY otherwise.
 
 .. _class_Semaphore_wait:
 
 - :ref:`int<class_int>` **wait** **(** **)**
 
-Tries to wait for the ``Semaphore``, if its value is zero, blocks until non-zero.
+Tries to wait for the ``Semaphore``, if its value is zero, blocks until non-zero. Returns OK on success, ERR_BUSY otherwise.
 
 

+ 57 - 21
classes/class_spatial.rst

@@ -28,7 +28,9 @@ Member Functions
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`World<class_world>`                | :ref:`get_world<class_Spatial_get_world>` **(** **)** const                                                                                                                                  |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`global_rotate<class_Spatial_global_rotate>` **(** :ref:`Vector3<class_vector3>` normal, :ref:`float<class_float>` radians **)**                                                        |
+| void                                     | :ref:`global_rotate<class_Spatial_global_rotate>` **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**                                                            |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`global_scale<class_Spatial_global_scale>` **(** :ref:`Vector3<class_vector3>` scale **)**                                                                                              |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`global_translate<class_Spatial_global_translate>` **(** :ref:`Vector3<class_vector3>` offset **)**                                                                                     |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -48,13 +50,17 @@ Member Functions
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`orthonormalize<class_Spatial_orthonormalize>` **(** **)**                                                                                                                              |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`rotate<class_Spatial_rotate>` **(** :ref:`Vector3<class_vector3>` normal, :ref:`float<class_float>` radians **)**                                                                      |
+| void                                     | :ref:`rotate<class_Spatial_rotate>` **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**                                                                          |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`rotate_object_local<class_Spatial_rotate_object_local>` **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**                                                |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`rotate_x<class_Spatial_rotate_x>` **(** :ref:`float<class_float>` angle **)**                                                                                                          |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`rotate_x<class_Spatial_rotate_x>` **(** :ref:`float<class_float>` radians **)**                                                                                                        |
+| void                                     | :ref:`rotate_y<class_Spatial_rotate_y>` **(** :ref:`float<class_float>` angle **)**                                                                                                          |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`rotate_y<class_Spatial_rotate_y>` **(** :ref:`float<class_float>` radians **)**                                                                                                        |
+| void                                     | :ref:`rotate_z<class_Spatial_rotate_z>` **(** :ref:`float<class_float>` angle **)**                                                                                                          |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                     | :ref:`rotate_z<class_Spatial_rotate_z>` **(** :ref:`float<class_float>` radians **)**                                                                                                        |
+| void                                     | :ref:`scale_object_local<class_Spatial_scale_object_local>` **(** :ref:`Vector3<class_vector3>` scale **)**                                                                                  |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`set_as_toplevel<class_Spatial_set_as_toplevel>` **(** :ref:`bool<class_bool>` enable **)**                                                                                             |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -76,6 +82,8 @@ Member Functions
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`translate<class_Spatial_translate>` **(** :ref:`Vector3<class_vector3>` offset **)**                                                                                                   |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`translate_object_local<class_Spatial_translate_object_local>` **(** :ref:`Vector3<class_vector3>` offset **)**                                                                         |
++------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`update_gizmo<class_Spatial_update_gizmo>` **(** **)**                                                                                                                                  |
 +------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -98,19 +106,23 @@ Member Variables
 
   .. _class_Spatial_rotation:
 
-- :ref:`Vector3<class_vector3>` **rotation** - Local euler rotation in radians of this node.
+- :ref:`Vector3<class_vector3>` **rotation** - Rotation part of the local transformation, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle), in radians.
+
+
+
+Note that in the mathematical sense, rotation is a matrix and not a vector. The three Euler angles, which are the three indepdent parameters of the Euler-angle parametrization of the rotation matrix, are stored in a :ref:`Vector3<class_vector3>` data structure not because the rotation is a vector, but only because :ref:`Vector3<class_vector3>` exists as a convenient data-structure to store 3 floating point numbers. Therefore, applying affine operations on the rotation "vector" is not meaningful.
 
   .. _class_Spatial_rotation_degrees:
 
-- :ref:`Vector3<class_vector3>` **rotation_degrees** - Local euler rotation in degrees of this node.
+- :ref:`Vector3<class_vector3>` **rotation_degrees** - Rotation part of the local transformation, specified in terms of YXZ-Euler angles in the format (X-angle, Y-angle, Z-angle), in degrees.
 
   .. _class_Spatial_scale:
 
-- :ref:`Vector3<class_vector3>` **scale** - Local scale of this node.
+- :ref:`Vector3<class_vector3>` **scale** - Scale part of the local transformation.
 
   .. _class_Spatial_transform:
 
-- :ref:`Transform<class_transform>` **transform** - Local space :ref:`Transform<class_transform>` of this node.
+- :ref:`Transform<class_transform>` **transform** - Local space :ref:`Transform<class_transform>` of this node, with respect to the parent node.
 
   .. _class_Spatial_translation:
 
@@ -136,6 +148,10 @@ Description
 
 Most basic 3D game object, with a 3D :ref:`Transform<class_transform>` and visibility settings. All other 3D game objects inherit from Spatial. Use Spatial as a parent node to move, scale, rotate and show/hide children in a 3D project.
 
+
+
+Affine operations (rotate, scale, translate) happen in parent's local coordinate system, unless the Spatial object is set as top level. Affine operations in this coordinate system correspond to direct affine operations on the Spatial's transform. The word local below refers to this coordinate system. The coordinate system that is attached to the Spatial object itself is referred to as object-local coordinate system.
+
 Member Function Description
 ---------------------------
 
@@ -159,15 +175,19 @@ Returns the current :ref:`World<class_world>` resource this Spatial node is regi
 
 .. _class_Spatial_global_rotate:
 
-- void **global_rotate** **(** :ref:`Vector3<class_vector3>` normal, :ref:`float<class_float>` radians **)**
+- void **global_rotate** **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**
 
-Rotates the current node along normal :ref:`Vector3<class_vector3>` by angle in radians in Global space.
+Rotates the global (world) transformation around axis, a unit :ref:`Vector3<class_vector3>`, by specified angle in radians. The rotation axis is in global coordinate system.
+
+.. _class_Spatial_global_scale:
+
+- void **global_scale** **(** :ref:`Vector3<class_vector3>` scale **)**
 
 .. _class_Spatial_global_translate:
 
 - void **global_translate** **(** :ref:`Vector3<class_vector3>` offset **)**
 
-Moves the node by :ref:`Vector3<class_vector3>` offset in Global space.
+Moves the global (world) transformation by :ref:`Vector3<class_vector3>` offset. The offset is in global coordinate system.
 
 .. _class_Spatial_hide:
 
@@ -215,31 +235,43 @@ Moves the node to specified position and then rotates itself to point into direc
 
 - void **orthonormalize** **(** **)**
 
-Resets this node's transformations (like scale, skew and taper) preserving its rotation and translation. Performs orthonormalization on this node Transform3D.
+Resets this node's transformations (like scale, skew and taper) preserving its rotation and translation by performing Gram-Schmidt orthonormalization on this node's Transform3D.
 
 .. _class_Spatial_rotate:
 
-- void **rotate** **(** :ref:`Vector3<class_vector3>` normal, :ref:`float<class_float>` radians **)**
+- void **rotate** **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**
+
+Rotates the local transformation around axis, a unit :ref:`Vector3<class_vector3>`, by specified angle in radians.
+
+.. _class_Spatial_rotate_object_local:
+
+- void **rotate_object_local** **(** :ref:`Vector3<class_vector3>` axis, :ref:`float<class_float>` angle **)**
 
-Rotates the node in local space on given normal :ref:`Vector3<class_vector3>` by angle in radians.
+Rotates the local transformation around axis, a unit :ref:`Vector3<class_vector3>`, by specified angle in radians. The rotation axis is in object-local coordinate system.
 
 .. _class_Spatial_rotate_x:
 
-- void **rotate_x** **(** :ref:`float<class_float>` radians **)**
+- void **rotate_x** **(** :ref:`float<class_float>` angle **)**
 
-Rotates the node in local space on X axis by angle in radians.
+Rotates the local transformation around the X axis by angle in radians
 
 .. _class_Spatial_rotate_y:
 
-- void **rotate_y** **(** :ref:`float<class_float>` radians **)**
+- void **rotate_y** **(** :ref:`float<class_float>` angle **)**
 
-Rotates the node in local space on Y axis by angle in radians.
+Rotates the local transformation around the Y axis by angle in radians.
 
 .. _class_Spatial_rotate_z:
 
-- void **rotate_z** **(** :ref:`float<class_float>` radians **)**
+- void **rotate_z** **(** :ref:`float<class_float>` angle **)**
 
-Rotates the node in local space on Z axis by angle in radians.
+Rotates the local transformation around the Z axis by angle in radians.
+
+.. _class_Spatial_scale_object_local:
+
+- void **scale_object_local** **(** :ref:`Vector3<class_vector3>` scale **)**
+
+Scales the local transformation by given 3D scale factors in object-local coordinate system.
 
 .. _class_Spatial_set_as_toplevel:
 
@@ -301,6 +333,10 @@ Transforms :ref:`Vector3<class_vector3>` "global_point" from world space to this
 
 Changes the node's position by given offset :ref:`Vector3<class_vector3>`.
 
+.. _class_Spatial_translate_object_local:
+
+- void **translate_object_local** **(** :ref:`Vector3<class_vector3>` offset **)**
+
 .. _class_Spatial_update_gizmo:
 
 - void **update_gizmo** **(** **)**

+ 8 - 3
classes/class_spatialmaterial.rst

@@ -147,6 +147,10 @@ Member Variables
 
 - :ref:`float<class_float>` **emission_energy**
 
+  .. _class_SpatialMaterial_emission_on_uv2:
+
+- :ref:`bool<class_bool>` **emission_on_uv2**
+
   .. _class_SpatialMaterial_emission_operator:
 
 - :ref:`int<class_int>` **emission_operator**
@@ -448,10 +452,11 @@ Numeric Constants
 - **FLAG_UV1_USE_TRIPLANAR** = **7**
 - **FLAG_UV2_USE_TRIPLANAR** = **8**
 - **FLAG_AO_ON_UV2** = **10**
-- **FLAG_USE_ALPHA_SCISSOR** = **11**
+- **FLAG_EMISSION_ON_UV2** = **11**
+- **FLAG_USE_ALPHA_SCISSOR** = **12**
 - **FLAG_TRIPLANAR_USE_WORLD** = **9**
-- **FLAG_ALBEDO_TEXTURE_FORCE_SRGB** = **12**
-- **FLAG_MAX** = **13**
+- **FLAG_ALBEDO_TEXTURE_FORCE_SRGB** = **13**
+- **FLAG_MAX** = **14**
 - **DIFFUSE_BURLEY** = **0**
 - **DIFFUSE_LAMBERT** = **1**
 - **DIFFUSE_LAMBERT_WRAP** = **2**

+ 1 - 1
classes/class_streampeer.rst

@@ -171,7 +171,7 @@ Get an unsigned 32 bit value from the stream.
 
 - :ref:`int<class_int>` **get_u64** **(** **)**
 
-Get an unsigned 16 bit value from the stream.
+Get an unsigned 64 bit value from the stream.
 
 .. _class_StreamPeer_get_u8:
 

+ 180 - 178
classes/class_string.rst

@@ -17,183 +17,183 @@ Built-in string class.
 Member Functions
 ----------------
 
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`bool<class_bool>` from **)**                                                              |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`int<class_int>` from **)**                                                                |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`float<class_float>` from **)**                                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Vector2<class_vector2>` from **)**                                                        |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Rect2<class_rect2>` from **)**                                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Vector3<class_vector3>` from **)**                                                        |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Transform2D<class_transform2d>` from **)**                                                |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Plane<class_plane>` from **)**                                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Quat<class_quat>` from **)**                                                              |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`AABB<class_aabb>` from **)**                                                              |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Basis<class_basis>` from **)**                                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Transform<class_transform>` from **)**                                                    |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Color<class_color>` from **)**                                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`NodePath<class_nodepath>` from **)**                                                      |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`RID<class_rid>` from **)**                                                                |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Dictionary<class_dictionary>` from **)**                                                  |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Array<class_array>` from **)**                                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolByteArray<class_poolbytearray>` from **)**                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolIntArray<class_poolintarray>` from **)**                                              |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolRealArray<class_poolrealarray>` from **)**                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolStringArray<class_poolstringarray>` from **)**                                        |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolVector2Array<class_poolvector2array>` from **)**                                      |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolVector3Array<class_poolvector3array>` from **)**                                      |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolColorArray<class_poolcolorarray>` from **)**                                          |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`begins_with<class_String_begins_with>` **(** :ref:`String<class_string>` text **)**                                                |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`bigrams<class_String_bigrams>` **(** **)**                                                                                         |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`c_escape<class_String_c_escape>` **(** **)**                                                                                       |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`c_unescape<class_String_c_unescape>` **(** **)**                                                                                   |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`capitalize<class_String_capitalize>` **(** **)**                                                                                   |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`casecmp_to<class_String_casecmp_to>` **(** :ref:`String<class_string>` to **)**                                                    |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`dedent<class_String_dedent>` **(** **)**                                                                                           |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`empty<class_String_empty>` **(** **)**                                                                                             |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`ends_with<class_String_ends_with>` **(** :ref:`String<class_string>` text **)**                                                    |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                           | :ref:`erase<class_String_erase>` **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)**                                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`find<class_String_find>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**                                |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`find_last<class_String_find_last>` **(** :ref:`String<class_string>` what **)**                                                    |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`findn<class_String_findn>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**                              |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`format<class_String_format>` **(** var values, :ref:`String<class_string>` placeholder={_} **)**                                   |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`get_base_dir<class_String_get_base_dir>` **(** **)**                                                                               |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`get_basename<class_String_get_basename>` **(** **)**                                                                               |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`get_extension<class_String_get_extension>` **(** **)**                                                                             |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`get_file<class_String_get_file>` **(** **)**                                                                                       |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`hash<class_String_hash>` **(** **)**                                                                                               |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`hex_to_int<class_String_hex_to_int>` **(** **)**                                                                                   |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`insert<class_String_insert>` **(** :ref:`int<class_int>` position, :ref:`String<class_string>` what **)**                          |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_abs_path<class_String_is_abs_path>` **(** **)**                                                                                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_rel_path<class_String_is_rel_path>` **(** **)**                                                                                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_subsequence_of<class_String_is_subsequence_of>` **(** :ref:`String<class_string>` text **)**                                    |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_subsequence_ofi<class_String_is_subsequence_ofi>` **(** :ref:`String<class_string>` text **)**                                  |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_valid_float<class_String_is_valid_float>` **(** **)**                                                                           |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_valid_html_color<class_String_is_valid_html_color>` **(** **)**                                                                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_valid_identifier<class_String_is_valid_identifier>` **(** **)**                                                                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_valid_integer<class_String_is_valid_integer>` **(** **)**                                                                       |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`is_valid_ip_address<class_String_is_valid_ip_address>` **(** **)**                                                                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`json_escape<class_String_json_escape>` **(** **)**                                                                                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`left<class_String_left>` **(** :ref:`int<class_int>` position **)**                                                                |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`length<class_String_length>` **(** **)**                                                                                           |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`match<class_String_match>` **(** :ref:`String<class_string>` expr **)**                                                            |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                        | :ref:`matchn<class_String_matchn>` **(** :ref:`String<class_string>` expr **)**                                                          |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_poolbytearray>`      | :ref:`md5_buffer<class_String_md5_buffer>` **(** **)**                                                                                   |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`md5_text<class_String_md5_text>` **(** **)**                                                                                       |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`nocasecmp_to<class_String_nocasecmp_to>` **(** :ref:`String<class_string>` to **)**                                                |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`ord_at<class_String_ord_at>` **(** :ref:`int<class_int>` at **)**                                                                  |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`pad_decimals<class_String_pad_decimals>` **(** :ref:`int<class_int>` digits **)**                                                  |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`pad_zeros<class_String_pad_zeros>` **(** :ref:`int<class_int>` digits **)**                                                        |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`percent_decode<class_String_percent_decode>` **(** **)**                                                                           |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`percent_encode<class_String_percent_encode>` **(** **)**                                                                           |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`plus_file<class_String_plus_file>` **(** :ref:`String<class_string>` file **)**                                                    |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`replace<class_String_replace>` **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**                   |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`replacen<class_String_replacen>` **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`rfind<class_String_rfind>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**                             |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`rfindn<class_String_rfindn>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**                           |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`right<class_String_right>` **(** :ref:`int<class_int>` position **)**                                                              |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_poolbytearray>`      | :ref:`sha256_buffer<class_String_sha256_buffer>` **(** **)**                                                                             |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`sha256_text<class_String_sha256_text>` **(** **)**                                                                                 |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                      | :ref:`similarity<class_String_similarity>` **(** :ref:`String<class_string>` text **)**                                                  |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`split<class_String_split>` **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**               |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolRealArray<class_poolrealarray>`      | :ref:`split_floats<class_String_split_floats>` **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)** |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`strip_edges<class_String_strip_edges>` **(** :ref:`bool<class_bool>` left=True, :ref:`bool<class_bool>` right=True **)**           |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`substr<class_String_substr>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len **)**                                     |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_poolbytearray>`      | :ref:`to_ascii<class_String_to_ascii>` **(** **)**                                                                                       |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`float<class_float>`                      | :ref:`to_float<class_String_to_float>` **(** **)**                                                                                       |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                          | :ref:`to_int<class_String_to_int>` **(** **)**                                                                                           |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`to_lower<class_String_to_lower>` **(** **)**                                                                                       |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`to_upper<class_String_to_upper>` **(** **)**                                                                                       |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`PoolByteArray<class_poolbytearray>`      | :ref:`to_utf8<class_String_to_utf8>` **(** **)**                                                                                         |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`xml_escape<class_String_xml_escape>` **(** **)**                                                                                   |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`String<class_string>`                    | :ref:`xml_unescape<class_String_xml_unescape>` **(** **)**                                                                               |
-+------------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`bool<class_bool>` from **)**                                                                                  |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`int<class_int>` from **)**                                                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`float<class_float>` from **)**                                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Vector2<class_vector2>` from **)**                                                                            |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Rect2<class_rect2>` from **)**                                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Vector3<class_vector3>` from **)**                                                                            |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Transform2D<class_transform2d>` from **)**                                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Plane<class_plane>` from **)**                                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Quat<class_quat>` from **)**                                                                                  |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`AABB<class_aabb>` from **)**                                                                                  |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Basis<class_basis>` from **)**                                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Transform<class_transform>` from **)**                                                                        |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Color<class_color>` from **)**                                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`NodePath<class_nodepath>` from **)**                                                                          |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`RID<class_rid>` from **)**                                                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Dictionary<class_dictionary>` from **)**                                                                      |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`Array<class_array>` from **)**                                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolByteArray<class_poolbytearray>` from **)**                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolIntArray<class_poolintarray>` from **)**                                                                  |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolRealArray<class_poolrealarray>` from **)**                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolStringArray<class_poolstringarray>` from **)**                                                            |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolVector2Array<class_poolvector2array>` from **)**                                                          |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolVector3Array<class_poolvector3array>` from **)**                                                          |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`String<class_String_String>` **(** :ref:`PoolColorArray<class_poolcolorarray>` from **)**                                                              |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`begins_with<class_String_begins_with>` **(** :ref:`String<class_string>` text **)**                                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`bigrams<class_String_bigrams>` **(** **)**                                                                                                             |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`c_escape<class_String_c_escape>` **(** **)**                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`c_unescape<class_String_c_unescape>` **(** **)**                                                                                                       |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`capitalize<class_String_capitalize>` **(** **)**                                                                                                       |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`casecmp_to<class_String_casecmp_to>` **(** :ref:`String<class_string>` to **)**                                                                        |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`dedent<class_String_dedent>` **(** **)**                                                                                                               |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`empty<class_String_empty>` **(** **)**                                                                                                                 |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`ends_with<class_String_ends_with>` **(** :ref:`String<class_string>` text **)**                                                                        |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                           | :ref:`erase<class_String_erase>` **(** :ref:`int<class_int>` position, :ref:`int<class_int>` chars **)**                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`find<class_String_find>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`find_last<class_String_find_last>` **(** :ref:`String<class_string>` what **)**                                                                        |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`findn<class_String_findn>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=0 **)**                                                  |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`format<class_String_format>` **(** var values, :ref:`String<class_string>` placeholder={_} **)**                                                       |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`get_base_dir<class_String_get_base_dir>` **(** **)**                                                                                                   |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`get_basename<class_String_get_basename>` **(** **)**                                                                                                   |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`get_extension<class_String_get_extension>` **(** **)**                                                                                                 |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`get_file<class_String_get_file>` **(** **)**                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`hash<class_String_hash>` **(** **)**                                                                                                                   |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`hex_to_int<class_String_hex_to_int>` **(** **)**                                                                                                       |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`insert<class_String_insert>` **(** :ref:`int<class_int>` position, :ref:`String<class_string>` what **)**                                              |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_abs_path<class_String_is_abs_path>` **(** **)**                                                                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_rel_path<class_String_is_rel_path>` **(** **)**                                                                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_subsequence_of<class_String_is_subsequence_of>` **(** :ref:`String<class_string>` text **)**                                                        |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_subsequence_ofi<class_String_is_subsequence_ofi>` **(** :ref:`String<class_string>` text **)**                                                      |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_valid_float<class_String_is_valid_float>` **(** **)**                                                                                               |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_valid_html_color<class_String_is_valid_html_color>` **(** **)**                                                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_valid_identifier<class_String_is_valid_identifier>` **(** **)**                                                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_valid_integer<class_String_is_valid_integer>` **(** **)**                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`is_valid_ip_address<class_String_is_valid_ip_address>` **(** **)**                                                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`json_escape<class_String_json_escape>` **(** **)**                                                                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`left<class_String_left>` **(** :ref:`int<class_int>` position **)**                                                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`length<class_String_length>` **(** **)**                                                                                                               |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`match<class_String_match>` **(** :ref:`String<class_string>` expr **)**                                                                                |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`bool<class_bool>`                        | :ref:`matchn<class_String_matchn>` **(** :ref:`String<class_string>` expr **)**                                                                              |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`      | :ref:`md5_buffer<class_String_md5_buffer>` **(** **)**                                                                                                       |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`md5_text<class_String_md5_text>` **(** **)**                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`nocasecmp_to<class_String_nocasecmp_to>` **(** :ref:`String<class_string>` to **)**                                                                    |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`ord_at<class_String_ord_at>` **(** :ref:`int<class_int>` at **)**                                                                                      |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`pad_decimals<class_String_pad_decimals>` **(** :ref:`int<class_int>` digits **)**                                                                      |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`pad_zeros<class_String_pad_zeros>` **(** :ref:`int<class_int>` digits **)**                                                                            |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`percent_decode<class_String_percent_decode>` **(** **)**                                                                                               |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`percent_encode<class_String_percent_encode>` **(** **)**                                                                                               |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`plus_file<class_String_plus_file>` **(** :ref:`String<class_string>` file **)**                                                                        |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`replace<class_String_replace>` **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**                                       |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`replacen<class_String_replacen>` **(** :ref:`String<class_string>` what, :ref:`String<class_string>` forwhat **)**                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`rfind<class_String_rfind>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**                                                 |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`rfindn<class_String_rfindn>` **(** :ref:`String<class_string>` what, :ref:`int<class_int>` from=-1 **)**                                               |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`right<class_String_right>` **(** :ref:`int<class_int>` position **)**                                                                                  |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`      | :ref:`sha256_buffer<class_String_sha256_buffer>` **(** **)**                                                                                                 |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`sha256_text<class_String_sha256_text>` **(** **)**                                                                                                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`similarity<class_String_similarity>` **(** :ref:`String<class_string>` text **)**                                                                      |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolStringArray<class_poolstringarray>`  | :ref:`split<class_String_split>` **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)** |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolRealArray<class_poolrealarray>`      | :ref:`split_floats<class_String_split_floats>` **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**                     |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`strip_edges<class_String_strip_edges>` **(** :ref:`bool<class_bool>` left=True, :ref:`bool<class_bool>` right=True **)**                               |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`substr<class_String_substr>` **(** :ref:`int<class_int>` from, :ref:`int<class_int>` len **)**                                                         |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`      | :ref:`to_ascii<class_String_to_ascii>` **(** **)**                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`float<class_float>`                      | :ref:`to_float<class_String_to_float>` **(** **)**                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`int<class_int>`                          | :ref:`to_int<class_String_to_int>` **(** **)**                                                                                                               |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`to_lower<class_String_to_lower>` **(** **)**                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`to_upper<class_String_to_upper>` **(** **)**                                                                                                           |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`PoolByteArray<class_poolbytearray>`      | :ref:`to_utf8<class_String_to_utf8>` **(** **)**                                                                                                             |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`xml_escape<class_String_xml_escape>` **(** **)**                                                                                                       |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| :ref:`String<class_string>`                    | :ref:`xml_unescape<class_String_xml_unescape>` **(** **)**                                                                                                   |
++------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
 Description
 -----------
@@ -657,10 +657,12 @@ Returns the similarity index of the text compared to this string. 1 means totall
 
 .. _class_String_split:
 
-- :ref:`PoolStringArray<class_poolstringarray>` **split** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**
+- :ref:`PoolStringArray<class_poolstringarray>` **split** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True, :ref:`int<class_int>` maxsplit=0 **)**
 
 Splits the string by a divisor string and returns an array of the substrings. Example "One,Two,Three" will return "One","Two","Three" if split by ",".
 
+If ``maxsplit`` is given, at most maxsplit number of splits occur, and the remainder of the string is returned as the final element of the list (thus, the list will have at most maxsplit+1 elements)
+
 .. _class_String_split_floats:
 
 - :ref:`PoolRealArray<class_poolrealarray>` **split_floats** **(** :ref:`String<class_string>` divisor, :ref:`bool<class_bool>` allow_empty=True **)**

+ 30 - 14
classes/class_textedit.rst

@@ -42,6 +42,8 @@ Member Functions
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`cut<class_TextEdit_cut>` **(** **)**                                                                                                                                                                                |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                     | :ref:`deselect<class_TextEdit_deselect>` **(** **)**                                                                                                                                                                      |
++------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`fold_all_lines<class_TextEdit_fold_all_lines>` **(** **)**                                                                                                                                                          |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                     | :ref:`fold_line<class_TextEdit_fold_line>` **(** :ref:`int<class_int>` line **)**                                                                                                                                         |
@@ -68,7 +70,7 @@ Member Functions
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_folded<class_TextEdit_is_folded>` **(** :ref:`int<class_int>` line **)** const                                                                                                                                   |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`                  | :ref:`is_line_hidden<class_TextEdit_is_line_hidden>` **(** :ref:`int<class_int>` arg0 **)** const                                                                                                                         |
+| :ref:`bool<class_bool>`                  | :ref:`is_line_hidden<class_TextEdit_is_line_hidden>` **(** :ref:`int<class_int>` line **)** const                                                                                                                         |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`                  | :ref:`is_selection_active<class_TextEdit_is_selection_active>` **(** **)** const                                                                                                                                          |
 +------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -134,19 +136,27 @@ Member Variables
 
   .. _class_TextEdit_caret_blink:
 
-- :ref:`bool<class_bool>` **caret_blink**
+- :ref:`bool<class_bool>` **caret_blink** - If ``true`` the caret (visual cursor) blinks.
 
   .. _class_TextEdit_caret_blink_speed:
 
-- :ref:`float<class_float>` **caret_blink_speed**
+- :ref:`float<class_float>` **caret_blink_speed** - Duration (in seconds) of a caret's blinking cycle.
 
   .. _class_TextEdit_caret_block_mode:
 
-- :ref:`bool<class_bool>` **caret_block_mode**
+- :ref:`bool<class_bool>` **caret_block_mode** - If ``true`` the caret displays as a rectangle.
+
+If ``false`` the caret displays as a bar.
+
+  .. _class_TextEdit_caret_moving_by_right_click:
+
+- :ref:`bool<class_bool>` **caret_moving_by_right_click** - If ``true`` a right click moves the cursor at the mouse position before displaying the context menu.
+
+If ``false`` the context menu disregards mouse location.
 
   .. _class_TextEdit_context_menu_enabled:
 
-- :ref:`bool<class_bool>` **context_menu_enabled**
+- :ref:`bool<class_bool>` **context_menu_enabled** - If ``true`` a right click displays the context menu.
 
   .. _class_TextEdit_hiding_enabled:
 
@@ -158,7 +168,7 @@ Member Variables
 
   .. _class_TextEdit_highlight_current_line:
 
-- :ref:`bool<class_bool>` **highlight_current_line**
+- :ref:`bool<class_bool>` **highlight_current_line** - If ``true`` the line containing the cursor is highlighted.
 
   .. _class_TextEdit_override_selected_font_color:
 
@@ -170,7 +180,7 @@ Member Variables
 
   .. _class_TextEdit_show_line_numbers:
 
-- :ref:`bool<class_bool>` **show_line_numbers**
+- :ref:`bool<class_bool>` **show_line_numbers** - If ``true`` line numbers are displayed to the left of the text.
 
   .. _class_TextEdit_smooth_scrolling:
 
@@ -195,12 +205,12 @@ Numeric Constants
 - **SEARCH_MATCH_CASE** = **1** --- Match case when searching.
 - **SEARCH_WHOLE_WORDS** = **2** --- Match whole words when searching.
 - **SEARCH_BACKWARDS** = **4** --- Search from end to beginning.
-- **MENU_CUT** = **0**
-- **MENU_COPY** = **1**
-- **MENU_PASTE** = **2**
-- **MENU_CLEAR** = **3**
-- **MENU_SELECT_ALL** = **4**
-- **MENU_UNDO** = **5**
+- **MENU_CUT** = **0** --- Cuts (Copies and clears) the selected text.
+- **MENU_COPY** = **1** --- Copies the selected text.
+- **MENU_PASTE** = **2** --- Pastes the clipboard text over the selected text (or at the cursor's position).
+- **MENU_CLEAR** = **3** --- Erases the whole :ref:`TextEdit<class_textedit>` text.
+- **MENU_SELECT_ALL** = **4** --- Selects the whole :ref:`TextEdit<class_textedit>` text.
+- **MENU_UNDO** = **5** --- Undoes the previous action.
 - **MENU_MAX** = **6**
 
 Description
@@ -271,6 +281,12 @@ Return the line the editing cursor is at.
 
 Cut the current selection.
 
+.. _class_TextEdit_deselect:
+
+- void **deselect** **(** **)**
+
+Clears the current selection.
+
 .. _class_TextEdit_fold_all_lines:
 
 - void **fold_all_lines** **(** **)**
@@ -341,7 +357,7 @@ Insert a given text at the cursor position.
 
 .. _class_TextEdit_is_line_hidden:
 
-- :ref:`bool<class_bool>` **is_line_hidden** **(** :ref:`int<class_int>` arg0 **)** const
+- :ref:`bool<class_bool>` **is_line_hidden** **(** :ref:`int<class_int>` line **)** const
 
 .. _class_TextEdit_is_selection_active:
 

+ 16 - 30
classes/class_tilemap.rst

@@ -26,10 +26,6 @@ Member Functions
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`int<class_int>`          | :ref:`get_cellv<class_TileMap_get_cellv>` **(** :ref:`Vector2<class_vector2>` position **)** const                                                                                                                                                                                                                  |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`get_center_x<class_TileMap_get_center_x>` **(** **)** const                                                                                                                                                                                                                                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`bool<class_bool>`        | :ref:`get_center_y<class_TileMap_get_center_y>` **(** **)** const                                                                                                                                                                                                                                                   |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`get_collision_layer_bit<class_TileMap_get_collision_layer_bit>` **(** :ref:`int<class_int>` bit **)** const                                                                                                                                                                                                   |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`bool<class_bool>`        | :ref:`get_collision_mask_bit<class_TileMap_get_collision_mask_bit>` **(** :ref:`int<class_int>` bit **)** const                                                                                                                                                                                                     |
@@ -52,14 +48,14 @@ Member Functions
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_cellv<class_TileMap_set_cellv>` **(** :ref:`Vector2<class_vector2>` position, :ref:`int<class_int>` tile, :ref:`bool<class_bool>` flip_x=false, :ref:`bool<class_bool>` flip_y=false, :ref:`bool<class_bool>` transpose=false **)**                                                                       |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_center_x<class_TileMap_set_center_x>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                           | :ref:`set_center_y<class_TileMap_set_center_y>` **(** :ref:`bool<class_bool>` enable **)**                                                                                                                                                                                                                          |
-+--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_collision_layer_bit<class_TileMap_set_collision_layer_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**                                                                                                                                                                          |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                           | :ref:`set_collision_mask_bit<class_TileMap_set_collision_mask_bit>` **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**                                                                                                                                                                            |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`update_bitmask_area<class_TileMap_update_bitmask_area>` **(** :ref:`Vector2<class_vector2>` position **)**                                                                                                                                                                                                    |
++--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                           | :ref:`update_bitmask_region<class_TileMap_update_bitmask_region>` **(** :ref:`Vector2<class_vector2>` start=Vector2( 0, 0 ), :ref:`Vector2<class_vector2>` end=Vector2( 0, 0 ) **)**                                                                                                                                |
++--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`Vector2<class_vector2>`  | :ref:`world_to_map<class_TileMap_world_to_map>` **(** :ref:`Vector2<class_vector2>` world_position **)** const                                                                                                                                                                                                      |
 +--------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 
@@ -177,18 +173,6 @@ Return the tile index of the referenced cell.
 
 Return the tile index of the cell referenced by a Vector2.
 
-.. _class_TileMap_get_center_x:
-
-- :ref:`bool<class_bool>` **get_center_x** **(** **)** const
-
-Return true if tiles are to be centered in x coordinate (by default this is false and they are drawn from upper left cell corner).
-
-.. _class_TileMap_get_center_y:
-
-- :ref:`bool<class_bool>` **get_center_y** **(** **)** const
-
-Return true if tiles are to be centered in y coordinate (by default this is false and they are drawn from upper left cell corner).
-
 .. _class_TileMap_get_collision_layer_bit:
 
 - :ref:`bool<class_bool>` **get_collision_layer_bit** **(** :ref:`int<class_int>` bit **)** const
@@ -257,25 +241,27 @@ A tile index of -1 clears the cell.
 
 Optionally, the tile can also be flipped over the X and Y axes or transposed.
 
-.. _class_TileMap_set_center_x:
+.. _class_TileMap_set_collision_layer_bit:
 
-- void **set_center_x** **(** :ref:`bool<class_bool>` enable **)**
+- void **set_collision_layer_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
+
+.. _class_TileMap_set_collision_mask_bit:
 
-Set tiles to be centered in x coordinate. (by default this is false and they are drawn from upper left cell corner).
+- void **set_collision_mask_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
 
-.. _class_TileMap_set_center_y:
+.. _class_TileMap_update_bitmask_area:
 
-- void **set_center_y** **(** :ref:`bool<class_bool>` enable **)**
+- void **update_bitmask_area** **(** :ref:`Vector2<class_vector2>` position **)**
 
-Set tiles to be centered in y coordinate. (by default this is false and they are drawn from upper left cell corner).
+Applies autotiling rules to the cell (and its adjacent cells) referenced by its grid-based X and Y coordinates.
 
-.. _class_TileMap_set_collision_layer_bit:
+.. _class_TileMap_update_bitmask_region:
 
-- void **set_collision_layer_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
+- void **update_bitmask_region** **(** :ref:`Vector2<class_vector2>` start=Vector2( 0, 0 ), :ref:`Vector2<class_vector2>` end=Vector2( 0, 0 ) **)**
 
-.. _class_TileMap_set_collision_mask_bit:
+Applies autotiling rules to the cells in the given region (specified by grid-based X and Y coordinates).
 
-- void **set_collision_mask_bit** **(** :ref:`int<class_int>` bit, :ref:`bool<class_bool>` value **)**
+Calling with invalid (or missing) parameters applies autotiling rules for the entire TileMap.
 
 .. _class_TileMap_world_to_map:
 

+ 8 - 8
classes/class_tileset.rst

@@ -20,13 +20,13 @@ Member Functions
 ----------------
 
 +----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                               | :ref:`_forward_subtile_selection<class_TileSet__forward_subtile_selection>` **(** :ref:`int<class_int>` autotile_id, :ref:`int<class_int>` bitmask, :ref:`Object<class_object>` tilemap, :ref:`Vector2<class_vector2>` tile_location **)** virtual                                        |
+| :ref:`Vector2<class_vector2>`                      | :ref:`_forward_subtile_selection<class_TileSet__forward_subtile_selection>` **(** :ref:`int<class_int>` autotile_id, :ref:`int<class_int>` bitmask, :ref:`Object<class_object>` tilemap, :ref:`Vector2<class_vector2>` tile_location **)** virtual                                        |
 +----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                               | :ref:`_is_tile_bound<class_TileSet__is_tile_bound>` **(** :ref:`int<class_int>` drawn_id, :ref:`int<class_int>` neighbor_id **)** virtual                                                                                                                                                 |
+| :ref:`bool<class_bool>`                            | :ref:`_is_tile_bound<class_TileSet__is_tile_bound>` **(** :ref:`int<class_int>` drawn_id, :ref:`int<class_int>` neighbor_id **)** virtual                                                                                                                                                 |
 +----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`int<class_int>`                              | :ref:`autotile_get_bitmask_mode<class_TileSet_autotile_get_bitmask_mode>` **(** :ref:`int<class_int>` arg0 **)** const                                                                                                                                                                    |
+| :ref:`int<class_int>`                              | :ref:`autotile_get_bitmask_mode<class_TileSet_autotile_get_bitmask_mode>` **(** :ref:`int<class_int>` id **)** const                                                                                                                                                                      |
 +----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                               | :ref:`autotile_set_bitmask_mode<class_TileSet_autotile_set_bitmask_mode>` **(** :ref:`int<class_int>` mode, :ref:`int<class_int>` arg1 **)**                                                                                                                                              |
+| void                                               | :ref:`autotile_set_bitmask_mode<class_TileSet_autotile_set_bitmask_mode>` **(** :ref:`int<class_int>` id, :ref:`int<class_int>` mode **)**                                                                                                                                                |
 +----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                               | :ref:`clear<class_TileSet_clear>` **(** **)**                                                                                                                                                                                                                                             |
 +----------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -127,19 +127,19 @@ Member Function Description
 
 .. _class_TileSet__forward_subtile_selection:
 
-- void **_forward_subtile_selection** **(** :ref:`int<class_int>` autotile_id, :ref:`int<class_int>` bitmask, :ref:`Object<class_object>` tilemap, :ref:`Vector2<class_vector2>` tile_location **)** virtual
+- :ref:`Vector2<class_vector2>` **_forward_subtile_selection** **(** :ref:`int<class_int>` autotile_id, :ref:`int<class_int>` bitmask, :ref:`Object<class_object>` tilemap, :ref:`Vector2<class_vector2>` tile_location **)** virtual
 
 .. _class_TileSet__is_tile_bound:
 
-- void **_is_tile_bound** **(** :ref:`int<class_int>` drawn_id, :ref:`int<class_int>` neighbor_id **)** virtual
+- :ref:`bool<class_bool>` **_is_tile_bound** **(** :ref:`int<class_int>` drawn_id, :ref:`int<class_int>` neighbor_id **)** virtual
 
 .. _class_TileSet_autotile_get_bitmask_mode:
 
-- :ref:`int<class_int>` **autotile_get_bitmask_mode** **(** :ref:`int<class_int>` arg0 **)** const
+- :ref:`int<class_int>` **autotile_get_bitmask_mode** **(** :ref:`int<class_int>` id **)** const
 
 .. _class_TileSet_autotile_set_bitmask_mode:
 
-- void **autotile_set_bitmask_mode** **(** :ref:`int<class_int>` mode, :ref:`int<class_int>` arg1 **)**
+- void **autotile_set_bitmask_mode** **(** :ref:`int<class_int>` id, :ref:`int<class_int>` mode **)**
 
 .. _class_TileSet_clear:
 

+ 8 - 4
classes/class_timer.rst

@@ -81,29 +81,33 @@ Member Function Description
 
 - :ref:`float<class_float>` **get_time_left** **(** **)** const
 
-Return the time left for timeout in seconds if the timer is active, 0 otherwise.
+Returns the timer's remaining time in seconds. Returns 0 if the timer is inactive.
 
 .. _class_Timer_is_paused:
 
 - :ref:`bool<class_bool>` **is_paused** **(** **)** const
 
-Return if the timer is paused or not.
+Returns ``true`` if the timer is paused.
 
 .. _class_Timer_is_stopped:
 
 - :ref:`bool<class_bool>` **is_stopped** **(** **)** const
 
+Returns ``true`` if the timer is stopped.
+
 .. _class_Timer_set_paused:
 
 - void **set_paused** **(** :ref:`bool<class_bool>` paused **)**
 
-Set whether the timer is paused or not. A paused timer will be inactive until it is unpaused again.
+Pauses the timer. If ``paused`` is ``true``, the timer will not process until it is started or unpaused again, even if :ref:`start<class_Timer_start>` is called.
 
 .. _class_Timer_start:
 
 - void **start** **(** **)**
 
-Start the Timer.
+Starts the timer. This also resets the remaining time to ``wait_time``.
+
+Note: this method will not resume a paused timer. See :ref:`set_paused<class_Timer_set_paused>`.
 
 .. _class_Timer_stop:
 

+ 15 - 15
classes/class_transform2d.rst

@@ -58,21 +58,21 @@ Member Variables
 
   .. _class_Transform2D_origin:
 
-- :ref:`Vector2<class_vector2>` **origin** - The translation offset of the transform.
+- :ref:`Vector2<class_vector2>` **origin** - The transform's translation offset.
 
   .. _class_Transform2D_x:
 
-- :ref:`Vector2<class_vector2>` **x** - The X axis of 2x2 basis matrix containing 2 :ref:`Vector2<class_vector2>` as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
+- :ref:`Vector2<class_vector2>` **x** - The X axis of 2x2 basis matrix containing 2 :ref:`Vector2<class_vector2>`\ s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
 
   .. _class_Transform2D_y:
 
-- :ref:`Vector2<class_vector2>` **y** - The Y axis of 2x2 basis matrix containing 2 :ref:`Vector2<class_vector2>` as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
+- :ref:`Vector2<class_vector2>` **y** - The Y axis of 2x2 basis matrix containing 2 :ref:`Vector2<class_vector2>`\ s as its columns: X axis and Y axis. These vectors can be interpreted as the basis vectors of local coordinate system traveling with the object.
 
 
 Description
 -----------
 
-Represents one or many transformations in 3D space such as translation, rotation, or scaling. It consists of a two :ref:`Vector2<class_vector2>` x, y and :ref:`Vector2<class_vector2>` "origin". It is similar to a 3x2 matrix.
+Represents one or many transformations in 2D space such as translation, rotation, or scaling. It consists of a two :ref:`Vector2<class_vector2>` x, y and :ref:`Vector2<class_vector2>` "origin". It is similar to a 3x2 matrix.
 
 Member Function Description
 ---------------------------
@@ -81,19 +81,19 @@ Member Function Description
 
 - :ref:`Transform2D<class_transform2d>` **Transform2D** **(** :ref:`Transform<class_transform>` from **)**
 
-Constructs the ``Transform2D`` from a 3D :ref:`Transform<class_transform>`.
+Constructs the transform from a 3D :ref:`Transform<class_transform>`.
 
 .. _class_Transform2D_Transform2D:
 
 - :ref:`Transform2D<class_transform2d>` **Transform2D** **(** :ref:`Vector2<class_vector2>` x_axis, :ref:`Vector2<class_vector2>` y_axis, :ref:`Vector2<class_vector2>` origin **)**
 
-Constructs the ``Transform2D`` from 3 :ref:`Vector2<class_vector2>` consisting of rows x, y and origin.
+Constructs the transform from 3 :ref:`Vector2<class_vector2>`\ s representing x, y, and origin.
 
 .. _class_Transform2D_Transform2D:
 
 - :ref:`Transform2D<class_transform2d>` **Transform2D** **(** :ref:`float<class_float>` rotation, :ref:`Vector2<class_vector2>` position **)**
 
-Constructs the ``Transform2D`` from rotation angle in radians and position :ref:`Vector2<class_vector2>`.
+Constructs the transform from a given angle (in radians) and position.
 
 .. _class_Transform2D_affine_inverse:
 
@@ -105,25 +105,25 @@ Returns the inverse of the matrix.
 
 - :ref:`Transform2D<class_transform2d>` **basis_xform** **(** var v **)**
 
-Transforms the given vector "v" by this transform basis (no translation).
+Transforms the given vector by this transform's basis (no translation).
 
 .. _class_Transform2D_basis_xform_inv:
 
 - :ref:`Transform2D<class_transform2d>` **basis_xform_inv** **(** var v **)**
 
-Inverse-transforms the given vector "v" by this transform basis (no translation).
+Inverse-transforms the given vector by this transform's basis (no translation).
 
 .. _class_Transform2D_get_origin:
 
 - :ref:`Vector2<class_vector2>` **get_origin** **(** **)**
 
-Returns the origin :ref:`Vector2<class_vector2>` (translation).
+Returns the transform's origin (translation).
 
 .. _class_Transform2D_get_rotation:
 
 - :ref:`float<class_float>` **get_rotation** **(** **)**
 
-Returns the rotation (in radians).
+Returns the transform's rotation (in radians).
 
 .. _class_Transform2D_get_scale:
 
@@ -135,7 +135,7 @@ Returns the scale.
 
 - :ref:`Transform2D<class_transform2d>` **interpolate_with** **(** :ref:`Transform2D<class_transform2d>` transform, :ref:`float<class_float>` weight **)**
 
-Interpolates the transform to other Transform2D by weight amount (0-1).
+Returns a transform interpolated between this transform and another by a given weight (0-1).
 
 .. _class_Transform2D_inverse:
 
@@ -153,19 +153,19 @@ Returns the transform with the basis orthogonal (90 degrees), and normalized axi
 
 - :ref:`Transform2D<class_transform2d>` **rotated** **(** :ref:`float<class_float>` phi **)**
 
-Rotates the transform by phi.
+Rotates the transform by the given angle (in radians).
 
 .. _class_Transform2D_scaled:
 
 - :ref:`Transform2D<class_transform2d>` **scaled** **(** :ref:`Vector2<class_vector2>` scale **)**
 
-Scales the transform by the specified 2D scaling factors.
+Scales the transform by the given factor.
 
 .. _class_Transform2D_translated:
 
 - :ref:`Transform2D<class_transform2d>` **translated** **(** :ref:`Vector2<class_vector2>` offset **)**
 
-Translates the transform by the specified offset.
+Translates the transform by the given offset.
 
 .. _class_Transform2D_xform:
 

+ 2 - 2
classes/class_tree.rst

@@ -24,7 +24,7 @@ Member Functions
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`clear<class_Tree_clear>` **(** **)**                                                                                                   |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
-| :ref:`Object<class_object>`      | :ref:`create_item<class_Tree_create_item>` **(** :ref:`Object<class_object>` parent=null **)**                                               |
+| :ref:`Object<class_object>`      | :ref:`create_item<class_Tree_create_item>` **(** :ref:`Object<class_object>` parent=null, :ref:`int<class_int>` idx=-1 **)**                 |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
 | void                             | :ref:`ensure_cursor_is_visible<class_Tree_ensure_cursor_is_visible>` **(** **)**                                                             |
 +----------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------+
@@ -226,7 +226,7 @@ Clears the tree. This removes all items.
 
 .. _class_Tree_create_item:
 
-- :ref:`Object<class_object>` **create_item** **(** :ref:`Object<class_object>` parent=null **)**
+- :ref:`Object<class_object>` **create_item** **(** :ref:`Object<class_object>` parent=null, :ref:`int<class_int>` idx=-1 **)**
 
 Create an item in the tree and add it as the last child of ``parent``. If parent is not given, it will be added as the root's last child, or it'll the be the root itself if the tree is empty.
 

+ 1 - 1
classes/class_visualinstance.rst

@@ -9,7 +9,7 @@ VisualInstance
 
 **Inherits:** :ref:`Spatial<class_spatial>` **<** :ref:`Node<class_node>` **<** :ref:`Object<class_object>`
 
-**Inherited By:** :ref:`Light<class_light>`, :ref:`ReflectionProbe<class_reflectionprobe>`, :ref:`GIProbe<class_giprobe>`, :ref:`GeometryInstance<class_geometryinstance>`
+**Inherited By:** :ref:`BakedLightmap<class_bakedlightmap>`, :ref:`Light<class_light>`, :ref:`ReflectionProbe<class_reflectionprobe>`, :ref:`GIProbe<class_giprobe>`, :ref:`GeometryInstance<class_geometryinstance>`
 
 **Category:** Core
 

+ 10 - 9
classes/class_visualserver.rst

@@ -90,10 +90,10 @@ Member Functions
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`canvas_item_set_visible<class_VisualServer_canvas_item_set_visible>` **(** :ref:`RID<class_rid>` item, :ref:`bool<class_bool>` visible **)**                                                                                                                                                                                                                                                                                                                                                                       |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
-| void                                       | :ref:`canvas_item_set_z<class_VisualServer_canvas_item_set_z>` **(** :ref:`RID<class_rid>` item, :ref:`int<class_int>` z **)**                                                                                                                                                                                                                                                                                                                                                                                           |
-+--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`canvas_item_set_z_as_relative_to_parent<class_VisualServer_canvas_item_set_z_as_relative_to_parent>` **(** :ref:`RID<class_rid>` item, :ref:`bool<class_bool>` enabled **)**                                                                                                                                                                                                                                                                                                                                       |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+| void                                       | :ref:`canvas_item_set_z_index<class_VisualServer_canvas_item_set_z_index>` **(** :ref:`RID<class_rid>` item, :ref:`int<class_int>` z_index **)**                                                                                                                                                                                                                                                                                                                                                                         |
++--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | void                                       | :ref:`canvas_light_attach_to_canvas<class_VisualServer_canvas_light_attach_to_canvas>` **(** :ref:`RID<class_rid>` light, :ref:`RID<class_rid>` canvas **)**                                                                                                                                                                                                                                                                                                                                                             |
 +--------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
 | :ref:`RID<class_rid>`                      | :ref:`canvas_light_create<class_VisualServer_canvas_light_create>` **(** **)**                                                                                                                                                                                                                                                                                                                                                                                                                                           |
@@ -509,7 +509,8 @@ More effective on planes often shown going to the horrizon as those textures (Wa
 - **INSTANCE_LIGHT** = **5** --- The instance is a light.
 - **INSTANCE_REFLECTION_PROBE** = **6**
 - **INSTANCE_GI_PROBE** = **7**
-- **INSTANCE_MAX** = **8** --- The max value for INSTANCE\_\* constants, used internally.
+- **INSTANCE_LIGHTMAP_CAPTURE** = **8**
+- **INSTANCE_MAX** = **9** --- The max value for INSTANCE\_\* constants, used internally.
 - **INSTANCE_GEOMETRY_MASK** = **30** --- A combination of the flags of geometry instances (mesh, multimesh, immediate and particles).
 - **NINE_PATCH_STRETCH** = **0** --- The nine patch gets stretched where needed.
 - **NINE_PATCH_TILE** = **1** --- The nine patch gets filled with tiles where needed.
@@ -762,17 +763,17 @@ Sets if the :ref:`CanvasItem<class_canvasitem>` uses its parent's material.
 
 Sets if the canvas item (including its children) is visible.
 
-.. _class_VisualServer_canvas_item_set_z:
+.. _class_VisualServer_canvas_item_set_z_as_relative_to_parent:
 
-- void **canvas_item_set_z** **(** :ref:`RID<class_rid>` item, :ref:`int<class_int>` z **)**
+- void **canvas_item_set_z_as_relative_to_parent** **(** :ref:`RID<class_rid>` item, :ref:`bool<class_bool>` enabled **)**
 
-Sets the :ref:`CanvasItem<class_canvasitem>`'s z order position.
+If this is enabled, the z-index of the parent will be added to the children's z-index.
 
-.. _class_VisualServer_canvas_item_set_z_as_relative_to_parent:
+.. _class_VisualServer_canvas_item_set_z_index:
 
-- void **canvas_item_set_z_as_relative_to_parent** **(** :ref:`RID<class_rid>` item, :ref:`bool<class_bool>` enabled **)**
+- void **canvas_item_set_z_index** **(** :ref:`RID<class_rid>` item, :ref:`int<class_int>` z_index **)**
 
-If this is enabled, the z-position of the parent will be added to the childrens z-position.
+Sets the :ref:`CanvasItem<class_canvasitem>`'s z-index, i.e. its draw order (lower indexes are drawn first).
 
 .. _class_VisualServer_canvas_light_attach_to_canvas: